Started by user Helio Chissini de Castro Running as Helio Chissini de Castro Obtained Jenkinsfile from git https://github.com/eclipse/sw360.website.git [Pipeline] Start of Pipeline [Pipeline] echo [WARNING] label option is deprecated. To use a static pod template, use the 'inheritFrom' option. [Pipeline] podTemplate [Pipeline] { [Pipeline] node Created Pod: kubernetes sw360/hugo-agent-pszhw-w733t [Normal][sw360/hugo-agent-pszhw-w733t][Scheduled] Successfully assigned sw360/hugo-agent-pszhw-w733t to okdnode-27 [Normal][sw360/hugo-agent-pszhw-w733t][AddedInterface] Add eth0 [10.40.50.41/23] from openshift-sdn [Normal][sw360/hugo-agent-pszhw-w733t][Pulled] Container image "klakegg/hugo:0.93.2-ext-ubuntu" already present on machine [Normal][sw360/hugo-agent-pszhw-w733t][Created] Created container hugo [Normal][sw360/hugo-agent-pszhw-w733t][Started] Started container hugo [Normal][sw360/hugo-agent-pszhw-w733t][Pulled] Container image "docker.io/eclipsecbi/jiro-agent-basic:remoting-4.13" already present on machine [Normal][sw360/hugo-agent-pszhw-w733t][Created] Created container jnlp [Normal][sw360/hugo-agent-pszhw-w733t][Started] Started container jnlp Still waiting to schedule task ‘hugo-agent-pszhw-w733t’ is offline Agent hugo-agent-pszhw-w733t is provisioned from template hugo-agent-pszhw --- apiVersion: "v1" kind: "Pod" metadata: annotations: buildUrl: "http://jenkins-ui.sw360.svc.cluster.local/sw360/job/sw360.website.staging/4/" runUrl: "job/sw360.website.staging/4/" labels: run: "hugo" jenkins: "slave" jenkins/label-digest: "7ac110df4066c009b519c7b03c365692b5eeb4d5" jenkins/label: "hugo-agent" name: "hugo-agent-pszhw-w733t" namespace: "sw360" spec: containers: - command: - "cat" image: "klakegg/hugo:0.93.2-ext-ubuntu" name: "hugo" tty: true volumeMounts: - mountPath: "/home/jenkins/agent" name: "workspace-volume" readOnly: false - env: - name: "JENKINS_SECRET" value: "********" - name: "JENKINS_TUNNEL" value: "jenkins-discovery.sw360.svc.cluster.local:50000" - name: "JENKINS_AGENT_NAME" value: "hugo-agent-pszhw-w733t" - name: "JENKINS_NAME" value: "hugo-agent-pszhw-w733t" - name: "JENKINS_AGENT_WORKDIR" value: "/home/jenkins/agent" - name: "JENKINS_URL" value: "http://jenkins-ui.sw360.svc.cluster.local/sw360/" - name: "HOME" value: "/home/jenkins/agent" image: "docker.io/eclipsecbi/jiro-agent-basic:remoting-4.13" name: "jnlp" resources: limits: {} requests: memory: "256Mi" cpu: "100m" volumeMounts: - mountPath: "/home/jenkins/agent" name: "workspace-volume" readOnly: false nodeSelector: kubernetes.io/os: "linux" restartPolicy: "Never" volumes: - emptyDir: medium: "" name: "workspace-volume" Running on hugo-agent-pszhw-w733t in /home/jenkins/agent/workspace/sw360.website.staging [Pipeline] { [Pipeline] dir Running in /home/jenkins/agent/workspace/sw360.website.staging/hugo [Pipeline] { [Pipeline] stage [Pipeline] { (Declarative: Checkout SCM) [Pipeline] checkout The recommended git tool is: git No credentials specified Cloning the remote Git repository Cloning repository https://github.com/eclipse/sw360.website.git > git init /home/jenkins/agent/workspace/sw360.website.staging/hugo # timeout=10 Fetching upstream changes from https://github.com/eclipse/sw360.website.git > git --version # timeout=10 > git --version # 'git version 2.20.1' > git fetch --tags --force --progress -- https://github.com/eclipse/sw360.website.git +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch Checking out Revision c5c38c6b736d89b63d675cb6d8211f58cf2abcca (refs/remotes/origin/hcc/new_website) > git config remote.origin.url https://github.com/eclipse/sw360.website.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git rev-parse refs/remotes/origin/hcc/new_website^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f c5c38c6b736d89b63d675cb6d8211f58cf2abcca # timeout=10 Commit message: "bug(jenkins): Fixed jenkins build" First time build. Skipping changelog. > git rev-list --no-walk 5e0578592e499d1aa62b3381adf7c4af28242c23 # timeout=10 [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // dir [Pipeline] withEnv [Pipeline] { [Pipeline] withEnv [Pipeline] { [Pipeline] stage [Pipeline] { (Checkout www repo) [Pipeline] sh + grep -q '^git.eclipse.org' /home/jenkins/agent/.ssh/known_hosts grep: /home/jenkins/agent/.ssh/known_hosts: No such file or directory + mkdir -p /home/jenkins/agent/.ssh + ssh-keyscan -t rsa git.eclipse.org # git.eclipse.org:22 SSH-2.0-OpenSSH_7.2 [Pipeline] dir Running in /home/jenkins/agent/workspace/sw360.website.staging/www [Pipeline] { [Pipeline] git The recommended git tool is: NONE using credential git.eclipse.org-bot-ssh Cloning the remote Git repository Cloning repository ssh://genie.sw360@git.eclipse.org:29418/www.eclipse.org/sw360.git > git init /home/jenkins/agent/workspace/sw360.website.staging/www # timeout=10 Fetching upstream changes from ssh://genie.sw360@git.eclipse.org:29418/www.eclipse.org/sw360.git > git --version # timeout=10 > git --version # 'git version 2.20.1' using GIT_SSH to set credentials ssh://genie.sw360@git.eclipse.org [INFO] Currently running in a labeled security context > /usr/bin/chcon --type=ssh_home_t /home/jenkins/agent/workspace/sw360.website.staging/www@tmp/jenkins-gitclient-ssh18115390056092125542.key > git fetch --tags --force --progress -- ssh://genie.sw360@git.eclipse.org:29418/www.eclipse.org/sw360.git +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch Checking out Revision a93d4695b48543c1c904ef3bd84a4b8e2b9606ac (refs/remotes/origin/master) > git config remote.origin.url ssh://genie.sw360@git.eclipse.org:29418/www.eclipse.org/sw360.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f a93d4695b48543c1c904ef3bd84a4b8e2b9606ac # timeout=10 Commit message: "Website build sw360.website-70" > git branch -a -v --no-abbrev # timeout=10 > git checkout -b master a93d4695b48543c1c904ef3bd84a4b8e2b9606ac # timeout=10 > git rev-list --no-walk a93d4695b48543c1c904ef3bd84a4b8e2b9606ac # timeout=10 [Pipeline] } [Pipeline] // dir [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Build website with Hugo) [Pipeline] container [Pipeline] { [Pipeline] dir Running in /home/jenkins/agent/workspace/sw360.website.staging/hugo [Pipeline] { [Pipeline] sh + git submodule add https://github.com/google/docsy.git themes/docsy Cloning into '/home/jenkins/agent/workspace/sw360.website.staging/hugo/themes/docsy'... [Pipeline] sh + git submodule update --init --recursive Submodule 'assets/vendor/Font-Awesome' (https://github.com/FortAwesome/Font-Awesome.git) registered for path 'themes/docsy/assets/vendor/Font-Awesome' Submodule 'assets/vendor/bootstrap' (https://github.com/twbs/bootstrap.git) registered for path 'themes/docsy/assets/vendor/bootstrap' Cloning into '/home/jenkins/agent/workspace/sw360.website.staging/hugo/themes/docsy/assets/vendor/Font-Awesome'... Cloning into '/home/jenkins/agent/workspace/sw360.website.staging/hugo/themes/docsy/assets/vendor/bootstrap'... Submodule path 'themes/docsy/assets/vendor/Font-Awesome': checked out '7d3d774145ac38663f6d1effc6def0334b68ab7e' Submodule path 'themes/docsy/assets/vendor/bootstrap': checked out '043a03c95a2ad6738f85b65e53b9dbdfb03b8d10' [Pipeline] sh + hugo -b https://www.eclipse.org/sw360/ hugo: downloading modules … hugo: collected modules in 29513 ms Start building sites … hugo v0.93.2-643B5AE9+extended linux/amd64 BuildDate=2022-03-05T10:02:23z VendorInfo=hugoguru | EN -------------------+----- Pages | 64 Paginator pages | 0 Non-page files | 0 Static files | 86 Processed images | 0 Aliases | 0 Sitemaps | 1 Cleaned | 0 Total in 37199 ms [Pipeline] } [Pipeline] // dir [Pipeline] } [Pipeline] // container [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Push www) [Pipeline] sh + echo 'copy and update files' copy and update files + rm -rf www/404.html www/about www/blog www/categories www/css www/img www/index.html www/index.xml www/js www/page www/presentations www/resources www/screenshots www/sitemap.xml www/tags + cp -Rvf hugo/public/404.html hugo/public/about hugo/public/css hugo/public/docs hugo/public/favicons hugo/public/img hugo/public/index.html hugo/public/index.xml hugo/public/js hugo/public/presentations hugo/public/robots.txt hugo/public/screenshots hugo/public/scss hugo/public/sitemap.xml hugo/public/webfonts www/ 'hugo/public/404.html' -> 'www/404.html' 'hugo/public/about' -> 'www/about' 'hugo/public/about/index.html' -> 'www/about/index.html' 'hugo/public/css' -> 'www/css' 'hugo/public/css/prism.css' -> 'www/css/prism.css' 'hugo/public/css/shortcodes.css' -> 'www/css/shortcodes.css' 'hugo/public/css/swagger-ui.css' -> 'www/css/swagger-ui.css' 'hugo/public/css/shortcodes' -> 'www/css/shortcodes' 'hugo/public/css/shortcodes/cards-pane.css' -> 'www/css/shortcodes/cards-pane.css' 'hugo/public/css/shortcodes/tabbed-pane.css' -> 'www/css/shortcodes/tabbed-pane.css' 'hugo/public/docs' -> 'www/docs' 'hugo/public/docs/index.html' -> 'www/docs/index.html' 'hugo/public/docs/index.xml' -> 'www/docs/index.xml' 'hugo/public/docs/deployment' -> 'www/docs/deployment' 'hugo/public/docs/deployment/index.html' -> 'www/docs/deployment/index.html' 'hugo/public/docs/deployment/index.xml' -> 'www/docs/deployment/index.xml' 'hugo/public/docs/deployment/deploy-export-and-import' -> 'www/docs/deployment/deploy-export-and-import' 'hugo/public/docs/deployment/deploy-export-and-import/index.html' -> 'www/docs/deployment/deploy-export-and-import/index.html' 'hugo/public/docs/deployment/deploy-cve-search' -> 'www/docs/deployment/deploy-cve-search' 'hugo/public/docs/deployment/deploy-cve-search/index.html' -> 'www/docs/deployment/deploy-cve-search/index.html' 'hugo/public/docs/deployment/deploy-docker' -> 'www/docs/deployment/deploy-docker' 'hugo/public/docs/deployment/deploy-docker/index.html' -> 'www/docs/deployment/deploy-docker/index.html' 'hugo/public/docs/deployment/deploy-configuration-country-codes' -> 'www/docs/deployment/deploy-configuration-country-codes' 'hugo/public/docs/deployment/deploy-configuration-country-codes/index.html' -> 'www/docs/deployment/deploy-configuration-country-codes/index.html' 'hugo/public/docs/deployment/deploy-authorization-concept' -> 'www/docs/deployment/deploy-authorization-concept' 'hugo/public/docs/deployment/deploy-authorization-concept/index.html' -> 'www/docs/deployment/deploy-authorization-concept/index.html' 'hugo/public/docs/deployment/deploy-configuration-files' -> 'www/docs/deployment/deploy-configuration-files' 'hugo/public/docs/deployment/deploy-configuration-files/index.html' -> 'www/docs/deployment/deploy-configuration-files/index.html' 'hugo/public/docs/deployment/deploy-requirements' -> 'www/docs/deployment/deploy-requirements' 'hugo/public/docs/deployment/deploy-requirements/index.html' -> 'www/docs/deployment/deploy-requirements/index.html' 'hugo/public/docs/deployment/deploy-secure-deployment' -> 'www/docs/deployment/deploy-secure-deployment' 'hugo/public/docs/deployment/deploy-secure-deployment/index.html' -> 'www/docs/deployment/deploy-secure-deployment/index.html' 'hugo/public/docs/deployment/baremetal' -> 'www/docs/deployment/baremetal' 'hugo/public/docs/deployment/baremetal/index.html' -> 'www/docs/deployment/baremetal/index.html' 'hugo/public/docs/deployment/baremetal/index.xml' -> 'www/docs/deployment/baremetal/index.xml' 'hugo/public/docs/deployment/baremetal/deploy-natively-11' -> 'www/docs/deployment/baremetal/deploy-natively-11' 'hugo/public/docs/deployment/baremetal/deploy-natively-11/index.html' -> 'www/docs/deployment/baremetal/deploy-natively-11/index.html' 'hugo/public/docs/deployment/upgrading' -> 'www/docs/deployment/upgrading' 'hugo/public/docs/deployment/upgrading/index.html' -> 'www/docs/deployment/upgrading/index.html' 'hugo/public/docs/deployment/upgrading/index.xml' -> 'www/docs/deployment/upgrading/index.xml' 'hugo/public/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11' -> 'www/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11' 'hugo/public/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/index.html' -> 'www/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/index.html' 'hugo/public/docs/developers' -> 'www/docs/developers' 'hugo/public/docs/developers/index.html' -> 'www/docs/developers/index.html' 'hugo/public/docs/developers/index.xml' -> 'www/docs/developers/index.xml' 'hugo/public/docs/developers/dev-dod-and-style' -> 'www/docs/developers/dev-dod-and-style' 'hugo/public/docs/developers/dev-dod-and-style/index.html' -> 'www/docs/developers/dev-dod-and-style/index.html' 'hugo/public/docs/developers/dev-branches' -> 'www/docs/developers/dev-branches' 'hugo/public/docs/developers/dev-branches/index.html' -> 'www/docs/developers/dev-branches/index.html' 'hugo/public/docs/developers/dev-filtering-in-portlets' -> 'www/docs/developers/dev-filtering-in-portlets' 'hugo/public/docs/developers/dev-filtering-in-portlets/index.html' -> 'www/docs/developers/dev-filtering-in-portlets/index.html' 'hugo/public/docs/developers/dev-adding-new-fields-to-existing-classes' -> 'www/docs/developers/dev-adding-new-fields-to-existing-classes' 'hugo/public/docs/developers/dev-adding-new-fields-to-existing-classes/index.html' -> 'www/docs/developers/dev-adding-new-fields-to-existing-classes/index.html' 'hugo/public/docs/developers/dev-liferay-friendly-url' -> 'www/docs/developers/dev-liferay-friendly-url' 'hugo/public/docs/developers/dev-liferay-friendly-url/index.html' -> 'www/docs/developers/dev-liferay-friendly-url/index.html' 'hugo/public/docs/developers/dev-fossology-integration' -> 'www/docs/developers/dev-fossology-integration' 'hugo/public/docs/developers/dev-fossology-integration/index.html' -> 'www/docs/developers/dev-fossology-integration/index.html' 'hugo/public/docs/developers/dev-adding-a-new-portlet-frontend' -> 'www/docs/developers/dev-adding-a-new-portlet-frontend' 'hugo/public/docs/developers/dev-adding-a-new-portlet-frontend/index.html' -> 'www/docs/developers/dev-adding-a-new-portlet-frontend/index.html' 'hugo/public/docs/developers/dev-moderation-requests' -> 'www/docs/developers/dev-moderation-requests' 'hugo/public/docs/developers/dev-moderation-requests/index.html' -> 'www/docs/developers/dev-moderation-requests/index.html' 'hugo/public/docs/developers/dev-releasing-sw360' -> 'www/docs/developers/dev-releasing-sw360' 'hugo/public/docs/developers/dev-releasing-sw360/index.html' -> 'www/docs/developers/dev-releasing-sw360/index.html' 'hugo/public/docs/developers/dev-role-authorisation-model' -> 'www/docs/developers/dev-role-authorisation-model' 'hugo/public/docs/developers/dev-role-authorisation-model/index.html' -> 'www/docs/developers/dev-role-authorisation-model/index.html' 'hugo/public/docs/developers/dev-adding-a-new-portlet-backend' -> 'www/docs/developers/dev-adding-a-new-portlet-backend' 'hugo/public/docs/developers/dev-adding-a-new-portlet-backend/index.html' -> 'www/docs/developers/dev-adding-a-new-portlet-backend/index.html' 'hugo/public/docs/developers/dev-semantic-commits' -> 'www/docs/developers/dev-semantic-commits' 'hugo/public/docs/developers/dev-semantic-commits/index.html' -> 'www/docs/developers/dev-semantic-commits/index.html' 'hugo/public/docs/developers/dev-using-requirejs-for-javascript-modules' -> 'www/docs/developers/dev-using-requirejs-for-javascript-modules' 'hugo/public/docs/developers/dev-using-requirejs-for-javascript-modules/index.html' -> 'www/docs/developers/dev-using-requirejs-for-javascript-modules/index.html' 'hugo/public/docs/developers/testcases' -> 'www/docs/developers/testcases' 'hugo/public/docs/developers/testcases/index.html' -> 'www/docs/developers/testcases/index.html' 'hugo/public/docs/developers/testcases/index.xml' -> 'www/docs/developers/testcases/index.xml' 'hugo/public/docs/developers/testcases/test-cases-components' -> 'www/docs/developers/testcases/test-cases-components' 'hugo/public/docs/developers/testcases/test-cases-components/index.html' -> 'www/docs/developers/testcases/test-cases-components/index.html' 'hugo/public/docs/developers/testcases/test-cases-projects' -> 'www/docs/developers/testcases/test-cases-projects' 'hugo/public/docs/developers/testcases/test-cases-projects/index.html' -> 'www/docs/developers/testcases/test-cases-projects/index.html' 'hugo/public/docs/developers/testcases/test-cases-licenses' -> 'www/docs/developers/testcases/test-cases-licenses' 'hugo/public/docs/developers/testcases/test-cases-licenses/index.html' -> 'www/docs/developers/testcases/test-cases-licenses/index.html' 'hugo/public/docs/developers/testcases/test-cases-moderations' -> 'www/docs/developers/testcases/test-cases-moderations' 'hugo/public/docs/developers/testcases/test-cases-moderations/index.html' -> 'www/docs/developers/testcases/test-cases-moderations/index.html' 'hugo/public/docs/developers/dev-testing-frameworks' -> 'www/docs/developers/dev-testing-frameworks' 'hugo/public/docs/developers/dev-testing-frameworks/index.html' -> 'www/docs/developers/dev-testing-frameworks/index.html' 'hugo/public/docs/developers/dev-database-migration-using-costco' -> 'www/docs/developers/dev-database-migration-using-costco' 'hugo/public/docs/developers/dev-database-migration-using-costco/index.html' -> 'www/docs/developers/dev-database-migration-using-costco/index.html' 'hugo/public/docs/developers/dev-rest-api' -> 'www/docs/developers/dev-rest-api' 'hugo/public/docs/developers/dev-rest-api/index.html' -> 'www/docs/developers/dev-rest-api/index.html' 'hugo/public/docs/developers/dev-troubleshooting' -> 'www/docs/developers/dev-troubleshooting' 'hugo/public/docs/developers/dev-troubleshooting/index.html' -> 'www/docs/developers/dev-troubleshooting/index.html' 'hugo/public/docs/developers/dev-external-documents-with-couchdb' -> 'www/docs/developers/dev-external-documents-with-couchdb' 'hugo/public/docs/developers/dev-external-documents-with-couchdb/index.html' -> 'www/docs/developers/dev-external-documents-with-couchdb/index.html' 'hugo/public/docs/userguide' -> 'www/docs/userguide' 'hugo/public/docs/userguide/index.html' -> 'www/docs/userguide/index.html' 'hugo/public/docs/userguide/index.xml' -> 'www/docs/userguide/index.xml' 'hugo/public/docs/userguide/user-attachment-file-types' -> 'www/docs/userguide/user-attachment-file-types' 'hugo/public/docs/userguide/user-attachment-file-types/index.html' -> 'www/docs/userguide/user-attachment-file-types/index.html' 'hugo/public/docs/userguide/user-data-model-enumerations' -> 'www/docs/userguide/user-data-model-enumerations' 'hugo/public/docs/userguide/user-data-model-enumerations/index.html' -> 'www/docs/userguide/user-data-model-enumerations/index.html' 'hugo/public/docs/userguide/user-bdp-import' -> 'www/docs/userguide/user-bdp-import' 'hugo/public/docs/userguide/user-bdp-import/index.html' -> 'www/docs/userguide/user-bdp-import/index.html' 'hugo/public/docs/userguide/vulnerabilitymanagement' -> 'www/docs/userguide/vulnerabilitymanagement' 'hugo/public/docs/userguide/vulnerabilitymanagement/index.html' -> 'www/docs/userguide/vulnerabilitymanagement/index.html' 'hugo/public/docs/userguide/vulnerabilitymanagement/index.xml' -> 'www/docs/userguide/vulnerabilitymanagement/index.xml' 'hugo/public/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project' -> 'www/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project' 'hugo/public/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/index.html' -> 'www/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/index.html' 'hugo/public/docs/userguide/user-scheduling-cve-search-by-admins' -> 'www/docs/userguide/user-scheduling-cve-search-by-admins' 'hugo/public/docs/userguide/user-scheduling-cve-search-by-admins/index.html' -> 'www/docs/userguide/user-scheduling-cve-search-by-admins/index.html' 'hugo/public/docs/userguide/user-search' -> 'www/docs/userguide/user-search' 'hugo/public/docs/userguide/user-search/index.html' -> 'www/docs/userguide/user-search/index.html' 'hugo/public/docs/userguide/workflows' -> 'www/docs/userguide/workflows' 'hugo/public/docs/userguide/workflows/index.html' -> 'www/docs/userguide/workflows/index.html' 'hugo/public/docs/userguide/workflows/index.xml' -> 'www/docs/userguide/workflows/index.xml' 'hugo/public/favicons' -> 'www/favicons' 'hugo/public/favicons/android-144x144.png' -> 'www/favicons/android-144x144.png' 'hugo/public/favicons/android-192x192.png' -> 'www/favicons/android-192x192.png' 'hugo/public/favicons/android-36x36.png' -> 'www/favicons/android-36x36.png' 'hugo/public/favicons/android-48x48.png' -> 'www/favicons/android-48x48.png' 'hugo/public/favicons/android-72x72.png' -> 'www/favicons/android-72x72.png' 'hugo/public/favicons/android-96x96.png' -> 'www/favicons/android-96x96.png' 'hugo/public/favicons/android-chrome-192x192.png' -> 'www/favicons/android-chrome-192x192.png' 'hugo/public/favicons/android-chrome-512x512.png' -> 'www/favicons/android-chrome-512x512.png' 'hugo/public/favicons/android-chrome-maskable-192x192.png' -> 'www/favicons/android-chrome-maskable-192x192.png' 'hugo/public/favicons/android-chrome-maskable-512x512.png' -> 'www/favicons/android-chrome-maskable-512x512.png' 'hugo/public/favicons/apple-touch-icon-120x120.png' -> 'www/favicons/apple-touch-icon-120x120.png' 'hugo/public/favicons/apple-touch-icon-152x152.png' -> 'www/favicons/apple-touch-icon-152x152.png' 'hugo/public/favicons/apple-touch-icon-167x167.png' -> 'www/favicons/apple-touch-icon-167x167.png' 'hugo/public/favicons/apple-touch-icon-180x180.png' -> 'www/favicons/apple-touch-icon-180x180.png' 'hugo/public/favicons/apple-touch-icon-60x60.png' -> 'www/favicons/apple-touch-icon-60x60.png' 'hugo/public/favicons/apple-touch-icon-76x76.png' -> 'www/favicons/apple-touch-icon-76x76.png' 'hugo/public/favicons/apple-touch-icon.png' -> 'www/favicons/apple-touch-icon.png' 'hugo/public/favicons/coast-228x228.png' -> 'www/favicons/coast-228x228.png' 'hugo/public/favicons/favicon-1024.png' -> 'www/favicons/favicon-1024.png' 'hugo/public/favicons/favicon-128x128.png' -> 'www/favicons/favicon-128x128.png' 'hugo/public/favicons/favicon-16x16.png' -> 'www/favicons/favicon-16x16.png' 'hugo/public/favicons/favicon-256.png' -> 'www/favicons/favicon-256.png' 'hugo/public/favicons/favicon-256x256.png' -> 'www/favicons/favicon-256x256.png' 'hugo/public/favicons/favicon-32x32.png' -> 'www/favicons/favicon-32x32.png' 'hugo/public/favicons/favicon-48x48.png' -> 'www/favicons/favicon-48x48.png' 'hugo/public/favicons/favicon-64x64.png' -> 'www/favicons/favicon-64x64.png' 'hugo/public/favicons/favicon-96x96.png' -> 'www/favicons/favicon-96x96.png' 'hugo/public/favicons/favicon.ico' -> 'www/favicons/favicon.ico' 'hugo/public/favicons/msapplication-icon-144x144.png' -> 'www/favicons/msapplication-icon-144x144.png' 'hugo/public/favicons/mstile-150x150.png' -> 'www/favicons/mstile-150x150.png' 'hugo/public/favicons/pwa-192x192.png' -> 'www/favicons/pwa-192x192.png' 'hugo/public/favicons/pwa-512x512.png' -> 'www/favicons/pwa-512x512.png' 'hugo/public/favicons/tile150x150.png' -> 'www/favicons/tile150x150.png' 'hugo/public/favicons/tile310x150.png' -> 'www/favicons/tile310x150.png' 'hugo/public/favicons/tile310x310.png' -> 'www/favicons/tile310x310.png' 'hugo/public/favicons/tile70x70.png' -> 'www/favicons/tile70x70.png' 'hugo/public/img' -> 'www/img' 'hugo/public/img/favicon.ico' -> 'www/img/favicon.ico' 'hugo/public/img/featured-background.jpg' -> 'www/img/featured-background.jpg' 'hugo/public/img/banners' -> 'www/img/banners' 'hugo/public/img/banners/banner-1.jpg' -> 'www/img/banners/banner-1.jpg' 'hugo/public/img/carousel' -> 'www/img/carousel' 'hugo/public/img/carousel/sw360-slide-01.jpg' -> 'www/img/carousel/sw360-slide-01.jpg' 'hugo/public/img/carousel/sw360-slide-02.jpg' -> 'www/img/carousel/sw360-slide-02.jpg' 'hugo/public/img/carousel/sw360-slide-03.jpg' -> 'www/img/carousel/sw360-slide-03.jpg' 'hugo/public/img/clients' -> 'www/img/clients' 'hugo/public/img/clients/BoschSI.png' -> 'www/img/clients/BoschSI.png' 'hugo/public/img/clients/Eclipse.png' -> 'www/img/clients/Eclipse.png' 'hugo/public/img/clients/Siemens.png' -> 'www/img/clients/Siemens.png' 'hugo/public/img/clients/Verifa.png' -> 'www/img/clients/Verifa.png' 'hugo/public/img/logos' -> 'www/img/logos' 'hugo/public/img/logos/logo_full.svg' -> 'www/img/logos/logo_full.svg' 'hugo/public/img/sw360screenshots' -> 'www/img/sw360screenshots' 'hugo/public/img/sw360screenshots/sw360screenshot-components01.png' -> 'www/img/sw360screenshots/sw360screenshot-components01.png' 'hugo/public/img/sw360screenshots/sw360screenshot-components02.png' -> 'www/img/sw360screenshots/sw360screenshot-components02.png' 'hugo/public/img/sw360screenshots/sw360screenshot-components03.png' -> 'www/img/sw360screenshots/sw360screenshot-components03.png' 'hugo/public/img/sw360screenshots/sw360screenshot-components04.png' -> 'www/img/sw360screenshots/sw360screenshot-components04.png' 'hugo/public/img/sw360screenshots/sw360screenshot-ecc.png' -> 'www/img/sw360screenshots/sw360screenshot-ecc.png' 'hugo/public/img/sw360screenshots/sw360screenshot-home.png' -> 'www/img/sw360screenshots/sw360screenshot-home.png' 'hugo/public/img/sw360screenshots/sw360screenshot-preferences01.png' -> 'www/img/sw360screenshots/sw360screenshot-preferences01.png' 'hugo/public/img/sw360screenshots/sw360screenshot-preferences02.png' -> 'www/img/sw360screenshots/sw360screenshot-preferences02.png' 'hugo/public/img/sw360screenshots/sw360screenshot-projectlist.png' -> 'www/img/sw360screenshots/sw360screenshot-projectlist.png' 'hugo/public/img/sw360screenshots/sw360screenshot-projects01.png' -> 'www/img/sw360screenshots/sw360screenshot-projects01.png' 'hugo/public/img/sw360screenshots/sw360screenshot-projects02.png' -> 'www/img/sw360screenshots/sw360screenshot-projects02.png' 'hugo/public/img/sw360screenshots/sw360screenshot-projects03.png' -> 'www/img/sw360screenshots/sw360screenshot-projects03.png' 'hugo/public/img/sw360screenshots/sw360screenshot-projects04.png' -> 'www/img/sw360screenshots/sw360screenshot-projects04.png' 'hugo/public/img/sw360screenshots/sw360screenshot-search.png' -> 'www/img/sw360screenshots/sw360screenshot-search.png' 'hugo/public/index.html' -> 'www/index.html' 'hugo/public/index.xml' -> 'www/index.xml' 'hugo/public/js' -> 'www/js' 'hugo/public/js/deflate.js' -> 'www/js/deflate.js' 'hugo/public/js/prism.js' -> 'www/js/prism.js' 'hugo/public/js/swagger-ui-bundle.js' -> 'www/js/swagger-ui-bundle.js' 'hugo/public/js/swagger-ui-standalone-preset.js' -> 'www/js/swagger-ui-standalone-preset.js' 'hugo/public/js/tabpane-persist.js' -> 'www/js/tabpane-persist.js' 'hugo/public/js/main.js' -> 'www/js/main.js' 'hugo/public/presentations' -> 'www/presentations' 'hugo/public/presentations/index.html' -> 'www/presentations/index.html' 'hugo/public/presentations/index.xml' -> 'www/presentations/index.xml' 'hugo/public/robots.txt' -> 'www/robots.txt' 'hugo/public/screenshots' -> 'www/screenshots' 'hugo/public/screenshots/index.html' -> 'www/screenshots/index.html' 'hugo/public/scss' -> 'www/scss' 'hugo/public/scss/main.css.map' -> 'www/scss/main.css.map' 'hugo/public/scss/main.css' -> 'www/scss/main.css' 'hugo/public/sitemap.xml' -> 'www/sitemap.xml' 'hugo/public/webfonts' -> 'www/webfonts' 'hugo/public/webfonts/fa-brands-400.eot' -> 'www/webfonts/fa-brands-400.eot' 'hugo/public/webfonts/fa-brands-400.svg' -> 'www/webfonts/fa-brands-400.svg' 'hugo/public/webfonts/fa-brands-400.ttf' -> 'www/webfonts/fa-brands-400.ttf' 'hugo/public/webfonts/fa-brands-400.woff' -> 'www/webfonts/fa-brands-400.woff' 'hugo/public/webfonts/fa-brands-400.woff2' -> 'www/webfonts/fa-brands-400.woff2' 'hugo/public/webfonts/fa-regular-400.eot' -> 'www/webfonts/fa-regular-400.eot' 'hugo/public/webfonts/fa-regular-400.svg' -> 'www/webfonts/fa-regular-400.svg' 'hugo/public/webfonts/fa-regular-400.ttf' -> 'www/webfonts/fa-regular-400.ttf' 'hugo/public/webfonts/fa-regular-400.woff' -> 'www/webfonts/fa-regular-400.woff' 'hugo/public/webfonts/fa-regular-400.woff2' -> 'www/webfonts/fa-regular-400.woff2' 'hugo/public/webfonts/fa-solid-900.eot' -> 'www/webfonts/fa-solid-900.eot' 'hugo/public/webfonts/fa-solid-900.svg' -> 'www/webfonts/fa-solid-900.svg' 'hugo/public/webfonts/fa-solid-900.ttf' -> 'www/webfonts/fa-solid-900.ttf' 'hugo/public/webfonts/fa-solid-900.woff' -> 'www/webfonts/fa-solid-900.woff' 'hugo/public/webfonts/fa-solid-900.woff2' -> 'www/webfonts/fa-solid-900.woff2' [Pipeline] dir Running in /home/jenkins/agent/workspace/sw360.website.staging/www [Pipeline] { [Pipeline] sshagent [ssh-agent] Using credentials genie.sw360 (ssh://genie.sw360@git.eclipse.org) [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-R2OZTHO2jQrM/agent.279 SSH_AGENT_PID=281 Running ssh-add (command line suppressed) Identity added: /home/jenkins/agent/workspace/sw360.website.staging/www@tmp/private_key_7639446756905708061.key (/home/jenkins/agent/workspace/sw360.website.staging/www@tmp/private_key_7639446756905708061.key) [ssh-agent] Started. [Pipeline] { [Pipeline] sh + echo 'handling git for branch: master' handling git for branch: master + git config --global user.email sw360-bot@eclipse.org + git config --global user.name 'SW360 Bot' + git add -A + git diff --cached --exit-code diff --git a/404.html b/404.html index d4d383d..013028d 100644 --- a/404.html +++ b/404.html @@ -1,238 +1,300 @@ -<!DOCTYPE html> -<html lang="en-us"> - +<!doctype html> +<html lang="en" class="no-js"> <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>404 Page not found</title> - <meta name="author" content="" /> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - <meta name="description" content="Eclipse SW360 community website"> - +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> - <meta name="generator" content="Hugo 0.42.1" /> +<title>404 Page not found | Eclipse SW360</title> +<meta name="description" content=""> +<meta property="og:title" content="404 Page not found" /> +<meta property="og:description" content="Eclipse SW360 official website" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/404.html" /><meta property="og:site_name" content="Eclipse SW360" /> - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> +<meta itemprop="name" content="404 Page not found"> +<meta itemprop="description" content="Eclipse SW360 official website"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="404 Page not found"/> +<meta name="twitter:description" content="Eclipse SW360 official website"/> - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> +<link href="/sw360/scss/main.css" rel="stylesheet"> +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + </head> + <body class="td-404"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/docs/" ><span>Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-default td-outer"> + <main role="main" class="td-main"> + + <main id="main"> + <div> + <h1 id="title">Not found</h1> + <p>Oops! This page doesn't exist. Try going back to our <a href="/sw360/">home page</a>.</p> + + <p>You can learn how to make a 404 page like this in <a href="https://gohugo.io/templates/404/">Custom 404 Pages</a>.</p> + </div> + </main> + + </main> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> - <meta property="og:title" content="404 Page not found" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> +</ul> - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="404 Page not found logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="404 Page not found logo" class="visible-xs visible-sm"> - <span class="sr-only">404 Page not found - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> + </div> </div> - - -</div> + </div> + +</footer> + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> - </header> - <div id="content"> - <div class="container"> - <div class="col-sm-6 col-sm-offset-3" id="error-page"> - <div class="box"> +<script src='/sw360/js/tabpane-persist.js'></script> - <p class="text-center"> - <a href="https://www.eclipse.org/sw360/"> - <img src="img/sw360-h-209x79.png" alt="404 Page not found logo"> - </a> - </p> - <h3>We are sorry - this page is not here anymore</h3> - <h4 class="text-muted">Error 404 - Page not found</h4> - <p class="buttons"><a href="https://www.eclipse.org/sw360/" class="btn btn-template-main"><i class="fa fa-home"></i> Go to Homepage</a> - </p> - </div> - </div> - - </div> - - </div> - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - </div> - -</footer> -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - @@ -241,10 +303,10 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= +<script src="/sw360/js/main.js"></script> - </div> </body> -</html> +</html> \ No newline at end of file diff --git a/about/index.html b/about/index.html index e2f629e..a392ee0 100644 --- a/about/index.html +++ b/about/index.html @@ -1,201 +1,206 @@ -<!DOCTYPE html> -<html lang="en-us"> - +<!doctype html> +<html lang="en" class="no-js"> <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Eclipse SW360 - About</title> - <meta name="author" content="" /> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - <meta name="description" content="Eclipse SW360 community website"> - +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> - <meta name="generator" content="Hugo 0.42.1" /> +<title>About Eclipse SW360 | Eclipse SW360</title> +<meta name="description" content=" - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - <meta property="og:title" content="Eclipse SW360 - About" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/about//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> + + + + + + + + + About Eclipse SW360 …"> +<meta property="og:title" content="About Eclipse SW360" /> +<meta property="og:description" content="About Eclipse SW360 In most cases, software today is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges: + Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc. Sharing knowledge about software components and their qualities. For example, which software components should be recommended, which should be phased out based on which criteria?" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/about/" /><meta property="article:section" content="" /> - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - About logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - About logo" class="visible-xs visible-sm"> - <span class="sr-only">Eclipse SW360 - About - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - +<meta itemprop="name" content="About Eclipse SW360"> +<meta itemprop="description" content="About Eclipse SW360 In most cases, software today is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges: + Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc. Sharing knowledge about software components and their qualities. For example, which software components should be recommended, which should be phased out based on which criteria?"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="274"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="About Eclipse SW360"/> +<meta name="twitter:description" content="About Eclipse SW360 In most cases, software today is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges: + Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc. Sharing knowledge about software components and their qualities. For example, which software components should be recommended, which should be phased out based on which criteria?"/> - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - <div class="collapse clearfix" id="search"> - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> +<link href="/sw360/scss/main.css" rel="stylesheet"> - </div> - +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> - </div> - </div> - + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark td-navbar-cover flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/about/" ><span class="active">About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/docs/" ><span>Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-default td-outer"> + <main role="main" class="td-main"> + -</div> - </header> - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Eclipse SW360 - About</h1> - </div> - </div> - </div> -</div> - <div id="content"> - <div class="container"> - <div class="row"> - - <div class="col-md-9" id="blog-post"> - <p class="text-muted text-uppercase mb-small text-right">September 6, 2018</p> +<section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-sm js-td-cover td-overlay td-overlay--dark -bg-primary"> + <div class="container td-overlay__inner"> + <div class="row"> + <div class="col-12"> + <div class="text-center"> + + + <div class="pt-3 lead"> + + <div class="text-left"> + <h1 class="display-1 mb-5">About Eclipse SW360</h1></div> - <div id="post-content"> - + + </div> + </div> + </div> + </div> + </div> + +</section> +<div class="container l-container--padded"> +<div class="row"> +<div class="col-12 col-lg-8"> <p>In most cases, software today is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges:</p> - <ul> <li>Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc.</li> <li>Sharing knowledge about software components and their qualities. For example, which software components should be recommended, which should be phased out based on which criteria?</li> <li>Providing a broad overview of the components used: An organization and its supply chain management must have information about which assets are integrated into which products or solutions.</li> </ul> - <p>These three main use cases target different roles in an organization: quality managers, software developers, legal counsels, software architects, R&amp;D managers etc. However, all these use cases share a common need for a central hub that manages insights into software components.</p> - <p>SW360 is an open source software project licensed under the EPL-1.0 that provides both a web application and a repository to collect, organize and make available information about software components. It establishes a central hub for software components in an organization. SW360 allows for</p> - <ul> <li>tracking components used by a project/product,</li> <li>assessing security vulnerabilities,</li> @@ -203,165 +208,163 @@ <li>enforcing policies, and</li> <li>generating legal documents.</li> </ul> - <p>For example, SW360 can trigger a clearing process in the open source compliance tool FOSSology and import the resulting clearing reporting. Data is either stored in SW360’s database or on the fly imported from external sources. In future we plan to have federations of SW360 instances that share selected information. Besides its web-based UI, all functionality of SW360 is available through an API that allows an integration into existing devops tools.</p> - -<h3 id="further-information">Further Information</h3> - -<p>You can find more detailed information on the project <a href="https://github.com/eclipse/sw360/wiki">wiki</a>.</p> - - </div> - - - - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> </div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> </div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> </div> + </main> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> - - - </div> - - - - - </div> - - - </div> - - </div> - + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - </div> - -</footer> +<script src='/sw360/js/tabpane-persist.js'></script> -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - @@ -374,27 +377,14 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - </div> - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> +<script src="/sw360/js/main.js"></script> -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> </body> -</html> +</html> \ No newline at end of file diff --git a/blog/ecf2017/index.html b/blog/ecf2017/index.html deleted file mode 100644 index dc4aa3d..0000000 --- a/blog/ecf2017/index.html +++ /dev/null @@ -1,384 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Eclipse Con France 2017 Talk</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Eclipse Con France 2017 Talk" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/blog/ecf2017//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse Con France 2017 Talk logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse Con France 2017 Talk logo" class="visible-xs visible-sm"> - <span class="sr-only">Eclipse Con France 2017 Talk - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Eclipse Con France 2017 Talk</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - - <div class="row"> - - - - <div class="col-md-9" id="blog-post"> - - <p class="text-muted text-uppercase mb-small text-right">July 11, 2017</p> - - <div id="post-content"> - - -<h2 id="talk-eclipsecon-france-2017">Talk @EclipseCon France 2017</h2> - -<p>Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan.</p> - - -<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> - <iframe src="//www.youtube.com/embed/ifb8vkfwiT4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe> -</div> - - - </div> - - - - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/blog/index.html b/blog/index.html deleted file mode 100644 index f705b3b..0000000 --- a/blog/index.html +++ /dev/null @@ -1,409 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Blogs</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Blogs" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/blog//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Blogs logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Blogs logo" class="visible-xs visible-sm"> - <span class="sr-only">Blogs - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Blogs</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - <section class="post"> - <div class="row"> - <div class="col-md-4"> - <div class="image"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"> - - <img src="https://www.eclipse.org/sw360/img/banners/banner-1.jpg" class="img-responsive" alt=""> - - </a> - </div> - </div> - <div class="col-md-8"> - <h2><a href="https://www.eclipse.org/sw360/blog/ecf2017/">Eclipse Con France 2017 Talk</a></h2> - <div class="clearfix"> - <p class="author-category"> - - - - in <a href="https://www.eclipse.org/sw360/categories/talk">talk</a> - - - - </p> - <p class="date-comments"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"><i class="fa fa-calendar-o"></i> July 11, 2017</a> - </p> - </div> - <p class="intro"> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </p> - <p class="read-more"><a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-main">Continue reading</a> - </p> - </div> - </div> - </section> - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/blog/index.xml b/blog/index.xml deleted file mode 100644 index 485856e..0000000 --- a/blog/index.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Blogs on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/blog/</link> - <description>Recent content in Blogs on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Tue, 11 Jul 2017 11:27:33 +0200</lastBuildDate> - - <atom:link href="https://www.eclipse.org/sw360/blog/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Eclipse Con France 2017 Talk</title> - <link>https://www.eclipse.org/sw360/blog/ecf2017/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/blog/ecf2017/</guid> - <description> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/blog/page/1/index.html b/blog/page/1/index.html deleted file mode 100644 index 2c651eb..0000000 --- a/blog/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/blog/</title><link rel="canonical" href="https://www.eclipse.org/sw360/blog/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/blog/" /></head></html> \ No newline at end of file diff --git a/categories/index.html b/categories/index.html deleted file mode 100644 index 0486a4c..0000000 --- a/categories/index.html +++ /dev/null @@ -1,374 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Categories</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Categories" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/categories//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Categories logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Categories logo" class="visible-xs visible-sm"> - <span class="sr-only">Categories - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Categories</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/categories/index.xml b/categories/index.xml deleted file mode 100644 index 2d274b1..0000000 --- a/categories/index.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Categories on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/categories/</link> - <description>Recent content in Categories on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - - <atom:link href="https://www.eclipse.org/sw360/categories/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Introduction</title> - <link>https://www.eclipse.org/sw360/categories/introduction/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/categories/introduction/</guid> - <description></description> - </item> - - <item> - <title>Talk</title> - <link>https://www.eclipse.org/sw360/categories/talk/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/categories/talk/</guid> - <description></description> - </item> - - <item> - <title>Video</title> - <link>https://www.eclipse.org/sw360/categories/video/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/categories/video/</guid> - <description></description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/categories/introduction/index.html b/categories/introduction/index.html deleted file mode 100644 index e0c774f..0000000 --- a/categories/introduction/index.html +++ /dev/null @@ -1,409 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Introduction</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Introduction" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/categories/introduction//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Introduction logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Introduction logo" class="visible-xs visible-sm"> - <span class="sr-only">Introduction - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Introduction</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - <section class="post"> - <div class="row"> - <div class="col-md-4"> - <div class="image"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"> - - <img src="https://www.eclipse.org/sw360/img/banners/banner-1.jpg" class="img-responsive" alt=""> - - </a> - </div> - </div> - <div class="col-md-8"> - <h2><a href="https://www.eclipse.org/sw360/blog/ecf2017/">Eclipse Con France 2017 Talk</a></h2> - <div class="clearfix"> - <p class="author-category"> - - - - in <a href="https://www.eclipse.org/sw360/categories/talk">talk</a> - - - - </p> - <p class="date-comments"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"><i class="fa fa-calendar-o"></i> July 11, 2017</a> - </p> - </div> - <p class="intro"> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </p> - <p class="read-more"><a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-main">Continue reading</a> - </p> - </div> - </div> - </section> - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/categories/introduction/index.xml b/categories/introduction/index.xml deleted file mode 100644 index fc7c747..0000000 --- a/categories/introduction/index.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Introduction on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/categories/introduction/</link> - <description>Recent content in Introduction on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Tue, 11 Jul 2017 11:27:33 +0200</lastBuildDate> - - <atom:link href="https://www.eclipse.org/sw360/categories/introduction/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Eclipse Con France 2017 Talk</title> - <link>https://www.eclipse.org/sw360/blog/ecf2017/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/blog/ecf2017/</guid> - <description> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/categories/introduction/page/1/index.html b/categories/introduction/page/1/index.html deleted file mode 100644 index 8b24057..0000000 --- a/categories/introduction/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/categories/introduction/</title><link rel="canonical" href="https://www.eclipse.org/sw360/categories/introduction/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/categories/introduction/" /></head></html> \ No newline at end of file diff --git a/categories/page/1/index.html b/categories/page/1/index.html deleted file mode 100644 index 22a6d7d..0000000 --- a/categories/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/categories/</title><link rel="canonical" href="https://www.eclipse.org/sw360/categories/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/categories/" /></head></html> \ No newline at end of file diff --git a/categories/talk/index.html b/categories/talk/index.html deleted file mode 100644 index 3086c12..0000000 --- a/categories/talk/index.html +++ /dev/null @@ -1,409 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Talk</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Talk" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/categories/talk//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Talk logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Talk logo" class="visible-xs visible-sm"> - <span class="sr-only">Talk - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Talk</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - <section class="post"> - <div class="row"> - <div class="col-md-4"> - <div class="image"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"> - - <img src="https://www.eclipse.org/sw360/img/banners/banner-1.jpg" class="img-responsive" alt=""> - - </a> - </div> - </div> - <div class="col-md-8"> - <h2><a href="https://www.eclipse.org/sw360/blog/ecf2017/">Eclipse Con France 2017 Talk</a></h2> - <div class="clearfix"> - <p class="author-category"> - - - - in <a href="https://www.eclipse.org/sw360/categories/talk">talk</a> - - - - </p> - <p class="date-comments"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"><i class="fa fa-calendar-o"></i> July 11, 2017</a> - </p> - </div> - <p class="intro"> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </p> - <p class="read-more"><a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-main">Continue reading</a> - </p> - </div> - </div> - </section> - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/categories/talk/index.xml b/categories/talk/index.xml deleted file mode 100644 index ea3b687..0000000 --- a/categories/talk/index.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Talk on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/categories/talk/</link> - <description>Recent content in Talk on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Tue, 11 Jul 2017 11:27:33 +0200</lastBuildDate> - - <atom:link href="https://www.eclipse.org/sw360/categories/talk/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Eclipse Con France 2017 Talk</title> - <link>https://www.eclipse.org/sw360/blog/ecf2017/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/blog/ecf2017/</guid> - <description> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/categories/talk/page/1/index.html b/categories/talk/page/1/index.html deleted file mode 100644 index b27f7f8..0000000 --- a/categories/talk/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/categories/talk/</title><link rel="canonical" href="https://www.eclipse.org/sw360/categories/talk/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/categories/talk/" /></head></html> \ No newline at end of file diff --git a/categories/video/index.html b/categories/video/index.html deleted file mode 100644 index 6e927c4..0000000 --- a/categories/video/index.html +++ /dev/null @@ -1,409 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Video</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Video" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/categories/video//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Video logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Video logo" class="visible-xs visible-sm"> - <span class="sr-only">Video - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Video</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - <section class="post"> - <div class="row"> - <div class="col-md-4"> - <div class="image"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"> - - <img src="https://www.eclipse.org/sw360/img/banners/banner-1.jpg" class="img-responsive" alt=""> - - </a> - </div> - </div> - <div class="col-md-8"> - <h2><a href="https://www.eclipse.org/sw360/blog/ecf2017/">Eclipse Con France 2017 Talk</a></h2> - <div class="clearfix"> - <p class="author-category"> - - - - in <a href="https://www.eclipse.org/sw360/categories/talk">talk</a> - - - - </p> - <p class="date-comments"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"><i class="fa fa-calendar-o"></i> July 11, 2017</a> - </p> - </div> - <p class="intro"> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </p> - <p class="read-more"><a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-main">Continue reading</a> - </p> - </div> - </div> - </section> - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/categories/video/index.xml b/categories/video/index.xml deleted file mode 100644 index f384f74..0000000 --- a/categories/video/index.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Video on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/categories/video/</link> - <description>Recent content in Video on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Tue, 11 Jul 2017 11:27:33 +0200</lastBuildDate> - - <atom:link href="https://www.eclipse.org/sw360/categories/video/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Eclipse Con France 2017 Talk</title> - <link>https://www.eclipse.org/sw360/blog/ecf2017/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/blog/ecf2017/</guid> - <description> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/categories/video/page/1/index.html b/categories/video/page/1/index.html deleted file mode 100644 index f1261e5..0000000 --- a/categories/video/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/categories/video/</title><link rel="canonical" href="https://www.eclipse.org/sw360/categories/video/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/categories/video/" /></head></html> \ No newline at end of file diff --git a/css/animate.css b/css/animate.css deleted file mode 100644 index f784ce8..0000000 --- a/css/animate.css +++ /dev/null @@ -1,3158 +0,0 @@ -@charset "UTF-8"; -/*! -Animate.css - http://daneden.me/animate -Licensed under the MIT license - http://opensource.org/licenses/MIT - -Copyright (c) 2014 Daniel Eden -*/ - -.animated { - -webkit-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.animated.infinite { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -.animated.hinge { - -webkit-animation-duration: 2s; - animation-duration: 2s; -} - -@-webkit-keyframes bounce { - 0%, 20%, 53%, 80%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - } - - 40%, 43% { - -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0,-4px,0); - transform: translate3d(0,-4px,0); - } -} - -@keyframes bounce { - 0%, 20%, 53%, 80%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - } - - 40%, 43% { - -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0,-4px,0); - transform: translate3d(0,-4px,0); - } -} - -.bounce { - -webkit-animation-name: bounce; - animation-name: bounce; - -webkit-transform-origin: center bottom; - -ms-transform-origin: center bottom; - transform-origin: center bottom; -} - -@-webkit-keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -@keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -.flash { - -webkit-animation-name: flash; - animation-name: flash; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes pulse { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes pulse { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.pulse { - -webkit-animation-name: pulse; - animation-name: pulse; -} - -@-webkit-keyframes rubberBand { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(.95, 1.05, 1); - transform: scale3d(.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, .95, 1); - transform: scale3d(1.05, .95, 1); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes rubberBand { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(.95, 1.05, 1); - transform: scale3d(.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, .95, 1); - transform: scale3d(1.05, .95, 1); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.rubberBand { - -webkit-animation-name: rubberBand; - animation-name: rubberBand; -} - -@-webkit-keyframes shake { - 0%, 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -@keyframes shake { - 0%, 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -.shake { - -webkit-animation-name: shake; - animation-name: shake; -} - -@-webkit-keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - 100% { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -@keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - 100% { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -.swing { - -webkit-transform-origin: top center; - -ms-transform-origin: top center; - transform-origin: top center; - -webkit-animation-name: swing; - animation-name: swing; -} - -@-webkit-keyframes tada { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, 20% { - -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes tada { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, 20% { - -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.tada { - -webkit-animation-name: tada; - animation-name: tada; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes wobble { - 0% { - -webkit-transform: none; - transform: none; - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes wobble { - 0% { - -webkit-transform: none; - transform: none; - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.wobble { - -webkit-animation-name: wobble; - animation-name: wobble; -} - -@-webkit-keyframes bounceIn { - 0%, 20%, 40%, 60%, 80%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(.97, .97, .97); - transform: scale3d(.97, .97, .97); - } - - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes bounceIn { - 0%, 20%, 40%, 60%, 80%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(.97, .97, .97); - transform: scale3d(.97, .97, .97); - } - - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.bounceIn { - -webkit-animation-name: bounceIn; - animation-name: bounceIn; - -webkit-animation-duration: .75s; - animation-duration: .75s; -} - -@-webkit-keyframes bounceInDown { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInDown { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.bounceInDown { - -webkit-animation-name: bounceInDown; - animation-name: bounceInDown; -} - -@-webkit-keyframes bounceInLeft { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInLeft { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.bounceInLeft { - -webkit-animation-name: bounceInLeft; - animation-name: bounceInLeft; -} - -@-webkit-keyframes bounceInRight { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInRight { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.bounceInRight { - -webkit-animation-name: bounceInRight; - animation-name: bounceInRight; -} - -@-webkit-keyframes bounceInUp { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInUp { - 0%, 60%, 75%, 90%, 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInUp { - -webkit-animation-name: bounceInUp; - animation-name: bounceInUp; -} - -@-webkit-keyframes bounceOut { - 20% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } -} - -@keyframes bounceOut { - 20% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } -} - -.bounceOut { - -webkit-animation-name: bounceOut; - animation-name: bounceOut; - -webkit-animation-duration: .75s; - animation-duration: .75s; -} - -@-webkit-keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.bounceOutDown { - -webkit-animation-name: bounceOutDown; - animation-name: bounceOutDown; -} - -@-webkit-keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.bounceOutLeft { - -webkit-animation-name: bounceOutLeft; - animation-name: bounceOutLeft; -} - -@-webkit-keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.bounceOutRight { - -webkit-animation-name: bounceOutRight; - animation-name: bounceOutRight; -} - -@-webkit-keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.bounceOutUp { - -webkit-animation-name: bounceOutUp; - animation-name: bounceOutUp; -} - -@-webkit-keyframes fadeIn { - 0% {opacity: 0;} - 100% {opacity: 1;} -} - -@keyframes fadeIn { - 0% {opacity: 0;} - 100% {opacity: 1;} -} - -.fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; -} - -@-webkit-keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInDown { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; -} - -@-webkit-keyframes fadeInDownBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInDownBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInDownBig { - -webkit-animation-name: fadeInDownBig; - animation-name: fadeInDownBig; -} - -@-webkit-keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInLeft { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; -} - -@-webkit-keyframes fadeInLeftBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInLeftBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInLeftBig { - -webkit-animation-name: fadeInLeftBig; - animation-name: fadeInLeftBig; -} - -@-webkit-keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInRight { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; -} - -@-webkit-keyframes fadeInRightBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInRightBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInRightBig { - -webkit-animation-name: fadeInRightBig; - animation-name: fadeInRightBig; -} - -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; -} - -@-webkit-keyframes fadeInUpBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes fadeInUpBig { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.fadeInUpBig { - -webkit-animation-name: fadeInUpBig; - animation-name: fadeInUpBig; -} - -@-webkit-keyframes fadeOut { - 0% {opacity: 1;} - 100% {opacity: 0;} -} - -@keyframes fadeOut { - 0% {opacity: 1;} - 100% {opacity: 0;} -} - -.fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; -} - -@-webkit-keyframes fadeOutDown { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes fadeOutDown { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.fadeOutDown { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; -} - -@-webkit-keyframes fadeOutDownBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes fadeOutDownBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.fadeOutDownBig { - -webkit-animation-name: fadeOutDownBig; - animation-name: fadeOutDownBig; -} - -@-webkit-keyframes fadeOutLeft { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes fadeOutLeft { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.fadeOutLeft { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; -} - -@-webkit-keyframes fadeOutLeftBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes fadeOutLeftBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.fadeOutLeftBig { - -webkit-animation-name: fadeOutLeftBig; - animation-name: fadeOutLeftBig; -} - -@-webkit-keyframes fadeOutRight { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes fadeOutRight { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; -} - -@-webkit-keyframes fadeOutRightBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes fadeOutRightBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.fadeOutRightBig { - -webkit-animation-name: fadeOutRightBig; - animation-name: fadeOutRightBig; -} - -@-webkit-keyframes fadeOutUp { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes fadeOutUp { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.fadeOutUp { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; -} - -@-webkit-keyframes fadeOutUpBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes fadeOutUpBig { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.fadeOutUpBig { - -webkit-animation-name: fadeOutUpBig; - animation-name: fadeOutUpBig; -} - -@-webkit-keyframes flip { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(.95, .95, .95); - transform: perspective(400px) scale3d(.95, .95, .95); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -@keyframes flip { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(.95, .95, .95); - transform: perspective(400px) scale3d(.95, .95, .95); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -.animated.flip { - -webkit-backface-visibility: visible; - backface-visibility: visible; - -webkit-animation-name: flip; - animation-name: flip; -} - -@-webkit-keyframes flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInX { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInX; - animation-name: flipInX; -} - -@-webkit-keyframes flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInY; - animation-name: flipInY; -} - -@-webkit-keyframes flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -.flipOutX { - -webkit-animation-name: flipOutX; - animation-name: flipOutX; - -webkit-animation-duration: .75s; - animation-duration: .75s; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; -} - -@-webkit-keyframes flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -.flipOutY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipOutY; - animation-name: flipOutY; - -webkit-animation-duration: .75s; - animation-duration: .75s; -} - -@-webkit-keyframes lightSpeedIn { - 0% { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - opacity: 1; - } - - 100% { - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes lightSpeedIn { - 0% { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - opacity: 1; - } - - 100% { - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.lightSpeedIn { - -webkit-animation-name: lightSpeedIn; - animation-name: lightSpeedIn; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; -} - -@-webkit-keyframes lightSpeedOut { - 0% { - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -@keyframes lightSpeedOut { - 0% { - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -.lightSpeedOut { - -webkit-animation-name: lightSpeedOut; - animation-name: lightSpeedOut; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; -} - -@-webkit-keyframes rotateIn { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateIn { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateIn { - -webkit-animation-name: rotateIn; - animation-name: rotateIn; -} - -@-webkit-keyframes rotateInDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInDownLeft { - -webkit-animation-name: rotateInDownLeft; - animation-name: rotateInDownLeft; -} - -@-webkit-keyframes rotateInDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInDownRight { - -webkit-animation-name: rotateInDownRight; - animation-name: rotateInDownRight; -} - -@-webkit-keyframes rotateInUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInUpLeft { - -webkit-animation-name: rotateInUpLeft; - animation-name: rotateInUpLeft; -} - -@-webkit-keyframes rotateInUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInUpRight { - -webkit-animation-name: rotateInUpRight; - animation-name: rotateInUpRight; -} - -@-webkit-keyframes rotateOut { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -@keyframes rotateOut { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -.rotateOut { - -webkit-animation-name: rotateOut; - animation-name: rotateOut; -} - -@-webkit-keyframes rotateOutDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -.rotateOutDownLeft { - -webkit-animation-name: rotateOutDownLeft; - animation-name: rotateOutDownLeft; -} - -@-webkit-keyframes rotateOutDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutDownRight { - -webkit-animation-name: rotateOutDownRight; - animation-name: rotateOutDownRight; -} - -@-webkit-keyframes rotateOutUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutUpLeft { - -webkit-animation-name: rotateOutUpLeft; - animation-name: rotateOutUpLeft; -} - -@-webkit-keyframes rotateOutUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -@keyframes rotateOutUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -.rotateOutUpRight { - -webkit-animation-name: rotateOutUpRight; - animation-name: rotateOutUpRight; -} - -@-webkit-keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -@keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -.hinge { - -webkit-animation-name: hinge; - animation-name: hinge; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollIn { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes rollIn { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.rollIn { - -webkit-animation-name: rollIn; - animation-name: rollIn; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -@keyframes rollOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -.rollOut { - -webkit-animation-name: rollOut; - animation-name: rollOut; -} - -@-webkit-keyframes zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 50% { - opacity: 1; - } -} - -@keyframes zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 50% { - opacity: 1; - } -} - -.zoomIn { - -webkit-animation-name: zoomIn; - animation-name: zoomIn; -} - -@-webkit-keyframes zoomInDown { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInDown { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInDown { - -webkit-animation-name: zoomInDown; - animation-name: zoomInDown; -} - -@-webkit-keyframes zoomInLeft { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInLeft { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInLeft { - -webkit-animation-name: zoomInLeft; - animation-name: zoomInLeft; -} - -@-webkit-keyframes zoomInRight { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInRight { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInRight { - -webkit-animation-name: zoomInRight; - animation-name: zoomInRight; -} - -@-webkit-keyframes zoomInUp { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInUp { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInUp { - -webkit-animation-name: zoomInUp; - animation-name: zoomInUp; -} - -@-webkit-keyframes zoomOut { - 0% { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 100% { - opacity: 0; - } -} - -@keyframes zoomOut { - 0% { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 100% { - opacity: 0; - } -} - -.zoomOut { - -webkit-animation-name: zoomOut; - animation-name: zoomOut; -} - -@-webkit-keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomOutDown { - -webkit-animation-name: zoomOutDown; - animation-name: zoomOutDown; -} - -@-webkit-keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); - transform: scale(.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -@keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); - transform: scale(.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -.zoomOutLeft { - -webkit-animation-name: zoomOutLeft; - animation-name: zoomOutLeft; -} - -@-webkit-keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(2000px, 0, 0); - transform: scale(.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -@keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(2000px, 0, 0); - transform: scale(.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -.zoomOutRight { - -webkit-animation-name: zoomOutRight; - animation-name: zoomOutRight; -} - -@-webkit-keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomOutUp { - -webkit-animation-name: zoomOutUp; - animation-name: zoomOutUp; -} - -@-webkit-keyframes slideInDown { - 0% { - -webkit-transform: translateY(-100%); - transform: translateY(-100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -@keyframes slideInDown { - 0% { - -webkit-transform: translateY(-100%); - transform: translateY(-100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -.slideInDown { - -webkit-animation-name: slideInDown; - animation-name: slideInDown; -} - -@-webkit-keyframes slideInLeft { - 0% { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes slideInLeft { - 0% { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -.slideInLeft { - -webkit-animation-name: slideInLeft; - animation-name: slideInLeft; -} - -@-webkit-keyframes slideInRight { - 0% { - -webkit-transform: translateX(100%); - transform: translateX(100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes slideInRight { - 0% { - -webkit-transform: translateX(100%); - transform: translateX(100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -.slideInRight { - -webkit-animation-name: slideInRight; - animation-name: slideInRight; -} - -@-webkit-keyframes slideInUp { - 0% { - -webkit-transform: translateY(100%); - transform: translateY(100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -@keyframes slideInUp { - 0% { - -webkit-transform: translateY(100%); - transform: translateY(100%); - visibility: visible; - } - - 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -.slideInUp { - -webkit-animation-name: slideInUp; - animation-name: slideInUp; -} - -@-webkit-keyframes slideOutDown { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateY(100%); - transform: translateY(100%); - } -} - -@keyframes slideOutDown { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateY(100%); - transform: translateY(100%); - } -} - -.slideOutDown { - -webkit-animation-name: slideOutDown; - animation-name: slideOutDown; -} - -@-webkit-keyframes slideOutLeft { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - } -} - -@keyframes slideOutLeft { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - } -} - -.slideOutLeft { - -webkit-animation-name: slideOutLeft; - animation-name: slideOutLeft; -} - -@-webkit-keyframes slideOutRight { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateX(100%); - transform: translateX(100%); - } -} - -@keyframes slideOutRight { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateX(100%); - transform: translateX(100%); - } -} - -.slideOutRight { - -webkit-animation-name: slideOutRight; - animation-name: slideOutRight; -} - -@-webkit-keyframes slideOutUp { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateY(-100%); - transform: translateY(-100%); - } -} - -@keyframes slideOutUp { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - visibility: hidden; - -webkit-transform: translateY(-100%); - transform: translateY(-100%); - } -} - -.slideOutUp { - -webkit-animation-name: slideOutUp; - animation-name: slideOutUp; -} diff --git a/css/custom.css b/css/custom.css deleted file mode 100644 index 95c3097..0000000 --- a/css/custom.css +++ /dev/null @@ -1,10 +0,0 @@ -/* your styles go here */ - -.box-image-text .image { - min-height: 200px; - max-height: 200px; -} - -.box-simple { - min-height: 230px; -} diff --git a/css/owl.carousel.css b/css/owl.carousel.css deleted file mode 100644 index 4ef435a..0000000 --- a/css/owl.carousel.css +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Core Owl Carousel CSS File - * v1.3.2 - */ - -/* clearfix */ -.owl-carousel .owl-wrapper:after { - content: "."; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0; -} -/* display none until init */ -.owl-carousel{ - display: none; - position: relative; - width: 100%; - -ms-touch-action: pan-y; -} -.owl-carousel .owl-wrapper{ - display: none; - position: relative; - -webkit-transform: translate3d(0px, 0px, 0px); -} -.owl-carousel .owl-wrapper-outer{ - overflow: hidden; - position: relative; - width: 100%; -} -.owl-carousel .owl-wrapper-outer.autoHeight{ - -webkit-transition: height 500ms ease-in-out; - -moz-transition: height 500ms ease-in-out; - -ms-transition: height 500ms ease-in-out; - -o-transition: height 500ms ease-in-out; - transition: height 500ms ease-in-out; -} - -.owl-carousel .owl-item{ - float: left; -} -.owl-controls .owl-page, -.owl-controls .owl-buttons div{ - cursor: pointer; -} -.owl-controls { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -/* mouse grab icon */ -.grabbing { - cursor:url(/img/grabbing.png) 8 8, move; -} - -/* fix */ -.owl-carousel .owl-wrapper, -.owl-carousel .owl-item{ - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); - -moz-transform: translate3d(0,0,0); - -ms-transform: translate3d(0,0,0); -} diff --git a/css/owl.theme.css b/css/owl.theme.css deleted file mode 100644 index e080540..0000000 --- a/css/owl.theme.css +++ /dev/null @@ -1,69 +0,0 @@ -/* -* Owl Carousel Owl Demo Theme -* v1.3.2 -*/ - -.owl-theme .owl-controls{ - margin-top: 10px; - text-align: center; -} - -/* Styling Next and Prev buttons */ - -.owl-theme .owl-controls .owl-buttons div{ - display: inline-block; - zoom: 1; - *display: inline;/*IE7 life-saver */ -} -/* Clickable class fix problem with hover on touch devices */ -/* Use it for non-touch hover action */ -.owl-theme .owl-controls.clickable .owl-buttons div:hover{ - filter: Alpha(Opacity=100);/*IE7 fix*/ - opacity: 1; - text-decoration: none; -} - -/* Styling Pagination*/ - -.owl-theme .owl-controls .owl-page{ - display: inline-block; - zoom: 1; - *display: inline;/*IE7 life-saver */ -} -.owl-theme .owl-controls .owl-page span{ - display: block; - width: 12px; - height: 12px; - margin: 5px 7px; - filter: Alpha(Opacity=50);/*IE7 fix*/ - opacity: 0.5; - -webkit-border-radius: 20px; - -moz-border-radius: 20px; - border-radius: 20px; - background: #869791; -} - -.owl-theme .owl-controls .owl-page.active span, -.owl-theme .owl-controls.clickable .owl-page:hover span{ - filter: Alpha(Opacity=100);/*IE7 fix*/ - opacity: 1; -} - -/* If PaginationNumbers is true */ - -.owl-theme .owl-controls .owl-page span.owl-numbers{ - height: auto; - width: auto; - color: #FFF; - padding: 2px 10px; - font-size: 12px; - -webkit-border-radius: 30px; - -moz-border-radius: 30px; - border-radius: 30px; -} - -/* preloading images */ -.owl-item.loading{ - min-height: 150px; - background: url(AjaxLoader.gif) no-repeat center center -} \ No newline at end of file diff --git a/css/prism.css b/css/prism.css new file mode 100644 index 0000000..f55c4c6 --- /dev/null +++ b/css/prism.css @@ -0,0 +1,208 @@ +/* PrismJS 1.21.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+csharp+cpp+go+java+markdown+python+scss+sql+toml+yaml&plugins=toolbar+copy-to-clipboard */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +div.code-toolbar { + position: relative; +} + +div.code-toolbar > .toolbar { + position: absolute; + top: .3em; + right: .2em; + transition: opacity 0.3s ease-in-out; + opacity: 0; +} + +div.code-toolbar:hover > .toolbar { + opacity: 1; +} + +/* Separate line b/c rules are thrown out if selector is invalid. + IE11 and old Edge versions don't support :focus-within. */ +div.code-toolbar:focus-within > .toolbar { + opacity: 1; +} + +div.code-toolbar > .toolbar .toolbar-item { + display: inline-block; +} + +div.code-toolbar > .toolbar a { + cursor: pointer; +} + +div.code-toolbar > .toolbar button { + background: none; + border: 0; + color: inherit; + font: inherit; + line-height: normal; + overflow: visible; + padding: 0; + -webkit-user-select: none; /* for button */ + -moz-user-select: none; + -ms-user-select: none; +} + +div.code-toolbar > .toolbar a, +div.code-toolbar > .toolbar button, +div.code-toolbar > .toolbar span { + color: #bbb; + font-size: .8em; + padding: 0 .5em; + background: #f5f2f0; + background: rgba(224, 224, 224, 0.2); + box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); + border-radius: .5em; +} + +div.code-toolbar > .toolbar a:hover, +div.code-toolbar > .toolbar a:focus, +div.code-toolbar > .toolbar button:hover, +div.code-toolbar > .toolbar button:focus, +div.code-toolbar > .toolbar span:hover, +div.code-toolbar > .toolbar span:focus { + color: inherit; + text-decoration: none; +} + diff --git a/css/shortcodes.css b/css/shortcodes.css new file mode 100644 index 0000000..0aa1c0f --- /dev/null +++ b/css/shortcodes.css @@ -0,0 +1,2 @@ +@import "shortcodes/tabbed-pane.css"; +@import "shortcodes/cards-pane.css"; diff --git a/css/shortcodes/cards-pane.css b/css/shortcodes/cards-pane.css new file mode 100644 index 0000000..34c8545 --- /dev/null +++ b/css/shortcodes/cards-pane.css @@ -0,0 +1,21 @@ +.card-deck { + max-width: 83%; +} + +.card { + max-width: 80%; +} + +.card-body.code { + background-color: #f8f9fa; + padding: 0 0 0 1ex; +} + +.card-body pre { + margin: 0; + padding: 0 1rem 1rem 1rem; +} + +.card .highlight { + border: none; +} diff --git a/css/shortcodes/tabbed-pane.css b/css/shortcodes/tabbed-pane.css new file mode 100644 index 0000000..3016398 --- /dev/null +++ b/css/shortcodes/tabbed-pane.css @@ -0,0 +1,18 @@ +.td-content .highlight { + margin: 0rem 0 2rem 0; +} + +.tab-content .highlight { + border: none; +} + +.tab-content { + margin: 0rem; + max-width: 80%; +} + +.tab-content pre { + border-left: 1px solid rgba(0, 0, 0, 0.125); + border-right: 1px solid rgba(0, 0, 0, 0.125); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} diff --git a/css/style.blue.css b/css/style.blue.css deleted file mode 100644 index c738447..0000000 --- a/css/style.blue.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #467fbf; -} -.accent { - color: #467fbf; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #467fbf; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #467fbf; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #467fbf; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #467fbf; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #294d76; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #294d76; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #294d76; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #467fbf; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #467fbf; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #467fbf; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #467fbf; - color: #467fbf; -} -.navbar #search { - clear: both; - border-top: solid 1px #467fbf; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #467fbf; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #467fbf; - background-color: #ffffff; - border-color: #467fbf; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #467fbf; - background-color: #e6e6e6; - border-color: #336194; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #467fbf; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #467fbf; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #467fbf; - color: #ffffff; - border-color: #467fbf; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #467fbf; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #467fbf; - border-color: #467fbf; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #36669c; - border-color: #336194; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #467fbf; - border-color: #467fbf; -} -.btn-template-primary .badge { - color: #467fbf; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #467fbf; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #467fbf; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #467fbf; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #467fbf; - text-decoration: none; - border-color: #467fbf; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #467fbf; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #467fbf; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #467fbf; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #467fbf; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #467fbf; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #467fbf; - border-color: #467fbf; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #467fbf; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #467fbf; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #467fbf; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #467fbf; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #467fbf; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #467fbf; - border-bottom: solid 1px #467fbf; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #467fbf; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #467fbf; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #467fbf; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #467fbf; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #467fbf; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #467fbf; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #467fbf; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #467fbf; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #467fbf; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #467fbf; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #467fbf; -} -.nav-tabs { - border-bottom: 1px solid #467fbf; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #467fbf; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #467fbf; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #467fbf; - 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; -} -.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 #467fbf; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #467fbf; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #467fbf; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #467fbf; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #467fbf; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #467fbf; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #92b3d9; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #467fbf; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #467fbf; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #467fbf; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #467fbf; - } - .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: #ffffff; - background-color: #467fbf; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #467fbf; - text-decoration: none; -} -a:hover, -a:focus { - color: #2f5a89; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #467fbf; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(70, 127, 191, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(70, 127, 191, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #467fbf; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #467fbf; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #467fbf; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #467fbf; - background-color: #b8cee6; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #467fbf; - border-color: #467fbf; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #467fbf; -} -a.text-primary:hover { - color: #36669c; -} -.bg-primary { - color: #fff; - background-color: #467fbf; -} -a.bg-primary:hover { - background-color: #36669c; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #467fbf; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #467fbf; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #467fbf; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #467fbf; - border-color: #467fbf; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #467fbf; -} -.panel-primary > .panel-heading .badge { - color: #467fbf; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #467fbf; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #467fbf; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #467fbf; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.default.css b/css/style.default.css deleted file mode 100644 index 0320aea..0000000 --- a/css/style.default.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #38a7bb; -} -.accent { - color: #38a7bb; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #38a7bb; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #38a7bb; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #38a7bb; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #38a7bb; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #20616d; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #20616d; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #20616d; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #38a7bb; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #38a7bb; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #38a7bb; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #38a7bb; - color: #38a7bb; -} -.navbar #search { - clear: both; - border-top: solid 1px #38a7bb; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #38a7bb; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #38a7bb; - background-color: #ffffff; - border-color: #38a7bb; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #38a7bb; - background-color: #e6e6e6; - border-color: #2a7d8c; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #38a7bb; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #38a7bb; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #38a7bb; - color: #ffffff; - border-color: #38a7bb; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #38a7bb; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #38a7bb; - border-color: #38a7bb; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #2c8494; - border-color: #2a7d8c; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #38a7bb; - border-color: #38a7bb; -} -.btn-template-primary .badge { - color: #38a7bb; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/cyber-bg.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #38a7bb; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #38a7bb; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #38a7bb; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #38a7bb; - text-decoration: none; - border-color: #38a7bb; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #38a7bb; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #38a7bb; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #38a7bb; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/cyber-bg.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #38a7bb; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #38a7bb; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #38a7bb; - border-color: #38a7bb; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #38a7bb; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #38a7bb; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #38a7bb; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #38a7bb; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #38a7bb; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #38a7bb; - border-bottom: solid 1px #38a7bb; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #38a7bb; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #38a7bb; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #38a7bb; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #38a7bb; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #38a7bb; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #38a7bb; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #38a7bb; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #38a7bb; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #38a7bb; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #38a7bb; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #38a7bb; -} -.nav-tabs { - border-bottom: 1px solid #38a7bb; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #38a7bb; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #38a7bb; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #38a7bb; - 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; -} -.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 #38a7bb; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #38a7bb; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #38a7bb; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #38a7bb; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #38a7bb; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #38a7bb; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #80cbd9; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #38a7bb; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #38a7bb; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #38a7bb; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #38a7bb; - } - .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: #ffffff; - background-color: #38a7bb; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #38a7bb; - text-decoration: none; -} -a:hover, -a:focus { - color: #267280; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #38a7bb; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(56, 167, 187, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(56, 167, 187, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #38a7bb; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #38a7bb; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #38a7bb; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #38a7bb; - background-color: #a7dbe5; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #38a7bb; - border-color: #38a7bb; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #38a7bb; -} -a.text-primary:hover { - color: #2c8494; -} -.bg-primary { - color: #fff; - background-color: #38a7bb; -} -a.bg-primary:hover { - background-color: #2c8494; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #38a7bb; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #38a7bb; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #38a7bb; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #38a7bb; - border-color: #38a7bb; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #38a7bb; -} -.panel-primary > .panel-heading .badge { - color: #38a7bb; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #38a7bb; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #38a7bb; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #38a7bb; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.green.css b/css/style.green.css deleted file mode 100644 index d0f8a2f..0000000 --- a/css/style.green.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #6aae7a; -} -.accent { - color: #6aae7a; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #6aae7a; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #6aae7a; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #6aae7a; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #6aae7a; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #3f734b; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #3f734b; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #3f734b; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #6aae7a; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #6aae7a; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #6aae7a; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #6aae7a; - color: #6aae7a; -} -.navbar #search { - clear: both; - border-top: solid 1px #6aae7a; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #6aae7a; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #6aae7a; - background-color: #ffffff; - border-color: #6aae7a; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #6aae7a; - background-color: #e6e6e6; - border-color: #4d8e5c; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #6aae7a; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #6aae7a; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #6aae7a; - color: #ffffff; - border-color: #6aae7a; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #6aae7a; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #6aae7a; - border-color: #6aae7a; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #519461; - border-color: #4d8e5c; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #6aae7a; - border-color: #6aae7a; -} -.btn-template-primary .badge { - color: #6aae7a; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #6aae7a; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #6aae7a; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #6aae7a; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #6aae7a; - text-decoration: none; - border-color: #6aae7a; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #6aae7a; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #6aae7a; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #6aae7a; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #6aae7a; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #6aae7a; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #6aae7a; - border-color: #6aae7a; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #6aae7a; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #6aae7a; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #6aae7a; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #6aae7a; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #6aae7a; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #6aae7a; - border-bottom: solid 1px #6aae7a; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #6aae7a; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #6aae7a; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #6aae7a; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #6aae7a; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #6aae7a; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #6aae7a; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #6aae7a; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #6aae7a; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #6aae7a; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #6aae7a; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #6aae7a; -} -.nav-tabs { - border-bottom: 1px solid #6aae7a; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #6aae7a; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #6aae7a; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #6aae7a; - 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; -} -.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 #6aae7a; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #6aae7a; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #6aae7a; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #6aae7a; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #6aae7a; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #6aae7a; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #acd2b5; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #6aae7a; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #6aae7a; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #6aae7a; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #6aae7a; - } - .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: #ffffff; - background-color: #6aae7a; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #6aae7a; - text-decoration: none; -} -a:hover, -a:focus { - color: #488456; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #6aae7a; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(106, 174, 122, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(106, 174, 122, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #6aae7a; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #6aae7a; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #6aae7a; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #6aae7a; - background-color: #cde4d2; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #6aae7a; - border-color: #6aae7a; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #6aae7a; -} -a.text-primary:hover { - color: #519461; -} -.bg-primary { - color: #fff; - background-color: #6aae7a; -} -a.bg-primary:hover { - background-color: #519461; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #6aae7a; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #6aae7a; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #6aae7a; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #6aae7a; - border-color: #6aae7a; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #6aae7a; -} -.panel-primary > .panel-heading .badge { - color: #6aae7a; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #6aae7a; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #6aae7a; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #6aae7a; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.marsala.css b/css/style.marsala.css deleted file mode 100644 index 40972c3..0000000 --- a/css/style.marsala.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #955251; -} -.accent { - color: #955251; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #955251; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #955251; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #955251; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #955251; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #532e2d; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #532e2d; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #532e2d; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #955251; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #955251; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #955251; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #955251; - color: #955251; -} -.navbar #search { - clear: both; - border-top: solid 1px #955251; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #955251; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #955251; - background-color: #ffffff; - border-color: #955251; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #955251; - background-color: #e6e6e6; - border-color: #6d3c3b; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #955251; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #955251; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #955251; - color: #ffffff; - border-color: #955251; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #955251; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #955251; - border-color: #955251; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #74403f; - border-color: #6d3c3b; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #955251; - border-color: #955251; -} -.btn-template-primary .badge { - color: #955251; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #955251; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #955251; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #955251; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #955251; - text-decoration: none; - border-color: #955251; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #955251; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #955251; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #955251; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #955251; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #955251; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #955251; - border-color: #955251; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #955251; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #955251; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #955251; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #955251; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #955251; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #955251; - border-bottom: solid 1px #955251; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #955251; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #955251; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #955251; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #955251; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #955251; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #955251; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #955251; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #955251; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #955251; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #955251; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #955251; -} -.nav-tabs { - border-bottom: 1px solid #955251; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #955251; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #955251; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #955251; - 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; -} -.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 #955251; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #955251; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #955251; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #955251; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #955251; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #955251; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #c08c8c; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #955251; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #955251; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #955251; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #955251; - } - .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: #ffffff; - background-color: #955251; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #955251; - text-decoration: none; -} -a:hover, -a:focus { - color: #633736; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #955251; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(149, 82, 81, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(149, 82, 81, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #955251; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #955251; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #955251; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #955251; - background-color: #d2adad; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #955251; - border-color: #955251; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #955251; -} -a.text-primary:hover { - color: #74403f; -} -.bg-primary { - color: #fff; - background-color: #955251; -} -a.bg-primary:hover { - background-color: #74403f; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #955251; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #955251; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #955251; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #955251; - border-color: #955251; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #955251; -} -.panel-primary > .panel-heading .badge { - color: #955251; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #955251; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #955251; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #955251; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.pink.css b/css/style.pink.css deleted file mode 100644 index cb7863d..0000000 --- a/css/style.pink.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #c27baa; -} -.accent { - color: #c27baa; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #c27baa; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #c27baa; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #c27baa; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #c27baa; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #934478; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #934478; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #934478; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #c27baa; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #c27baa; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #c27baa; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #c27baa; - color: #c27baa; -} -.navbar #search { - clear: both; - border-top: solid 1px #c27baa; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #c27baa; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #c27baa; - background-color: #ffffff; - border-color: #c27baa; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #c27baa; - background-color: #e6e6e6; - border-color: #af518f; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #c27baa; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #c27baa; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #c27baa; - color: #ffffff; - border-color: #c27baa; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #c27baa; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #c27baa; - border-color: #c27baa; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #b25894; - border-color: #af518f; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #c27baa; - border-color: #c27baa; -} -.btn-template-primary .badge { - color: #c27baa; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #c27baa; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #c27baa; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #c27baa; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #c27baa; - text-decoration: none; - border-color: #c27baa; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #c27baa; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #c27baa; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #c27baa; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #c27baa; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #c27baa; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #c27baa; - border-color: #c27baa; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #c27baa; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #c27baa; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #c27baa; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #c27baa; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #c27baa; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #c27baa; - border-bottom: solid 1px #c27baa; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #c27baa; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #c27baa; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #c27baa; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #c27baa; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #c27baa; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #c27baa; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #c27baa; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #c27baa; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #c27baa; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #c27baa; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #c27baa; -} -.nav-tabs { - border-bottom: 1px solid #c27baa; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #c27baa; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #c27baa; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #c27baa; - 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; -} -.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 #c27baa; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #c27baa; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #c27baa; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #c27baa; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #c27baa; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #c27baa; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #e2c1d7; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #c27baa; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #c27baa; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #c27baa; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #c27baa; - } - .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: #ffffff; - background-color: #c27baa; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #c27baa; - text-decoration: none; -} -a:hover, -a:focus { - color: #a44c87; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #c27baa; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(194, 123, 170, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(194, 123, 170, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #c27baa; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #c27baa; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #c27baa; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #c27baa; - background-color: #f2e4ed; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #c27baa; - border-color: #c27baa; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #c27baa; -} -a.text-primary:hover { - color: #b25894; -} -.bg-primary { - color: #fff; - background-color: #c27baa; -} -a.bg-primary:hover { - background-color: #b25894; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #c27baa; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #c27baa; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #c27baa; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #c27baa; - border-color: #c27baa; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #c27baa; -} -.panel-primary > .panel-heading .badge { - color: #c27baa; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #c27baa; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #c27baa; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #c27baa; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.red.css b/css/style.red.css deleted file mode 100644 index f328ee6..0000000 --- a/css/style.red.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #da4d4d; -} -.accent { - color: #da4d4d; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #da4d4d; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #da4d4d; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #da4d4d; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #da4d4d; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #a02121; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #a02121; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #a02121; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #da4d4d; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #da4d4d; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #da4d4d; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #da4d4d; - color: #da4d4d; -} -.navbar #search { - clear: both; - border-top: solid 1px #da4d4d; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #da4d4d; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #da4d4d; - background-color: #ffffff; - border-color: #da4d4d; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #da4d4d; - background-color: #e6e6e6; - border-color: #c22828; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #da4d4d; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #da4d4d; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #da4d4d; - color: #ffffff; - border-color: #da4d4d; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #da4d4d; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #da4d4d; - border-color: #da4d4d; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #ca2a2a; - border-color: #c22828; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #da4d4d; - border-color: #da4d4d; -} -.btn-template-primary .badge { - color: #da4d4d; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #da4d4d; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #da4d4d; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #da4d4d; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #da4d4d; - text-decoration: none; - border-color: #da4d4d; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #da4d4d; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #da4d4d; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #da4d4d; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #da4d4d; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #da4d4d; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #da4d4d; - border-color: #da4d4d; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #da4d4d; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #da4d4d; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #da4d4d; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #da4d4d; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #da4d4d; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #da4d4d; - border-bottom: solid 1px #da4d4d; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #da4d4d; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #da4d4d; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #da4d4d; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #da4d4d; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #da4d4d; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #da4d4d; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #da4d4d; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #da4d4d; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #da4d4d; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #da4d4d; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #da4d4d; -} -.nav-tabs { - border-bottom: 1px solid #da4d4d; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #da4d4d; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #da4d4d; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #da4d4d; - 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; -} -.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 #da4d4d; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #da4d4d; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #da4d4d; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #da4d4d; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #da4d4d; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #da4d4d; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #eca1a1; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #da4d4d; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #da4d4d; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #da4d4d; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #da4d4d; - } - .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: #ffffff; - background-color: #da4d4d; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #da4d4d; - text-decoration: none; -} -a:hover, -a:focus { - color: #b52626; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #da4d4d; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(218, 77, 77, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(218, 77, 77, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #da4d4d; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #da4d4d; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #da4d4d; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #da4d4d; - background-color: #f4cccc; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #da4d4d; - border-color: #da4d4d; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #da4d4d; -} -a.text-primary:hover { - color: #ca2a2a; -} -.bg-primary { - color: #fff; - background-color: #da4d4d; -} -a.bg-primary:hover { - background-color: #ca2a2a; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #da4d4d; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #da4d4d; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #da4d4d; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #da4d4d; - border-color: #da4d4d; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #da4d4d; -} -.panel-primary > .panel-heading .badge { - color: #da4d4d; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #da4d4d; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #da4d4d; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #da4d4d; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.sw360.css b/css/style.sw360.css deleted file mode 100644 index 1c91c9a..0000000 --- a/css/style.sw360.css +++ /dev/null @@ -1,48 +0,0 @@ -/* navbar */ -/* PK: min-height = logo height + 20px */ -.navbar { - min-height: 100px; -} -/* PK: height = logo height + 20px */ -.navbar-brand { - height: 100px; -} -/* cd-fixed-bg */ -.cd-fixed-bg { - min-height: 100vh; - background-size: cover; - background-attachment: fixed; - background-repeat: no-repeat; - background-position: center center; -} - -.cd-fixed-bg.cd-fixed-bg--2 { - background-image: url("../img/fixed-background-2.jpg"); -} - -html, -body { - margin:0; - padding:0; - height:100%; -} -#all { - min-height:100%; - position:relative; -} -#content { - padding:10px; - padding-bottom:252px; /* Height of the footer */ -} -#bottom { - position:absolute; - bottom:0; - width:100%; - height:235px; /* Height of the footer */ - background:#6cf; -} - -.footer-img { - margin-left:15px; - margin-right:15px; -} \ No newline at end of file diff --git a/css/style.turquoise.css b/css/style.turquoise.css deleted file mode 100644 index 41761c0..0000000 --- a/css/style.turquoise.css +++ /dev/null @@ -1,3564 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #5d8ea9; -} -.accent { - color: #5d8ea9; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #5d8ea9; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #5d8ea9; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #5d8ea9; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #5d8ea9; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #5d8ea9; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #5d8ea9; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #5d8ea9; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #5d8ea9; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #5d8ea9; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #5d8ea9; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #5d8ea9; - color: #5d8ea9; -} -.navbar #search { - clear: both; - border-top: solid 1px #5d8ea9; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #5d8ea9; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #5d8ea9; - background-color: #ffffff; - border-color: #5d8ea9; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #5d8ea9; - background-color: #e6e6e6; - border-color: #5d8ea9; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #5d8ea9; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #5d8ea9; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #5d8ea9; - color: #ffffff; - border-color: #5d8ea9; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #5d8ea9; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #5d8ea9; - border-color: #5d8ea9; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #5d8ea9; - border-color: #5d8ea9; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #5d8ea9; - border-color: #5d8ea9; -} -.btn-template-primary .badge { - color: #5d8ea9; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/cyber-bg.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #5d8ea9; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #5d8ea9; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #5d8ea9; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #5d8ea9; - text-decoration: none; - border-color: #5d8ea9; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #5d8ea9; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #5d8ea9; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #5d8ea9; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/cyber-bg.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #5d8ea9; - opacity: 0.7; - filter: alpha(opacity=70); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #5d8ea9; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #5d8ea9; - border-color: #5d8ea9; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #5d8ea9; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #5d8ea9; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #5d8ea9; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - /* background: url('../img/fixed-background-2.jpg') center top no-repeat; */ - background: url('../img/fixed-background-2.jpg'); - background-attachment: fixed; - background-size: cover; - - position: relative; - min-height: 50vh; - background-repeat: no-repeat; - background-position: center center; - z-index: 1; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #5d8ea9; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #5d8ea9; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #5d8ea9; - border-bottom: solid 1px #5d8ea9; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #5d8ea9; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #5d8ea9; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #5d8ea9; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #5d8ea9; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #5d8ea9; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #5d8ea9; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #5d8ea9; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #5d8ea9; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #5d8ea9; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #5d8ea9; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #5d8ea9; -} -.nav-tabs { - border-bottom: 1px solid #5d8ea9; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #5d8ea9; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #5d8ea9; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #5d8ea9; - 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; -} -.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 #5d8ea9; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #5d8ea9; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #5d8ea9; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #5d8ea9; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #5d8ea9; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #5d8ea9; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #c2dbebff; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #5d8ea9; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #5d8ea9; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #5d8ea9; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #5d8ea9; - } - .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: #ffffff; - background-color: #5d8ea9; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #5d8ea9; - text-decoration: none; -} -a:hover, -a:focus { - color: #f7941e; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #5d8ea9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(79, 191, 168, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(79, 191, 168, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #5d8ea9; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #5d8ea9; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #5d8ea9; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #5d8ea9; - background-color: #bfe8df; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #5d8ea9; - border-color: #5d8ea9; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #5d8ea9; -} -a.text-primary:hover { - color: #3aa18c; -} -.bg-primary { - color: #fff; - background-color: #5d8ea9; -} -a.bg-primary:hover { - background-color: #3aa18c; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #5d8ea9; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #5d8ea9; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #5d8ea9; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #5d8ea9; - border-color: #5d8ea9; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #5d8ea9; -} -.panel-primary > .panel-heading .badge { - color: #5d8ea9; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #5d8ea9; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #5d8ea9; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #5d8ea9; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/style.violet.css b/css/style.violet.css deleted file mode 100644 index f10fe8d..0000000 --- a/css/style.violet.css +++ /dev/null @@ -1,3557 +0,0 @@ -.clearfix:before, -.clearfix:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after { - content: " "; - display: table; -} -.clearfix:after, -.navbar:after, -.navbar-header: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); -} -/* general styles */ -a, -button { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -a i.fa, -button i.fa { - margin: 0 5px; -} -.clickable { - cursor: pointer !important; -} -.required { - color: #986dbd; -} -.accent { - color: #986dbd; -} -.text-uppercase { - text-transform: uppercase; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .text-center-sm { - text-align: center; - } -} -p.lead { - margin-bottom: 40px; -} -section, -div.section { - margin-bottom: 40px; -} -.no-mb { - margin-bottom: 0 !important; -} -.mb-small { - margin-bottom: 20px !important; -} -.heading { - margin-bottom: 40px; -} -.heading h1, -.heading h2, -.heading h3, -.heading h4, -.heading h5 { - display: inline-block; - border-bottom: solid 5px #986dbd; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; - vertical-align: middle; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.heading h1 i.fa, -.heading h2 i.fa, -.heading h3 i.fa, -.heading h4 i.fa, -.heading h5 i.fa { - display: inline-block; - background: #986dbd; - width: 30px; - height: 30px; - vertical-align: middle; - text-align: center; - color: #fff; - font-size: 12px; - line-height: 30px; - border-radius: 15px; -} -.icon { - display: inline-block; - width: 80px; - height: 80px; - color: #fff; - line-height: 80px; - border-radius: 40px; - border: solid 1px #fff; - font-size: 20px; -} -.icon.icon-lg { - font-size: 30px; - border-width: 2px; -} -.ul-icons { - padding-left: 10px; -} -.ul-icons li { - list-style-type: none; - line-height: 20px; - margin-bottom: 20px; -} -.ul-icons li i { - width: 20px; - height: 20px; - background: #986dbd; - color: #fff; - text-align: center; - border-radius: 10px; - line-height: 20px; - margin-right: 10px; -} -ul.list-style-none { - list-style: none; -} -#text-page h1, -#text-page h2, -#text-page h3 { - font-weight: 700; -} -#error-page { - text-align: center; - margin-top: 40px; - margin-bottom: 100px; -} -#error-page h4 { - margin-bottom: 40px; -} -#error-page p.buttons { - margin-top: 40px; -} -.pages-listing .item { - text-align: center; -} -.pages-listing .item h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 20px; - letter-spacing: 0.08em; -} -.pages-listing .item h3 a { - color: #555555; -} -.pages-listing .item .text { - margin-bottom: 20px; -} -.pages-listing .item .text p { - color: #999999; - font-size: 12px; - margin-bottom: 20px; -} -.banner { - margin-bottom: 30px; - text-align: center; -} -.banner img { - margin: 0 auto; -} -.banner a:hover img { - opacity: 0.8; - filter: alpha(opacity=80); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.pages { - text-align: center; -} -.pages .loadMore { - text-align: center; -} -.pages .pagination { - text-align: center; -} -.features-buttons button { - margin-bottom: 20px; -} -@media (min-width: 1300px) { - body.boxed { - background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png); - } - body.boxed #all { - position: relative; - background: #fff; - width: 1200px; - margin: 0 auto; - overflow: hidden; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - } -} -#top { - background: #555555; - color: #eeeeee; - padding: 10px 0; -} -#top p { - margin: 0; - font-size: 12px; -} -#top .social { - float: right; - text-align: right; -} -#top .social a { - color: #999999; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 12px; - line-height: 20px; - font-size: 12px; - text-align: center; - vertical-align: bottom; -} -#top .social a:hover { - color: #fff; -} -#top .social a:hover.facebook { - background-color: #4460ae; -} -#top .social a:hover.gplus { - background-color: #c21f25; -} -#top .social a:hover.twitter { - background-color: #3cf; -} -#top .social a:hover.instagram { - background-color: #cd4378; -} -#top .social a:hover.email { - background-color: #4a7f45; -} -#top .login { - float: right; -} -#top .login a { - font-size: 12px; - color: #eeeeee; - margin-right: 15px; - text-decoration: none; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.10em; -} -@media (max-width: 767px) { - #top .login { - float: left; - } -} -#top.light { - background: #fff; - color: #999999; - border-bottom: solid 1px #eeeeee; -} -#top.light .login a { - color: #555555; -} -.navbar { - border: none; -} -.navbar ul.nav > li > a { - text-transform: uppercase; - text-decoration: underline; - font-weight: bold; - letter-spacing: 0.08em; - border-top: solid 5px transparent; -} -.navbar ul.nav > li > a:hover { - border-top: solid 5px #986dbd; -} -.navbar ul.nav > li.active > a, -.navbar ul.nav > li.open > a { - text-decoration: none !important; - border-top: solid 5px #653d87; -} -@media (max-width: 768px) { - .navbar ul.nav > li.active > a, - .navbar ul.nav > li.open > a { - border-top-color: transparent; - } - .navbar ul.nav > li > a:hover { - border-top-color: transparent; - } -} -.navbar.navbar-light ul.nav > li.active > a { - border-top: solid 5px #653d87; - background: #fff !important; - color: #555555 !important; -} -.navbar.navbar-light ul.nav > li.active > a:hover { - border-top: solid 5px #653d87; -} -.navbar.navbar-light ul.nav > li > a:hover, -.navbar.navbar-light ul.nav > li.open > a:hover, -.navbar.navbar-light ul.nav > li > a:focus, -.navbar.navbar-light ul.nav > li.open > a:focus { - border-top: solid 5px #986dbd; - background: #fff !important; - color: #555555 !important; -} -.navbar ul.dropdown-menu { - margin: 0; - padding: 0; -} -.navbar ul.dropdown-menu li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 4px 0; -} -.navbar ul.dropdown-menu li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - left: 0; -} -.navbar ul.dropdown-menu li a:hover { - color: #986dbd; - text-decoration: none; - background: none; - left: 2px; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .navbar ul.dropdown-menu li a:hover { - left: 0; - } -} -.navbar .yamm-content h3 { - font-size: 18px; - text-transform: uppercase; - padding-bottom: 10px; - margin-top: 5px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -@media (max-width: 767px) { - .navbar .yamm-content h3 { - font-size: 14px; - } -} -.navbar .yamm-content h5 { - text-transform: uppercase; - padding-bottom: 10px; - border-bottom: dotted 1px #555555; - letter-spacing: 0.08em; -} -.navbar .yamm-content ul { - margin: 0; - padding: 0; -} -.navbar .yamm-content ul li { - list-style-type: none; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - padding: 4px 0; -} -.navbar .yamm-content ul li a { - position: relative; - color: #999999; - font-size: 12px; - display: block; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.navbar .yamm-content ul li a:hover { - color: #986dbd; - text-decoration: none; - padding-left: 2px; -} -.navbar .yamm-content .banner { - margin-bottom: 10px; -} -.navbar .yamm-fw .dropdown-menu { - padding: 0; -} -.navbar .navbar-buttons { - float: right; -} -.navbar .navbar-buttons button, -.navbar .navbar-buttons a.btn, -.navbar .navbar-buttons .btn-default.navbar-toggle { - margin-top: 11px; - margin-bottom: 11px; - margin-left: 0; - margin-right: 5px; -} -.navbar .btn-default, -.navbar .btn-default.navbar-toggle { - color: #999999; - background-color: #fff; - margin-left: 7px; - margin-right: 0; -} -.navbar .btn-default:hover, -.navbar .btn-default.navbar-toggle:hover, -.navbar .btn-default:focus, -.navbar .btn-default.navbar-toggle:focus { - background-color: #fff; - border-color: #986dbd; - color: #986dbd; -} -.navbar #search { - clear: both; - border-top: solid 1px #986dbd; - text-align: right; -} -.navbar #search form { - float: right; -} -.navbar #search form .input-group { - width: 500px; -} -@media (max-width: 768px) { - .navbar #search form .input-group { - width: 100%; - } -} -.navbar #basket-overview a { - margin-left: 7px; -} -.navbar-affixed-top { - top: -32px; -} -.navbar-affixed-top.affix-top { - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -.navbar-affixed-top.affix { - position: fixed; - width: 100%; - top: 0; - z-index: 1000; - -webkit-box-shadow: 0 0 5px #cccccc; - box-shadow: 0 0 5px #cccccc; - -webkit-transition: all 0.5s ease-out; - -moz-transition: all 0.5s ease-out; - transition: all 0.5s ease-out; -} -body.boxed .navbar-affixed-top.affix { - position: static; -} -#login-modal { - overflow: hidden; -} -#login-modal .modal-header h4 { - text-transform: uppercase; -} -#login-modal form { - margin-bottom: 20px; -} -#login-modal a { - color: #986dbd; -} -#login-modal p { - font-weight: 300; - margin-bottom: 20px; - font-size: 13px; -} -/* buttons */ -.btn { - font-weight: 700; - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 6px 12px; - font-size: 13px; - line-height: 1.42857143; - border-radius: 0; -} -.input-group .btn { - font-size: 14px; -} -.btn-lg { - padding: 10px 16px; - font-size: 14px; - line-height: 1.33; - border-radius: 0; -} -.btn-sm { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 0; -} -.btn-template-main { - color: #986dbd; - background-color: #ffffff; - border-color: #986dbd; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - color: #986dbd; - background-color: #e6e6e6; - border-color: #7a4aa3; -} -.btn-template-main:active, -.btn-template-main.active, -.open > .dropdown-toggle.btn-template-main { - background-image: none; -} -.btn-template-main.disabled, -.btn-template-main[disabled], -fieldset[disabled] .btn-template-main, -.btn-template-main.disabled:hover, -.btn-template-main[disabled]:hover, -fieldset[disabled] .btn-template-main:hover, -.btn-template-main.disabled:focus, -.btn-template-main[disabled]:focus, -fieldset[disabled] .btn-template-main:focus, -.btn-template-main.disabled:active, -.btn-template-main[disabled]:active, -fieldset[disabled] .btn-template-main:active, -.btn-template-main.disabled.active, -.btn-template-main[disabled].active, -fieldset[disabled] .btn-template-main.active { - background-color: #ffffff; - border-color: #986dbd; -} -.btn-template-main .badge { - color: #ffffff; - background-color: #986dbd; -} -.btn-template-main:hover, -.btn-template-main:focus, -.btn-template-main:active, -.btn-template-main.active { - background: #986dbd; - color: #ffffff; - border-color: #986dbd; -} -.btn-template-transparent-primary { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active, -.open > .dropdown-toggle.btn-template-transparent-primary { - background-image: none; -} -.btn-template-transparent-primary.disabled, -.btn-template-transparent-primary[disabled], -fieldset[disabled] .btn-template-transparent-primary, -.btn-template-transparent-primary.disabled:hover, -.btn-template-transparent-primary[disabled]:hover, -fieldset[disabled] .btn-template-transparent-primary:hover, -.btn-template-transparent-primary.disabled:focus, -.btn-template-transparent-primary[disabled]:focus, -fieldset[disabled] .btn-template-transparent-primary:focus, -.btn-template-transparent-primary.disabled:active, -.btn-template-transparent-primary[disabled]:active, -fieldset[disabled] .btn-template-transparent-primary:active, -.btn-template-transparent-primary.disabled.active, -.btn-template-transparent-primary[disabled].active, -fieldset[disabled] .btn-template-transparent-primary.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-primary .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-primary:hover, -.btn-template-transparent-primary:focus, -.btn-template-transparent-primary:active, -.btn-template-transparent-primary.active { - background: #fff; - color: #986dbd; - border-color: #fff; -} -.btn-template-transparent-black { - color: #ffffff; - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - color: #ffffff; - background-color: rgba(0, 0, 0, 0); - border-color: #e0e0e0; -} -.btn-template-transparent-black:active, -.btn-template-transparent-black.active, -.open > .dropdown-toggle.btn-template-transparent-black { - background-image: none; -} -.btn-template-transparent-black.disabled, -.btn-template-transparent-black[disabled], -fieldset[disabled] .btn-template-transparent-black, -.btn-template-transparent-black.disabled:hover, -.btn-template-transparent-black[disabled]:hover, -fieldset[disabled] .btn-template-transparent-black:hover, -.btn-template-transparent-black.disabled:focus, -.btn-template-transparent-black[disabled]:focus, -fieldset[disabled] .btn-template-transparent-black:focus, -.btn-template-transparent-black.disabled:active, -.btn-template-transparent-black[disabled]:active, -fieldset[disabled] .btn-template-transparent-black:active, -.btn-template-transparent-black.disabled.active, -.btn-template-transparent-black[disabled].active, -fieldset[disabled] .btn-template-transparent-black.active { - background-color: transparent; - border-color: #ffffff; -} -.btn-template-transparent-black .badge { - color: transparent; - background-color: #ffffff; -} -.btn-template-transparent-black:hover, -.btn-template-transparent-black:focus, -.btn-template-transparent-black:active, -.btn-template-transparent-black.active { - background: #fff; - color: #000; - border-color: #fff; -} -.btn-template-primary { - color: #ffffff; - background-color: #986dbd; - border-color: #986dbd; -} -.btn-template-primary:hover, -.btn-template-primary:focus, -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - color: #ffffff; - background-color: #7f4daa; - border-color: #7a4aa3; -} -.btn-template-primary:active, -.btn-template-primary.active, -.open > .dropdown-toggle.btn-template-primary { - background-image: none; -} -.btn-template-primary.disabled, -.btn-template-primary[disabled], -fieldset[disabled] .btn-template-primary, -.btn-template-primary.disabled:hover, -.btn-template-primary[disabled]:hover, -fieldset[disabled] .btn-template-primary:hover, -.btn-template-primary.disabled:focus, -.btn-template-primary[disabled]:focus, -fieldset[disabled] .btn-template-primary:focus, -.btn-template-primary.disabled:active, -.btn-template-primary[disabled]:active, -fieldset[disabled] .btn-template-primary:active, -.btn-template-primary.disabled.active, -.btn-template-primary[disabled].active, -fieldset[disabled] .btn-template-primary.active { - background-color: #986dbd; - border-color: #986dbd; -} -.btn-template-primary .badge { - color: #986dbd; - background-color: #ffffff; -} -#intro { - background: url('../img/home.jpg') no-repeat center top; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} -#intro .item { - font-family: "Roboto", Helvetica, Arial, sans-serif; - height: 100%; -} -#intro .item h1 { - text-transform: uppercase; - font-size: 50px; - color: #fff; - margin-bottom: 40px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #intro .item h1 { - font-size: 40px; - } -} -@media (max-width: 767px) { - #intro .item h1 { - font-size: 25px; - } -} -#intro .item h3 { - color: #fff; - margin-bottom: 40px; -} -@media (max-width: 767px) { - #intro .item h3 { - font-size: 15px; - margin-bottom: 20px; - } -} -#intro .item .btn { - text-transform: none; -} -@media (max-width: 991px) { - #intro .item .btn { - font-size: 14px; - } -} -@media (max-width: 991px) { - #intro .item .carousel-caption { - left: 10%; - right: 10%; - } -} -#intro .container, -#intro .row { - height: 100%; - position: relative; -} -.jumbotron { - padding: 30px; - margin-bottom: 0; - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.jumbotron .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #986dbd; - opacity: 0.9; - filter: alpha(opacity=90); -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3, -.jumbotron p, -.jumbotron ul { - color: #fff; -} -.jumbotron h1, -.jumbotron h2, -.jumbotron h3 { - color: #ffffff; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.jumbotron p { - margin-bottom: 20px; - font-size: 21px; - font-weight: 400; -} -.jumbotron p.text-uppercase { - font-weight: 700; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron { - border-radius: 0; -} -.jumbotron .container { - max-width: 100%; - z-index: 2; -} -@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: 46px; - } -} -#categoryMenu h3 { - padding: 20px; - background: #f7f7f7; - margin: 0; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.panel.sidebar-menu h3 { - padding: 5px 0; - margin: 0; -} -.panel.sidebar-menu { - background: #fff; - margin: 0 0 20px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.panel.sidebar-menu .panel-heading { - text-transform: uppercase; - margin-bottom: 10px; - background: none; - padding: 0; - letter-spacing: 0.08em; - border-bottom: none; -} -.panel.sidebar-menu .panel-heading h1, -.panel.sidebar-menu .panel-heading h2, -.panel.sidebar-menu .panel-heading h3, -.panel.sidebar-menu .panel-heading h4, -.panel.sidebar-menu .panel-heading h5 { - display: inline-block; - border-bottom: solid 5px #986dbd; - line-height: 1.1; - margin-bottom: 0; - padding-bottom: 10px; -} -.panel.sidebar-menu .panel-heading .btn.btn-danger { - color: #fff; - margin-top: 5px; -} -.panel.sidebar-menu .panel-body { - padding: 0; -} -.panel.sidebar-menu .panel-body span.colour { - display: inline-block; - width: 15px; - height: 15px; - border: solid 1px #555555; - vertical-align: top; - margin-top: 2px; - margin-left: 5px; -} -.panel.sidebar-menu .panel-body span.colour.white { - background: #fff; -} -.panel.sidebar-menu .panel-body span.colour.red { - background: red; -} -.panel.sidebar-menu .panel-body span.colour.green { - background: green; -} -.panel.sidebar-menu .panel-body span.colour.blue { - background: blue; -} -.panel.sidebar-menu .panel-body span.colour.yellow { - background: yellow; -} -.panel.sidebar-menu .panel-body label { - color: #999999; - font-size: 12px; -} -.panel.sidebar-menu .panel-body label:hover { - color: #555555; -} -.panel.sidebar-menu ul.nav.category-menu { - margin-bottom: 20px; - text-transform: uppercase; - font-weight: 700; - letter-spacing: 0.08em; -} -.panel.sidebar-menu ul.nav.category-menu li a { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.panel.sidebar-menu ul.nav ul { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.nav ul li { - display: block; -} -.panel.sidebar-menu ul.nav ul li a { - position: relative; - font-family: "Times New Roman", Times, serif; - font-weight: normal; - text-transform: none !important; - display: block; - padding: 10px 15px; - padding-left: 30px; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.nav ul li a:hover, -.panel.sidebar-menu ul.nav ul li a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.panel.sidebar-menu ul.tag-cloud { - list-style: none; - padding-left: 0; -} -.panel.sidebar-menu ul.tag-cloud li { - display: inline-block; -} -.panel.sidebar-menu ul.tag-cloud li a { - display: inline-block; - padding: 5px; - border: solid 1px #eeeeee; - border-radius: 0; - color: #986dbd; - margin: 5px 5px 5px 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-size: 12px; -} -.panel.sidebar-menu ul.tag-cloud li a:hover { - color: #986dbd; - text-decoration: none; - border-color: #986dbd; -} -.panel.sidebar-menu ul.popular, -.panel.sidebar-menu ul.recent { - list-style: none; - padding-left: 0; - padding: 20px 0; -} -.panel.sidebar-menu ul.popular li, -.panel.sidebar-menu ul.recent li { - margin-bottom: 10px; - padding: 5px 0; - border-bottom: dotted 1px #eeeeee; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li:before, -.panel.sidebar-menu ul.recent li:before, -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - content: " "; - display: table; -} -.panel.sidebar-menu ul.popular li:after, -.panel.sidebar-menu ul.recent li:after { - clear: both; -} -.panel.sidebar-menu ul.popular li img, -.panel.sidebar-menu ul.recent li img { - width: 50px; - margin-right: 10px; -} -.panel.sidebar-menu ul.popular li h5, -.panel.sidebar-menu ul.recent li h5 { - margin: 0 0 10px; -} -.panel.sidebar-menu ul.popular li h5 a, -.panel.sidebar-menu ul.recent li h5 a { - font-weight: normal; -} -.panel.sidebar-menu ul.popular li p.date, -.panel.sidebar-menu ul.recent li p.date { - float: right; - font-size: 12px; - color: #999999; -} -.panel.sidebar-menu ul.popular li:last-child, -.panel.sidebar-menu ul.recent li:last-child { - border-bottom: none; -} -.panel.sidebar-menu .text-widget { - font-size: 12px; -} -.panel.sidebar-menu.with-icons ul.nav li a:after { - font-family: 'FontAwesome'; - content: "\f105"; - position: relative; - top: 0; - float: right; -} -/* ribbons for product sales etc. */ -.ribbon { - position: absolute; - top: 50px; - padding-left: 51px; - font-weight: 700; - letter-spacing: 0.08em; -} -.ribbon .ribbon-background { - position: absolute; - top: 0; - right: 0; -} -.ribbon .theribbon { - position: relative; - width: 80px; - padding: 6px 20px 6px 20px; - margin: 30px 10px 10px -71px; - color: #fff; - background-color: #986dbd; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.ribbon .theribbon:before, -.ribbon .theribbon:after { - content: ' '; - position: absolute; - width: 0; - height: 0; -} -.ribbon .theribbon:after { - left: 0px; - top: 100%; - border-width: 5px 10px; - border-style: solid; - border-color: #000000 #000000 transparent transparent; -} -.ribbon.sale { - top: 0; -} -.ribbon.new { - top: 50px; -} -.ribbon.new .theribbon { - background-color: #5bc0de; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.new .theribbon:after { - border-color: #2390b0 #2390b0 transparent transparent; -} -.ribbon.gift { - top: 100px; -} -.ribbon.gift .theribbon { - background-color: #5cb85c; - text-shadow: 0px 1px 2px #bbb; -} -.ribbon.gift .theribbon:after { - border-color: #357935 #357935 transparent transparent; -} -.owl-carousel .owl-controls .owl-page.active span, -.owl-theme .owl-controls .owl-page.active span, -.owl-carousel .owl-controls.clickable .owl-page:hover span, -.owl-theme .owl-controls.clickable .owl-page:hover span { - background: #986dbd; -} -.owl-carousel .owl-controls .owl-buttons, -.owl-theme .owl-controls .owl-buttons { - position: absolute; - top: 5px; - right: 0; -} -.owl-carousel .owl-controls .owl-buttons div, -.owl-theme .owl-controls .owl-buttons div { - width: 26px; - height: 26px; - line-height: 25px; - margin: 0 5px 0 0; - font-size: 18px; - color: #986dbd; - padding: 0; - background: #fff; - border-radius: 13px; - vertical-align: middle; - text-align: center; - opacity: 1; - filter: alpha(opacity=100); -} -.home-carousel { - position: relative; - background: url('../img/photogrid.jpg') center center repeat; - background-size: cover; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.home-carousel .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #986dbd; - opacity: 0.9; - filter: alpha(opacity=90); -} -.home-carousel .owl-carousel { - padding-top: 60px; - padding-bottom: 20px; -} -.home-carousel .owl-theme .owl-controls .owl-page span { - background: #666; -} -.home-carousel .owl-theme .owl-controls .owl-page.active span { - background: #fff; -} -.home-carousel .owl-theme .owl-controls .owl-page:hover span { - background: #fff; -} -@media (max-width: 767px) { - .home-carousel { - text-align: center !important; - } -} -@media (min-width: 992px) { - .home-carousel .right { - text-align: right; - } -} -.home-carousel h1, -.home-carousel h2, -.home-carousel h3, -.home-carousel p, -.home-carousel ul { - color: #fff; -} -.home-carousel h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 46px; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - .home-carousel h1 { - font-size: 36px; - } -} -.home-carousel h2 { - font-weight: 700; - text-transform: uppercase; - font-size: 40px; - letter-spacing: 0.08em; -} -.home-carousel ul, -.home-carousel p { - font-size: 18px; - font-weight: 700; - padding: 0; - text-transform: uppercase; - letter-spacing: 0.10em; -} -@media (max-width: 991px) { - .home-carousel ul, - .home-carousel p { - font-size: 14px; - } -} -.home-carousel ul li { - margin-bottom: 10px; -} -.customers { - padding: 0; - margin-bottom: 40px; -} -.customers .item { - list-style-type: none; - text-align: center; - margin: 0 20px; -} -.customers .item img { - display: inline-block; - filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); - /* Firefox 10+, Firefox on Android */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+, Safari 6+, Safari 6+ iOS */ - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.customers .item img:hover { - max-width: auto; - filter: none; - -webkit-filter: none; -} -.testimonials { - padding: 0; - margin-bottom: 40px; -} -.testimonials .item { - list-style-type: none; - margin: 0 5px; - background: #fff; - padding-bottom: 60px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.testimonials .item .testimonial { - position: relative; - padding: 20px; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial:before, -.testimonials .item .testimonial:after { - content: " "; - display: table; -} -.testimonials .item .testimonial:after { - clear: both; -} -.testimonials .item .testimonial .text { - color: #999999; - margin-bottom: 40px; -} -.testimonials .item .testimonial .bottom { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; - height: 50px; -} -.testimonials .item .testimonial .bottom .icon { - color: #986dbd; - font-size: 30px; - float: left; - width: 20%; -} -.testimonials .item .testimonial .name-picture { - float: right; - width: 80%; - text-align: right; -} -.testimonials .item .testimonial .name-picture h5 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.testimonials .item .testimonial .name-picture p { - color: #999999; - margin: 0; - font-size: 12px; -} -.testimonials .item .testimonial .name-picture img { - float: right; - width: 60px; - border-radius: 30px; - margin-left: 10px; -} -.team-member { - text-align: center; - margin-bottom: 40px; -} -.team-member h3 { - font-size: 18px; - text-transform: uppercase; - margin-bottom: 5px; - letter-spacing: 0.08em; -} -.team-member h3 a { - color: #555555; -} -.team-member p.role { - color: #999999; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.06em; -} -.team-member .social { - margin-bottom: 20px; -} -.team-member .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email { - background-color: #4a7f45; -} -.team-member .text p { - color: #999999; - font-size: 12px; -} -.team-member .social, -.team-member-detail .social { - margin-bottom: 20px; -} -.team-member .social a, -.team-member-detail .social a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -.team-member .social a i, -.team-member-detail .social a i { - vertical-align: bottom; - line-height: 26px; -} -.team-member .social a.facebook, -.team-member-detail .social a.facebook { - background-color: #4460ae; -} -.team-member .social a.gplus, -.team-member-detail .social a.gplus { - background-color: #c21f25; -} -.team-member .social a.twitter, -.team-member-detail .social a.twitter { - background-color: #3cf; -} -.team-member .social a.instagram, -.team-member-detail .social a.instagram { - background-color: #cd4378; -} -.team-member .social a.email, -.team-member-detail .social a.email { - background-color: #4a7f45; -} -.box-simple { - text-align: center; - margin-bottom: 40px; -} -.box-simple .icon { - color: #986dbd; - border-color: #986dbd; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -.box-simple h3 { - font-weight: normal; - font-size: 18px; - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-simple h3 a { - color: #555555; -} -.box-simple p { - color: #999999; -} -.box-simple:hover .icon { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.box-simple:hover .icon i { - -webkit-transform: scale(1, 1); - -ms-transform: scale(1, 1); - -o-transform: scale(1, 1); - transform: scale(1, 1); -} -.box-simple.box-white { - padding: 20px; - border: dotted 1px #999999; -} -.box-simple.box-white .icon { - color: #555555; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark { - padding: 20px; - border: dotted 1px #999999; - background: #555555; - color: #fff; -} -.box-simple.box-dark .icon { - color: #f7f7f7; - border-color: transparent; - font-size: 70px; -} -.box-simple.box-dark h3 { - color: #fff; -} -.box-simple.box-dark h3 a { - color: #fff; -} -.box-simple.box-dark p { - color: #fff; -} -.box-image { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #986dbd; -} -.box-image .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -.box-image-text { - position: relative; - overflow: hidden; - text-align: center; - margin: 15px 0; -} -.box-image-text .top { - position: relative; - margin-bottom: 10px; -} -.box-image-text .top .bg { - position: absolute; - top: auto; - bottom: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: alpha(opacity=0); - background: #986dbd; -} -.box-image-text .top .name { - position: absolute; - width: 100%; - height: 50%; - bottom: 0; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .top .name h3 { - color: #fff; - text-transform: uppercase; - font-size: 18px; - letter-spacing: 0.08em; -} -.box-image-text .top .name h3 a { - color: #fff; - text-decoration: none; -} -.box-image-text .top .text { - position: absolute; - width: 100%; - height: 50%; - top: 0; - -webkit-transform: translate(0, -150%); - -ms-transform: translate(0, -150%); - -o-transform: translate(0, -150%); - transform: translate(0, -150%); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - color: #fff; - padding: 0 20px; -} -.box-image-text .content h3, -.box-image-text .content h4 { - text-transform: uppercase; - line-height: 1.5; - color: #555555; - font-weight: 800; - letter-spacing: 0.08em; -} -.box-image-text .content p { - color: #999999; -} -.box-image-text:hover .bg { - opacity: 0.7; - filter: alpha(opacity=70); -} -.box-image-text:hover .name { - position: absolute; - -webkit-transform: translate(0, -75%); - -ms-transform: translate(0, -75%); - -o-transform: translate(0, -75%); - transform: translate(0, -75%); -} -.box-image-text:hover .text { - position: absolute; - -webkit-transform: translate(0, 100%); - -ms-transform: translate(0, 100%); - -o-transform: translate(0, 100%); - transform: translate(0, 100%); -} -/* universal box */ -.box { - background: #fff; - margin: 0 0 30px; - border: solid 1px #ccc; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 20px 0; - border-left: none; - border-right: none; -} -.box .box-header { - background: #f7f7f7; - margin: -20px 0 20px; - padding: 20px; - border-bottom: solid 1px #eeeeee; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-header:before, -.box .box-header:after { - content: " "; - display: table; -} -.box .box-header:after { - clear: both; -} -.box .box-footer { - background: #f7f7f7; - margin: 30px 0 -20px; - padding: 20px; - border-top: solid 1px #eeeeee; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -.box .box-footer:before, -.box .box-footer:after { - content: " "; - display: table; -} -.box .box-footer:after { - clear: both; -} -@media (max-width: 991px) { - .box .box-footer .btn { - margin-bottom: 20px; - } -} -.box.no-border { - border: none; -} -#heading-breadcrumbs { - background: url('../img/texture-bw.png') center center repeat; - padding: 20px 0; - margin-bottom: 40px; -} -#heading-breadcrumbs.no-mb { - margin-bottom: 0; -} -#heading-breadcrumbs h1 { - color: #333333; - text-transform: uppercase; - font-size: 30px; - font-weight: 700; - letter-spacing: 0.08em; -} -@media (max-width: 991px) { - #heading-breadcrumbs h1 { - text-align: center; - } -} -#heading-breadcrumbs ul.breadcrumb { - margin-top: 5px; - margin-bottom: 0; -} -.bar { - position: relative; - background: #986dbd; - padding: 60px 0; -} -.bar.background-pentagon { - background: url('../img/texture-bw.png') center center repeat; - border-top: solid 1px #999999; - border-bottom: solid 1px #999999; -} -.bar.background-gray { - background: #eeeeee; -} -.bar.background-gray-dark { - background: #555555; -} -.bar.background-white { - background: #fff; -} -.bar.background-image-fixed-1 { - background: url('../img/fixed-background-1.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.background-image-fixed-2 { - background: url('../img/fixed-background-2.jpg') center top no-repeat; - background-attachment: fixed; - background-size: cover; -} -.bar.color-white h1, -.bar.color-white h2, -.bar.color-white h3, -.bar.color-white h4, -.bar.color-white h5, -.bar.color-white h6, -.bar.color-white p { - color: #fff; -} -.bar.padding-big { - padding: 50px 0; -} -.bar.padding-horizontal { - padding-left: 30px; - padding-right: 30px; -} -.bar.margin-vertical { - margin-top: 20px; - margin-bottom: 20px; -} -.bar .dark-mask { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #000; - opacity: 0.3; - filter: alpha(opacity=30); -} -.portfolio.no-space { - padding: 0 15px; -} -.portfolio.no-space .box-image { - margin: 0 -15px; -} -.portfolio-project .project-more h4 { - color: #555555; - text-transform: uppercase; - margin-bottom: 0; - text-align: left; - font-size: 14px; - letter-spacing: 0.08em; -} -.portfolio-project .project-more p { - color: #999999; - padding: 10px 0; - margin-bottom: 20px; - text-align: left; -} -.portfolio-showcase { - margin: 15px 0 60px; -} -.portfolio-showcase h3 a { - text-transform: uppercase; - line-height: 1.5; - letter-spacing: 0.08em; -} -.portfolio-showcase p.lead { - color: #555555; - margin-bottom: 20px; -} -.portfolio-showcase p { - color: #999999; -} -.portfolio-showcase p.buttons { - margin-top: 40px; -} -.see-more { - text-align: center; - margin-top: 20px; - padding-top: 20px; -} -.see-more p { - font-size: 28px; - font-weight: 100; - margin-bottom: 20px; -} -.showcase .item { - text-align: center; -} -.showcase .item .icon { - display: inline-block; - width: 50px; - height: 50px; - color: #555555; - line-height: 50px; - border-radius: 25px; - border: solid 1px #555555; -} -.showcase .item h4 { - color: #555555; - text-transform: uppercase; - letter-spacing: 0.08em; - line-height: 1.5; - font-size: 16px; -} -.showcase .item h4 span { - font-weight: bold; - font-size: 51px; -} -.packages .package { - background: #fff; - margin-top: 25px; - margin-bottom: 20px; - padding-bottom: 15px; - text-align: center; - border: solid 1px #986dbd; - overflow: hidden; -} -.packages .package .package-header { - height: 57px; - color: #fff; - line-height: 57px; - background: #986dbd; -} -.packages .package .package-header h5 { - color: #fff; - text-transform: uppercase; - font-weight: bold; - line-height: 57px; - margin: 0; - letter-spacing: 0.08em; -} -.packages .package .package-header.light-gray { - background: #eeeeee; -} -.packages .package .package-header.light-gray h5 { - color: #555555; -} -.packages .package .price { - line-height: 120px; - height: 100px; - color: #fff; - font-weight: 400; -} -.packages .package .price h4 { - display: inline; - font-size: 50px; - line-height: normal; - margin-bottom: 0; -} -.packages .package .price .period { - line-height: normal; - color: #999999; -} -.packages .package ul { - padding: 0; -} -.packages .package ul li { - list-style-type: none; - padding-top: 10px; - padding-bottom: 10px; - width: 80%; - margin: auto; - border-bottom: 1px dotted #ccc; -} -.packages .package ul li:last-child { - border-bottom: 0; -} -.packages .package ul li i { - font-size: 13px; - margin-right: 5px; -} -.packages .best-value .package { - margin-top: 0; - padding-bottom: 40px; -} -.packages .best-value .package .package-header { - height: 72px; - padding-top: 17px; - height: 82px !important; -} -.packages .best-value .package .package-header h5 { - font-weight: bold; - line-height: 29px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.packages .best-value .package .package-header .meta-text { - font-size: 13px; - line-height: 15px; -} -#map { - height: 300px; -} -#map.with-border { - border-top: solid 1px #986dbd; - border-bottom: solid 1px #986dbd; -} -#blog-listing-big .post, -#blog-homepage .post { - margin-bottom: 60px; -} -#blog-listing-big .post h2, -#blog-homepage .post h2, -#blog-listing-big .post h4, -#blog-homepage .post h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#blog-listing-big .post h2 a, -#blog-homepage .post h2 a, -#blog-listing-big .post h4 a, -#blog-homepage .post h4 a { - color: #555555; -} -#blog-listing-big .post h2 a:hover, -#blog-homepage .post h2 a:hover, -#blog-listing-big .post h4 a:hover, -#blog-homepage .post h4 a:hover { - color: #986dbd; -} -#blog-listing-big .post .author-category, -#blog-homepage .post .author-category { - color: #999999; - text-transform: uppercase; - font-weight: 300; - letter-spacing: 0.08em; -} -#blog-listing-big .post .author-category a, -#blog-homepage .post .author-category a { - font-weight: 500; -} -#blog-listing-big .post .date-comments a, -#blog-homepage .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-big .post .date-comments a:hover, -#blog-homepage .post .date-comments a:hover { - color: #986dbd; -} -@media (min-width: 768px) { - #blog-listing-big .post .date-comments, - #blog-homepage .post .date-comments { - text-align: right; - } -} -#blog-listing-big .post .intro, -#blog-homepage .post .intro { - text-align: left; -} -#blog-listing-big .post .image, -#blog-homepage .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-big .post .image img, -#blog-homepage .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-big .post .image img.img-responsive, - #blog-homepage .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-big .post .video, -#blog-homepage .post .video { - margin-bottom: 10px; -} -#blog-listing-big .post .read-more, -#blog-homepage .post .read-more { - text-align: right; -} -#blog-listing-medium .post { - margin-bottom: 60px; -} -#blog-listing-medium .post h2 { - text-transform: uppercase; - margin: 0 0 10px; - font-size: 24px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post h2 a { - color: #555555; -} -#blog-listing-medium .post h2 a:hover { - color: #986dbd; -} -#blog-listing-medium .post .author-category { - float: left; - color: #999999; - text-transform: uppercase; - font-weight: 300; - font-size: 12px; - letter-spacing: 0.08em; -} -#blog-listing-medium .post .author-category a { - font-weight: 500; -} -#blog-listing-medium .post .date-comments { - float: right; - font-size: 12px; -} -#blog-listing-medium .post .date-comments a { - color: #999999; - margin-right: 20px; -} -#blog-listing-medium .post .date-comments a:hover { - color: #986dbd; -} -@media (min-width: 768px) { - #blog-listing-medium .post .date-comments { - text-align: right; - } -} -#blog-listing-medium .post .intro { - text-align: left; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .clearfix:before, -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:before, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:before, -#blog-listing-medium .post .navbar-header:after { - content: " "; - display: table; -} -#blog-listing-medium .post .clearfix:after, -#blog-listing-medium .post .navbar:after, -#blog-listing-medium .post .navbar-header:after { - clear: both; -} -#blog-listing-medium .post .image { - margin-bottom: 10px; - overflow: hidden; -} -#blog-listing-medium .post .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - #blog-listing-medium .post .image img.img-responsive { - min-width: 100%; - } -} -#blog-listing-medium .post .video { - margin-bottom: 10px; -} -#blog-listing-medium .post .read-more { - text-align: right; -} -.box-image-text.blog .author-category { - color: #999999; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 300; - font-size: 12px; -} -.box-image-text.blog .author-category a { - font-weight: 500; -} -.box-image-text.blog .intro { - text-align: left; - margin-bottom: 20px; -} -#blog-homepage .post { - margin-bottom: 30px; -} -#blog-homepage .post h2, -#blog-homepage .post h4, -#blog-homepage .post .author-category, -#blog-homepage .post .read-more { - text-align: center; -} -#blog-homepage .post .read-more { - margin-top: 20px; -} -#blog-post #post-content { - margin-bottom: 20px; -} -#blog-post .comment { - margin-bottom: 25px; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment:before, -#blog-post .comment:after { - content: " "; - display: table; -} -#blog-post .comment:after { - clear: both; -} -#blog-post .comment .posted { - color: #999999; - font-size: 12px; -} -#blog-post .comment .reply { - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#blog-post .comment.last { - margin-bottom: 0; -} -#blog-post #comments, -#blog-post #comment-form { - padding: 20px 0; - margin-top: 20px; - border-top: solid 1px #eeeeee; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments:before, -#blog-post #comment-form:before, -#blog-post #comments:after, -#blog-post #comment-form:after { - content: " "; - display: table; -} -#blog-post #comments:after, -#blog-post #comment-form:after { - clear: both; -} -#blog-post #comments h4, -#blog-post #comment-form h4 { - margin-bottom: 20px; -} -#blog-post #comment-form { - margin-bottom: 20px; -} -.product { - background: #fff; - border-bottom: solid 1px #e6e6e6; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin-bottom: 60px; - overflow: hidden; - text-align: center; -} -.product .image { - overflow: hidden; -} -.product .image img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -@media (max-width: 767px) { - .product .image img.img-responsive { - min-width: 100%; - } -} -.product .text { - padding: 10px; -} -.product .text h3 { - font-size: 14px; - font-weight: 700; - height: 39.6px; - text-transform: uppercase; - letter-spacing: 0.08em; -} -.product .text h3 a { - color: #555555; -} -.product .text h3 a:hover { - text-decoration: none; -} -.product .text p.price { - font-size: 18px; -} -.product .text p.price del { - color: #999999; -} -.product .buttons { - clear: both; - position: absolute; - display: none; - bottom: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border: solid 1px transparent; - padding: 20px; - background: rgba(255, 255, 255, 0.9); - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - text-align: center; -} -.product .buttons .btn { - margin-bottom: 20px; -} -.product:hover { - border-bottom: solid 1px #808080; - top: 0; -} -.product:hover .buttons { - clear: both; - position: absolute; - top: 0; - background: rgba(255, 255, 255, 0.5); -} -.product:hover .image img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -.goToDescription { - font-size: 12px; - text-align: center; - margin-bottom: 40px; -} -.goToDescription a { - color: #999999; - text-decoration: underline; -} -#productMain { - margin-bottom: 30px; -} -#productMain .sizes { - text-align: center; -} -#productMain .sizes h3 { - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - margin-bottom: 40px; -} -#productMain .sizes a { - display: inline-block; - width: 40px; - height: 40px; - border-radius: 40px; - background: #ccc; - line-height: 40px; - color: #555555; - text-align: center; - text-decoration: none; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -#productMain .sizes a.active, -#productMain .sizes a:hover { - background: #986dbd; - color: #fff; -} -#productMain .sizes input { - display: none; -} -#productMain .price { - font-size: 40px; - text-align: center; - margin-top: 40px; - margin-bottom: 40px; -} -#thumbs a { - display: block; - border: solid 1px transparent; -} -#thumbs a.active { - border-color: #986dbd; -} -#product-social { - text-align: center; -} -#product-social h4 { - font-weight: 300; - margin-bottom: 10px; -} -#product-social p { - line-height: 26px; -} -#product-social p a { - margin: 0 10px 0 0; - color: #fff; - display: inline-block; - width: 26px; - height: 26px; - border-radius: 13px; - line-height: 26px; - font-size: 15px; - text-align: center; - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - vertical-align: bottom; -} -#product-social p a i { - vertical-align: bottom; - line-height: 26px; -} -#product-social p a.facebook { - background-color: #4460ae; -} -#product-social p a.gplus { - background-color: #c21f25; -} -#product-social p a.twitter { - background-color: #3cf; -} -#product-social p a.instagram { - background-color: #cd4378; -} -#product-social p a.email { - background-color: #4a7f45; -} -@media (max-width: 991px) { - #product-social { - text-align: center; - } -} -#checkout .nav { - margin-bottom: 20px; - border-bottom: solid 1px #986dbd; -} -#checkout .nav li { - height: 100%; -} -#checkout .nav li a { - display: block; - height: 100%; -} -#order-summary table { - margin-top: 20px; -} -#order-summary table td { - color: #999999; -} -#order-summary table tr.total td, -#order-summary table tr.total th { - font-size: 18px; - color: #555555; - font-weight: 700; -} -#checkout .table tbody tr td, -#basket .table tbody tr td, -#customer-order .table tbody tr td { - vertical-align: middle; -} -#checkout .table tbody tr td input, -#basket .table tbody tr td input, -#customer-order .table tbody tr td input { - width: 50px; - text-align: right; -} -#checkout .table tbody tr td img, -#basket .table tbody tr td img, -#customer-order .table tbody tr td img { - width: 50px; -} -#checkout .table tfoot, -#basket .table tfoot, -#customer-order .table tfoot { - font-size: 18px; -} -.shipping-method h4, -.payment-method h4 { - text-transform: uppercase; - letter-spacing: 0.08em; -} -#customer-orders table tr th, -#customer-orders table tr td { - vertical-align: baseline; -} -#customer-order .table tfoot th { - font-size: 18px; - font-weight: 300; -} -#customer-order .addresses { - text-align: right; - margin-bottom: 30px; -} -#customer-order .addresses p { - font-size: 18px; - font-weight: 300; -} -#customer-account { - margin-bottom: 30px; -} -#get-it { - background: #986dbd; - padding: 50px 0 30px; - color: #fff; - text-align: center; -} -#get-it h1, -#get-it h2, -#get-it h3, -#get-it h4, -#get-it h5, -#get-it h6 { - color: #fff; - text-transform: uppercase; - letter-spacing: 0.08em; - margin: 0 0 20px; -} -#get-it p { - margin: 0 0 20px; -} -#footer { - background: #555555; - padding: 50px 0; - color: #999999; -} -#footer h1, -#footer h2, -#footer h3, -#footer h4, -#footer h5, -#footer h6 { - color: #eeeeee; -} -#footer h4 { - font-size: 14px; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.08em; -} -#footer ul { - padding-left: 0; - list-style: none; -} -#footer ul a { - color: #999999; -} -#footer ul a:hover { - color: #986dbd; - text-decoration: none; -} -#footer .photostream div { - float: left; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 33%; - padding: 7.5px; - overflow: hidden; -} -#footer .photostream div a { - border: solid 1 px #eeeeee; -} -#footer .photostream div img { - -webkit-transition: all 0.2s ease-out; - -moz-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; -} -#footer .photostream div:hover img { - -webkit-transform: scale(1.1, 1.1); - -ms-transform: scale(1.1, 1.1); - -o-transform: scale(1.1, 1.1); - transform: scale(1.1, 1.1); -} -#footer .blog-entries .item { - clear: both; - padding: 5px 0; - margin-bottom: 10px; - border-bottom: solid 1px #555555; -} -#footer .blog-entries .item .image { - float: left; - width: 15%; - margin-right: 10px; -} -#footer .blog-entries .item .name { - width: 75%; - margin-left: 10px; - display: table-cell; - vertical-align: middle; -} -#footer .blog-entries .item .name h5 { - margin: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 12px; -} -#footer .blog-entries .item .name h5 a { - color: #eeeeee; -} -#footer .blog-entries .item .text { - width: 100%; - clear: both; -} -#footer .blog-entries .item:last-child { - border-bottom: none; - margin-bottom: 0; -} -#footer .social a { - color: #555555; - font-size: 25px; - margin: 0 10px 0 0; -} -#footer .social a:hover { - color: #986dbd; -} -#copyright { - background: #333; - color: #ccc; - padding: 50px 0; - font-size: 12px; - line-height: 28px; -} -#copyright p { - margin: 0; -} -@media (max-width: 991px) { - #copyright p { - float: none !important; - text-align: center; - margin-bottom: 10px; - } -} -[data-animate] { - opacity: 0; - filter: alpha(opacity=0); -} -#style-switch-button { - position: fixed; - top: 100px; - left: 0px; - border-radius: 0; -} -#style-switch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 300px; - padding: 20px; - position: fixed; - top: 140px; - left: 0; - background: #fff; - border: solid 1px #eeeeee; -} -@media (max-width: 991px) { - #style-switch-button { - display: none; - } - #style-switch { - display: none; - } -} -/* Original Boostrap template overwrite */ -/* breadcrumbs */ -.breadcrumb { - font-family: "Roboto", Helvetica, Arial, sans-serif; - text-transform: uppercase; - background-color: none; - letter-spacing: 0.08em; -} -/* nav */ -.nav > li > a { - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #999999; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #999999; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #986dbd; -} -.nav-tabs { - border-bottom: 1px solid #986dbd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 0 0 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #986dbd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #986dbd; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: solid 1px #986dbd; - 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; -} -.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 #986dbd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #986dbd; - 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: #ffffff; - } -} -.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: #ffffff; - background-color: #986dbd; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; - border-bottom: solid 1px #986dbd; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - /*margin-bottom: 5px;*/ -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -.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 #986dbd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #986dbd; - 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: #ffffff; - } -} -.tab-content { - padding: 15px; - border: solid 1px #ddd; - border-top: none; -} -/* navbar */ -.navbar { - position: relative; - min-height: 62px; - margin-bottom: 0; - border-bottom: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 0px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; -} -.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-affixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-affixed-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: 10px 15px; - font-size: 18px; - line-height: 20px; - height: 62px; -} -.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: 14px; - margin-bottom: 14px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 0; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-nav { - margin: 10.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .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: 21px; - padding-bottom: 21px; - } - .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: 14px; - margin-bottom: 14px; -} -@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: 14px; - margin-bottom: 14px; -} -.navbar-btn.btn-sm { - margin-top: 16px; - margin-bottom: 16px; -} -.navbar-btn.btn-xs { - margin-top: 20px; - margin-bottom: 20px; -} -.navbar-text { - margin-top: 21px; - margin-bottom: 21px; -} -@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: #ffffff; - border-color: #cccccc; - border-bottom: none; -} -.navbar-default .navbar-brand { - color: #555555; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #3b3b3b; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #555555; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #555555; - background-color: #cab3dd; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #986dbd; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #986dbd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #cccccc; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #986dbd; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #555555; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #986dbd; - } - .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: #ffffff; - background-color: #986dbd; - } - .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: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #555555; -} -.navbar-default .navbar-link:hover { - color: #555555; -} -.navbar-default .btn-link { - color: #555555; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #555555; -} -.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: #cccccc; -} -/* scaffolding */ -body { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -a { - color: #986dbd; - text-decoration: none; -} -a:hover, -a:focus { - color: #724599; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.img-rounded { - border-radius: 0; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -/* breadcrumbs */ -.breadcrumb { - padding: 20px 0; - margin-bottom: 20px; - background-color: transparent; - border-radius: 0; - text-align: right; -} -.breadcrumb > li + li:before { - content: ">\00a0"; - color: #555555; -} -.breadcrumb > .active { - color: #999999; -} -@media (max-width: 991px) { - .breadcrumb { - padding: 20px 0; - text-align: center; - } -} -/* dropdowns */ -.dropdown-menu { - z-index: 1000; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - 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); -} -.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 { - padding: 5px 20px; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -/* labels */ -.label { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: normal; - text-transform: uppercase; - letter-spacing: 0.08em; -} -/* forms.less */ -label { - font-weight: normal; -} -.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control:focus { - border-color: #986dbd; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(152, 109, 189, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(152, 109, 189, 0.6); -} -.form-group { - margin-bottom: 20px; -} -/* pager*/ -.pager { - margin: 20px 0; - border-top: solid 1px #eeeeee; - padding-top: 20px; - text-transform: uppercase; - letter-spacing: 0.08em; - font-family: "Roboto", Helvetica, Arial, sans-serif; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - background-color: #ffffff; - border: 1px solid #986dbd; - border-radius: 0; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - color: #fff; - background-color: #986dbd; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #999999; - background-color: #ffffff; - border-color: #ddd; -} -/* pagination */ -.pagination { - margin: 20px 0; - font-family: "Roboto", Helvetica, Arial, sans-serif; - border-radius: 0; -} -.pagination > li > a, -.pagination > li > span { - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #986dbd; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #986dbd; - background-color: #e2d6ed; - border-color: #dddddd; -} -.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: #ffffff; - background-color: #986dbd; - border-color: #986dbd; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #999999; - background-color: #ffffff; - border-color: #dddddd; -} -/* responsive utilities */ -@media (max-width: 767px) { - .text-center-xs { - text-align: center !important; - } - .text-center-xs img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .text-center-sm { - text-align: center !important; - } - .text-center-sm img { - display: block; - margin-left: auto; - margin-right: auto; - } -} -/* type */ -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-weight: 900; - line-height: 1.1; - color: #333333; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 20px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 18px; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -.text-small { - font-size: 12px; -} -.text-large { - font-size: 18px; -} -.text-italic { - font-style: italic; -} -.text-primary { - color: #986dbd; -} -a.text-primary:hover { - color: #7f4daa; -} -.bg-primary { - color: #fff; - background-color: #986dbd; -} -a.bg-primary:hover { - background-color: #7f4daa; -} -abbr[title], -abbr[data-original-title] { - border-bottom: 1px dotted #999999; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 14px; - border-left: 5px solid #986dbd; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - border-right: 5px solid #986dbd; -} -address { - margin-bottom: 20px; - line-height: 1.42857143; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 0; - -webkit-box-shadow: 0 0 0; - box-shadow: 0 0 0; -} -.panel-heading { - border-top-right-radius: 0; - border-top-left-radius: 0; - text-transform: uppercase; - letter-spacing: 0.08em; - padding: 15px 15px; -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 0; - overflow: hidden; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group.accordion .panel { - border-color: #ccc; -} -.panel-primary { - border-color: #986dbd; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #986dbd; - border-color: #986dbd; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #986dbd; -} -.panel-primary > .panel-heading .badge { - color: #986dbd; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #986dbd; -} -.panel-primary .panel-title { - font-weight: 300; -} -.panel-primary .panel-title a:hover { - color: #fff; - text-decoration: none; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #986dbd; - background-color: #ffffff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.progress-bar-primary { - background-color: #986dbd; -} -.progress-striped .progress-bar-primary { - 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); -} -/*! - * Yamm!3 - Yet another megamenu for Bootstrap 3 - * http://geedmo.github.com/yamm3 - * - * @geedmo - Licensed under the MIT license - */ -.yamm .nav, -.yamm .collapse, -.yamm .dropup.use-yamm, -.yamm .dropdown.use-yamm { - position: static; -} -.yamm .container { - position: relative; -} -.yamm .dropdown-menu { - left: auto; -} -.yamm .nav.navbar-right .dropdown-menu { - left: auto; - right: 0; -} -.yamm .yamm-content { - padding: 20px 30px; -} -.yamm .dropdown.yamm-fw .dropdown-menu { - left: 15px; - right: 15px; -} diff --git a/css/swagger-ui.css b/css/swagger-ui.css new file mode 100644 index 0000000..c61e5a8 --- /dev/null +++ b/css/swagger-ui.css @@ -0,0 +1,4 @@ +.swagger-ui{ + /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui template{display:none}.swagger-ui [hidden]{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left{background-repeat:no-repeat;background-position:0}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-ns{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-ns{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-ns{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-ns{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bg-center-m{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-m{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-m{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-m{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-m{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-l{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-l{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-l{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-l{background-repeat:no-repeat;background-position:0}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:hsla(0,0%,100%,.9)}.swagger-ui .b--white-80{border-color:hsla(0,0%,100%,.8)}.swagger-ui .b--white-70{border-color:hsla(0,0%,100%,.7)}.swagger-ui .b--white-60{border-color:hsla(0,0%,100%,.6)}.swagger-ui .b--white-50{border-color:hsla(0,0%,100%,.5)}.swagger-ui .b--white-40{border-color:hsla(0,0%,100%,.4)}.swagger-ui .b--white-30{border-color:hsla(0,0%,100%,.3)}.swagger-ui .b--white-20{border-color:hsla(0,0%,100%,.2)}.swagger-ui .b--white-10{border-color:hsla(0,0%,100%,.1)}.swagger-ui .b--white-05{border-color:hsla(0,0%,100%,.05)}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.0125)}.swagger-ui .b--black-90{border-color:rgba(0,0,0,.9)}.swagger-ui .b--black-80{border-color:rgba(0,0,0,.8)}.swagger-ui .b--black-70{border-color:rgba(0,0,0,.7)}.swagger-ui .b--black-60{border-color:rgba(0,0,0,.6)}.swagger-ui .b--black-50{border-color:rgba(0,0,0,.5)}.swagger-ui .b--black-40{border-color:rgba(0,0,0,.4)}.swagger-ui .b--black-30{border-color:rgba(0,0,0,.3)}.swagger-ui .b--black-20{border-color:rgba(0,0,0,.2)}.swagger-ui .b--black-10{border-color:rgba(0,0,0,.1)}.swagger-ui .b--black-05{border-color:rgba(0,0,0,.05)}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.0125)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left{border-top-right-radius:0;border-bottom-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{top:0;right:0;bottom:0;left:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{top:0;right:0;bottom:0;left:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{*zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{float:left;_display:inline}.swagger-ui .fr{float:right;_display:inline}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{float:left;_display:inline}.swagger-ui .fr-ns{float:right;_display:inline}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .fl-m{float:left;_display:inline}.swagger-ui .fr-m{float:right;_display:inline}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{float:left;_display:inline}.swagger-ui .fr-l{float:right;_display:inline}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{text-decoration:none}.swagger-ui .link,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:hover{transition:color .15s ease-in}.swagger-ui .link:active{transition:color .15s ease-in}.swagger-ui .link:focus{transition:color .15s ease-in;outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.33333%}.swagger-ui .w-two-thirds{width:66.66667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.33333%}.swagger-ui .w-two-thirds-ns{width:66.66667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.33333%}.swagger-ui .w-two-thirds-m{width:66.66667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.33333%}.swagger-ui .w-two-thirds-l{width:66.66667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315{-webkit-transform:rotate(315deg);transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90-ns{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135-ns{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180-ns{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225-ns{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270-ns{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315-ns{-webkit-transform:rotate(315deg);transform:rotate(315deg)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .rotate-45-m{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90-m{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135-m{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180-m{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225-m{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270-m{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315-m{-webkit-transform:rotate(315deg);transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swagger-ui .rotate-90-l{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.swagger-ui .rotate-135-l{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.swagger-ui .rotate-180-l{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.swagger-ui .rotate-225-l{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.swagger-ui .rotate-270-l{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.swagger-ui .rotate-315-l{-webkit-transform:rotate(315deg);transform:rotate(315deg)}}.swagger-ui .black-90{color:rgba(0,0,0,.9)}.swagger-ui .black-80{color:rgba(0,0,0,.8)}.swagger-ui .black-70{color:rgba(0,0,0,.7)}.swagger-ui .black-60{color:rgba(0,0,0,.6)}.swagger-ui .black-50{color:rgba(0,0,0,.5)}.swagger-ui .black-40{color:rgba(0,0,0,.4)}.swagger-ui .black-30{color:rgba(0,0,0,.3)}.swagger-ui .black-20{color:rgba(0,0,0,.2)}.swagger-ui .black-10{color:rgba(0,0,0,.1)}.swagger-ui .black-05{color:rgba(0,0,0,.05)}.swagger-ui .white-90{color:hsla(0,0%,100%,.9)}.swagger-ui .white-80{color:hsla(0,0%,100%,.8)}.swagger-ui .white-70{color:hsla(0,0%,100%,.7)}.swagger-ui .white-60{color:hsla(0,0%,100%,.6)}.swagger-ui .white-50{color:hsla(0,0%,100%,.5)}.swagger-ui .white-40{color:hsla(0,0%,100%,.4)}.swagger-ui .white-30{color:hsla(0,0%,100%,.3)}.swagger-ui .white-20{color:hsla(0,0%,100%,.2)}.swagger-ui .white-10{color:hsla(0,0%,100%,.1)}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:rgba(0,0,0,.9)}.swagger-ui .bg-black-80{background-color:rgba(0,0,0,.8)}.swagger-ui .bg-black-70{background-color:rgba(0,0,0,.7)}.swagger-ui .bg-black-60{background-color:rgba(0,0,0,.6)}.swagger-ui .bg-black-50{background-color:rgba(0,0,0,.5)}.swagger-ui .bg-black-40{background-color:rgba(0,0,0,.4)}.swagger-ui .bg-black-30{background-color:rgba(0,0,0,.3)}.swagger-ui .bg-black-20{background-color:rgba(0,0,0,.2)}.swagger-ui .bg-black-10{background-color:rgba(0,0,0,.1)}.swagger-ui .bg-black-05{background-color:rgba(0,0,0,.05)}.swagger-ui .bg-white-90{background-color:hsla(0,0%,100%,.9)}.swagger-ui .bg-white-80{background-color:hsla(0,0%,100%,.8)}.swagger-ui .bg-white-70{background-color:hsla(0,0%,100%,.7)}.swagger-ui .bg-white-60{background-color:hsla(0,0%,100%,.6)}.swagger-ui .bg-white-50{background-color:hsla(0,0%,100%,.5)}.swagger-ui .bg-white-40{background-color:hsla(0,0%,100%,.4)}.swagger-ui .bg-white-30{background-color:hsla(0,0%,100%,.3)}.swagger-ui .bg-white-20{background-color:hsla(0,0%,100%,.2)}.swagger-ui .bg-white-10{background-color:hsla(0,0%,100%,.1)}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:rgba(0,0,0,.9)}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:rgba(0,0,0,.8)}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:rgba(0,0,0,.7)}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:rgba(0,0,0,.6)}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:rgba(0,0,0,.5)}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:rgba(0,0,0,.4)}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:rgba(0,0,0,.3)}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:rgba(0,0,0,.2)}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:rgba(0,0,0,.1)}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:hsla(0,0%,100%,.9)}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:hsla(0,0%,100%,.8)}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:hsla(0,0%,100%,.7)}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:hsla(0,0%,100%,.6)}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:hsla(0,0%,100%,.5)}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:hsla(0,0%,100%,.4)}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:hsla(0,0%,100%,.3)}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:hsla(0,0%,100%,.2)}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:hsla(0,0%,100%,.1)}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-top:0;padding-bottom:0}.swagger-ui .pv1{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-top:0;margin-bottom:0}.swagger-ui .mv1{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-top:0;padding-bottom:0}.swagger-ui .pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-ns{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-ns{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-ns{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-ns{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-ns{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-top:0;margin-bottom:0}.swagger-ui .mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-ns{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-ns{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-ns{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-ns{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-ns{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-top:0;padding-bottom:0}.swagger-ui .pv1-m{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-m{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-m{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-m{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-m{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-m{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-m{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-top:0;margin-bottom:0}.swagger-ui .mv1-m{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-m{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-m{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-m{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-m{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-m{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-m{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-top:0;padding-bottom:0}.swagger-ui .pv1-l{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-l{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-l{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-l{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-l{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-l{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-l{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-top:0;margin-bottom:0}.swagger-ui .mv1-l{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-l{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-l{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-l{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-l{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-l{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-l{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.swagger-ui .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.swagger-ui .strike{text-decoration:line-through}.swagger-ui .underline{text-decoration:underline}.swagger-ui .no-underline{text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{text-decoration:line-through}.swagger-ui .underline-ns{text-decoration:underline}.swagger-ui .no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .strike-m{text-decoration:line-through}.swagger-ui .underline-m{text-decoration:underline}.swagger-ui .no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{text-decoration:line-through}.swagger-ui .underline-l{text-decoration:underline}.swagger-ui .no-underline-l{text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps{font-variant:small-caps}.swagger-ui .truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-ns{font-variant:small-caps}.swagger-ui .truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-m{font-variant:small-caps}.swagger-ui .truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-l{font-variant:small-caps}.swagger-ui .truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .center-m{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out, -webkit-transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.swagger-ui .grow:active{-webkit-transform:scale(.9);transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out, -webkit-transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.swagger-ui .grow-large:active{-webkit-transform:scale(.95);transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{content:"";box-shadow:0 0 16px 2px rgba(0,0,0,.2);border-radius:inherit;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial{z-index:auto}.swagger-ui .z-unset{z-index:unset}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.swagger-ui .nested-copy-indent p+p{text-indent:.1em;margin-top:0;margin-bottom:0}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{width:100%;max-width:100%;display:block}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{width:100%;max-width:1460px;margin:0 auto;padding:0 20px;box-sizing:border-box}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .opblock-tag{display:flex;align-items:center;padding:10px 20px 10px 10px;cursor:pointer;transition:all .2s;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{font-size:24px;margin:0 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{font-size:14px;font-weight:400;flex:1;padding:0 10px;font-family:sans-serif;color:#3b4151}.swagger-ui .parameter__type{font-size:12px;padding:5px 0;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.swagger-ui .examples-select{margin-bottom:.75em}.swagger-ui .examples-select__section-label{font-weight:700;font-size:.9rem;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.swagger-ui .view-line-link{position:relative;top:3px;width:20px;margin:0 5px;cursor:pointer;transition:all .5s}.swagger-ui .opblock{margin:0 0 15px;border:1px solid #000;border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.19)}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{padding:0 40px;cursor:pointer}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{position:absolute;bottom:-15px;left:50%;width:120%;height:4px;content:"";-webkit-transform:translateX(-50%);transform:translateX(-50%);background:grey}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{display:flex;align-items:center;padding:8px 20px;min-height:50px;background:hsla(0,0%,100%,.8);box-shadow:0 1px 2px rgba(0,0,0,.1)}.swagger-ui .opblock .opblock-section-header>label{font-size:12px;font-weight:700;display:flex;align-items:center;margin:0 0 0 auto;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{font-size:14px;flex:1;margin:0;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary-method{font-size:14px;font-weight:700;min-width:80px;padding:6px 15px;text-align:center;border-radius:3px;background:#000;text-shadow:0 1px 0 rgba(0,0,0,.1);font-family:sans-serif;color:#fff}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:16px;display:flex;align-items:center;word-break:break-word;padding:0 10px;font-family:monospace;font-weight:600;color:#3b4151}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{font-size:13px;flex:1 1 auto;word-break:break-word;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary{display:flex;align-items:center;padding:5px;cursor:pointer}.swagger-ui .opblock .opblock-summary .view-line-link{position:relative;top:2px;width:0;margin:0;cursor:pointer;transition:all .5s}.swagger-ui .opblock .opblock-summary:hover .view-line-link{width:18px;margin:0 5px}.swagger-ui .opblock.opblock-post{border-color:#49cc90;background:rgba(73,204,144,.1)}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{border-color:#fca130;background:rgba(252,161,48,.1)}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{border-color:#f93e3e;background:rgba(249,62,62,.1)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{border-color:#61affe;background:rgba(97,175,254,.1)}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{border-color:#50e3c2;background:rgba(80,227,194,.1)}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{border-color:#9012fe;background:rgba(144,18,254,.1)}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{border-color:#0d5aa7;background:rgba(13,90,167,.1)}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{opacity:.6;border-color:#ebebeb;background:hsla(0,0%,92.2%,.1)}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{width:100%;margin:20px 0;padding:10px;border:2px solid #d8dde7}.swagger-ui .model-example{margin-top:1em}.swagger-ui .tab{display:flex;padding:0;list-style:none}.swagger-ui .tab li{font-size:12px;min-width:60px;padding:0;cursor:pointer;font-family:sans-serif;color:#3b4151}.swagger-ui .tab li:first-of-type{position:relative;padding-left:0;padding-right:12px}.swagger-ui .tab li:first-of-type:after{position:absolute;top:0;right:6px;width:1px;height:100%;content:"";background:rgba(0,0,0,.2)}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{font-size:12px;margin:0 0 5px;padding:15px 20px;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{font-size:12px;margin:0 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{font-size:14px;margin:0;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{width:100%;padding:8px 40px}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{font-size:12px;margin:10px 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui .response-col_status{font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .response-col_status .response-undocumented{font-size:11px;font-family:monospace;font-weight:600;color:#909090}.swagger-ui .response-col_links{padding-left:2em;max-width:40em;font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .response-col_links .response-undocumented{font-size:11px;font-family:monospace;font-weight:600;color:#909090}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{font-size:12px;margin:0;padding:10px;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;border-radius:4px;background:#41444e;overflow-wrap:break-word;font-family:monospace;font-weight:600;color:#fff}.swagger-ui .opblock-body pre.microlight span{color:#fff!important}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{overflow-y:auto;max-height:400px;min-height:6em}.swagger-ui .download-contents{position:absolute;bottom:10px;right:10px;cursor:pointer;background:#7d8293;text-align:center;padding:5px;border-radius:4px;font-family:sans-serif;font-weight:600;color:#fff;font-size:14px;height:30px;width:75px}.swagger-ui .scheme-container{margin:0 0 20px;padding:30px 0;background:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.swagger-ui .scheme-container .schemes{display:flex;align-items:flex-end}.swagger-ui .scheme-container .schemes>label{font-size:12px;font-weight:700;display:flex;flex-direction:column;margin:-20px 15px 0 0;font-family:sans-serif;color:#3b4151}.swagger-ui .scheme-container .schemes>label select{min-width:130px;text-transform:uppercase}.swagger-ui .loading-container{padding:40px 0 60px;margin-top:1em;min-height:1px;display:flex;justify-content:center;align-items:center;flex-direction:column}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;content:"loading";-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-transform:uppercase;font-family:sans-serif;color:#3b4151}.swagger-ui .loading-container .loading:before{position:absolute;top:50%;left:50%;display:block;width:60px;height:60px;margin:-30px;content:"";-webkit-animation:rotation 1s linear infinite,opacity .5s;animation:rotation 1s linear infinite,opacity .5s;opacity:1;border:2px solid rgba(85,85,85,.1);border-top-color:rgba(0,0,0,.6);border-radius:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}@-webkit-keyframes rotation{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotation{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.swagger-ui .response-controls{padding-top:1em;display:flex}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;margin-bottom:.2em;font-size:.7em}@-webkit-keyframes blinker{50%{opacity:0}}@keyframes blinker{50%{opacity:0}}.swagger-ui section h3{font-family:sans-serif;color:#3b4151}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{text-decoration:inherit;color:inherit;cursor:pointer}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;justify-content:center;height:100%;font-size:1.2em;text-align:center;line-height:1.5em;padding:0 .6em}.swagger-ui .version-pragma__message>div{max-width:55ch;flex:1}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .btn{font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s;border:2px solid grey;border-radius:4px;background:transparent;box-shadow:0 1px 2px rgba(0,0,0,.1);font-family:sans-serif;color:#3b4151}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{border-color:#ff6060;background-color:transparent;font-family:sans-serif;color:#ff6060}.swagger-ui .btn.authorize{line-height:1;display:inline;color:#49cc90;border-color:#49cc90;background-color:transparent}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;color:#fff;border-color:#4990e2}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{padding:0 10px;border:none;background:none}.swagger-ui .authorization__btn.locked{opacity:1}.swagger-ui .authorization__btn.unlocked{opacity:.4}.swagger-ui .expand-methods,.swagger-ui .expand-operation{border:none;background:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{width:20px;height:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer;outline:none}.swagger-ui button.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui select{font-size:14px;font-weight:700;padding:5px 40px 5px 10px;border:2px solid #41444e;border-radius:4px;background:#f7f7f7 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZD0iTTEzLjQxOCA3Ljg1OWEuNjk1LjY5NSAwIDAxLjk3OCAwIC42OC42OCAwIDAxMCAuOTY5bC0zLjkwOCAzLjgzYS42OTcuNjk3IDAgMDEtLjk3OSAwbC0zLjkwOC0zLjgzYS42OC42OCAwIDAxMC0uOTY5LjY5NS42OTUgMCAwMS45NzggMEwxMCAxMWwzLjQxOC0zLjE0MXoiLz48L3N2Zz4=) right 10px center no-repeat;background-size:20px;box-shadow:0 1px 2px 0 rgba(0,0,0,.25);font-family:sans-serif;color:#3b4151;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui select[multiple]{margin:5px 0;padding:5px;background:#f7f7f7}.swagger-ui select.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui .opblock-body select{min-width:230px}@media (max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}.swagger-ui label{font-size:12px;font-weight:700;margin:0 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{min-width:100px;margin:5px 0;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff}@media (max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{max-width:175px}}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@-webkit-keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}.swagger-ui textarea{font-size:12px;width:100%;min-height:280px;padding:10px;border:none;border-radius:4px;outline:none;background:hsla(0,0%,100%,.8);font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{font-size:12px;min-height:100px;margin:0;padding:10px;resize:none;border-radius:4px;background:#41444e;font-family:monospace;font-weight:600;color:#fff}.swagger-ui .checkbox{padding:5px 0 10px;transition:opacity .5s;color:#303030}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{font-weight:400!important;font-style:italic;margin:0!important;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{position:relative;top:3px;display:inline-block;width:16px;height:16px;margin:0 8px 0 0;padding:5px;cursor:pointer;border-radius:1px;background:#e8e8e8;box-shadow:0 0 0 2px #e8e8e8;flex:none}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{-webkit-transform:scale(.9);transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='8' viewBox='3 7 10 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2341474E' fill-rule='evenodd' d='M6.333 15L3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z'/%3E%3C/svg%3E") 50% no-repeat}.swagger-ui .dialog-ux{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0}.swagger-ui .dialog-ux .backdrop-ux{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.8)}.swagger-ui .dialog-ux .modal-ux{position:absolute;z-index:9999;top:50%;left:50%;width:100%;min-width:300px;max-width:650px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:1px solid #ebebeb;border-radius:4px;background:#fff;box-shadow:0 10px 30px 0 rgba(0,0,0,.2)}.swagger-ui .dialog-ux .modal-ux-content{overflow-y:auto;max-height:540px;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{font-size:12px;margin:0 0 5px;color:#41444e;font-family:sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-content h4{font-size:18px;font-weight:600;margin:15px 0 0;font-family:sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-header{display:flex;padding:12px 0;border-bottom:1px solid #ebebeb;align-items:center}.swagger-ui .dialog-ux .modal-ux-header .close-modal{padding:0 10px;border:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:20px;font-weight:600;margin:0;padding:0 20px;flex:1;font-family:sans-serif;color:#3b4151}.swagger-ui .model{font-size:12px;font-weight:300;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{text-decoration:line-through}.swagger-ui .model-toggle{font-size:10px;position:relative;top:6px;display:inline-block;margin:auto .3em;cursor:pointer;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in, -webkit-transform .15s ease-in;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.swagger-ui .model-toggle.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.swagger-ui .model-toggle:after{display:block;width:20px;height:20px;content:"";background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'/%3E%3C/svg%3E") 50% no-repeat;background-size:100%}.swagger-ui .model-jump-to-path{position:relative;cursor:pointer}.swagger-ui .model-jump-to-path .view-line-link{position:absolute;top:-.4em;cursor:pointer}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{position:absolute;top:-1.8em;visibility:hidden;padding:.1em .5em;white-space:nowrap;color:#ebebeb;border-radius:4px;background:rgba(0,0,0,.7)}.swagger-ui .model p{margin:0 0 1em}.swagger-ui section.models{margin:30px 0;border:1px solid rgba(59,65,81,.3);border-radius:4px}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{margin:0 0 5px;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui section.models h4{font-size:16px;display:flex;align-items:center;margin:0;padding:10px 20px 10px 10px;cursor:pointer;transition:all .2s;font-family:sans-serif;color:#606060}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{font-size:16px;margin:0 0 10px;font-family:sans-serif;color:#707070}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{margin:0 20px 15px;position:relative;transition:all .5s;border-radius:4px;background:rgba(0,0,0,.05)}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{position:absolute;top:8px;right:5px;opacity:.65}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{padding:10px;display:inline-block;border-radius:4px;background:rgba(0,0,0,.1)}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{font-size:16px;font-family:sans-serif;color:#505050}.swagger-ui .model-deprecated-warning{font-size:16px;font-weight:600;margin-right:1em;font-family:sans-serif;color:#f93e3e}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{font-size:12px;margin:-20px 15px 0 0;font-family:sans-serif;color:#3b4151}.swagger-ui .servers>label select{min-width:130px;max-width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;vertical-align:middle;padding-top:10px;padding-bottom:10px}.swagger-ui .servers table td:first-of-type{padding-right:2em}.swagger-ui .servers table td input{width:100%;height:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;padding:4px;font-size:16px;margin:0 1em}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{width:100%;padding:0 10px;border-collapse:collapse}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{width:174px;padding:0 0 0 2em}.swagger-ui table.headers td{font-size:12px;font-weight:300;vertical-align:middle;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{max-width:20%;min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{font-size:12px;font-weight:700;padding:12px 0;text-align:left;border-bottom:1px solid rgba(59,65,81,.2);font-family:sans-serif;color:#3b4151}.swagger-ui .parameters-col_description{width:99%;margin-bottom:2em}.swagger-ui .parameters-col_description input[type=text]{width:100%;max-width:340px}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameter__name{font-size:16px;font-weight:400;margin-right:.75em;font-family:sans-serif;color:#3b4151}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required:after{font-size:10px;position:relative;top:-6px;padding:5px;content:"required";color:rgba(255,0,0,.6)}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{font-size:12px;font-style:italic;font-family:monospace;font-weight:600;color:grey}.swagger-ui .parameter__deprecated{font-size:12px;font-style:italic;font-family:monospace;font-weight:600;color:red}.swagger-ui .parameter__empty_value_toggle{font-size:13px;padding-top:5px;padding-bottom:12px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .topbar{padding:10px 0;background-color:#1b1b1b}.swagger-ui .topbar .topbar-wrapper,.swagger-ui .topbar a{display:flex;align-items:center}.swagger-ui .topbar a{font-size:1.5em;font-weight:700;flex:1;max-width:300px;text-decoration:none;font-family:sans-serif;color:#fff}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{width:100%;margin:0;border:2px solid #62a03f;border-radius:4px 0 0 4px;outline:none}.swagger-ui .topbar .download-url-wrapper .select-label{display:flex;align-items:center;width:100%;max-width:600px;margin:0;color:#f0f0f0}.swagger-ui .topbar .download-url-wrapper .select-label span{font-size:16px;flex:1;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{flex:2;width:100%;border:2px solid #62a03f;outline:none;box-shadow:none}.swagger-ui .topbar .download-url-wrapper .download-url-button{font-size:16px;font-weight:700;padding:4px 30px;border:none;border-radius:0 4px 4px 0;background:#62a03f;font-family:sans-serif;color:#fff}.swagger-ui .info{margin:50px 0}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info pre{font-size:14px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{font-family:sans-serif;color:#3b4151}.swagger-ui .info a{font-size:14px;transition:all .4s;font-family:sans-serif;color:#4990e2}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{font-size:12px;font-weight:300!important;margin:0;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .info .title{font-size:36px;margin:0;font-family:sans-serif;color:#3b4151}.swagger-ui .info .title small{font-size:10px;position:relative;top:-5px;display:inline-block;margin:0 0 0 5px;padding:2px 4px;vertical-align:super;border-radius:57px;background:#7d8492}.swagger-ui .info .title small pre{margin:0;padding:0;font-family:sans-serif;color:#fff}.swagger-ui .auth-btn-wrapper{display:flex;padding:10px 0;justify-content:center}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{padding-right:20px;margin-right:10px}.swagger-ui .auth-container{margin:0 0 10px;padding:10px 20px;border-bottom:1px solid #ebebeb}.swagger-ui .auth-container:last-of-type{margin:0;padding:10px 20px;border:0}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{font-size:12px;padding:10px;border-radius:4px;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .scopes h2{font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{margin:20px;padding:10px 20px;-webkit-animation:scaleUp .5s;animation:scaleUp .5s;border:2px solid #f93e3e;border-radius:4px;background:rgba(249,62,62,.1)}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{font-size:14px;margin:0;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper hgroup{display:flex;align-items:center}.swagger-ui .errors-wrapper hgroup h4{font-size:20px;margin:0;flex:1;font-family:sans-serif;color:#3b4151}@-webkit-keyframes scaleUp{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes scaleUp{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{color:#000;font-weight:400;white-space:pre-wrap;background:none;padding:0}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{font-size:14px;padding:5px 7px;border-radius:4px;background:rgba(0,0,0,.05);font-family:monospace;font-weight:600;color:#9012fe}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block} + +/*# sourceMappingURL=swagger-ui.css.map*/ \ No newline at end of file diff --git a/docs/deployment/baremetal/deploy-natively-11/index.html b/docs/deployment/baremetal/deploy-natively-11/index.html new file mode 100644 index 0000000..05f83ea --- /dev/null +++ b/docs/deployment/baremetal/deploy-natively-11/index.html @@ -0,0 +1,785 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Ubuntu 18.04 LTS, Java 11 | Eclipse SW360</title> +<meta name="description" content="Bare metal deployment with Ubuntu 18.04 LTS and Java 11"> +<meta property="og:title" content="Ubuntu 18.04 LTS, Java 11" /> +<meta property="og:description" content="Bare metal deployment with Ubuntu 18.04 LTS and Java 11" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Ubuntu 18.04 LTS, Java 11"> +<meta itemprop="description" content="Bare metal deployment with Ubuntu 18.04 LTS and Java 11"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="1259"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Ubuntu 18.04 LTS, Java 11"/> +<meta name="twitter:description" content="Bare metal deployment with Ubuntu 18.04 LTS and Java 11"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check" checked/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check" checked/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="td-sidebar-nav-active-item">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/BareMetal/Deploy-Natively-11.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/BareMetal/Deploy-Natively-11.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/BareMetal/Deploy-Natively-11.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Ubuntu%2018.04%20LTS,%20Java%2011" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#introduction">Introduction</a></li> + <li><a href="#overview">Overview</a></li> + <li><a href="#initial-steps">Initial steps</a></li> + <li><a href="#postgresql">PostgreSQL</a></li> + <li><a href="#couchdb">CouchDB</a></li> + <li><a href="#thrift">Thrift</a></li> + <li><a href="#openjdk-11">OpenJDK 11</a></li> + <li><a href="#liferay-ce-733">Liferay CE 7.3.3</a> + <ul> + <li><a href="#auto-start">Auto Start</a></li> + <li><a href="#adjust-memory">Adjust Memory</a></li> + <li><a href="#postgresql-instead-of-hypersonic">PostgreSQL instead of Hypersonic</a></li> + </ul> + </li> + <li><a href="#install-prerequisites">Install Prerequisites</a></li> + <li><a href="#install-couchdb-lucene">Install Couchdb Lucene</a></li> + <li><a href="#deploy-new-sw360">Deploy New SW360</a></li> + <li><a href="#final-steps-in-liferay">Final Steps in Liferay</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/baremetal/">Bare Metal</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/">Ubuntu 18.04 and Java 11</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Ubuntu 18.04 LTS, Java 11</h1> + <div class="lead">Bare metal deployment with Ubuntu 18.04 LTS and Java 11</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="introduction">Introduction</h2> +<p>We are covering the update for ubuntu 18.04 LTS here, because that is our main / agreed base system for running sw360. sw360 may run on a varienty of other linux distributions or OSes such as macosx, but in order to avoid problem we agreed on having a reference OS, which are the ubuntu long term releases. The author of this guide also uses macosx and homebrew which also works fairly well.</p> +<p>Please note that during the time, the dependencies are updated and the version info might change.</p> +<h2 id="overview">Overview</h2> +<p>The installation consists of quite some tasks, as an overview:</p> +<ol start="5"> +<li>Java 11</li> +<li>Postgresql, if we want to use it instead of hypersonic db</li> +<li>CouchDB 2.X at the time of starting this guide, but 3.1.X seems to work well</li> +<li>Thrift to 0.13, later updated to 0.14</li> +<li>Liferay CE 7.3.3 and 7.3.4 has been also tested</li> +<li>Adjust <code>/etc/ini.d/tomcat</code> with path of new liferay</li> +<li>Adjust <code>$liferay_install</code> variable</li> +<li>add Java prerequisites to OSGi container</li> +<li>Install couchdb-lucene (2.1)</li> +<li>Deploy new version of sw360</li> +<li>Go ahead with Liferay steps</li> +</ol> +<h2 id="initial-steps">Initial steps</h2> +<p>In order to &ldquo;calibrate the system&rdquo; just run the update / upgrade cycle once:</p> +<p><code># sudo apt update</code></p> +<p><code># sudo apt upgrade</code></p> +<h2 id="postgresql">PostgreSQL</h2> +<p>You can go ahead install postgresql 10:</p> +<p><code>sudo apt install postgresql-10</code></p> +<p>or whatever package version is suitable here, for example version 12 for ubuntu 20.04.</p> +<p>The configuration for Liferay will come later.</p> +<h2 id="couchdb">CouchDB</h2> +<p>CouchDB is not part of the Ubuntu package management anymore. Thus, you need to add the Apache CouchDB package repository to install it, first the key for signing:</p> +<p><code>curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -</code></p> +<p>The add the repo to the sources:</p> +<p><code>echo &quot;deb https://apache.bintray.com/couchdb-deb bionic main&quot; | sudo tee -a /etc/apt/sources.list</code></p> +<p>Then, add its contents to the package database by updating apt:</p> +<p><code>sudo apt-get update -y</code></p> +<p>Ultimately install CouchDB, we tried with 2.1.2 install:</p> +<p><code>sudo apt-get install -y couchdb=2.1.2~bionic</code></p> +<p>The installer will ask a couple of questions:</p> +<ol> +<li>Bind address: for CouchDB and SW360 <code>127.0.0.1</code> (localhost) is a good bind address, if you would like to access the server from a remote computer because your sw360 runs as a server in the network, you would need to change accordingly.</li> +<li>Admin user: For fresh installation for sure a very good idea. You can set the password at sw360 for CouchDB in <code>couchdb.properties</code> and place it centrally in <code>/etc/sw360</code></li> +</ol> +<p>In case you added an admin accidentally and would like to remove it,</p> +<h2 id="thrift">Thrift</h2> +<p>For thrift, we need version 0.13. The installation script in <code>scripts/install-thrift.sh</code> will help you:</p> +<p><code>sudo ./install-thrift.sh</code></p> +<p>In case there is thrift in the package management of the OS you re running on, just make sure, you have version 0.13</p> +<h2 id="openjdk-11">OpenJDK 11</h2> +<p>First check, what is installed.</p> +<p><code># sudo apt list openjdk* --installed</code></p> +<p>Then you could check what is available:</p> +<p><code># sudo apt list openjdk*</code></p> +<p>And install OpenJDK 11</p> +<p><code># sudo apt install openjdk-11-jdk</code></p> +<p>Then the <code>$JAVA_HOME</code> needs to be updated, most likely in <code>/etc/environment</code>. Please check for your installation how to set the <code>$JAVA_HOME</code> correctly (most likely: <code>JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64</code>).</p> +<h2 id="liferay-ce-733">Liferay CE 7.3.3</h2> +<p>Download Liferay from this link</p> +<p><a href="https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz">https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz</a></p> +<p>and unpack it, ideally in the <code>/opt</code> directory, so resulting path would look like <code>/opt/liferay-ce-portal-7.3.3-ga4</code>.</p> +<p>Then, you need to update the <code>$LIFERAY_INSTALL</code> in <code>/etc/environment</code> from <code>LIFERAY_INSTALL=/opt/liferay-portal-7.2.0-ga1/ </code> to `LIFERAY_INSTALL=/opt/liferay-ce-portal-7.3.3-ga4.</p> +<h3 id="auto-start">Auto Start</h3> +<p>For auto start, you need an according init.d entry. It could be a file like <code>/etc/init.d/tomcat</code>. The file could be created if not there already, with the following contents:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#099">#!/bin/bash +</span></span></span><span style="display:flex;"><span><span style="color:#099"></span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic">### BEGIN INIT INFO</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Provides: tomcat7</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Required-Start: $network</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Required-Stop: $network</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Default-Start: 2 3 4 5</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Default-Stop: 0 1 6</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Short-Description: Start/Stop Tomcat server</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic">### END INIT INFO</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#033">PATH</span><span style="color:#555">=</span>/sbin:/bin:/usr/sbin:/usr/bin +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>start<span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/startup.sh +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>stop<span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/shutdown.sh +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">case</span> <span style="color:#033">$1</span> in +</span></span><span style="display:flex;"><span> start|stop<span style="color:#555">)</span> <span style="color:#033">$1</span>;; +</span></span><span style="display:flex;"><span> restart<span style="color:#555">)</span> stop; start;; +</span></span><span style="display:flex;"><span> *<span style="color:#555">)</span> <span style="color:#366">echo</span> <span style="color:#c30">&#34;Run as </span><span style="color:#033">$0</span><span style="color:#c30"> &lt;start|stop|restart&gt;&#34;</span>; <span style="color:#366">exit</span> 1;; +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">esac</span> +</span></span></code></pre></div><p>Te user <code>siemagrant</code> is used in the sw360vagrant project. it is the username of the user where the liefray / sw360 server should run under. In the ideal case, it is unprivileged user.</p> +<h3 id="adjust-memory">Adjust Memory</h3> +<p>When you have downloaded the liferay distribution, Tomcat is likely configured with very basic memory settings. For trying sw360, the standard memory settings are OK. But of course, the memory settings in <code>$LIFERAY_HOME/tomcat-X.0.XX/bin/setenv.sh</code> should be adapted again.</p> +<h3 id="postgresql-instead-of-hypersonic">PostgreSQL instead of Hypersonic</h3> +<p>Liferay CE comes with the hypersonic database. Just for making a long-term setup in the berginning, we are advising to use postgresql from the start. The settings for postgrsql can be found in <code>portal-ext.properties</code>. Please do not forget to create the user and the database in the database server first.</p> +<h2 id="install-prerequisites">Install Prerequisites</h2> +<p>There are some install libraries to be downloaded and installed as OSGi modules. You can check the download script from the sw360vaghrant project for list of URLs that help you.</p> +<p><a href="https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh">https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh</a></p> +<p>An URL for libtrift is:</p> +<p><a href="https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar">https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar</a></p> +<p>An URL for commons-compress is:</p> +<p><a href="https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar">https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar</a></p> +<p>If you have downloaded every thing, copy them to the <code>deploy</code> folder of your liferay installation:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># cp libthrift-0.13.0.jar $LIFEARY_HOME/deploy/ +</span></span><span style="display:flex;"><span># cp commons-lang-2.4.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp commons-io-2.6.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp commons-csv-1.4.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp commons-collections4-4.4.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp commons-codec-1.12.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp commons-compress-1.20.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp commons-logging-1.2.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp gson-2.8.5.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp guava-21.0.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp jackson-annotations-2.11.3.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp jackson-core-2.11.3.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span># cp jackson-databind-2.11.3.jar $LIFERAY_HOME/deploy +</span></span></code></pre></div><p>if you use PostgreSQL as your database, you need to install postgres.jar in Liferay.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># wget https://jdbc.postgresql.org/download/postgresql-42.2.9.jar postgresql-42.2.9.jar +</span></span><span style="display:flex;"><span># cp postgresql-42.2.9.jar $LIFERAY_HOME/tomcat-9.0.33/lib/ext +</span></span></code></pre></div><p>[Note] In case you use other database with Liferay, you need to set other jar file of corresponding database.</p> +<h2 id="install-couchdb-lucene">Install Couchdb Lucene</h2> +<p>SW360 uses for searching the contents of the couchdb databases a lucene-based server named couchdb-lucene. The main issue here is that it requires a patch for the use in the normal SW3360 setups. The reason for the patch is that the developers presume that couchdb-lucene runs as the only component in the application server, while in the sw360 setup, there is a setup in which couchdb-lucene runs along with other components in the same application container.</p> +<p>Start with downloading the couchdb-lucene and rename the archive so the resulting URL path element will be <code>couchdb-lucene</code>:</p> +<p><code># wget https://github.com/rnewson/couchdb-lucene/archive/v2.1.0.tar.gz ./couchdb-lucene.tar.gz</code></p> +<p>Please refer to the script in sw360vagrant how to apply the patch to couchdb-lucene:</p> +<p><a href="https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh">https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh</a></p> +<p>Please note that the patching issue is well known in the project and it is unclear why it is not merged:</p> +<ul> +<li><a href="https://github.com/rnewson/couchdb-lucene/issues/161">https://github.com/rnewson/couchdb-lucene/issues/161</a> &ldquo;allow context-root other than &ldquo;/&rdquo; when running in servlet container&rdquo;</li> +<li><a href="https://github.com/rnewson/couchdb-lucene/pull/162">https://github.com/rnewson/couchdb-lucene/pull/162</a></li> +<li><a href="https://github.com/rnewson/couchdb-lucene/pull/152">https://github.com/rnewson/couchdb-lucene/pull/152</a></li> +</ul> +<h2 id="deploy-new-sw360">Deploy New SW360</h2> +<p>You will need to checkout new Java-11 based version of the SW360, which is either tagged version 11 (or later) or some few commits before that. Then build in the sw360 project root using:</p> +<p><code>mvn clean install -DskipTests</code></p> +<p>This will install new artfacts, such as lib-datahandler in your maven repostiory. Then apply in the same directory:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span><span style="color:#a00;background-color:#faa">#</span> mvn clean <span style="color:#069;font-weight:bold">package</span> <span style="color:#555">-</span>P deploy <span style="color:#555">-</span>Dbase.deploy.dir=. <span style="color:#555">-</span>Dliferay.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>deploy<span style="color:#555">/</span> <span style="color:#555">-</span>Dbackend.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> <span style="color:#555">-</span>Drest.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> <span style="color:#555">-</span>DskipTests +</span></span></code></pre></div><p>Skipping tests has the reason that usually, the sw360 is tested in the CI and thus, local tests are note necessary, if the code has not been changed locally. Note that the REST API documentation framework is based on building test cases and thus for deploying a version with REST API documentation, tests should be executed:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span><span style="color:#a00;background-color:#faa">#</span> cd rest +</span></span><span style="display:flex;"><span><span style="color:#a00;background-color:#faa">#</span> mvn clean <span style="color:#069;font-weight:bold">package</span> <span style="color:#555">-</span>P deploy <span style="color:#555">-</span>Dbase.deploy.dir=. <span style="color:#555">-</span>Dliferay.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>deploy<span style="color:#555">/</span> <span style="color:#555">-</span>Dbackend.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> <span style="color:#555">-</span>Drest.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> +</span></span></code></pre></div><h2 id="final-steps-in-liferay">Final Steps in Liferay</h2> +<p>Liferay CE 7.3 will need to have some manual steps applied in order to complete the setup. Unfortunately, these cannot be automated (if you know how, please let us know). For earlier versions of Liferay, please refer to the main wiki page. For Liferay CE 7.3.3 please continue here:</p> +<p><a href="https://github.com/eclipse/sw360/wiki/Deploy-Liferay7.3">https://github.com/eclipse/sw360/wiki/Deploy-Liferay7.3</a></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/baremetal/index.html b/docs/deployment/baremetal/index.html new file mode 100644 index 0000000..ec0fdfc --- /dev/null +++ b/docs/deployment/baremetal/index.html @@ -0,0 +1,636 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/deployment/baremetal/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Bare Metal | Eclipse SW360</title> +<meta name="description" content="SW360 Bare Metal Deployment"> +<meta property="og:title" content="Bare Metal" /> +<meta property="og:description" content="SW360 Bare Metal Deployment" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/baremetal/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Bare Metal"> +<meta itemprop="description" content="SW360 Bare Metal Deployment"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Bare Metal"/> +<meta name="twitter:description" content="SW360 Bare Metal Deployment"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check" checked/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="td-sidebar-nav-active-item">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/BareMetal/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/BareMetal/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/BareMetal/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Bare%20Metal" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/baremetal/">Bare Metal</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Bare Metal</h1> + <div class="lead">SW360 Bare Metal Deployment</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/baremetal/deploy-natively-11/">Ubuntu 18.04 LTS, Java 11</a> + </h5> + <p>Bare metal deployment with Ubuntu 18.04 LTS and Java 11</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/baremetal/index.xml b/docs/deployment/baremetal/index.xml new file mode 100644 index 0000000..6d1af0f --- /dev/null +++ b/docs/deployment/baremetal/index.xml @@ -0,0 +1,170 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Bare Metal</title> + <link>https://www.eclipse.org/sw360/docs/deployment/baremetal/</link> + <description>Recent content in Bare Metal on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/deployment/baremetal/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: Ubuntu 18.04 LTS, Java 11</title> + <link>https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/</guid> + <description> + + + &lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt; +&lt;p&gt;We are covering the update for ubuntu 18.04 LTS here, because that is our main / agreed base system for running sw360. sw360 may run on a varienty of other linux distributions or OSes such as macosx, but in order to avoid problem we agreed on having a reference OS, which are the ubuntu long term releases. The author of this guide also uses macosx and homebrew which also works fairly well.&lt;/p&gt; +&lt;p&gt;Please note that during the time, the dependencies are updated and the version info might change.&lt;/p&gt; +&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt; +&lt;p&gt;The installation consists of quite some tasks, as an overview:&lt;/p&gt; +&lt;ol start=&#34;5&#34;&gt; +&lt;li&gt;Java 11&lt;/li&gt; +&lt;li&gt;Postgresql, if we want to use it instead of hypersonic db&lt;/li&gt; +&lt;li&gt;CouchDB 2.X at the time of starting this guide, but 3.1.X seems to work well&lt;/li&gt; +&lt;li&gt;Thrift to 0.13, later updated to 0.14&lt;/li&gt; +&lt;li&gt;Liferay CE 7.3.3 and 7.3.4 has been also tested&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;/etc/ini.d/tomcat&lt;/code&gt; with path of new liferay&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;$liferay_install&lt;/code&gt; variable&lt;/li&gt; +&lt;li&gt;add Java prerequisites to OSGi container&lt;/li&gt; +&lt;li&gt;Install couchdb-lucene (2.1)&lt;/li&gt; +&lt;li&gt;Deploy new version of sw360&lt;/li&gt; +&lt;li&gt;Go ahead with Liferay steps&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;initial-steps&#34;&gt;Initial steps&lt;/h2&gt; +&lt;p&gt;In order to &amp;ldquo;calibrate the system&amp;rdquo; just run the update / upgrade cycle once:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt update&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt upgrade&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;postgresql&#34;&gt;PostgreSQL&lt;/h2&gt; +&lt;p&gt;You can go ahead install postgresql 10:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt install postgresql-10&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;or whatever package version is suitable here, for example version 12 for ubuntu 20.04.&lt;/p&gt; +&lt;p&gt;The configuration for Liferay will come later.&lt;/p&gt; +&lt;h2 id=&#34;couchdb&#34;&gt;CouchDB&lt;/h2&gt; +&lt;p&gt;CouchDB is not part of the Ubuntu package management anymore. Thus, you need to add the Apache CouchDB package repository to install it, first the key for signing:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The add the repo to the sources:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;echo &amp;quot;deb https://apache.bintray.com/couchdb-deb bionic main&amp;quot; | sudo tee -a /etc/apt/sources.list&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then, add its contents to the package database by updating apt:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get update -y&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Ultimately install CouchDB, we tried with 2.1.2 install:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get install -y couchdb=2.1.2~bionic&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The installer will ask a couple of questions:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Bind address: for CouchDB and SW360 &lt;code&gt;127.0.0.1&lt;/code&gt; (localhost) is a good bind address, if you would like to access the server from a remote computer because your sw360 runs as a server in the network, you would need to change accordingly.&lt;/li&gt; +&lt;li&gt;Admin user: For fresh installation for sure a very good idea. You can set the password at sw360 for CouchDB in &lt;code&gt;couchdb.properties&lt;/code&gt; and place it centrally in &lt;code&gt;/etc/sw360&lt;/code&gt;&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;In case you added an admin accidentally and would like to remove it,&lt;/p&gt; +&lt;h2 id=&#34;thrift&#34;&gt;Thrift&lt;/h2&gt; +&lt;p&gt;For thrift, we need version 0.13. The installation script in &lt;code&gt;scripts/install-thrift.sh&lt;/code&gt; will help you:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo ./install-thrift.sh&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;In case there is thrift in the package management of the OS you re running on, just make sure, you have version 0.13&lt;/p&gt; +&lt;h2 id=&#34;openjdk-11&#34;&gt;OpenJDK 11&lt;/h2&gt; +&lt;p&gt;First check, what is installed.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then you could check what is available:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk*&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;And install OpenJDK 11&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt install openjdk-11-jdk&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then the &lt;code&gt;$JAVA_HOME&lt;/code&gt; needs to be updated, most likely in &lt;code&gt;/etc/environment&lt;/code&gt;. Please check for your installation how to set the &lt;code&gt;$JAVA_HOME&lt;/code&gt; correctly (most likely: &lt;code&gt;JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64&lt;/code&gt;).&lt;/p&gt; +&lt;h2 id=&#34;liferay-ce-733&#34;&gt;Liferay CE 7.3.3&lt;/h2&gt; +&lt;p&gt;Download Liferay from this link&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&#34;&gt;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;and unpack it, ideally in the &lt;code&gt;/opt&lt;/code&gt; directory, so resulting path would look like &lt;code&gt;/opt/liferay-ce-portal-7.3.3-ga4&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;Then, you need to update the &lt;code&gt;$LIFERAY_INSTALL&lt;/code&gt; in &lt;code&gt;/etc/environment&lt;/code&gt; from &lt;code&gt;LIFERAY_INSTALL=/opt/liferay-portal-7.2.0-ga1/ &lt;/code&gt; to `LIFERAY_INSTALL=/opt/liferay-ce-portal-7.3.3-ga4.&lt;/p&gt; +&lt;h3 id=&#34;auto-start&#34;&gt;Auto Start&lt;/h3&gt; +&lt;p&gt;For auto start, you need an according init.d entry. It could be a file like &lt;code&gt;/etc/init.d/tomcat&lt;/code&gt;. The file could be created if not there already, with the following contents:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;#!/bin/bash +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### BEGIN INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Provides: tomcat7&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Start: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Stop: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Start: 2 3 4 5&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Stop: 0 1 6&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Short-Description: Start/Stop Tomcat server&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### END INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;PATH&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;/sbin:/bin:/usr/sbin:/usr/bin +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stop&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/shutdown.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt; in +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; start|stop&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt;;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; restart&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; stop; start;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; *&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#366&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Run as &lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;$0&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;lt;start|stop|restart&amp;gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#366&#34;&gt;exit&lt;/span&gt; 1;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;esac&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Te user &lt;code&gt;siemagrant&lt;/code&gt; is used in the sw360vagrant project. it is the username of the user where the liefray / sw360 server should run under. In the ideal case, it is unprivileged user.&lt;/p&gt; +&lt;h3 id=&#34;adjust-memory&#34;&gt;Adjust Memory&lt;/h3&gt; +&lt;p&gt;When you have downloaded the liferay distribution, Tomcat is likely configured with very basic memory settings. For trying sw360, the standard memory settings are OK. But of course, the memory settings in &lt;code&gt;$LIFERAY_HOME/tomcat-X.0.XX/bin/setenv.sh&lt;/code&gt; should be adapted again.&lt;/p&gt; +&lt;h3 id=&#34;postgresql-instead-of-hypersonic&#34;&gt;PostgreSQL instead of Hypersonic&lt;/h3&gt; +&lt;p&gt;Liferay CE comes with the hypersonic database. Just for making a long-term setup in the berginning, we are advising to use postgresql from the start. The settings for postgrsql can be found in &lt;code&gt;portal-ext.properties&lt;/code&gt;. Please do not forget to create the user and the database in the database server first.&lt;/p&gt; +&lt;h2 id=&#34;install-prerequisites&#34;&gt;Install Prerequisites&lt;/h2&gt; +&lt;p&gt;There are some install libraries to be downloaded and installed as OSGi modules. You can check the download script from the sw360vaghrant project for list of URLs that help you.&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh&#34;&gt;https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;An URL for libtrift is:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar&#34;&gt;https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;An URL for commons-compress is:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar&#34;&gt;https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;If you have downloaded every thing, copy them to the &lt;code&gt;deploy&lt;/code&gt; folder of your liferay installation:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp libthrift-0.13.0.jar $LIFEARY_HOME/deploy/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-lang-2.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-io-2.6.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-csv-1.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-collections4-4.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-codec-1.12.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-compress-1.20.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-logging-1.2.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp gson-2.8.5.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp guava-21.0.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp jackson-annotations-2.11.3.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp jackson-core-2.11.3.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp jackson-databind-2.11.3.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;if you use PostgreSQL as your database, you need to install postgres.jar in Liferay.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# wget https://jdbc.postgresql.org/download/postgresql-42.2.9.jar postgresql-42.2.9.jar +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp postgresql-42.2.9.jar $LIFERAY_HOME/tomcat-9.0.33/lib/ext +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;[Note] In case you use other database with Liferay, you need to set other jar file of corresponding database.&lt;/p&gt; +&lt;h2 id=&#34;install-couchdb-lucene&#34;&gt;Install Couchdb Lucene&lt;/h2&gt; +&lt;p&gt;SW360 uses for searching the contents of the couchdb databases a lucene-based server named couchdb-lucene. The main issue here is that it requires a patch for the use in the normal SW3360 setups. The reason for the patch is that the developers presume that couchdb-lucene runs as the only component in the application server, while in the sw360 setup, there is a setup in which couchdb-lucene runs along with other components in the same application container.&lt;/p&gt; +&lt;p&gt;Start with downloading the couchdb-lucene and rename the archive so the resulting URL path element will be &lt;code&gt;couchdb-lucene&lt;/code&gt;:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# wget https://github.com/rnewson/couchdb-lucene/archive/v2.1.0.tar.gz ./couchdb-lucene.tar.gz&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Please refer to the script in sw360vagrant how to apply the patch to couchdb-lucene:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&#34;&gt;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;Please note that the patching issue is well known in the project and it is unclear why it is not merged:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/issues/161&#34;&gt;https://github.com/rnewson/couchdb-lucene/issues/161&lt;/a&gt; &amp;ldquo;allow context-root other than &amp;ldquo;/&amp;rdquo; when running in servlet container&amp;rdquo;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/162&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/162&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/152&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/152&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;deploy-new-sw360&#34;&gt;Deploy New SW360&lt;/h2&gt; +&lt;p&gt;You will need to checkout new Java-11 based version of the SW360, which is either tagged version 11 (or later) or some few commits before that. Then build in the sw360 project root using:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;mvn clean install -DskipTests&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;This will install new artfacts, such as lib-datahandler in your maven repostiory. Then apply in the same directory:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;#&lt;/span&gt; mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;DskipTests +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Skipping tests has the reason that usually, the sw360 is tested in the CI and thus, local tests are note necessary, if the code has not been changed locally. Note that the REST API documentation framework is based on building test cases and thus for deploying a version with REST API documentation, tests should be executed:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;#&lt;/span&gt; cd rest +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;#&lt;/span&gt; mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;final-steps-in-liferay&#34;&gt;Final Steps in Liferay&lt;/h2&gt; +&lt;p&gt;Liferay CE 7.3 will need to have some manual steps applied in order to complete the setup. Unfortunately, these cannot be automated (if you know how, please let us know). For earlier versions of Liferay, please refer to the main wiki page. For Liferay CE 7.3.3 please continue here:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Deploy-Liferay7.3&#34;&gt;https://github.com/eclipse/sw360/wiki/Deploy-Liferay7.3&lt;/a&gt;&lt;/p&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/deployment/deploy-authorization-concept/index.html b/docs/deployment/deploy-authorization-concept/index.html new file mode 100644 index 0000000..af3df10 --- /dev/null +++ b/docs/deployment/deploy-authorization-concept/index.html @@ -0,0 +1,655 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Authorization Concept | Eclipse SW360</title> +<meta name="description" content="Describe different roles of authorization concepts on SW360"> +<meta property="og:title" content="Authorization Concept" /> +<meta property="og:description" content="Describe different roles of authorization concepts on SW360" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Authorization Concept"> +<meta itemprop="description" content="Describe different roles of authorization concepts on SW360"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="353"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Authorization Concept"/> +<meta name="twitter:description" content="Describe different roles of authorization concepts on SW360"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check" checked/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="td-sidebar-nav-active-item">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Authorization-Concept.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Authorization-Concept.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Authorization-Concept.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Authorization%20Concept" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#roles-overview">Roles Overview</a> + <ul> + <li></li> + <li><a href="#moderation-requests">Moderation Requests</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/">Authorization Concept</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Authorization Concept</h1> + <div class="lead">Describe different roles of authorization concepts on SW360</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The authorization concept describes the different roles of the solution - mainly for documentation of the authorization of different roles of the sw360. It is not focusing for the roles like being a moderator, it is described on a separate page for users: <a href="https://github.com/eclipse/sw360/wiki/Dev-Role-Authorisation-Model">role and access model</a></p> +<h2 id="roles-overview">Roles Overview</h2> +<p>SW360 offers two choices for doing the roles: one is setting access rights at every record individually. Another are general roles that can be set for every user. An admin of SW360 can set user roles at the Liferay Users and Roles UI.</p> +<h4 id="setup-admin-liferay-role">Setup Admin (Liferay Role)</h4> +<p>The setup admin is the Liferay administrator, which can configure the entire liferay app, such as which portlets are shown on which page.</p> +<h4 id="sw360-admin-liferay-role">SW360 Admin (Liferay Role)</h4> +<p>The SW360 admin can change all data and promote users for more access rights, such as promoting a user to role <code>CLEARING_ADMIN</code>. So its use case is to promote users to clearing admins after some time without always asking the site administrator to do this. To enhance the <code>SW360_ADMIN</code> role to allow users of this role to promote other users&rsquo;s roles, follow these steps:</p> +<ol> +<li>Go to control panel</li> +<li>Select the <code>Users</code> section</li> +<li>To subsection <code>Roles</code></li> +<li>Select row for <code>SW360 Admin</code> and select action <code>Define permissions</code>.</li> +</ol> +<p>When defining permissions the idea is to reduce the permissions to the lowest level possible. Just allow for changing users.</p> +<h4 id="clearing-admin-liferay-role">Clearing Admin (Liferay Role)</h4> +<p>The clearing admin can change all component and release records and project records of the same group.</p> +<h4 id="security-admin-liferay-role">Security Admin (Liferay Role)</h4> +<p>In addition to the user rights, the security admin can set security vulnerabilities to irrelevant</p> +<h4 id="ecc-admin-liferay-role">ECC Admin (Liferay Role)</h4> +<p>In addition to the user rights, the ECC admin can manipulate ECC data.</p> +<h4 id="user">User</h4> +<p>A user can create, modify and delete all own (=self created) records. A user cannot change records of others</p> +<h4 id="summary">Summary</h4> +<h3 id="moderation-requests">Moderation Requests</h3> +<p>If a user with user or other access role rights is not entitled to write or change a record, a moderation request will be created. The moderation request contains the changes an will be routed for approval to the users who can write this record.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-configuration-country-codes/index.html b/docs/deployment/deploy-configuration-country-codes/index.html new file mode 100644 index 0000000..ec9ecd2 --- /dev/null +++ b/docs/deployment/deploy-configuration-country-codes/index.html @@ -0,0 +1,643 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Configuring Country Codes | Eclipse SW360</title> +<meta name="description" content="SW360 provides a feature for showing country codes and country names"> +<meta property="og:title" content="Configuring Country Codes" /> +<meta property="og:description" content="SW360 provides a feature for showing country codes and country names" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Configuring Country Codes"> +<meta itemprop="description" content="SW360 provides a feature for showing country codes and country names"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="46"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Configuring Country Codes"/> +<meta name="twitter:description" content="SW360 provides a feature for showing country codes and country names"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check" checked/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="td-sidebar-nav-active-item">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Configuration-Country-Codes.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Configuration-Country-Codes.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Configuration-Country-Codes.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Configuring%20Country%20Codes" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/">Configuring Country Codes</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Configuring Country Codes</h1> + <div class="lead">SW360 provides a feature for showing country codes and country names</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>This feature is available on:</p> +<ul> +<li>projects / Owner Country</li> +<li>components / Owner Country</li> +</ul> +<p><img src="https://user-images.githubusercontent.com/29916928/36796378-551cf572-1c9d-11e8-96aa-85ce98e97ff3.jpg" alt="Country Code List"></p> +<p>Its supports preferred country codes, which are shown at the top of the country list. <br> +You can configure them by using the sw360.properties.</p> +<table> +<thead> +<tr> +<th style="text-align:center">sw360 properties key</th> +<th style="text-align:center">value</th> +<th style="text-align:center">default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:center">preferred.country.codes</td> +<td style="text-align:center">(ISO 3166-1 alpha-2)</td> +<td style="text-align:center">DE,AT,CH,US</td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-configuration-files/index.html b/docs/deployment/deploy-configuration-files/index.html new file mode 100644 index 0000000..cc9dcad --- /dev/null +++ b/docs/deployment/deploy-configuration-files/index.html @@ -0,0 +1,1104 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Configurable Property Keys | Eclipse SW360</title> +<meta name="description" content="SW360 Configurable property keys"> +<meta property="og:title" content="Configurable Property Keys" /> +<meta property="og:description" content="SW360 Configurable property keys" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Configurable Property Keys"> +<meta itemprop="description" content="SW360 Configurable property keys"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="590"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Configurable Property Keys"/> +<meta name="twitter:description" content="SW360 Configurable property keys"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check" checked/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="td-sidebar-nav-active-item">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Configuration-Files.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Configuration-Files.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Configuration-Files.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Configurable%20Property%20Keys" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#introduction">Introduction</a></li> + <li><a href="#sw360properties-etcsw360sw360properties">SW360.properties (/etc/sw360/sw360.properties)</a></li> + <li><a href="#fossologyproperties-etcsw360fossologyproperties">fossology.properties (/etc/sw360/fossology.properties)</a></li> + <li><a href="#couchdbproperties-etcsw360couchdbproperties">couchdb.properties (/etc/sw360/couchdb.properties)</a></li> + <li><a href="#searchproperties-etcsw360searchproperties">search.properties (/etc/sw360/search.properties)</a></li> + <li><a href="#orgmappingproperties-etcsw360orgmappingproperties">orgmapping.properties (/etc/sw360/orgmapping.properties)</a></li> + <li><a href="#databasetestproperties-etcsw360databasetestproperties">databasetest.properties (/etc/sw360/databasetest.properties)</a></li> + <li><a href="#authorizationapplicationyml-etcsw360authorizationapplicationyml">authorization/application.yml (/etc/sw360/authorization/application.yml)</a></li> + <li><a href="#restapplicationyml-etcsw360restapplicationyml">rest/application.yml (/etc/sw360/rest/application.yml)</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/">Configurable Property Keys</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Configurable Property Keys</h1> + <div class="lead">SW360 Configurable property keys</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h3 id="introduction">Introduction</h3> +<p>List of all applicable property files in sw360:</p> +<ul> +<li>sw360.properties</li> +<li>fossology.properties</li> +<li>couchdb.properties</li> +<li>search.properties</li> +<li>orgmapping.properties</li> +<li>databasetest.properties</li> +<li>authorization/application.yml</li> +<li>rest/application.yml</li> +</ul> +<h3 id="sw360properties-etcsw360sw360properties">SW360.properties (/etc/sw360/sw360.properties)</h3> +<p>The following table shall give an overview about the general sw360 configuration settings.</p> +<table> +<thead> +<tr> +<th style="text-align:left">Property Key</th> +<th style="text-align:left">Default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">licenseinfo.spdxparser.use-license-info-from-files</td> +<td style="text-align:left">true/false</td> +</tr> +<tr> +<td style="text-align:left">mainline.state.enabled.for.user</td> +<td style="text-align:left">true/false</td> +</tr> +<tr> +<td style="text-align:left">key.auth.email</td> +<td style="text-align:left">EMAIL</td> +</tr> +<tr> +<td style="text-align:left">key.auth.extid</td> +<td style="text-align:left">EXTID</td> +</tr> +<tr> +<td style="text-align:left">key.auth.givenname</td> +<td style="text-align:left">GIVENNAME</td> +</tr> +<tr> +<td style="text-align:left">key.auth.surname</td> +<td style="text-align:left">SURNAME</td> +</tr> +<tr> +<td style="text-align:left">key.auth.department</td> +<td style="text-align:left">DEPARTMENT</td> +</tr> +<tr> +<td style="text-align:left">backend.url</td> +<td style="text-align:left">http://127.0.0.1:8080</td> +</tr> +<tr> +<td style="text-align:left">cvesearch.vendor.threshold</td> +<td style="text-align:left">1</td> +</tr> +<tr> +<td style="text-align:left">cvesearch.product.threshold</td> +<td style="text-align:left">0</td> +</tr> +<tr> +<td style="text-align:left">cvesearch.cutoff</td> +<td style="text-align:left">6</td> +</tr> +<tr> +<td style="text-align:left">combined.cli.parser.external.id.correlation.key</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">schedule.cvesearch.firstOffset.seconds</td> +<td style="text-align:left">0</td> +</tr> +<tr> +<td style="text-align:left">schedule.cvesearch.interval.seconds</td> +<td style="text-align:left">&ldquo;(24<em>60</em>60)&rdquo;</td> +</tr> +<tr> +<td style="text-align:left">autostart</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">rest.write.access.usergroup</td> +<td style="text-align:left">SW360_ADMIN</td> +</tr> +<tr> +<td style="text-align:left">rest.access.token.validity.seconds</td> +<td style="text-align:left">3600</td> +</tr> +<tr> +<td style="text-align:left">rest.security.client.id</td> +<td style="text-align:left">sw360-trusted-client</td> +</tr> +<tr> +<td style="text-align:left">rest.security.client.secret</td> +<td style="text-align:left">sw360-secret</td> +</tr> +<tr> +<td style="text-align:left">programming.languages</td> +<td style="text-align:left">ActionScript,AppleScript, Asp,Bash,BASIC, C,C++,C#,Cocoa,Clojure, COBOL,ColdFusion,D, Delphi,Erlang,Fortran, Go,Groovy,Haskell, JSP,Java,JavaScript,Objective-C, Ocaml,Lisp,Perl, PHP,Python,Ruby,SQL ,SVG,Scala,SmallTalk Scheme,Tcl,XML, Node.js,JSON</td> +</tr> +<tr> +<td style="text-align:left">software.platforms</td> +<td style="text-align:left">Adobe AIR,Adobe Flash, Adobe Shockwave,Binary Runtime Environment for Wireless,Cocoa (API),Cocoa Touch,Java (software platform)</td> +</tr> +<tr> +<td style="text-align:left">operating.systems</td> +<td style="text-align:left">Android,BSD,iOS, Linux,OS X,QNX, Microsoft Windows,Windows Phone,IBM z/OS</td> +</tr> +<tr> +<td style="text-align:left">clearing.teams</td> +<td style="text-align:left">org1,org2,org3</td> +</tr> +<tr> +<td style="text-align:left">state</td> +<td style="text-align:left">Active,Phase out,Unknown</td> +</tr> +<tr> +<td style="text-align:left">project.type</td> +<td style="text-align:left">Customer Project,Internal Project,Product,Service,Inner Source</td> +</tr> +<tr> +<td style="text-align:left">project.externalkeys</td> +<td style="text-align:left">internal.id</td> +</tr> +<tr> +<td style="text-align:left">license.identifiers</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">component.categories</td> +<td style="text-align:left">framework,SDK,big-data, build-management,cloud,content, database,graphics,http, javaee,library,mail,mobile, security,testing,virtual-machine, web-framework,xml</td> +</tr> +<tr> +<td style="text-align:left">component.externalkeys</td> +<td style="text-align:left">com.github.id,com.gitlab.id,purl.id</td> +</tr> +<tr> +<td style="text-align:left">custommap.project.roles</td> +<td style="text-align:left">Stakeholder,Analyst,Contributor,Accountant,End user,Quality manager,Test manager,Technical writer,Key user</td> +</tr> +<tr> +<td style="text-align:left">custommap.component.roles</td> +<td style="text-align:left">Committer,Contributor,Expert</td> +</tr> +<tr> +<td style="text-align:left">custommap.release.roles</td> +<td style="text-align:left">Committer,Contributor,Expert</td> +</tr> +<tr> +<td style="text-align:left">custommap.release.externalIds</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">release.externalkeys</td> +<td style="text-align:left">org.maven.id,com.github.id,com.gitlab.id,purl.id</td> +</tr> +<tr> +<td style="text-align:left">projectimport.hosts</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">preferred.country.codes</td> +<td style="text-align:left">DE,AT,CH,US</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_from</td> +<td style="text-align:left">_<a href="mailto:No_Reply__@sw360.org">No_Reply__@sw360.org</a></td> +</tr> +<tr> +<td style="text-align:left">MailUtil_host</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_port</td> +<td style="text-align:left">25</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_enableStarttls</td> +<td style="text-align:left">false</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_enableSsl</td> +<td style="text-align:left">false</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_isAuthenticationNecessary</td> +<td style="text-align:left">true</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_login</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_password</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_enableDebug</td> +<td style="text-align:left">false</td> +</tr> +<tr> +<td style="text-align:left">MailUtil_supportMailAddress</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">defaultBegin</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">defaultEnd</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">unsubscribeNoticeBefore</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">unsubscribeNoticeAfter</td> +<td style="text-align:left">-</td> +</tr> +</tbody> +</table> +<h3 id="fossologyproperties-etcsw360fossologyproperties">fossology.properties (/etc/sw360/fossology.properties)</h3> +<p>These configuration parameters are necessary to connect to a fossology server.</p> +<table> +<thead> +<tr> +<th style="text-align:left">Property Key</th> +<th style="text-align:left">Default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">fossology.host</td> +<td style="text-align:left">localhost</td> +</tr> +<tr> +<td style="text-align:left">fossology.port</td> +<td style="text-align:left">22</td> +</tr> +<tr> +<td style="text-align:left">fossology.user</td> +<td style="text-align:left">sw360</td> +</tr> +<tr> +<td style="text-align:left">fossology.key.file</td> +<td style="text-align:left">/fossology.id_rsa</td> +</tr> +<tr> +<td style="text-align:left">fossology.key.pub.file</td> +<td style="text-align:left">[fossology.key.file] + .pub</td> +</tr> +</tbody> +</table> +<h3 id="couchdbproperties-etcsw360couchdbproperties">couchdb.properties (/etc/sw360/couchdb.properties)</h3> +<p>CouchDB and Lucene serach configuration properties.</p> +<table> +<thead> +<tr> +<th style="text-align:left">Property Key</th> +<th style="text-align:left">Default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">couchdb.url</td> +<td style="text-align:left">http://localhost:5984</td> +</tr> +<tr> +<td style="text-align:left">couchdb.database</td> +<td style="text-align:left">sw360db</td> +</tr> +<tr> +<td style="text-align:left">couchdb.user</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">couchdb.password</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">couchdb.userdb</td> +<td style="text-align:left">sw360users</td> +</tr> +<tr> +<td style="text-align:left">couchdb.attachments</td> +<td style="text-align:left">sw360attachments</td> +</tr> +<tr> +<td style="text-align:left">couchdb.fossologyKeys</td> +<td style="text-align:left">sw360fossologyKeys</td> +</tr> +<tr> +<td style="text-align:left">couchdb.vulnerability_management</td> +<td style="text-align:left">sw360vm</td> +</tr> +<tr> +<td style="text-align:left">lucenesearch.limit</td> +<td style="text-align:left">25</td> +</tr> +<tr> +<td style="text-align:left">lucenesearch.leading.wildcard*</td> +<td style="text-align:left">false</td> +</tr> +</tbody> +</table> +<blockquote> +<p>* If you enable lucene leading wildcards you have to enable this configuration also in couchdb-lucene.ini! Leading wildcard search is disabled as default because its a expensive operation. <em>(couchdb-lucene.ini is part of the couchdb-lucene .war package)</em> <br> +[lucene] <br> +allowLeadingWildcard=true</p> +</blockquote> +<h3 id="searchproperties-etcsw360searchproperties">search.properties (/etc/sw360/search.properties)</h3> +<p>The following table shall give an overview about the specific search properties</p> +<table> +<thead> +<tr> +<th style="text-align:left">Property Key</th> +<th style="text-align:left">Default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">search.name.max.length</td> +<td style="text-align:left">64</td> +</tr> +</tbody> +</table> +<h3 id="orgmappingproperties-etcsw360orgmappingproperties">orgmapping.properties (/etc/sw360/orgmapping.properties)</h3> +<p>This configuration file is used to activate the sw360 orgmapping feature.</p> +<table> +<thead> +<tr> +<th style="text-align:left">Property Key</th> +<th style="text-align:left">Default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">match.prefix</td> +<td style="text-align:left">false</td> +</tr> +<tr> +<td style="text-align:left">enable.custom.mapping</td> +<td style="text-align:left">false</td> +</tr> +</tbody> +</table> +<h3 id="databasetestproperties-etcsw360databasetestproperties">databasetest.properties (/etc/sw360/databasetest.properties)</h3> +<p>Just for couchdb database test purpose.</p> +<table> +<thead> +<tr> +<th style="text-align:left">Property Key</th> +<th style="text-align:left">Default</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">couch_db_url</td> +<td style="text-align:left">http://localhost:5984</td> +</tr> +<tr> +<td style="text-align:left">couch_db_database</td> +<td style="text-align:left">datahandlertestdb</td> +</tr> +<tr> +<td style="text-align:left">couchdb.username</td> +<td style="text-align:left">-</td> +</tr> +<tr> +<td style="text-align:left">couchdb.password</td> +<td style="text-align:left">-</td> +</tr> +</tbody> +</table> +<h3 id="authorizationapplicationyml-etcsw360authorizationapplicationyml">authorization/application.yml (/etc/sw360/authorization/application.yml)</h3> +<p>All of the following built-in properties can be overridden:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span># Port to open in standalone mode +</span></span><span style="display:flex;"><span>server: +</span></span><span style="display:flex;"><span> port: 8090 +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span># Connection to the couch databases. Will be used to store client credentials +</span></span><span style="display:flex;"><span>couchdb: +</span></span><span style="display:flex;"><span> url: http://localhost:5984 +</span></span><span style="display:flex;"><span> database: sw360oauthclients +</span></span><span style="display:flex;"><span> # if your couchdb does not use authentication, pls just don&#39;t use the settings for username and password +</span></span><span style="display:flex;"><span> #username: +</span></span><span style="display:flex;"><span> #password: +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>spring: +</span></span><span style="display:flex;"><span> jackson: +</span></span><span style="display:flex;"><span> serialization: +</span></span><span style="display:flex;"><span> indent_output: true +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span># Common SW360 properties +</span></span><span style="display:flex;"><span>sw360: +</span></span><span style="display:flex;"><span> # The url of the Liferay instance +</span></span><span style="display:flex;"><span> sw360-portal-server-url: ${SW360_PORTAL_SERVER_URL:http://127.0.0.1:8080} +</span></span><span style="display:flex;"><span> # The id of the company in Liferay that sw360 is run for +</span></span><span style="display:flex;"><span> sw360-liferay-company-id: ${SW360_LIFERAY_COMPANY_ID:20155} +</span></span><span style="display:flex;"><span> # Allowed origins that should be set in the header +</span></span><span style="display:flex;"><span> cors: +</span></span><span style="display:flex;"><span> allowed-origin: ${SW360_CORS_ALLOWED_ORIGIN:#{null}} +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>security: +</span></span><span style="display:flex;"><span> # Configuration for enabling authorization via headers, e.g. when using SSO +</span></span><span style="display:flex;"><span> # in combination with a reverse proxy server +</span></span><span style="display:flex;"><span> customheader: +</span></span><span style="display:flex;"><span> headername: +</span></span><span style="display:flex;"><span> # You have to enable authorization by headers explicitly here +</span></span><span style="display:flex;"><span> enabled: false +</span></span><span style="display:flex;"><span> # Attention: please make sure that the proxy is removing there headers +</span></span><span style="display:flex;"><span> # if they are coming from anywhere else then the authentication server +</span></span><span style="display:flex;"><span> intermediateauthstore: custom-header-auth-marker +</span></span><span style="display:flex;"><span> email: authenticated-email +</span></span><span style="display:flex;"><span> extid: authenticated-extid +</span></span><span style="display:flex;"><span> # also available - at least in saml pre auth - are &#34;givenname&#34;, &#34;surname&#34; and &#34;department&#34; +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> oauth2: +</span></span><span style="display:flex;"><span> resource: +</span></span><span style="display:flex;"><span> id: sw360-REST-API +</span></span></code></pre></div><h3 id="restapplicationyml-etcsw360restapplicationyml">rest/application.yml (/etc/sw360/rest/application.yml)</h3> +<p>All of the following built-in properties can be overridden:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>server: +</span></span><span style="display:flex;"><span> port: 8091 +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>spring: +</span></span><span style="display:flex;"><span> http: +</span></span><span style="display:flex;"><span> multipart: +</span></span><span style="display:flex;"><span> max-file-size: 500MB +</span></span><span style="display:flex;"><span> max-request-size: 600MB +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> data: +</span></span><span style="display:flex;"><span> rest: +</span></span><span style="display:flex;"><span> base-path: /api +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span># logging: +</span></span><span style="display:flex;"><span># level: +</span></span><span style="display:flex;"><span># org.springframework.web: DEBUG +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>security: +</span></span><span style="display:flex;"><span> oauth2: +</span></span><span style="display:flex;"><span> resource: +</span></span><span style="display:flex;"><span> id: sw360-REST-API +</span></span><span style="display:flex;"><span> filter-order: 3 +</span></span><span style="display:flex;"><span> jwt: +</span></span><span style="display:flex;"><span> keyValue: | +</span></span><span style="display:flex;"><span> -----BEGIN PUBLIC KEY----- +</span></span><span style="display:flex;"><span> MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApz8Cr1o5yHMv/FUdF5uy +</span></span><span style="display:flex;"><span> VptilqdWtNvw5S6Tr4IaQ4XR9QPt8nlRsjOngfG4QCcKMBWJISldFg8PlJWUBeV+ +</span></span><span style="display:flex;"><span> 6TwQUidxokl2GbO6/+QA+lz1a5Ei1Y1pcnvFeRb2pdYlH3Yg6fXMxS6QwDLk27pZ +</span></span><span style="display:flex;"><span> 5xbpSDIGISDesyaIMvwaKdhAbFW/tTb/oJY7rCPvmYLT80kJzilijJ/W01jMMSHg +</span></span><span style="display:flex;"><span> 9Yi5cCt1eU/s78co+pxHzwNXO0Ul4iRpo/CXprQCsSIsdWkJTo6btal1xzd292Da +</span></span><span style="display:flex;"><span> d+9xq499JEsNbcqLfCq8DBQ7CEz6aJjMvPkvZiCrFIGxC/Gqmw35DQ4688rbkKSJ +</span></span><span style="display:flex;"><span> PQIDAQAB +</span></span><span style="display:flex;"><span> -----END PUBLIC KEY----- +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>sw360: +</span></span><span style="display:flex;"><span> thrift-server-url: ${SW360_THRIFT_SERVER_URL:http://localhost:8080} +</span></span><span style="display:flex;"><span> test-user-id: admin@sw360.org +</span></span><span style="display:flex;"><span> test-user-password: sw360-password +</span></span><span style="display:flex;"><span> couchdb-url: ${SW360_COUCHDB_URL:http://localhost:5984} +</span></span><span style="display:flex;"><span> cors: +</span></span><span style="display:flex;"><span> allowed-origin: ${SW360_CORS_ALLOWED_ORIGIN:#{null}} +</span></span></code></pre></div> + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-cve-search/index.html b/docs/deployment/deploy-cve-search/index.html new file mode 100644 index 0000000..8029abb --- /dev/null +++ b/docs/deployment/deploy-cve-search/index.html @@ -0,0 +1,735 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>CVE Scheduler | Eclipse SW360</title> +<meta name="description" content="SW360 CVE Schedules"> +<meta property="og:title" content="CVE Scheduler" /> +<meta property="og:description" content="SW360 CVE Schedules" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="CVE Scheduler"> +<meta itemprop="description" content="SW360 CVE Schedules"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="458"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="CVE Scheduler"/> +<meta name="twitter:description" content="SW360 CVE Schedules"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check" checked/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="td-sidebar-nav-active-item">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-CVE-search.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-CVE-search.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-CVE-search.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=CVE%20Scheduler" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#install-cve-search">Install CVE-search</a> + <ul> + <li><a href="#docker-installation-github-repohttpsgithubcomcve-searchcve-search-docker">Docker Installation <a href="https://github.com/cve-search/CVE-Search-Docker">Github repo</a></a></li> + <li><a href="#native-installation-github-repohttpsgithubcomcve-searchcve-search">Native Installation <a href="https://github.com/cve-search/cve-search">Github repo</a></a></li> + </ul> + </li> + <li><a href="#setup-sw360-with-cve-server">Setup SW360 with CVE server</a></li> + <li><a href="#reference">Reference</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/">CVE Scheduler</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>CVE Scheduler</h1> + <div class="lead">SW360 CVE Schedules</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h1 id="how-to-use-sw360-cve-schedule">How to use SW360 CVE schedule</h1> +<p>SW360 gets vulnerability information from Common Vulnerability Enumeration (CVE) data. SW360 can connect to your local cve-search server.<br> +<em>Few years ago, sw360 was able to get vulnerability information from online CVE serverr, but it is not active.</em></p> +<h2 id="install-cve-search">Install CVE-search</h2> +<p>cve-search is a tool to import CVE (Common Vulnerabilities and Exposures) and CPE (Common Platform Enumeration) into a MongoDB to facilitate search and processing of CVEs. You can choose Docker install or Native install.</p> +<h3 id="docker-installation-github-repohttpsgithubcomcve-searchcve-search-docker">Docker Installation <a href="https://github.com/cve-search/CVE-Search-Docker">Github repo</a></h3> +<p>Only clone and &ldquo;docker-compose up&rdquo;.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ git clone https://github.com/cve-search/CVE-Search-Docker.git +</span></span><span style="display:flex;"><span> $ <span style="color:#366">cd</span> CVE-Search-Docker +</span></span><span style="display:flex;"><span> $ docker-compose up +</span></span></code></pre></div><h3 id="native-installation-github-repohttpsgithubcomcve-searchcve-search">Native Installation <a href="https://github.com/cve-search/cve-search">Github repo</a></h3> +<ol> +<li>Clone source</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ git clone https://github.com/cve-search/cve-search +</span></span><span style="display:flex;"><span> $ <span style="color:#366">cd</span> cve-search +</span></span><span style="display:flex;"><span> $ git checkout <span style="color:#555">{</span>tag/branch<span style="color:#555">}</span> +</span></span></code></pre></div><ol start="2"> +<li>Install system requirements</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ sudo apt-get install -y &lt; requirements.system +</span></span></code></pre></div><ol start="3"> +<li>Install CVE-Search and its Python dependencies</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> pip3 install -r requirements.txt +</span></span></code></pre></div><ol start="4"> +<li>Install mongodb</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ <span style="color:#033">codename</span><span style="color:#555">=</span><span style="color:#069;font-weight:bold">$(</span>lsb_release --codename --short<span style="color:#069;font-weight:bold">)</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ <span style="color:#366">echo</span> <span style="color:#c30">&#34;deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu </span><span style="color:#a00">${</span><span style="color:#033">codename</span><span style="color:#a00">}</span><span style="color:#c30">/mongodb-org/4.4 multiverse&#34;</span> | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list +</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ sudo apt-get update +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ sudo apt-get install -y mongodb-org +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ sudo systemctl daemon-reload +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ sudo systemctl start mongod +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic"># Verify status of mongodb</span> +</span></span><span style="display:flex;"><span> $ sudo systemctl status mongod +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic"># if all is ok, enable mongodb to start on system startup</span> +</span></span><span style="display:flex;"><span> $ sudo systemctl <span style="color:#366">enable</span> mongod +</span></span></code></pre></div><ol start="5"> +<li>Populating the database</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ sudo apt-get install redis redis-server +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic">#modify: stop-writes-on-bgsave-error yes -&gt; no</span> +</span></span><span style="display:flex;"><span> $ sudo vim /etc/redis/redis.conf +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ sudo systemctl daemon-reload +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ sudo systemctl restart redis +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ ./sbin/db_mgmt_cpe_dictionary.py -p +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ ./sbin/db_mgmt_json.py -p +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> $ ./sbin/db_updater.py -c <span style="color:#09f;font-style:italic"># This will take &gt; 45minutes on a decent machine, please be patient</span> +</span></span></code></pre></div><ol start="6"> +<li>Updating the database</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ ./sbin/db_updater.py -v +</span></span></code></pre></div><ol start="7"> +<li>Starting and stopping the web-server</li> +</ol> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> <span style="color:#09f;font-style:italic"># Install psutil &gt;= 5.7.0</span> +</span></span><span style="display:flex;"><span> $ pip3 install psutil&gt;<span style="color:#555">=</span>5.7.0 +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic"># Starting web server</span> +</span></span><span style="display:flex;"><span> $ python3 web/index.py +</span></span></code></pre></div><p>Default Web server: http://localhost:5000</p> +<p>To stop the server, press the <code>CTRL+C</code></p> +<p><strong>Note</strong>: By default CVE-Search takes assumptions on certain configuration aspects of the application, you can adjust</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ <span style="color:#366">cd</span> cve-search +</span></span><span style="display:flex;"><span> $ cp etc/configuration.ini.sample etc/configuration.ini +</span></span><span style="display:flex;"><span> $ vim etc/configuration.ini +</span></span></code></pre></div><h2 id="setup-sw360-with-cve-server">Setup SW360 with CVE server</h2> +<ol> +<li>Change default CVE server</li> +</ol> +<p>Change <code>cvesearch.host</code> with CVE server address.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ vim <span style="color:#a00">${</span><span style="color:#033">SW360_DIR_INSTALL</span><span style="color:#a00">}</span>/backend/src/src-cvesearch/src/main/resources/cvesearch.properties +</span></span></code></pre></div><ol start="2"> +<li>Setting for schedule the CVE service</li> +</ol> +<p>The offset (first run of the update) and the interval between updates can also be adjusted.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span> $ vim <span style="color:#a00">${</span><span style="color:#033">SW360_DIR_INSTALL</span><span style="color:#a00">}</span>/backend/src/src-schedule/src/main/resources/sw360.properties +</span></span></code></pre></div><p>The <code>offset</code> has to be given in seconds since midnight and also the <code>interval</code> has to be entered in seconds. The default is to update the vulnerabilities by CVEsearch every night at midnight, which corresponds to an offset of 0 and an interval of 24 hours (= 86400 seconds).</p> +<p>According to the default settings, cveSearch is not auto-started with the scheduling service. If want to auto start <code>autostart = cvesearchService</code></p> +<ol start="3"> +<li>Schedule task Adminstration</li> +</ol> +<p>View and start/stop schedule</p> +<p>Click <code>Admin</code> &gt; <code>Schedule</code></p> +<h2 id="reference">Reference</h2> +<p>CVE guide: [https://cve-search.github.io/cve-search/database/database.html]</p> +<p>User Scheduling CVE Search by Admins: [https://github.com/eclipse/sw360/wiki/User-Scheduling-CVE-Search-by-Admins]</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-docker/index.html b/docs/deployment/deploy-docker/index.html new file mode 100644 index 0000000..780f788 --- /dev/null +++ b/docs/deployment/deploy-docker/index.html @@ -0,0 +1,712 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Docker Deployment | Eclipse SW360</title> +<meta name="description" content="Deploy SW360 with Docker +"> +<meta property="og:title" content="Docker Deployment" /> +<meta property="og:description" content="Deploy SW360 with Docker +" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-docker/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Docker Deployment"> +<meta itemprop="description" content="Deploy SW360 with Docker +"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="447"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Docker Deployment"/> +<meta name="twitter:description" content="Deploy SW360 with Docker +"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check" checked/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="td-sidebar-nav-active-item">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Docker.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Docker.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Docker.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Docker%20Deployment" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#requirements">Requirements</a> + <ul> + <li><a href="#platform-requirements">Platform Requirements</a></li> + <li><a href="#sw360chores-requirements">sw360chores Requirements</a></li> + <li><a href="#sw360-requirements">Sw360 Requirements</a></li> + </ul> + </li> + <li><a href="#cloning-the-repos">Cloning the repos</a> + <ul> + <li><a href="#generating-an-ssh-key-pair-for-your-machine">Generating an ssh key-pair for your machine</a></li> + <li><a href="#cloning-sw360-chores">Cloning sw360 chores</a></li> + <li><a href="#cloning-eclipsesw360">Cloning eclipse/sw360</a></li> + </ul> + </li> + <li><a href="#compiling-and-deploying-sw360-code">Compiling and deploying SW360 Code</a></li> + <li><a href="#launching-the-containers">Launching the containers</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-docker/">Docker Deployment</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Docker Deployment</h1> + <div class="lead">Deploy SW360 with Docker</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h1 id="a-quick-how-to-for-testing-sw360">A quick how-to for testing SW360</h1> +<h2 id="requirements">Requirements</h2> +<h3 id="platform-requirements">Platform Requirements</h3> +<p>As you need Apache Thrift 0.11.0 (see <a href="https://github.com/eclipse/sw360#required-software">https://github.com/eclipse/sw360#required-software</a> ), using the latest Ubuntu LTS (18.04) won&rsquo;t work, so we start on Ubuntu 19.10 if you want to install from packages. As an alternative, consider the following script from the sw360 repository:</p> +<p><a href="https://github.com/eclipse/sw360/blob/master/scripts/install-thrift.sh">https://github.com/eclipse/sw360/blob/master/scripts/install-thrift.sh</a></p> +<p>We&rsquo;ll go the Docker way and follow the instructions of the <a href="https://github.com/sw360/sw360chores">sw360chores project</a>. There is a nice diagram there, explaining the rather complex setup.</p> +<h3 id="sw360chores-requirements">sw360chores Requirements</h3> +<blockquote> +<p>the perl interpreter to run ./sw360chores.pl</p> +</blockquote> +<p>You should already have it in your default, even if minimal, installation</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>$ which perl +</span></span><span style="display:flex;"><span>/usr/bin/perl +</span></span></code></pre></div><blockquote> +<p>git which is used in some prepare scripts</p> +</blockquote> +<p><code>sudo apt install git</code></p> +<blockquote> +<p>a current version of docker (min 1.30) [https://docs.docker.com/]</p> +</blockquote> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo apt install docker.io +</span></span></code></pre></div><blockquote> +<p>docker-compose (min 1.21) [https://docs.docker.com/compose/install/]</p> +</blockquote> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo apt install docker-compose +</span></span></code></pre></div><p>And you actually also need curl,</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo apt install curl +</span></span></code></pre></div><h3 id="sw360-requirements">Sw360 Requirements</h3> +<p>From the <a href="https://github.com/eclipse/sw360#required-software">sw360 Readme</a>:</p> +<blockquote> +<p>Java 1.8.X</p> +</blockquote> +<p>And when they say &ldquo;1.8.X&rdquo;, they mean it: it won&rsquo;t work with a later version. So it&rsquo;s better to uninstall the potential other versions of Java (/!\ this is expected to break other things on your environment if you depend on Java for anything), and then install the required version</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> sudo apt install openjdk-8-jdk openjdk-8-jre +</span></span></code></pre></div><blockquote> +<p>In order to build you will need:</p> +<ul> +<li>A git client</li> +<li>Apache Maven 3.6.X</li> +<li>Apache Thrift 0.11.0</li> +</ul> +</blockquote> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo apt install maven +</span></span></code></pre></div><p>That will install maven Apache Maven 3.6.1 but you need to have installed the correct version (8) of Java <em>before hand</em> otherwise it will install a too recent one.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo apt install thrift-compiler +</span></span></code></pre></div><p>That will install Thrift version 0.11.0, if you have not installed thrift using the script above.</p> +<h2 id="cloning-the-repos">Cloning the repos</h2> +<h3 id="generating-an-ssh-key-pair-for-your-machine">Generating an ssh key-pair for your machine</h3> +<p>If you don&rsquo;t already have one, generate a key pair with no passphrase, in default location:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>ssh-keygen -t rsa -b 4096 -C &#34;your_email@example.com&#34; +</span></span></code></pre></div><p>Not 100% sure, but not having one may create problems, so&hellip;</p> +<h3 id="cloning-sw360-chores">Cloning sw360 chores</h3> +<p>I created a <code>code</code> folder at the root of the user&rsquo;s directory, just to make things simple.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>~$ cd code +</span></span><span style="display:flex;"><span>~/code$ git clone https://github.com/sw360/sw360chores.git +</span></span></code></pre></div><h3 id="cloning-eclipsesw360">Cloning eclipse/sw360</h3> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>~/code$ git clone https://github.com/eclipse/sw360.git +</span></span></code></pre></div><h2 id="compiling-and-deploying-sw360-code">Compiling and deploying SW360 Code</h2> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span><span style="color:#a00;background-color:#faa">~$</span> cd code<span style="color:#555">/</span>sw360<span style="color:#555">/</span> +</span></span><span style="display:flex;"><span><span style="color:#a00;background-color:#faa">~</span><span style="color:#555">/</span>code<span style="color:#555">/</span>sw360<span style="color:#a00;background-color:#faa">$</span> mvn <span style="color:#069;font-weight:bold">package</span> <span style="color:#555">-</span>P deploy <span style="color:#555">-</span>Dbase.deploy.dir=<span style="color:#555">/</span>home<span style="color:#555">/</span>inno3<span style="color:#555">/</span>code<span style="color:#555">/</span>sw360chores<span style="color:#555">/</span>_deploy <span style="color:#555">-</span>DskipTests +</span></span></code></pre></div><h2 id="launching-the-containers">Launching the containers</h2> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>$ cd ~/code/sw360chores/ +</span></span><span style="display:flex;"><span>~/code/sw360chores$ ./sw360chores.pl --build -- up +</span></span></code></pre></div><p>And yes, there is a space between <code>--</code> and <code>up</code>.</p> +<p>If everything goes fine, you should see a line like</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sw360_1 | 15-Jan-2020 12:33:38.480 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [144,475] milliseconds +</span></span></code></pre></div><p>You should be able to login at <a href="https://localhost:8443">https://localhost:8443</a> with the default credentials <code>setup@sw360.org</code> and the password <code>sw360fossy</code> (found <a href="https://github.com/eclipse/sw360/wiki/Deploy-Liferay#liferay-administrator-steps">here</a>).</p> +<p>Please go ahead now with the setup of the Liferay - links can be found in the main wiki page.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-export-and-import/index.html b/docs/deployment/deploy-export-and-import/index.html new file mode 100644 index 0000000..a6d77d1 --- /dev/null +++ b/docs/deployment/deploy-export-and-import/index.html @@ -0,0 +1,755 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Export and Import | Eclipse SW360</title> +<meta name="description" content="SW360 Export and Import"> +<meta property="og:title" content="Export and Import" /> +<meta property="og:description" content="SW360 Export and Import" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Export and Import"> +<meta itemprop="description" content="SW360 Export and Import"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="962"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Export and Import"/> +<meta name="twitter:description" content="SW360 Export and Import"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check" checked/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="td-sidebar-nav-active-item">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Export-and-Import.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Export-and-Import.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Export-and-Import.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Export%20and%20Import" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#users">Users</a></li> + <li><a href="#projects">Projects</a></li> + <li><a href="#components-and-releases">Components and Releases</a></li> + <li><a href="#attachments">Attachments</a></li> + <li><a href="#release-links">Release links</a></li> + <li><a href="#suggested-order-for-exports">Suggested Order for Exports</a></li> + <li><a href="#suggested-order-for-imports">Suggested Order for Imports</a> + <ul> + <li><a href="#on-a-fresh-installation">On a fresh installation</a></li> + <li><a href="#regular-maintenance-operations">Regular Maintenance Operations</a></li> + <li><a href="#imports-on-a-running-instance">Imports on a running instance</a></li> + </ul> + </li> + <li><a href="#troubleshooting">Troubleshooting</a> + <ul> + <li></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/">Export and Import</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Export and Import</h1> + <div class="lead">SW360 Export and Import</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span><span style="background-color:#fcc">- note that only export and import of users is active, +</span></span></span><span style="display:flex;"><span><span style="background-color:#fcc">- everything else is deprecated functionality. +</span></span></span><span style="display:flex;"><span><span style="background-color:#fcc">- The export and import functionality has not been +</span></span></span><span style="display:flex;"><span><span style="background-color:#fcc">- updated at some point and thus will not function +</span></span></span><span style="display:flex;"><span><span style="background-color:#fcc">- properly anymore. +</span></span></span></code></pre></div><h1 id="full-export">Full Export</h1> +<p>The easiest way to fully export the data is to copy all the .couch files of Couch-DB. Where the files are can be found out from Futon. +e.g.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://localhost:5984/_utils/config.html +</span></span></code></pre></div><p>under</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>view_index_dir /var/lib/couchdb +</span></span></code></pre></div><p>This method of exporting has the advantage that all Ids remain the same. +An equally simple method it to use the Couch-DB replicator from Futon.</p> +<p>This method might fail when there are changes to the document structure as Ektorp might stumble over unset required or surplus fields. The method of choice here is to repair the DB (after a backup) with</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>https://github.com/couchapp/couchapp +</span></span></code></pre></div><p>and then follows the instructions from</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://harthur.github.io/costco/ +</span></span></code></pre></div><p>and</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>couchapp push . http://localhost:5984/sw360users +</span></span></code></pre></div><p>then you go to</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://localhost:5984/sw360users/_design/costco/index.html +</span></span></code></pre></div><p>and you can run functions like:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>function(doc) { +</span></span><span style="display:flex;"><span> if (doc.type == &#39;user&#39;) { +</span></span><span style="display:flex;"><span> if(doc.fullname == &#39;Homer J. Simons&#39;) { +</span></span><span style="display:flex;"><span> doc.fullname = &#39;Homer Jay Simons&#39;; +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> return doc; +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>You can also change the names of properties, e.g.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>function(doc) { +</span></span><span style="display:flex;"><span> if (doc.type == &#39;user&#39;) { +</span></span><span style="display:flex;"><span> if(doc.fullname ) { +</span></span><span style="display:flex;"><span> doc.fullname2 = doc.fullname; +</span></span><span style="display:flex;"><span> delete doc.fullname; +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> return doc; +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><h1 id="csv-export">CSV Export</h1> +<h2 id="users">Users</h2> +<p>The export of users was already described, this is very important as this also creates the users in the liferay database. The mere export of the users.couch is not enough.</p> +<h2 id="projects">Projects</h2> +<p>There is no CSV export or import for projects currently.</p> +<h2 id="components-and-releases">Components and Releases</h2> +<p>To Export the components and releases you need to do the following: +As Components and Releases are identified by their identifier ([name] or [name(version)]), these identifiers need to be unique. When importing duplicates in the identifiers are ignored and they are also not exported. +Therefore in the admin page you can check the database for such duplicates.</p> +<p>After that &ldquo;Download Component CSV&rdquo; creates a CSV with components, releases and their source attachments. +The source attachments are created if the &ldquo;DownloadURL&rdquo; is a valid url. +These remote-only attachments will be download once the first download request occurs. +If the URL does not exist you get an error.</p> +<p>Alternatively you can use</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sw360/src/backend/utils/src/main/java/com/siemens/sw360/attachments/db/RemoteAttachmentDownloader.java +</span></span></code></pre></div><p>to bulk download the source only attachments. +The command line call to use it from the Siemens network looks like this:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> java -jar -Dhttp.proxyHost=proxyfarm.3dns.netz.sbs.de -Dhttps.proxyHost=proxyfarm.3dns.netz.sbs.de -Dhttp.proxyPort=84 -Dhttps.proxyPort=84 /home/siemagrant/.m2/repository/com/siemens/sw360/backend-utils/0.1.1-SNAPSHOT/backend-utils-0.1.1-SNAPSHOT-jar-with-dependencies.jar -d +</span></span></code></pre></div><h2 id="attachments">Attachments</h2> +<p>Here we have a mixed strategy, as there is a CSV export for the attachments, which only stores the meta information about the files. The files themselves need to be brought into a new instance via the sw360attachments.couch database.</p> +<p>The ids of the attachments are also in the CSV, so they are not portable without the sw360attachments.couch. This is meant as a form of recovery, but it should not be used on an instance that has been worked on, so only a fresh set up.</p> +<p>This will overwrite the auto generated attachments from the component CSV if the have the same URL as one of the imported attachments. This feature is needed to render the procedure idempotent.</p> +<p>The admin interface provides the possibility to delete attachment contents that do not have a project, component or release with an attachment that references it.</p> +<p>If you copy the sw360attachments.couch to your instance and then click this before you import than the db should be empty afterwards.</p> +<p>If there was no error after importing the csv, running this job should yield no deletions if there was no error and the exported attachments where complete.</p> +<p>In general this should only be necessary if errors have occurred. +It is a good idea to run this before you export the attachments.</p> +<h2 id="release-links">Release links</h2> +<p>Links between releases can be exported or imported. +Because release links are stored in maps, the procedure is idempotent by construction. +The old links are overwritten with the imported data.</p> +<h2 id="suggested-order-for-exports">Suggested Order for Exports</h2> +<ol> +<li>Freeze the application, so that others can not change the data at the moment (By external means, like closing a port forwarding)</li> +<li>Clean up the attachments</li> +<li>Look for duplicate identifiers and resolve conflicts (Important as duplicates do not get exported or imported)</li> +<li>Export the Users, Components, Attachment Infos and release links</li> +<li>copy the sw360attachments.couch, this might be a huge files</li> +</ol> +<h2 id="suggested-order-for-imports">Suggested Order for Imports</h2> +<h3 id="on-a-fresh-installation">On a fresh installation</h3> +<ol> +<li>Copy the sw360attachments.couch in its place</li> +<li>Start the licenses importer</li> +<li>restart the backend to make the design documents available and boot the frontend</li> +<li>Import the users</li> +<li>Import the component CSV</li> +<li>Import the Attachment Infos</li> +<li>Import the Release Link Infos.</li> +</ol> +<h3 id="regular-maintenance-operations">Regular Maintenance Operations</h3> +<ol> +<li>Run the attachments clean up</li> +<li>Resolve name crashes with the search for duplicate Identifiers</li> +</ol> +<h3 id="imports-on-a-running-instance">Imports on a running instance</h3> +<ol> +<li>New components can be imported via the CSV at any time. Duplicates to existing components will be ignored, but there is a log message.</li> +<li>Users can be added via CSV.</li> +<li>Release links can be added via CSV, duplicates overwrite existing links</li> +</ol> +<p>Attachments should not be imported on a running instance! +This should not break much, as without the entries in the couchDB there will be no import. +But potentially remote-only Attachments get deleted. +Nevertheless this scenario is not intended and maybe there are unforeseen side effects.</p> +<h2 id="troubleshooting">Troubleshooting</h2> +<h4 id="import-failing-in-the-backend-no-department">Import failing in the Backend: No Department</h4> +<p>The import fails with some error message that a user does not have a department?</p> +<ol> +<li>First of all, the importing admin requires a group assignment. Otherwise the adding component action will fail.</li> +<li>If a group is added to the admin, not that in addition to the Liferay group setting, this information must be also placed into the &ldquo;sw360users&rdquo; database in couchdb.</li> +<li>Note that changes to groups and similar things will require a restart of the Liferay server (=tomcat). Otherwise the user caching kicks in and might not reflect all updates.</li> +</ol> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-requirements/index.html b/docs/deployment/deploy-requirements/index.html new file mode 100644 index 0000000..00cc15e --- /dev/null +++ b/docs/deployment/deploy-requirements/index.html @@ -0,0 +1,747 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>System Requirements | Eclipse SW360</title> +<meta name="description" content="SW360 minimal system requirements based on system class"> +<meta property="og:title" content="System Requirements" /> +<meta property="og:description" content="SW360 minimal system requirements based on system class" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="System Requirements"> +<meta itemprop="description" content="SW360 minimal system requirements based on system class"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="413"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="System Requirements"/> +<meta name="twitter:description" content="SW360 minimal system requirements based on system class"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check" checked/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="td-sidebar-nav-active-item">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Requirements.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Requirements.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Requirements.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=System%20Requirements" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#hardware-and-infrastructure">Hardware and Infrastructure</a> + <ul> + <li><a href="#cd-based-test-instances">CD-based test instances</a></li> + <li><a href="#staging-instances">Staging instances</a></li> + <li><a href="#productive-instances">Productive instances</a></li> + <li><a href="#network">Network</a></li> + </ul> + </li> + <li><a href="#software">Software:</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/">System Requirements</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>System Requirements</h1> + <div class="lead">SW360 minimal system requirements based on system class</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>For deploying the SW360, there are the following hardware requirements below. Please note that the main memory consumer is the tomcat application container. Accordingly, this requires different settings (see <code>$TOMCAT_HOME/bin/setenv.sh</code>).</p> +<p>Please note that you can review the current memory situation of the application in the liferay administration section as well (see <code>Configuration</code>-&gt; <code>Server Administration</code>).</p> +<h2 id="hardware-and-infrastructure">Hardware and Infrastructure</h2> +<h3 id="cd-based-test-instances">CD-based test instances</h3> +<p>When there is a continuous deployment and continuous delivery directly deployed to machine the following machine is recommended:</p> +<ul> +<li>1 core</li> +<li>4GB RAM</li> +<li>40GB normal file system</li> +<li>10Mbit Ethernet link</li> +</ul> +<p>In this case, the sw360 solution runs fairly well for clicking around and creation of a few data sets. Note that Tomcat should have 2GB.</p> +<h3 id="staging-instances">Staging instances</h3> +<p>Testing and working with normal data sets for staging and pre-productive testing. Pre productive does not need to have the same execution speed of the machine, however, requires enough RAM and file system to run a clone on the data set.</p> +<ul> +<li>2 cores</li> +<li>8GB RAM</li> +<li>500GB normal file system</li> +<li>100Mbit Ethernet link</li> +</ul> +<p>The tomcat should be adjusted to 4GB RAM</p> +<h3 id="productive-instances">Productive instances</h3> +<p>Productive with for example: 10K releases, 2k users which deploys the entire solution onto a single larger machine. It does not apply to a docker based setup.</p> +<ul> +<li>4 cores</li> +<li>16GB RAM</li> +<li>500GB SSD based file system</li> +<li>1GBit link Ethernet link</li> +</ul> +<p>Tomcat should be adjusted to 10-12GB RAM. Note: normally, you could also run Tomcat with significantly lees RAM, if you put common dependencies in a shared lib folder.</p> +<h3 id="network">Network</h3> +<p>The following table shall give an overview about the inbound ports</p> +<table> +<thead> +<tr> +<th style="text-align:left">Port</th> +<th style="text-align:left">Service</th> +<th style="text-align:left">Remarks</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">443</td> +<td style="text-align:left">https</td> +<td style="text-align:left">Accessing the application</td> +</tr> +<tr> +<td style="text-align:left">22</td> +<td style="text-align:left">ssh</td> +<td style="text-align:left">Administering the application</td> +</tr> +<tr> +<td style="text-align:left">80</td> +<td style="text-align:left">http</td> +<td style="text-align:left">if you would like to access the solution over http</td> +</tr> +<tr> +<td style="text-align:left">5984/5985</td> +<td style="text-align:left">http/https</td> +<td style="text-align:left">if access to the couchdb (admin) interface is required</td> +</tr> +</tbody> +</table> +<p>Overview about the <em>additional</em> outbound ports:</p> +<table> +<thead> +<tr> +<th style="text-align:left">Port</th> +<th style="text-align:left">Service</th> +<th style="text-align:left">Remarks</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">3269</td> +<td style="text-align:left">sldap</td> +<td style="text-align:left">If you do authentication using secure LDAP</td> +</tr> +<tr> +<td style="text-align:left">443</td> +<td style="text-align:left">sldap</td> +<td style="text-align:left">If you do consume services over https (e.g. vulnerabilty pulling)</td> +</tr> +<tr> +<td style="text-align:left">53</td> +<td style="text-align:left">dns</td> +<td style="text-align:left">&hellip;</td> +</tr> +<tr> +<td style="text-align:left">22</td> +<td style="text-align:left">ssh</td> +<td style="text-align:left">the old way of calling a fossology server</td> +</tr> +</tbody> +</table> +<p>Outbound ports for http / https may be required for downloading system updates. Ports for ssh may not be required outbound.</p> +<h2 id="software">Software:</h2> +<p>As for the software, the sw360 can be run on many platforms, even on Windows seven. We have the following reference platform for development:</p> +<p>until 5:</p> +<ul> +<li>OpenJDK 8</li> +<li>Unbunu 16.04 LTS</li> +</ul> +<p>after 5:</p> +<ul> +<li>openjdk 8</li> +<li>ubuntu 18.04 LTS</li> +</ul> +<p>after 11:</p> +<ul> +<li>openjdk 11</li> +<li>ubuntu 18.04 LTS</li> +</ul> +<p>More information about requirements can be found here: <a href="https://github.com/sw360/sw360vagrant/wiki">https://github.com/sw360/sw360vagrant/wiki</a></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/deploy-secure-deployment/index.html b/docs/deployment/deploy-secure-deployment/index.html new file mode 100644 index 0000000..6254910 --- /dev/null +++ b/docs/deployment/deploy-secure-deployment/index.html @@ -0,0 +1,658 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Security | Eclipse SW360</title> +<meta name="description" content="SW360 security checklist pre and post deployment"> +<meta property="og:title" content="Security" /> +<meta property="og:description" content="SW360 security checklist pre and post deployment" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Security"> +<meta itemprop="description" content="SW360 security checklist pre and post deployment"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="216"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Security"/> +<meta name="twitter:description" content="SW360 security checklist pre and post deployment"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check" checked/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="td-sidebar-nav-active-item">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Deploy-Secure-Deployment.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Deploy-Secure-Deployment.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Deploy-Secure-Deployment.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Security" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/">Security</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Security</h1> + <div class="lead">SW360 security checklist pre and post deployment</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>After the basic installation, there are some following steps that should be considered for securing the deployment. The main issue that can be done upfront is the documentation of the involved components:</p> +<ul> +<li>Lifearay</li> +<li>Tomcat</li> +<li>Couchdb</li> +<li>Vagrant</li> +</ul> +<p>For vagrant it is important to understand how to close the provisioning users and not keep default usernames and passwords open.</p> +<p>Then for the applications, the following very first line measure should be considered:</p> +<ul> +<li> +<p>Change password of Liferay administrator user or check if that is appropriately secure.</p> +</li> +<li> +<p>You should check the permissions of the involved users in the user management in Liferay.</p> +</li> +<li> +<p>Assign individual passwords for users, also you could force the users to change their passwords at login if you like.</p> +</li> +<li> +<p>Besides the general advice to check the deployment instructions for the involved components, it is of particular interest to limit couchdb access from localhost only.</p> +</li> +<li> +<p>Also for Tomcat you limit port access from localhost only.</p> +</li> +<li> +<p>Do you need the ssh ports open or can you just go to the machine (physically).</p> +</li> +<li> +<p>Fix the admin party on couchdb</p> +</li> +<li> +<p>Add https access to couchdb</p> +</li> +<li> +<p>check that sw360 eyecuting user does not have sudo rights and config files for sw360 are <code>600</code> only for the executing user.</p> +</li> +</ul> +<p>Note that the Linux vagrant scripts applies somesecurity measures already on the OS level.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/index.html b/docs/deployment/index.html new file mode 100644 index 0000000..da218c9 --- /dev/null +++ b/docs/deployment/index.html @@ -0,0 +1,705 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/deployment/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Deployment | Eclipse SW360</title> +<meta name="description" content="SW360 Deployment Guides"> +<meta property="og:title" content="Deployment" /> +<meta property="og:description" content="SW360 Deployment Guides" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Deployment"> +<meta itemprop="description" content="SW360 Deployment Guides"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Deployment"/> +<meta name="twitter:description" content="SW360 Deployment Guides"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="td-sidebar-nav-active-item">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Deployment" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Deployment</h1> + <div class="lead">SW360 Deployment Guides</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/baremetal/">Bare Metal</a> + </h5> + <p>SW360 Bare Metal Deployment</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/upgrading/">Upgrade from previous instances</a> + </h5> + <p>SW360 Bare Metal Deployment</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-authorization-concept/">Authorization Concept</a> + </h5> + <p>Describe different roles of authorization concepts on SW360</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-configuration-files/">Configurable Property Keys</a> + </h5> + <p>SW360 Configurable property keys</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-configuration-country-codes/">Configuring Country Codes</a> + </h5> + <p>SW360 provides a feature for showing country codes and country names</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-cve-search/">CVE Scheduler</a> + </h5> + <p>SW360 CVE Schedules</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-docker/">Docker Deployment</a> + </h5> + <p>Deploy SW360 with Docker</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-export-and-import/">Export and Import</a> + </h5> + <p>SW360 Export and Import</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-secure-deployment/">Security</a> + </h5> + <p>SW360 security checklist pre and post deployment</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/deploy-requirements/">System Requirements</a> + </h5> + <p>SW360 minimal system requirements based on system class</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/index.xml b/docs/deployment/index.xml new file mode 100644 index 0000000..02774e1 --- /dev/null +++ b/docs/deployment/index.xml @@ -0,0 +1,1100 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Deployment</title> + <link>https://www.eclipse.org/sw360/docs/deployment/</link> + <description>Recent content in Deployment on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/deployment/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: Bare Metal</title> + <link>https://www.eclipse.org/sw360/docs/deployment/baremetal/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/baremetal/</guid> + <description> + + + + </description> + </item> + + <item> + <title>Docs: Upgrade from previous instances</title> + <link>https://www.eclipse.org/sw360/docs/deployment/upgrading/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/upgrading/</guid> + <description> + + + + </description> + </item> + + <item> + <title>Docs: Authorization Concept</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/</guid> + <description> + + + &lt;p&gt;The authorization concept describes the different roles of the solution - mainly for documentation of the authorization of different roles of the sw360. It is not focusing for the roles like being a moderator, it is described on a separate page for users: &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Role-Authorisation-Model&#34;&gt;role and access model&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;roles-overview&#34;&gt;Roles Overview&lt;/h2&gt; +&lt;p&gt;SW360 offers two choices for doing the roles: one is setting access rights at every record individually. Another are general roles that can be set for every user. An admin of SW360 can set user roles at the Liferay Users and Roles UI.&lt;/p&gt; +&lt;h4 id=&#34;setup-admin-liferay-role&#34;&gt;Setup Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The setup admin is the Liferay administrator, which can configure the entire liferay app, such as which portlets are shown on which page.&lt;/p&gt; +&lt;h4 id=&#34;sw360-admin-liferay-role&#34;&gt;SW360 Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The SW360 admin can change all data and promote users for more access rights, such as promoting a user to role &lt;code&gt;CLEARING_ADMIN&lt;/code&gt;. So its use case is to promote users to clearing admins after some time without always asking the site administrator to do this. To enhance the &lt;code&gt;SW360_ADMIN&lt;/code&gt; role to allow users of this role to promote other users&amp;rsquo;s roles, follow these steps:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Go to control panel&lt;/li&gt; +&lt;li&gt;Select the &lt;code&gt;Users&lt;/code&gt; section&lt;/li&gt; +&lt;li&gt;To subsection &lt;code&gt;Roles&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;Select row for &lt;code&gt;SW360 Admin&lt;/code&gt; and select action &lt;code&gt;Define permissions&lt;/code&gt;.&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;When defining permissions the idea is to reduce the permissions to the lowest level possible. Just allow for changing users.&lt;/p&gt; +&lt;h4 id=&#34;clearing-admin-liferay-role&#34;&gt;Clearing Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The clearing admin can change all component and release records and project records of the same group.&lt;/p&gt; +&lt;h4 id=&#34;security-admin-liferay-role&#34;&gt;Security Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the security admin can set security vulnerabilities to irrelevant&lt;/p&gt; +&lt;h4 id=&#34;ecc-admin-liferay-role&#34;&gt;ECC Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the ECC admin can manipulate ECC data.&lt;/p&gt; +&lt;h4 id=&#34;user&#34;&gt;User&lt;/h4&gt; +&lt;p&gt;A user can create, modify and delete all own (=self created) records. A user cannot change records of others&lt;/p&gt; +&lt;h4 id=&#34;summary&#34;&gt;Summary&lt;/h4&gt; +&lt;h3 id=&#34;moderation-requests&#34;&gt;Moderation Requests&lt;/h3&gt; +&lt;p&gt;If a user with user or other access role rights is not entitled to write or change a record, a moderation request will be created. The moderation request contains the changes an will be routed for approval to the users who can write this record.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Configurable Property Keys</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/</guid> + <description> + + + &lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt; +&lt;p&gt;List of all applicable property files in sw360:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;sw360.properties&lt;/li&gt; +&lt;li&gt;fossology.properties&lt;/li&gt; +&lt;li&gt;couchdb.properties&lt;/li&gt; +&lt;li&gt;search.properties&lt;/li&gt; +&lt;li&gt;orgmapping.properties&lt;/li&gt; +&lt;li&gt;databasetest.properties&lt;/li&gt; +&lt;li&gt;authorization/application.yml&lt;/li&gt; +&lt;li&gt;rest/application.yml&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;sw360properties-etcsw360sw360properties&#34;&gt;SW360.properties (/etc/sw360/sw360.properties)&lt;/h3&gt; +&lt;p&gt;The following table shall give an overview about the general sw360 configuration settings.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;licenseinfo.spdxparser.use-license-info-from-files&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;true/false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;mainline.state.enabled.for.user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;true/false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.email&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;EMAIL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.extid&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;EXTID&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.givenname&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;GIVENNAME&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.surname&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SURNAME&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.department&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DEPARTMENT&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;backend.url&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http://127.0.0.1:8080&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;cvesearch.vendor.threshold&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;1&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;cvesearch.product.threshold&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;0&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;cvesearch.cutoff&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;6&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;combined.cli.parser.external.id.correlation.key&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;schedule.cvesearch.firstOffset.seconds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;0&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;schedule.cvesearch.interval.seconds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&amp;ldquo;(24&lt;em&gt;60&lt;/em&gt;60)&amp;rdquo;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;autostart&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.write.access.usergroup&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SW360_ADMIN&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.access.token.validity.seconds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;3600&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.security.client.id&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360-trusted-client&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.security.client.secret&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360-secret&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;programming.languages&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;ActionScript,AppleScript, Asp,Bash,BASIC, C,C++,C#,Cocoa,Clojure, COBOL,ColdFusion,D, Delphi,Erlang,Fortran, Go,Groovy,Haskell, JSP,Java,JavaScript,Objective-C, Ocaml,Lisp,Perl, PHP,Python,Ruby,SQL ,SVG,Scala,SmallTalk Scheme,Tcl,XML, Node.js,JSON&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;software.platforms&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Adobe AIR,Adobe Flash, Adobe Shockwave,Binary Runtime Environment for Wireless,Cocoa (API),Cocoa Touch,Java (software platform)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;operating.systems&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Android,BSD,iOS, Linux,OS X,QNX, Microsoft Windows,Windows Phone,IBM z/OS&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;clearing.teams&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;org1,org2,org3&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;state&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Active,Phase out,Unknown&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;project.type&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Customer Project,Internal Project,Product,Service,Inner Source&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;project.externalkeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;internal.id&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;license.identifiers&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;component.categories&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;framework,SDK,big-data, build-management,cloud,content, database,graphics,http, javaee,library,mail,mobile, security,testing,virtual-machine, web-framework,xml&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;component.externalkeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;com.github.id,com.gitlab.id,purl.id&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.project.roles&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Stakeholder,Analyst,Contributor,Accountant,End user,Quality manager,Test manager,Technical writer,Key user&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.component.roles&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Committer,Contributor,Expert&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.release.roles&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Committer,Contributor,Expert&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.release.externalIds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;release.externalkeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;org.maven.id,com.github.id,com.gitlab.id,purl.id&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;projectimport.hosts&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;preferred.country.codes&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DE,AT,CH,US&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_from&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;_&lt;a href=&#34;mailto:No_Reply__@sw360.org&#34;&gt;No_Reply__@sw360.org&lt;/a&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_host&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_port&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;25&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_enableStarttls&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_enableSsl&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_isAuthenticationNecessary&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;true&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_login&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_password&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_enableDebug&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_supportMailAddress&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;defaultBegin&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;defaultEnd&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;unsubscribeNoticeBefore&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;unsubscribeNoticeAfter&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;fossologyproperties-etcsw360fossologyproperties&#34;&gt;fossology.properties (/etc/sw360/fossology.properties)&lt;/h3&gt; +&lt;p&gt;These configuration parameters are necessary to connect to a fossology server.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.host&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;localhost&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.port&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;22&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.key.file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;/fossology.id_rsa&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.key.pub.file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;[fossology.key.file] + .pub&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;couchdbproperties-etcsw360couchdbproperties&#34;&gt;couchdb.properties (/etc/sw360/couchdb.properties)&lt;/h3&gt; +&lt;p&gt;CouchDB and Lucene serach configuration properties.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.url&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http://localhost:5984&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.database&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360db&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.password&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.userdb&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360users&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.attachments&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360attachments&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.fossologyKeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360fossologyKeys&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.vulnerability_management&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360vm&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;lucenesearch.limit&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;25&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;lucenesearch.leading.wildcard*&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;blockquote&gt; +&lt;p&gt;* If you enable lucene leading wildcards you have to enable this configuration also in couchdb-lucene.ini! Leading wildcard search is disabled as default because its a expensive operation. &lt;em&gt;(couchdb-lucene.ini is part of the couchdb-lucene .war package)&lt;/em&gt; &lt;br&gt; +[lucene] &lt;br&gt; +allowLeadingWildcard=true&lt;/p&gt; +&lt;/blockquote&gt; +&lt;h3 id=&#34;searchproperties-etcsw360searchproperties&#34;&gt;search.properties (/etc/sw360/search.properties)&lt;/h3&gt; +&lt;p&gt;The following table shall give an overview about the specific search properties&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;search.name.max.length&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;64&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;orgmappingproperties-etcsw360orgmappingproperties&#34;&gt;orgmapping.properties (/etc/sw360/orgmapping.properties)&lt;/h3&gt; +&lt;p&gt;This configuration file is used to activate the sw360 orgmapping feature.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;match.prefix&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;enable.custom.mapping&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;databasetestproperties-etcsw360databasetestproperties&#34;&gt;databasetest.properties (/etc/sw360/databasetest.properties)&lt;/h3&gt; +&lt;p&gt;Just for couchdb database test purpose.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couch_db_url&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http://localhost:5984&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couch_db_database&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;datahandlertestdb&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.username&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.password&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;authorizationapplicationyml-etcsw360authorizationapplicationyml&#34;&gt;authorization/application.yml (/etc/sw360/authorization/application.yml)&lt;/h3&gt; +&lt;p&gt;All of the following built-in properties can be overridden:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Port to open in standalone mode +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; port: 8090 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Connection to the couch databases. Will be used to store client credentials +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;couchdb: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; url: http://localhost:5984 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; database: sw360oauthclients +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # if your couchdb does not use authentication, pls just don&amp;#39;t use the settings for username and password +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; #username: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; #password: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spring: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jackson: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; serialization: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; indent_output: true +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Common SW360 properties +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # The url of the Liferay instance +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sw360-portal-server-url: ${SW360_PORTAL_SERVER_URL:http://127.0.0.1:8080} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # The id of the company in Liferay that sw360 is run for +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sw360-liferay-company-id: ${SW360_LIFERAY_COMPANY_ID:20155} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # Allowed origins that should be set in the header +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; cors: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; allowed-origin: ${SW360_CORS_ALLOWED_ORIGIN:#{null}} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # Configuration for enabling authorization via headers, e.g. when using SSO +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # in combination with a reverse proxy server +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; customheader: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; headername: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # You have to enable authorization by headers explicitly here +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; enabled: false +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # Attention: please make sure that the proxy is removing there headers +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # if they are coming from anywhere else then the authentication server +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; intermediateauthstore: custom-header-auth-marker +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; email: authenticated-email +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; extid: authenticated-extid +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # also available - at least in saml pre auth - are &amp;#34;givenname&amp;#34;, &amp;#34;surname&amp;#34; and &amp;#34;department&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; oauth2: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; resource: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; id: sw360-REST-API +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;restapplicationyml-etcsw360restapplicationyml&#34;&gt;rest/application.yml (/etc/sw360/rest/application.yml)&lt;/h3&gt; +&lt;p&gt;All of the following built-in properties can be overridden:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; port: 8091 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spring: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; http: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; multipart: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; max-file-size: 500MB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; max-request-size: 600MB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; data: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; rest: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; base-path: /api +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# logging: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# level: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# org.springframework.web: DEBUG +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; oauth2: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; resource: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; id: sw360-REST-API +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; filter-order: 3 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jwt: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; keyValue: | +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -----BEGIN PUBLIC KEY----- +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApz8Cr1o5yHMv/FUdF5uy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; VptilqdWtNvw5S6Tr4IaQ4XR9QPt8nlRsjOngfG4QCcKMBWJISldFg8PlJWUBeV+ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 6TwQUidxokl2GbO6/+QA+lz1a5Ei1Y1pcnvFeRb2pdYlH3Yg6fXMxS6QwDLk27pZ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 5xbpSDIGISDesyaIMvwaKdhAbFW/tTb/oJY7rCPvmYLT80kJzilijJ/W01jMMSHg +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 9Yi5cCt1eU/s78co+pxHzwNXO0Ul4iRpo/CXprQCsSIsdWkJTo6btal1xzd292Da +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; d+9xq499JEsNbcqLfCq8DBQ7CEz6aJjMvPkvZiCrFIGxC/Gqmw35DQ4688rbkKSJ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; PQIDAQAB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -----END PUBLIC KEY----- +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; thrift-server-url: ${SW360_THRIFT_SERVER_URL:http://localhost:8080} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; test-user-id: admin@sw360.org +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; test-user-password: sw360-password +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; couchdb-url: ${SW360_COUCHDB_URL:http://localhost:5984} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; cors: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; allowed-origin: ${SW360_CORS_ALLOWED_ORIGIN:#{null}} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Configuring Country Codes</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/</guid> + <description> + + + &lt;p&gt;This feature is available on:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;projects / Owner Country&lt;/li&gt; +&lt;li&gt;components / Owner Country&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/29916928/36796378-551cf572-1c9d-11e8-96aa-85ce98e97ff3.jpg&#34; alt=&#34;Country Code List&#34;&gt;&lt;/p&gt; +&lt;p&gt;Its supports preferred country codes, which are shown at the top of the country list. &lt;br&gt; +You can configure them by using the sw360.properties.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:center&#34;&gt;sw360 properties key&lt;/th&gt; +&lt;th style=&#34;text-align:center&#34;&gt;value&lt;/th&gt; +&lt;th style=&#34;text-align:center&#34;&gt;default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:center&#34;&gt;preferred.country.codes&lt;/td&gt; +&lt;td style=&#34;text-align:center&#34;&gt;(ISO 3166-1 alpha-2)&lt;/td&gt; +&lt;td style=&#34;text-align:center&#34;&gt;DE,AT,CH,US&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: CVE Scheduler</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/</guid> + <description> + + + &lt;h1 id=&#34;how-to-use-sw360-cve-schedule&#34;&gt;How to use SW360 CVE schedule&lt;/h1&gt; +&lt;p&gt;SW360 gets vulnerability information from Common Vulnerability Enumeration (CVE) data. SW360 can connect to your local cve-search server.&lt;br&gt; +&lt;em&gt;Few years ago, sw360 was able to get vulnerability information from online CVE serverr, but it is not active.&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;install-cve-search&#34;&gt;Install CVE-search&lt;/h2&gt; +&lt;p&gt;cve-search is a tool to import CVE (Common Vulnerabilities and Exposures) and CPE (Common Platform Enumeration) into a MongoDB to facilitate search and processing of CVEs. You can choose Docker install or Native install.&lt;/p&gt; +&lt;h3 id=&#34;docker-installation-github-repohttpsgithubcomcve-searchcve-search-docker&#34;&gt;Docker Installation &lt;a href=&#34;https://github.com/cve-search/CVE-Search-Docker&#34;&gt;Github repo&lt;/a&gt;&lt;/h3&gt; +&lt;p&gt;Only clone and &amp;ldquo;docker-compose up&amp;rdquo;.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ git clone https://github.com/cve-search/CVE-Search-Docker.git +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; CVE-Search-Docker +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ docker-compose up +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;native-installation-github-repohttpsgithubcomcve-searchcve-search&#34;&gt;Native Installation &lt;a href=&#34;https://github.com/cve-search/cve-search&#34;&gt;Github repo&lt;/a&gt;&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;Clone source&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ git clone https://github.com/cve-search/cve-search +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; cve-search +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ git checkout &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt;tag/branch&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt; +&lt;li&gt;Install system requirements&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get install -y &amp;lt; requirements.system +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt; +&lt;li&gt;Install CVE-Search and its Python dependencies&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; pip3 install -r requirements.txt +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt; +&lt;li&gt;Install mongodb&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#033&#34;&gt;codename&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;$(&lt;/span&gt;lsb_release --codename --short&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu &lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;codename&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;/mongodb-org/4.4 multiverse&amp;#34;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get update +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get install -y mongodb-org +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl daemon-reload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl start mongod +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Verify status of mongodb&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl status mongod +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# if all is ok, enable mongodb to start on system startup&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl &lt;span style=&#34;color:#366&#34;&gt;enable&lt;/span&gt; mongod +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;5&#34;&gt; +&lt;li&gt;Populating the database&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get install redis redis-server +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;#modify: stop-writes-on-bgsave-error yes -&amp;gt; no&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo vim /etc/redis/redis.conf +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl daemon-reload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl restart redis +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_mgmt_cpe_dictionary.py -p +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_mgmt_json.py -p +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_updater.py -c &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# This will take &amp;gt; 45minutes on a decent machine, please be patient&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;6&#34;&gt; +&lt;li&gt;Updating the database&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_updater.py -v +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;7&#34;&gt; +&lt;li&gt;Starting and stopping the web-server&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Install psutil &amp;gt;= 5.7.0&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ pip3 install psutil&amp;gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;5.7.0 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Starting web server&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ python3 web/index.py +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Default Web server: http://localhost:5000&lt;/p&gt; +&lt;p&gt;To stop the server, press the &lt;code&gt;CTRL+C&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: By default CVE-Search takes assumptions on certain configuration aspects of the application, you can adjust&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; cve-search +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ cp etc/configuration.ini.sample etc/configuration.ini +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ vim etc/configuration.ini +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;setup-sw360-with-cve-server&#34;&gt;Setup SW360 with CVE server&lt;/h2&gt; +&lt;ol&gt; +&lt;li&gt;Change default CVE server&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;Change &lt;code&gt;cvesearch.host&lt;/code&gt; with CVE server address.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ vim &lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_DIR_INSTALL&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;/backend/src/src-cvesearch/src/main/resources/cvesearch.properties +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt; +&lt;li&gt;Setting for schedule the CVE service&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;The offset (first run of the update) and the interval between updates can also be adjusted.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ vim &lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_DIR_INSTALL&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;/backend/src/src-schedule/src/main/resources/sw360.properties +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;offset&lt;/code&gt; has to be given in seconds since midnight and also the &lt;code&gt;interval&lt;/code&gt; has to be entered in seconds. The default is to update the vulnerabilities by CVEsearch every night at midnight, which corresponds to an offset of 0 and an interval of 24 hours (= 86400 seconds).&lt;/p&gt; +&lt;p&gt;According to the default settings, cveSearch is not auto-started with the scheduling service. If want to auto start &lt;code&gt;autostart = cvesearchService&lt;/code&gt;&lt;/p&gt; +&lt;ol start=&#34;3&#34;&gt; +&lt;li&gt;Schedule task Adminstration&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;View and start/stop schedule&lt;/p&gt; +&lt;p&gt;Click &lt;code&gt;Admin&lt;/code&gt; &amp;gt; &lt;code&gt;Schedule&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt; +&lt;p&gt;CVE guide: [https://cve-search.github.io/cve-search/database/database.html]&lt;/p&gt; +&lt;p&gt;User Scheduling CVE Search by Admins: [https://github.com/eclipse/sw360/wiki/User-Scheduling-CVE-Search-by-Admins]&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Docker Deployment</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-docker/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-docker/</guid> + <description> + + + &lt;h1 id=&#34;a-quick-how-to-for-testing-sw360&#34;&gt;A quick how-to for testing SW360&lt;/h1&gt; +&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt; +&lt;h3 id=&#34;platform-requirements&#34;&gt;Platform Requirements&lt;/h3&gt; +&lt;p&gt;As you need Apache Thrift 0.11.0 (see &lt;a href=&#34;https://github.com/eclipse/sw360#required-software&#34;&gt;https://github.com/eclipse/sw360#required-software&lt;/a&gt; ), using the latest Ubuntu LTS (18.04) won&amp;rsquo;t work, so we start on Ubuntu 19.10 if you want to install from packages. As an alternative, consider the following script from the sw360 repository:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/scripts/install-thrift.sh&#34;&gt;https://github.com/eclipse/sw360/blob/master/scripts/install-thrift.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;We&amp;rsquo;ll go the Docker way and follow the instructions of the &lt;a href=&#34;https://github.com/sw360/sw360chores&#34;&gt;sw360chores project&lt;/a&gt;. There is a nice diagram there, explaining the rather complex setup.&lt;/p&gt; +&lt;h3 id=&#34;sw360chores-requirements&#34;&gt;sw360chores Requirements&lt;/h3&gt; +&lt;blockquote&gt; +&lt;p&gt;the perl interpreter to run ./sw360chores.pl&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;You should already have it in your default, even if minimal, installation&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ which perl +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/usr/bin/perl +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt; +&lt;p&gt;git which is used in some prepare scripts&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;&lt;code&gt;sudo apt install git&lt;/code&gt;&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;a current version of docker (min 1.30) [https://docs.docker.com/]&lt;/p&gt; +&lt;/blockquote&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install docker.io +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt; +&lt;p&gt;docker-compose (min 1.21) [https://docs.docker.com/compose/install/]&lt;/p&gt; +&lt;/blockquote&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install docker-compose +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And you actually also need curl,&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install curl +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;sw360-requirements&#34;&gt;Sw360 Requirements&lt;/h3&gt; +&lt;p&gt;From the &lt;a href=&#34;https://github.com/eclipse/sw360#required-software&#34;&gt;sw360 Readme&lt;/a&gt;:&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;Java 1.8.X&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;And when they say &amp;ldquo;1.8.X&amp;rdquo;, they mean it: it won&amp;rsquo;t work with a later version. So it&amp;rsquo;s better to uninstall the potential other versions of Java (/!\ this is expected to break other things on your environment if you depend on Java for anything), and then install the required version&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sudo apt install openjdk-8-jdk openjdk-8-jre +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt; +&lt;p&gt;In order to build you will need:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;A git client&lt;/li&gt; +&lt;li&gt;Apache Maven 3.6.X&lt;/li&gt; +&lt;li&gt;Apache Thrift 0.11.0&lt;/li&gt; +&lt;/ul&gt; +&lt;/blockquote&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install maven +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That will install maven Apache Maven 3.6.1 but you need to have installed the correct version (8) of Java &lt;em&gt;before hand&lt;/em&gt; otherwise it will install a too recent one.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install thrift-compiler +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That will install Thrift version 0.11.0, if you have not installed thrift using the script above.&lt;/p&gt; +&lt;h2 id=&#34;cloning-the-repos&#34;&gt;Cloning the repos&lt;/h2&gt; +&lt;h3 id=&#34;generating-an-ssh-key-pair-for-your-machine&#34;&gt;Generating an ssh key-pair for your machine&lt;/h3&gt; +&lt;p&gt;If you don&amp;rsquo;t already have one, generate a key pair with no passphrase, in default location:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-keygen -t rsa -b 4096 -C &amp;#34;your_email@example.com&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Not 100% sure, but not having one may create problems, so&amp;hellip;&lt;/p&gt; +&lt;h3 id=&#34;cloning-sw360-chores&#34;&gt;Cloning sw360 chores&lt;/h3&gt; +&lt;p&gt;I created a &lt;code&gt;code&lt;/code&gt; folder at the root of the user&amp;rsquo;s directory, just to make things simple.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~$ cd code +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/code$ git clone https://github.com/sw360/sw360chores.git +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;cloning-eclipsesw360&#34;&gt;Cloning eclipse/sw360&lt;/h3&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/code$ git clone https://github.com/eclipse/sw360.git +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;compiling-and-deploying-sw360-code&#34;&gt;Compiling and deploying SW360 Code&lt;/h2&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;~$&lt;/span&gt; cd code&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;code&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;$&lt;/span&gt; mvn &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;home&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;inno3&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;code&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360chores&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;_deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;DskipTests +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;launching-the-containers&#34;&gt;Launching the containers&lt;/h2&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd ~/code/sw360chores/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/code/sw360chores$ ./sw360chores.pl --build -- up +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And yes, there is a space between &lt;code&gt;--&lt;/code&gt; and &lt;code&gt;up&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;If everything goes fine, you should see a line like&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360_1 | 15-Jan-2020 12:33:38.480 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [144,475] milliseconds +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should be able to login at &lt;a href=&#34;https://localhost:8443&#34;&gt;https://localhost:8443&lt;/a&gt; with the default credentials &lt;code&gt;setup@sw360.org&lt;/code&gt; and the password &lt;code&gt;sw360fossy&lt;/code&gt; (found &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Deploy-Liferay#liferay-administrator-steps&#34;&gt;here&lt;/a&gt;).&lt;/p&gt; +&lt;p&gt;Please go ahead now with the setup of the Liferay - links can be found in the main wiki page.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Export and Import</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/</guid> + <description> + + + &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-diff&#34; data-lang=&#34;diff&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- note that only export and import of users is active, +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- everything else is deprecated functionality. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- The export and import functionality has not been +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- updated at some point and thus will not function +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- properly anymore. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;full-export&#34;&gt;Full Export&lt;/h1&gt; +&lt;p&gt;The easiest way to fully export the data is to copy all the .couch files of Couch-DB. Where the files are can be found out from Futon. +e.g.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:5984/_utils/config.html +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;under&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;view_index_dir /var/lib/couchdb +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method of exporting has the advantage that all Ids remain the same. +An equally simple method it to use the Couch-DB replicator from Futon.&lt;/p&gt; +&lt;p&gt;This method might fail when there are changes to the document structure as Ektorp might stumble over unset required or surplus fields. The method of choice here is to repair the DB (after a backup) with&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://github.com/couchapp/couchapp +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and then follows the instructions from&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://harthur.github.io/costco/ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;couchapp push . http://localhost:5984/sw360users +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;then you go to&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:5984/sw360users/_design/costco/index.html +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and you can run functions like:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;function(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if (doc.type == &amp;#39;user&amp;#39;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if(doc.fullname == &amp;#39;Homer J. Simons&amp;#39;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.fullname = &amp;#39;Homer Jay Simons&amp;#39;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; return doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also change the names of properties, e.g.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;function(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if (doc.type == &amp;#39;user&amp;#39;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if(doc.fullname ) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.fullname2 = doc.fullname; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; delete doc.fullname; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; return doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;csv-export&#34;&gt;CSV Export&lt;/h1&gt; +&lt;h2 id=&#34;users&#34;&gt;Users&lt;/h2&gt; +&lt;p&gt;The export of users was already described, this is very important as this also creates the users in the liferay database. The mere export of the users.couch is not enough.&lt;/p&gt; +&lt;h2 id=&#34;projects&#34;&gt;Projects&lt;/h2&gt; +&lt;p&gt;There is no CSV export or import for projects currently.&lt;/p&gt; +&lt;h2 id=&#34;components-and-releases&#34;&gt;Components and Releases&lt;/h2&gt; +&lt;p&gt;To Export the components and releases you need to do the following: +As Components and Releases are identified by their identifier ([name] or [name(version)]), these identifiers need to be unique. When importing duplicates in the identifiers are ignored and they are also not exported. +Therefore in the admin page you can check the database for such duplicates.&lt;/p&gt; +&lt;p&gt;After that &amp;ldquo;Download Component CSV&amp;rdquo; creates a CSV with components, releases and their source attachments. +The source attachments are created if the &amp;ldquo;DownloadURL&amp;rdquo; is a valid url. +These remote-only attachments will be download once the first download request occurs. +If the URL does not exist you get an error.&lt;/p&gt; +&lt;p&gt;Alternatively you can use&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/backend/utils/src/main/java/com/siemens/sw360/attachments/db/RemoteAttachmentDownloader.java +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;to bulk download the source only attachments. +The command line call to use it from the Siemens network looks like this:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; java -jar -Dhttp.proxyHost=proxyfarm.3dns.netz.sbs.de -Dhttps.proxyHost=proxyfarm.3dns.netz.sbs.de -Dhttp.proxyPort=84 -Dhttps.proxyPort=84 /home/siemagrant/.m2/repository/com/siemens/sw360/backend-utils/0.1.1-SNAPSHOT/backend-utils-0.1.1-SNAPSHOT-jar-with-dependencies.jar -d +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;attachments&#34;&gt;Attachments&lt;/h2&gt; +&lt;p&gt;Here we have a mixed strategy, as there is a CSV export for the attachments, which only stores the meta information about the files. The files themselves need to be brought into a new instance via the sw360attachments.couch database.&lt;/p&gt; +&lt;p&gt;The ids of the attachments are also in the CSV, so they are not portable without the sw360attachments.couch. This is meant as a form of recovery, but it should not be used on an instance that has been worked on, so only a fresh set up.&lt;/p&gt; +&lt;p&gt;This will overwrite the auto generated attachments from the component CSV if the have the same URL as one of the imported attachments. This feature is needed to render the procedure idempotent.&lt;/p&gt; +&lt;p&gt;The admin interface provides the possibility to delete attachment contents that do not have a project, component or release with an attachment that references it.&lt;/p&gt; +&lt;p&gt;If you copy the sw360attachments.couch to your instance and then click this before you import than the db should be empty afterwards.&lt;/p&gt; +&lt;p&gt;If there was no error after importing the csv, running this job should yield no deletions if there was no error and the exported attachments where complete.&lt;/p&gt; +&lt;p&gt;In general this should only be necessary if errors have occurred. +It is a good idea to run this before you export the attachments.&lt;/p&gt; +&lt;h2 id=&#34;release-links&#34;&gt;Release links&lt;/h2&gt; +&lt;p&gt;Links between releases can be exported or imported. +Because release links are stored in maps, the procedure is idempotent by construction. +The old links are overwritten with the imported data.&lt;/p&gt; +&lt;h2 id=&#34;suggested-order-for-exports&#34;&gt;Suggested Order for Exports&lt;/h2&gt; +&lt;ol&gt; +&lt;li&gt;Freeze the application, so that others can not change the data at the moment (By external means, like closing a port forwarding)&lt;/li&gt; +&lt;li&gt;Clean up the attachments&lt;/li&gt; +&lt;li&gt;Look for duplicate identifiers and resolve conflicts (Important as duplicates do not get exported or imported)&lt;/li&gt; +&lt;li&gt;Export the Users, Components, Attachment Infos and release links&lt;/li&gt; +&lt;li&gt;copy the sw360attachments.couch, this might be a huge files&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;suggested-order-for-imports&#34;&gt;Suggested Order for Imports&lt;/h2&gt; +&lt;h3 id=&#34;on-a-fresh-installation&#34;&gt;On a fresh installation&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;Copy the sw360attachments.couch in its place&lt;/li&gt; +&lt;li&gt;Start the licenses importer&lt;/li&gt; +&lt;li&gt;restart the backend to make the design documents available and boot the frontend&lt;/li&gt; +&lt;li&gt;Import the users&lt;/li&gt; +&lt;li&gt;Import the component CSV&lt;/li&gt; +&lt;li&gt;Import the Attachment Infos&lt;/li&gt; +&lt;li&gt;Import the Release Link Infos.&lt;/li&gt; +&lt;/ol&gt; +&lt;h3 id=&#34;regular-maintenance-operations&#34;&gt;Regular Maintenance Operations&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;Run the attachments clean up&lt;/li&gt; +&lt;li&gt;Resolve name crashes with the search for duplicate Identifiers&lt;/li&gt; +&lt;/ol&gt; +&lt;h3 id=&#34;imports-on-a-running-instance&#34;&gt;Imports on a running instance&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;New components can be imported via the CSV at any time. Duplicates to existing components will be ignored, but there is a log message.&lt;/li&gt; +&lt;li&gt;Users can be added via CSV.&lt;/li&gt; +&lt;li&gt;Release links can be added via CSV, duplicates overwrite existing links&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;Attachments should not be imported on a running instance! +This should not break much, as without the entries in the couchDB there will be no import. +But potentially remote-only Attachments get deleted. +Nevertheless this scenario is not intended and maybe there are unforeseen side effects.&lt;/p&gt; +&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt; +&lt;h4 id=&#34;import-failing-in-the-backend-no-department&#34;&gt;Import failing in the Backend: No Department&lt;/h4&gt; +&lt;p&gt;The import fails with some error message that a user does not have a department?&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;First of all, the importing admin requires a group assignment. Otherwise the adding component action will fail.&lt;/li&gt; +&lt;li&gt;If a group is added to the admin, not that in addition to the Liferay group setting, this information must be also placed into the &amp;ldquo;sw360users&amp;rdquo; database in couchdb.&lt;/li&gt; +&lt;li&gt;Note that changes to groups and similar things will require a restart of the Liferay server (=tomcat). Otherwise the user caching kicks in and might not reflect all updates.&lt;/li&gt; +&lt;/ol&gt; + + </description> + </item> + + <item> + <title>Docs: Security</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/</guid> + <description> + + + &lt;p&gt;After the basic installation, there are some following steps that should be considered for securing the deployment. The main issue that can be done upfront is the documentation of the involved components:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Lifearay&lt;/li&gt; +&lt;li&gt;Tomcat&lt;/li&gt; +&lt;li&gt;Couchdb&lt;/li&gt; +&lt;li&gt;Vagrant&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;For vagrant it is important to understand how to close the provisioning users and not keep default usernames and passwords open.&lt;/p&gt; +&lt;p&gt;Then for the applications, the following very first line measure should be considered:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;Change password of Liferay administrator user or check if that is appropriately secure.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;You should check the permissions of the involved users in the user management in Liferay.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Assign individual passwords for users, also you could force the users to change their passwords at login if you like.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Besides the general advice to check the deployment instructions for the involved components, it is of particular interest to limit couchdb access from localhost only.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Also for Tomcat you limit port access from localhost only.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Do you need the ssh ports open or can you just go to the machine (physically).&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Fix the admin party on couchdb&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Add https access to couchdb&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;check that sw360 eyecuting user does not have sudo rights and config files for sw360 are &lt;code&gt;600&lt;/code&gt; only for the executing user.&lt;/p&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Note that the Linux vagrant scripts applies somesecurity measures already on the OS level.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: System Requirements</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/</guid> + <description> + + + &lt;p&gt;For deploying the SW360, there are the following hardware requirements below. Please note that the main memory consumer is the tomcat application container. Accordingly, this requires different settings (see &lt;code&gt;$TOMCAT_HOME/bin/setenv.sh&lt;/code&gt;).&lt;/p&gt; +&lt;p&gt;Please note that you can review the current memory situation of the application in the liferay administration section as well (see &lt;code&gt;Configuration&lt;/code&gt;-&amp;gt; &lt;code&gt;Server Administration&lt;/code&gt;).&lt;/p&gt; +&lt;h2 id=&#34;hardware-and-infrastructure&#34;&gt;Hardware and Infrastructure&lt;/h2&gt; +&lt;h3 id=&#34;cd-based-test-instances&#34;&gt;CD-based test instances&lt;/h3&gt; +&lt;p&gt;When there is a continuous deployment and continuous delivery directly deployed to machine the following machine is recommended:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;1 core&lt;/li&gt; +&lt;li&gt;4GB RAM&lt;/li&gt; +&lt;li&gt;40GB normal file system&lt;/li&gt; +&lt;li&gt;10Mbit Ethernet link&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;In this case, the sw360 solution runs fairly well for clicking around and creation of a few data sets. Note that Tomcat should have 2GB.&lt;/p&gt; +&lt;h3 id=&#34;staging-instances&#34;&gt;Staging instances&lt;/h3&gt; +&lt;p&gt;Testing and working with normal data sets for staging and pre-productive testing. Pre productive does not need to have the same execution speed of the machine, however, requires enough RAM and file system to run a clone on the data set.&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;2 cores&lt;/li&gt; +&lt;li&gt;8GB RAM&lt;/li&gt; +&lt;li&gt;500GB normal file system&lt;/li&gt; +&lt;li&gt;100Mbit Ethernet link&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;The tomcat should be adjusted to 4GB RAM&lt;/p&gt; +&lt;h3 id=&#34;productive-instances&#34;&gt;Productive instances&lt;/h3&gt; +&lt;p&gt;Productive with for example: 10K releases, 2k users which deploys the entire solution onto a single larger machine. It does not apply to a docker based setup.&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;4 cores&lt;/li&gt; +&lt;li&gt;16GB RAM&lt;/li&gt; +&lt;li&gt;500GB SSD based file system&lt;/li&gt; +&lt;li&gt;1GBit link Ethernet link&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Tomcat should be adjusted to 10-12GB RAM. Note: normally, you could also run Tomcat with significantly lees RAM, if you put common dependencies in a shared lib folder.&lt;/p&gt; +&lt;h3 id=&#34;network&#34;&gt;Network&lt;/h3&gt; +&lt;p&gt;The following table shall give an overview about the inbound ports&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Port&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Service&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Remarks&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;443&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;https&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Accessing the application&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;22&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;ssh&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Administering the application&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;80&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;if you would like to access the solution over http&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;5984/5985&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http/https&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;if access to the couchdb (admin) interface is required&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;Overview about the &lt;em&gt;additional&lt;/em&gt; outbound ports:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Port&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Service&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Remarks&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;3269&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sldap&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If you do authentication using secure LDAP&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;443&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sldap&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If you do consume services over https (e.g. vulnerabilty pulling)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;53&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;dns&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;22&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;ssh&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;the old way of calling a fossology server&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;Outbound ports for http / https may be required for downloading system updates. Ports for ssh may not be required outbound.&lt;/p&gt; +&lt;h2 id=&#34;software&#34;&gt;Software:&lt;/h2&gt; +&lt;p&gt;As for the software, the sw360 can be run on many platforms, even on Windows seven. We have the following reference platform for development:&lt;/p&gt; +&lt;p&gt;until 5:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;OpenJDK 8&lt;/li&gt; +&lt;li&gt;Unbunu 16.04 LTS&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;after 5:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;openjdk 8&lt;/li&gt; +&lt;li&gt;ubuntu 18.04 LTS&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;after 11:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;openjdk 11&lt;/li&gt; +&lt;li&gt;ubuntu 18.04 LTS&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;More information about requirements can be found here: &lt;a href=&#34;https://github.com/sw360/sw360vagrant/wiki&#34;&gt;https://github.com/sw360/sw360vagrant/wiki&lt;/a&gt;&lt;/p&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/index.html b/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/index.html new file mode 100644 index 0000000..b8d2281 --- /dev/null +++ b/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/index.html @@ -0,0 +1,908 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Liferay 7.3 and Java 11 | Eclipse SW360</title> +<meta name="description" content="Upgrading previous sw360 instances to Liferay 7.3.x and Java 11"> +<meta property="og:title" content="Liferay 7.3 and Java 11" /> +<meta property="og:description" content="Upgrading previous sw360 instances to Liferay 7.3.x and Java 11" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Liferay 7.3 and Java 11"> +<meta itemprop="description" content="Upgrading previous sw360 instances to Liferay 7.3.x and Java 11"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="2308"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Liferay 7.3 and Java 11"/> +<meta name="twitter:description" content="Upgrading previous sw360 instances to Liferay 7.3.x and Java 11"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check" checked/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check" checked/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="td-sidebar-nav-active-item">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Upgrading/Deploy-Upgrade-to-Liferay-7.3-and-Java-11.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Upgrading/Deploy-Upgrade-to-Liferay-7.3-and-Java-11.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Upgrading/Deploy-Upgrade-to-Liferay-7.3-and-Java-11.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Liferay%207.3%20and%20Java%2011" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#introduction">Introduction</a></li> + <li><a href="#overview">Overview</a></li> + <li><a href="#initial-steps">Initial steps</a> + <ul> + <li><a href="#keeping-more-settings-files">Keeping More Settings Files</a></li> + </ul> + </li> + <li><a href="#ubuntu-release-upgrade">Ubuntu Release Upgrade</a></li> + <li><a href="#migration-of-postgresql">Migration of PostgreSQL</a></li> + <li><a href="#migration-of-couchdb">Migration of CouchDB</a> + <ul> + <li><a href="#migration-of-couchdb-databases">Migration of CouchDB Databases</a></li> + </ul> + </li> + <li><a href="#update-thrift">Update Thrift</a></li> + <li><a href="#from-openjdk-8-to-openjdk-11">From OpenJDK 8 to OpenJDK 11</a></li> + <li><a href="#updating-liferay">Updating Liferay</a> + <ul> + <li><a href="#migration-of-existing-database">Migration of existing database</a></li> + <li><a href="#more-migration">More Migration</a></li> + <li><a href="#auto-start">Auto Start</a></li> + <li><a href="#adjust-memory">Adjust Memory</a></li> + </ul> + </li> + <li><a href="#install-prerequisites">Install Prerequisites</a></li> + <li><a href="#install-couchdb-lucene">Install Couchdb Lucene</a></li> + <li><a href="#deploy-new-sw360">Deploy New SW360</a></li> + <li><a href="#final-steps-in-liferay">Final Steps in Liferay</a></li> + <li><a href="#known-issues">Known Issues</a> + <ul> + <li><a href="#database-availability-right-after-update">Database Availability Right after Update</a></li> + <li><a href="#e-mail-verification-trap">E-Mail Verification Trap</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/upgrading/">Upgrade</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/">Liferay 7.3 and Java 11</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Liferay 7.3 and Java 11</h1> + <div class="lead">Upgrading previous sw360 instances to Liferay 7.3.x and Java 11</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="introduction">Introduction</h2> +<p>We are covering the update for ubuntu here, because that is our main / agreed base system for running sw360. sw360 may run on a varienty of other linux distributions or OSes such as macosx, but in order to avoid problem we agreed on having a reference OS, which are the ubuntu long term releases.</p> +<p>With the update to Java 11, we upgraded from Ubuntu 16.04 to Ubuntu 18.04, both LTS version. This OS is used for example by the <a href="https://github.com/sw360/sw360vagrant">https://github.com/sw360/sw360vagrant</a> project.</p> +<p>So the update covers the following:</p> +<table> +<thead> +<tr> +<th>orign</th> +<th>target</th> +</tr> +</thead> +<tbody> +<tr> +<td>Ubuntu 16.04 LTS</td> +<td>Ubuntu 18.04 LTS</td> +</tr> +<tr> +<td>CoucbdDB 1.X (comes with Ubuntu)</td> +<td>CouchDB 2.X (not with Ubuntu anymore)</td> +</tr> +<tr> +<td>Postgresql 9.X (comes with Ubuntu)</td> +<td>Postgresql 10.X (comes with Ubuntu)</td> +</tr> +<tr> +<td>OpenJDK 8 (comes with Ubuntu)</td> +<td>openJDK 11 (comes with Ubuntu)</td> +</tr> +<tr> +<td>Apache Thrift 0.11/0.12</td> +<td>Apache Thrift 0.13</td> +</tr> +</tbody> +</table> +<h2 id="overview">Overview</h2> +<p>The upgrade consists of quite some tasks, as an overview:</p> +<ol> +<li>Make a backup</li> +<li>Execute sw360 migration scripts</li> +<li>Linux release upgrade</li> +<li>Java 11</li> +<li>Postgresql</li> +<li>CouchDB 2.X</li> +<li>Thrift to 0.13</li> +<li>Liferay ce 7.3.3</li> +<li>Copy your existing <code>portal-ext.properties</code> to now liferay_install location</li> +<li>copy from old liferay installation the <code>data/document_library</code> to the new liferay</li> +<li>Adjust <code>/etc/ini.d/tomcat</code> with path of new liferay</li> +<li>Adjust <code>$liferay_install</code> variable</li> +<li>add Java prerequisites to OSGi container</li> +<li>Update couchdb-lucene</li> +<li>Deploy new version of sw360</li> +<li>Adjust Liferay</li> +</ol> +<h2 id="initial-steps">Initial steps</h2> +<p>In order to &ldquo;calibrate the system&rdquo; just run the update / upgrade cycle once:</p> +<p><code># sudo apt update</code></p> +<p><code># sudo apt upgrade</code></p> +<h3 id="keeping-more-settings-files">Keeping More Settings Files</h3> +<p><strong>apache.conf:</strong> Keep also the mod security conf files that are asked to update during installation</p> +<p><strong>sshd:</strong> Changes on the ssh / sshd conf files should be kept in case you have setup up dome remote public private key login (usually the case for server installation). Otherwise you re locked out maybe.</p> +<p><strong>Maven:</strong> if you change Maven, for example with your proxy settings, keep it too.</p> +<p>In general, whenever there is functionality you need, consider keeping existing settings files.</p> +<h2 id="ubuntu-release-upgrade">Ubuntu Release Upgrade</h2> +<p>There is maybe the remark to overwrite the current apache configuration. We propose to keep the currently installed apache files.</p> +<p><code># sudo do-release-upgrade</code></p> +<p>Answer &ldquo;yes&rdquo; for the download of packages and also confirm the update of the glibc, of course. Update the <code>system.conf</code>(install maintainer&rsquo;s version), depending on if you actually edited this. Some for <code>sysctl.conf</code>.</p> +<h2 id="migration-of-postgresql">Migration of PostgreSQL</h2> +<p>The existing 9.5 will not be upgraded, instead this message comes: After the release upgrade, you can check again if postgresql is installed:</p> +<p><code>sudo apt list postgre* --installed</code></p> +<p>Postgresql 9.5 should be the only installed. The old postgresql 9.5 must stay in fact, because the migration tool needs to be executing on a running postgresql 9.5 instance. Just having popstgresql 10 and a database only from postgresql 9.5 will not work. You can go ahead install postgresql 10:</p> +<p><code>sudo apt install postgresql-10</code></p> +<p>Then, apply the instruction to update from 9.5 to 10.0 from this page: <a href="https://stackoverflow.com/questions/47029055/how-do-i-upgrade-my-postgresql-9-5-to-postgresql-10-on-ubuntu-16-04">https://stackoverflow.com/questions/47029055/how-do-i-upgrade-my-postgresql-9-5-to-postgresql-10-on-ubuntu-16-04</a></p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span># service postgresql stop +</span></span><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span># pg_dropcluster --stop 10 main +</span></span><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span># pg_upgradecluster -m upgrade 9.5 main +</span></span><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span># pg_dropcluster 9.5 main --stop +</span></span><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span># apt-get autoremove --purge postgresql-9.5 +</span></span><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span># service postgresql start +</span></span></code></pre></div><p>(note that # means you need to be root or execute with sudo)</p> +<h2 id="migration-of-couchdb">Migration of CouchDB</h2> +<p>CouchDB is not part of the Ubuntu package management anymore. Thus, you need to add the Apache CouchDb package repository to install it, first the key for signing:</p> +<p><code>curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -</code></p> +<p>The add the repo to the sources:</p> +<p><code>echo &quot;deb https://apache.bintray.com/couchdb-deb bionic main&quot; | sudo tee -a /etc/apt/sources.list</code></p> +<p>Then, add its contents to the package database by updating apt:</p> +<p><code>sudo apt-get update -y</code></p> +<p>Ultimately install CouchDB, we tried with 2.1.2 initiall not to make a too far jump from 1.X, later versions may work as well. Note that for upgrading to CouchDB 3.X you would need an upgrade to 2.X first.</p> +<p><code>sudo apt-get install -y couchdb=2.1.2~bionic</code></p> +<p>The installer will ask a couple of questions:</p> +<ol> +<li>Bind address: for CouchDB and SW360 <code>127.0.0.1</code> (localhost) is a good bind address, if you would like to access the server from a remote computer because your sw360 runs as a server in the network, you would need to change accordingly.</li> +<li>Admin user: <strong>Warning</strong> The couchdb migration utility does not support authentication! Please do not enter an admin password, but apply it later. You can set the password for CouchDB in <code>couchdb.properties</code> and place it centrally in <code>/etc/sw360</code></li> +<li>Migration: yes you need to use <code>couchup</code> for migrating the databases</li> +</ol> +<p>In case you added an admin and need to remove it, try:</p> +<p><code>curl -X DELETE http://admin:password@127.0.0.1:5984/_config/admins/admin</code></p> +<p>where the two occurrences <code>admin</code> is the name of the admin user in the URL, whatever the user was called.</p> +<h3 id="migration-of-couchdb-databases">Migration of CouchDB Databases</h3> +<p>As a preparation: the CouchDB migration works by copying the databases, so the file system needs at least as much free space as the CouchDB databases use.</p> +<p>CouchDB offers a migration utility. It is advised that you remove all test databases as they do not seem to work with the migration utility. Important links are:</p> +<ul> +<li><a href="https://docs.couchdb.org/en/2.3.1/install/upgrading.html">https://docs.couchdb.org/en/2.3.1/install/upgrading.html</a></li> +<li><a href="https://github.com/apache/couchdb/pull/483">https://github.com/apache/couchdb/pull/483</a></li> +</ul> +<p>For some reason after installation, the <code>couchup</code>utility is not part of the path, so execute:</p> +<p><code>/opt/couchdb/bin/couchup list</code></p> +<p>It lists all DBs found. The go ahead with:</p> +<p><code>/opt/couchdb/bin/couchup replicate -a</code></p> +<p>It should replicate all databases in <code>/var/lib/couchdb</code>. Please refer to the couchup documentation, for the subsequent steps. A few remarks from our experience:</p> +<ol> +<li>The rebuold of the couchdb does not work for our test databases. Please refer to the documentation how to do this manually if you like.</li> +<li>The couchup utility crashes for large DB sizes with a time out error. Consider using the timeout option: <code>/opt/couchdb/bin/couchup replicate -a --timeout==10000</code> (with almost infinite timeout here)</li> +<li>On very large attachment database sizes (500GB), the couchdb configuration must be changed. We increased almost every related value by factor 10 (timeouts, memory, etc) in <code>/opt/couchdb/etc/default.ini</code> and good success with this.</li> +</ol> +<h2 id="update-thrift">Update Thrift</h2> +<p>For thrift, we need version 0.13. The installation script <code>scripts/install-thrift.sh</code>allows for uninstalling old versions:</p> +<p><code>sudo ./install-thrift.sh --uninstall</code></p> +<p>and then install</p> +<p><code>sudo ./install-thrift.sh</code></p> +<h2 id="from-openjdk-8-to-openjdk-11">From OpenJDK 8 to OpenJDK 11</h2> +<p>First check, what is installed.</p> +<p><code># sudo apt list openjdk* --installed</code></p> +<p>Then you could check what is available:</p> +<p><code># sudo apt list openjdk*</code></p> +<p>It should be that OpenJDK 8 is installed and both OpenJDK 8 and 11 are available. Then, remove the OpenJDK 8 and install 11:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sudo apt remove openjdk-8-jdk +</span></span><span style="display:flex;"><span>sudo apt remove openjdk-8-jre +</span></span><span style="display:flex;"><span>sudo apt remove openjdk-8-jdk-headless +</span></span><span style="display:flex;"><span>sudo apt remove openjdk-8-jre-headless +</span></span></code></pre></div><p>check if nothing is installed:</p> +<p><code># sudo apt list openjdk* --installed</code></p> +<p>Then install the openjdk-11-jdk:</p> +<p><code># sudo apt install openjdk-11-jdk</code></p> +<p>Then the <code>$JAVA_HOME</code> needs to be updated, most likely it is defined in <code>/etc/environment</code>. Please check for your installation how to set the <code>$JAVA_HOME</code> correctly.</p> +<h2 id="updating-liferay">Updating Liferay</h2> +<p>Download Liferay from this link</p> +<p><a href="https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz">https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz</a></p> +<p>and unpack it, ideally in the <code>/opt</code> directory, so resulting path would look like <code>liferay-ce-portal-7.3.3-ga4</code>.</p> +<p>Then, you need to update the <code>$LIFERAY_INSTALL</code> in <code>/etc/environment</code> from <code>LIFERAY_INSTALL=/opt/liferay-portal-7.2.0-ga1/ </code> to <code>LIFERAY_INSTALL=/opt/liferay-ce-portal-7.3.3-ga4</code>.</p> +<p>First, you will need to copy the <code>portal-ext.properties</code> from the old liferay folder to the new liferay folder (or new <code>$LIFERAY_HOME</code>):</p> +<p><code># cp /$old-liferay/portal-ext.properties $LIFERAY_INSTALL/portal-ext.properties</code></p> +<h3 id="migration-of-existing-database">Migration of existing database</h3> +<p>For a version upgrade from Liferay CE 7.2 to Liferay 7.3, migration scripts must be applied, they are located in <code>$LIFERAY_HOME/ tools/portal-tools-db-upgrade-client</code>. From there the following files needs to be adapted:</p> +<ul> +<li><code>app-server.properties</code>: most likely uncomment tomcat, because we re using liferay with tomcat.</li> +<li><code>portal-upgrade-database.properties</code>: uncomment postgresql section and add database user, default from installation is <code>liferay/liferay</code>, or it is stored in <code>portal-ext.properties</code> right where the JDBC driver is selected. Please note that your <code>portal-ext.properties</code> file in <code>$LIFERAY_INSTALL</code>can have the following line <code>include-and-override=/etc/sw360/portal-ext.properties</code>. In this case, consider the <code>portal-ext.properties</code>at that location.</li> +<li><code>portal-upgrade-ext.properties</code>: just the liferay home, you can leave it as it is</li> +</ul> +<p>If everything is done (and the postgresql migration took place), execute:</p> +<p><code># ./db_upgrade.sh</code></p> +<p>It should return a battery of <code>INFO</code> log level messages end with:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>Completed Liferay core upgrade process in 96 seconds +</span></span><span style="display:flex;"><span>Checking to see if all upgrades have completed... done. +</span></span></code></pre></div><h3 id="more-migration">More Migration</h3> +<p>The liferay migration covers apparently only the database, but not the files in the <code>$LIFERAY_HOME/data</code> folder. It would have been nicer, if that would have been covered too. Instead these must be copied manually. In fact, for the migration, it is advised to copy only the <code>/old-liferay/data/document_library</code> to the new location. Something like (different pwd &hellip;):</p> +<p><code># cp -r _attic/liferay-portal-7.2.1-ga2/data/document_library/ liferay-ce-portal-7.3.3-ga4/data/</code></p> +<h3 id="auto-start">Auto Start</h3> +<p>For auto start, you need an according init.d entry. It could be a file like <code>/etc/init.d/tomcat</code>. The file could be created if not there already, with the following contents:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#099">#!/bin/bash +</span></span></span><span style="display:flex;"><span><span style="color:#099"></span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic">### BEGIN INIT INFO</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Provides: tomcat7</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Required-Start: $network</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Required-Stop: $network</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Default-Start: 2 3 4 5</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Default-Stop: 0 1 6</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Short-Description: Start/Stop Tomcat server</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic">### END INIT INFO</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#033">PATH</span><span style="color:#555">=</span>/sbin:/bin:/usr/sbin:/usr/bin +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>start<span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/startup.sh +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span>stop<span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/shutdown.sh +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">case</span> <span style="color:#033">$1</span> in +</span></span><span style="display:flex;"><span> start|stop<span style="color:#555">)</span> <span style="color:#033">$1</span>;; +</span></span><span style="display:flex;"><span> restart<span style="color:#555">)</span> stop; start;; +</span></span><span style="display:flex;"><span> *<span style="color:#555">)</span> <span style="color:#366">echo</span> <span style="color:#c30">&#34;Run as </span><span style="color:#033">$0</span><span style="color:#c30"> &lt;start|stop|restart&gt;&#34;</span>; <span style="color:#366">exit</span> 1;; +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">esac</span> +</span></span></code></pre></div><p>Te user <code>siemagrant</code> is used in the sw360vagrant project. it is the username of the user where the liefray / sw360 server runs under in vagrant. Regardless how the user is named, it is important that liferay runs under an unprivileged user (for security reasons).</p> +<h3 id="adjust-memory">Adjust Memory</h3> +<p>When you have downloaded the liferay distribution, Tomcat is likely configured with very basic memory settings. For trying sw360, the standard memory settings are OK. But of course, the memory settings in <code>$LIFERAY_HOME/tomcat-X.0.XX/bin/setenv.sh</code> should be adapted again.</p> +<h2 id="install-prerequisites">Install Prerequisites</h2> +<p>For old installations, libthrift is not there (which causes an error at container startup), it should be downloaded and deployed:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>wget https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar +</span></span><span style="display:flex;"><span>mv libthrift-0.13.0.jar $LIFEARY_HOME/deploy/ +</span></span></code></pre></div><p>The the existing prerequisites needs to be copied from the <code>osgi/modules</code> from the old liferay installation:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cp commons-lang-2.4.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp commons-io-2.6.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp commons-csv-1.4.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp commons-collections4-4.1.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp commons-codec-1.12.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp commons-logging-1.2.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp gson-2.8.5.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp guava-21.0.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp jackson-annotations-2.9.8.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp jackson-core-2.9.8.jar $LIFERAY_HOME/deploy +</span></span><span style="display:flex;"><span>cp jackson-databind-2.9.8.jar $LIFERAY_HOME/deploy +</span></span></code></pre></div><p>note that with the <a href="https://github.com/eclipse/sw360/commit/71348b4fffa6e3e5fd761a3f63590a0a60663827">commit</a> to sw360-13.0.0-M1 you need also another dependency for apache poi:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>cp commons-compress-1.20.jar $LIFERAY_HOME/deploy +</span></span></code></pre></div><h2 id="install-couchdb-lucene">Install Couchdb Lucene</h2> +<p>SW360 uses for searching the contents of the couchdb databases a lucene-based server named couchdb-lucene. The main thing is that it requires pathing for the use in the normal SW3360 setups. The reason for the patch is that the developers presume that couchdb-lucene runs as the only component in the application server, while in the sw360 setup, there is a setup in which couchdb-lucene runs along with other components in the same application container.</p> +<p>Start with downloading the couchdb-lucene and rename the archive so the resulting URL path element will be <code>couchdb-lucene</code>:</p> +<p><code>wget https://github.com/rnewson/couchdb-lucene/archive/v2.1.0.tar.gz ./couchdb-lucene.tar.gz</code></p> +<p>Please refer to the script in sw360vagrant how to apply the patch to couchdb-lucene:</p> +<p><a href="https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh">https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh</a></p> +<p>Please note that the patching issue is well known in the project and it is unclear why it is not merged:</p> +<ul> +<li><a href="https://github.com/rnewson/couchdb-lucene/issues/161">https://github.com/rnewson/couchdb-lucene/issues/161</a> &ldquo;allow context-root other than &ldquo;/&rdquo; when running in servlet container&rdquo;</li> +<li><a href="https://github.com/rnewson/couchdb-lucene/pull/162">https://github.com/rnewson/couchdb-lucene/pull/162</a></li> +<li><a href="https://github.com/rnewson/couchdb-lucene/pull/152">https://github.com/rnewson/couchdb-lucene/pull/152</a></li> +</ul> +<p>Now, for CouchDB 2.X the hook for integration of a search component has chaned compared to CouchDB 1.X. Accordingly, the old couchdb-lucene component must be replaced with the latest version.</p> +<h2 id="deploy-new-sw360">Deploy New SW360</h2> +<p>You will need to checkout new Java-11 based version of the SW360, which is either tagged version 11 or some few commits before that. Then build in the sw360 project root using:</p> +<p><code>mvn clean install -DskipTests</code></p> +<p>This will install new artfacts, such as lib-datahandler in your maven repostiory. Then apply in the same:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span>mvn clean <span style="color:#069;font-weight:bold">package</span> <span style="color:#555">-</span>P deploy <span style="color:#555">-</span>Dbase.deploy.dir=. <span style="color:#555">-</span>Dliferay.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>deploy<span style="color:#555">/</span> <span style="color:#555">-</span>Dbackend.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> <span style="color:#555">-</span>Drest.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> <span style="color:#555">-</span>DskipTests +</span></span></code></pre></div><p>Skipping tests has the reason that usually, the sw360 is tested in the CI and thus, local tests are note necessary, if the code has not been changed locally. Note that the REST API documentation framework is based on building test cases and thus for deploying a version with REST API documentation, tests should be executed:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span>cd rest +</span></span><span style="display:flex;"><span>mvn clean <span style="color:#069;font-weight:bold">package</span> <span style="color:#555">-</span>P deploy <span style="color:#555">-</span>Dbase.deploy.dir=. <span style="color:#555">-</span>Dliferay.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>deploy<span style="color:#555">/</span> <span style="color:#555">-</span>Dbackend.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> <span style="color:#555">-</span>Drest.deploy.dir=<span style="color:#555">/</span>opt<span style="color:#555">/</span>liferay<span style="color:#555">-</span>ce<span style="color:#555">-</span>portal<span style="color:#555">-</span><span style="color:#f60">7.3.3</span><span style="color:#555">-</span>ga4<span style="color:#555">/</span>tomcat<span style="color:#555">-</span><span style="color:#f60">9.0.33</span><span style="color:#555">/</span>webapps<span style="color:#555">/</span> +</span></span></code></pre></div><h2 id="final-steps-in-liferay">Final Steps in Liferay</h2> +<p>Liferay CE 7.3 bring some changes that still require manually applied settings to the running liferay server. Thus, you could start the liferay server or just restart the entire machine. The following two things need to be adaptedin liferay after successful startup in order to get the migration done:</p> +<ol> +<li> +<p>The automatic verification of e-mail adresses maybe be needed to be switched off, because it kicks in also for existing users. This can be done in &ldquo;Control Panerl&rdquo; -&gt; &ldquo;Instance Settings&rdquo; -&gt; &ldquo;User Authentication&rdquo; -&gt; &quot;&quot;</p> +</li> +<li> +<p>The JavaScript components jquery and fontawesone (that come with liferay) must be manually enabled now. For this got into &ldquo;Control Panel&rdquo; -&gt; &ldquo;System Settings&rdquo; -&gt; &ldquo;Thrid Party&rdquo;. and from then select the two JavaScript components from the left and enable them accordingly.</p> +</li> +</ol> +<h2 id="known-issues">Known Issues</h2> +<h3 id="database-availability-right-after-update">Database Availability Right after Update</h3> +<p>Right after updating, the sw360 will not show up data at all, but sometimes nothing or &ldquo;portlet unavailable&rdquo;. The problem is the re-indexing of the DB and the search index which takes a while. You can trigger reindexing in the systems. A lazy way is call all (main) views so the database stumbles accross it and starts the indexing tasks (see job view in the couchdb admin interface of Futon). The sam eis for searches, the first searches will fail and the lucene will do some internal updates. leaving the system working for some time and follow the log will help. Could take 30 minutes.</p> +<h3 id="e-mail-verification-trap">E-Mail Verification Trap</h3> +<p>Liferay has automatically enabled password verification for all accounts right after migration. Not sure what motivates persons to enable such feature by default right after migration from an instance where it was not there? In case you have attached the system to an external login solution, but your liferay is not configured to send mails, then it is a trap, because you cannot verify the e-mail address and thus, cannot login. You need to disable the external login solution and use the original initial setup user to login (which is not asked for verification by e-mail) to disable this feature (see above).</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/upgrading/index.html b/docs/deployment/upgrading/index.html new file mode 100644 index 0000000..e0cacda --- /dev/null +++ b/docs/deployment/upgrading/index.html @@ -0,0 +1,636 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/deployment/upgrading/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Upgrade from previous instances | Eclipse SW360</title> +<meta name="description" content="SW360 Bare Metal Deployment"> +<meta property="og:title" content="Upgrade from previous instances" /> +<meta property="og:description" content="SW360 Bare Metal Deployment" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/deployment/upgrading/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Upgrade from previous instances"> +<meta itemprop="description" content="SW360 Bare Metal Deployment"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Upgrade from previous instances"/> +<meta name="twitter:description" content="SW360 Bare Metal Deployment"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check" checked/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check" checked/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="td-sidebar-nav-active-item">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Deployment/Upgrading/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Deployment/Upgrading/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Deployment/Upgrading/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Upgrade%20from%20previous%20instances" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/deployment/">Deployment</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/deployment/upgrading/">Upgrade</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Upgrade from previous instances</h1> + <div class="lead">SW360 Bare Metal Deployment</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/">Liferay 7.3 and Java 11</a> + </h5> + <p>Upgrading previous sw360 instances to Liferay 7.3.x and Java 11</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/deployment/upgrading/index.xml b/docs/deployment/upgrading/index.xml new file mode 100644 index 0000000..70eb8fb --- /dev/null +++ b/docs/deployment/upgrading/index.xml @@ -0,0 +1,277 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Upgrade from previous instances</title> + <link>https://www.eclipse.org/sw360/docs/deployment/upgrading/</link> + <description>Recent content in Upgrade from previous instances on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/deployment/upgrading/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: Liferay 7.3 and Java 11</title> + <link>https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/</guid> + <description> + + + &lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt; +&lt;p&gt;We are covering the update for ubuntu here, because that is our main / agreed base system for running sw360. sw360 may run on a varienty of other linux distributions or OSes such as macosx, but in order to avoid problem we agreed on having a reference OS, which are the ubuntu long term releases.&lt;/p&gt; +&lt;p&gt;With the update to Java 11, we upgraded from Ubuntu 16.04 to Ubuntu 18.04, both LTS version. This OS is used for example by the &lt;a href=&#34;https://github.com/sw360/sw360vagrant&#34;&gt;https://github.com/sw360/sw360vagrant&lt;/a&gt; project.&lt;/p&gt; +&lt;p&gt;So the update covers the following:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;orign&lt;/th&gt; +&lt;th&gt;target&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;Ubuntu 16.04 LTS&lt;/td&gt; +&lt;td&gt;Ubuntu 18.04 LTS&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CoucbdDB 1.X (comes with Ubuntu)&lt;/td&gt; +&lt;td&gt;CouchDB 2.X (not with Ubuntu anymore)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;Postgresql 9.X (comes with Ubuntu)&lt;/td&gt; +&lt;td&gt;Postgresql 10.X (comes with Ubuntu)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OpenJDK 8 (comes with Ubuntu)&lt;/td&gt; +&lt;td&gt;openJDK 11 (comes with Ubuntu)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;Apache Thrift 0.11/0.12&lt;/td&gt; +&lt;td&gt;Apache Thrift 0.13&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt; +&lt;p&gt;The upgrade consists of quite some tasks, as an overview:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Make a backup&lt;/li&gt; +&lt;li&gt;Execute sw360 migration scripts&lt;/li&gt; +&lt;li&gt;Linux release upgrade&lt;/li&gt; +&lt;li&gt;Java 11&lt;/li&gt; +&lt;li&gt;Postgresql&lt;/li&gt; +&lt;li&gt;CouchDB 2.X&lt;/li&gt; +&lt;li&gt;Thrift to 0.13&lt;/li&gt; +&lt;li&gt;Liferay ce 7.3.3&lt;/li&gt; +&lt;li&gt;Copy your existing &lt;code&gt;portal-ext.properties&lt;/code&gt; to now liferay_install location&lt;/li&gt; +&lt;li&gt;copy from old liferay installation the &lt;code&gt;data/document_library&lt;/code&gt; to the new liferay&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;/etc/ini.d/tomcat&lt;/code&gt; with path of new liferay&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;$liferay_install&lt;/code&gt; variable&lt;/li&gt; +&lt;li&gt;add Java prerequisites to OSGi container&lt;/li&gt; +&lt;li&gt;Update couchdb-lucene&lt;/li&gt; +&lt;li&gt;Deploy new version of sw360&lt;/li&gt; +&lt;li&gt;Adjust Liferay&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;initial-steps&#34;&gt;Initial steps&lt;/h2&gt; +&lt;p&gt;In order to &amp;ldquo;calibrate the system&amp;rdquo; just run the update / upgrade cycle once:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt update&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt upgrade&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;keeping-more-settings-files&#34;&gt;Keeping More Settings Files&lt;/h3&gt; +&lt;p&gt;&lt;strong&gt;apache.conf:&lt;/strong&gt; Keep also the mod security conf files that are asked to update during installation&lt;/p&gt; +&lt;p&gt;&lt;strong&gt;sshd:&lt;/strong&gt; Changes on the ssh / sshd conf files should be kept in case you have setup up dome remote public private key login (usually the case for server installation). Otherwise you re locked out maybe.&lt;/p&gt; +&lt;p&gt;&lt;strong&gt;Maven:&lt;/strong&gt; if you change Maven, for example with your proxy settings, keep it too.&lt;/p&gt; +&lt;p&gt;In general, whenever there is functionality you need, consider keeping existing settings files.&lt;/p&gt; +&lt;h2 id=&#34;ubuntu-release-upgrade&#34;&gt;Ubuntu Release Upgrade&lt;/h2&gt; +&lt;p&gt;There is maybe the remark to overwrite the current apache configuration. We propose to keep the currently installed apache files.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo do-release-upgrade&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Answer &amp;ldquo;yes&amp;rdquo; for the download of packages and also confirm the update of the glibc, of course. Update the &lt;code&gt;system.conf&lt;/code&gt;(install maintainer&amp;rsquo;s version), depending on if you actually edited this. Some for &lt;code&gt;sysctl.conf&lt;/code&gt;.&lt;/p&gt; +&lt;h2 id=&#34;migration-of-postgresql&#34;&gt;Migration of PostgreSQL&lt;/h2&gt; +&lt;p&gt;The existing 9.5 will not be upgraded, instead this message comes: After the release upgrade, you can check again if postgresql is installed:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt list postgre* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Postgresql 9.5 should be the only installed. The old postgresql 9.5 must stay in fact, because the migration tool needs to be executing on a running postgresql 9.5 instance. Just having popstgresql 10 and a database only from postgresql 9.5 will not work. You can go ahead install postgresql 10:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt install postgresql-10&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then, apply the instruction to update from 9.5 to 10.0 from this page: &lt;a href=&#34;https://stackoverflow.com/questions/47029055/how-do-i-upgrade-my-postgresql-9-5-to-postgresql-10-on-ubuntu-16-04&#34;&gt;https://stackoverflow.com/questions/47029055/how-do-i-upgrade-my-postgresql-9-5-to-postgresql-10-on-ubuntu-16-04&lt;/a&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# service postgresql stop +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# pg_dropcluster --stop 10 main +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# pg_upgradecluster -m upgrade 9.5 main +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# pg_dropcluster 9.5 main --stop +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# apt-get autoremove --purge postgresql-9.5 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# service postgresql start +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(note that # means you need to be root or execute with sudo)&lt;/p&gt; +&lt;h2 id=&#34;migration-of-couchdb&#34;&gt;Migration of CouchDB&lt;/h2&gt; +&lt;p&gt;CouchDB is not part of the Ubuntu package management anymore. Thus, you need to add the Apache CouchDb package repository to install it, first the key for signing:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The add the repo to the sources:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;echo &amp;quot;deb https://apache.bintray.com/couchdb-deb bionic main&amp;quot; | sudo tee -a /etc/apt/sources.list&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then, add its contents to the package database by updating apt:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get update -y&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Ultimately install CouchDB, we tried with 2.1.2 initiall not to make a too far jump from 1.X, later versions may work as well. Note that for upgrading to CouchDB 3.X you would need an upgrade to 2.X first.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get install -y couchdb=2.1.2~bionic&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The installer will ask a couple of questions:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Bind address: for CouchDB and SW360 &lt;code&gt;127.0.0.1&lt;/code&gt; (localhost) is a good bind address, if you would like to access the server from a remote computer because your sw360 runs as a server in the network, you would need to change accordingly.&lt;/li&gt; +&lt;li&gt;Admin user: &lt;strong&gt;Warning&lt;/strong&gt; The couchdb migration utility does not support authentication! Please do not enter an admin password, but apply it later. You can set the password for CouchDB in &lt;code&gt;couchdb.properties&lt;/code&gt; and place it centrally in &lt;code&gt;/etc/sw360&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;Migration: yes you need to use &lt;code&gt;couchup&lt;/code&gt; for migrating the databases&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;In case you added an admin and need to remove it, try:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;curl -X DELETE http://admin:password@127.0.0.1:5984/_config/admins/admin&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;where the two occurrences &lt;code&gt;admin&lt;/code&gt; is the name of the admin user in the URL, whatever the user was called.&lt;/p&gt; +&lt;h3 id=&#34;migration-of-couchdb-databases&#34;&gt;Migration of CouchDB Databases&lt;/h3&gt; +&lt;p&gt;As a preparation: the CouchDB migration works by copying the databases, so the file system needs at least as much free space as the CouchDB databases use.&lt;/p&gt; +&lt;p&gt;CouchDB offers a migration utility. It is advised that you remove all test databases as they do not seem to work with the migration utility. Important links are:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;a href=&#34;https://docs.couchdb.org/en/2.3.1/install/upgrading.html&#34;&gt;https://docs.couchdb.org/en/2.3.1/install/upgrading.html&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/apache/couchdb/pull/483&#34;&gt;https://github.com/apache/couchdb/pull/483&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;For some reason after installation, the &lt;code&gt;couchup&lt;/code&gt;utility is not part of the path, so execute:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;/opt/couchdb/bin/couchup list&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It lists all DBs found. The go ahead with:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;/opt/couchdb/bin/couchup replicate -a&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It should replicate all databases in &lt;code&gt;/var/lib/couchdb&lt;/code&gt;. Please refer to the couchup documentation, for the subsequent steps. A few remarks from our experience:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;The rebuold of the couchdb does not work for our test databases. Please refer to the documentation how to do this manually if you like.&lt;/li&gt; +&lt;li&gt;The couchup utility crashes for large DB sizes with a time out error. Consider using the timeout option: &lt;code&gt;/opt/couchdb/bin/couchup replicate -a --timeout==10000&lt;/code&gt; (with almost infinite timeout here)&lt;/li&gt; +&lt;li&gt;On very large attachment database sizes (500GB), the couchdb configuration must be changed. We increased almost every related value by factor 10 (timeouts, memory, etc) in &lt;code&gt;/opt/couchdb/etc/default.ini&lt;/code&gt; and good success with this.&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;update-thrift&#34;&gt;Update Thrift&lt;/h2&gt; +&lt;p&gt;For thrift, we need version 0.13. The installation script &lt;code&gt;scripts/install-thrift.sh&lt;/code&gt;allows for uninstalling old versions:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo ./install-thrift.sh --uninstall&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;and then install&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo ./install-thrift.sh&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;from-openjdk-8-to-openjdk-11&#34;&gt;From OpenJDK 8 to OpenJDK 11&lt;/h2&gt; +&lt;p&gt;First check, what is installed.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then you could check what is available:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk*&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It should be that OpenJDK 8 is installed and both OpenJDK 8 and 11 are available. Then, remove the OpenJDK 8 and install 11:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jdk +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jre +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jdk-headless +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jre-headless +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;check if nothing is installed:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then install the openjdk-11-jdk:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt install openjdk-11-jdk&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then the &lt;code&gt;$JAVA_HOME&lt;/code&gt; needs to be updated, most likely it is defined in &lt;code&gt;/etc/environment&lt;/code&gt;. Please check for your installation how to set the &lt;code&gt;$JAVA_HOME&lt;/code&gt; correctly.&lt;/p&gt; +&lt;h2 id=&#34;updating-liferay&#34;&gt;Updating Liferay&lt;/h2&gt; +&lt;p&gt;Download Liferay from this link&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&#34;&gt;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;and unpack it, ideally in the &lt;code&gt;/opt&lt;/code&gt; directory, so resulting path would look like &lt;code&gt;liferay-ce-portal-7.3.3-ga4&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;Then, you need to update the &lt;code&gt;$LIFERAY_INSTALL&lt;/code&gt; in &lt;code&gt;/etc/environment&lt;/code&gt; from &lt;code&gt;LIFERAY_INSTALL=/opt/liferay-portal-7.2.0-ga1/ &lt;/code&gt; to &lt;code&gt;LIFERAY_INSTALL=/opt/liferay-ce-portal-7.3.3-ga4&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;First, you will need to copy the &lt;code&gt;portal-ext.properties&lt;/code&gt; from the old liferay folder to the new liferay folder (or new &lt;code&gt;$LIFERAY_HOME&lt;/code&gt;):&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# cp /$old-liferay/portal-ext.properties $LIFERAY_INSTALL/portal-ext.properties&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;migration-of-existing-database&#34;&gt;Migration of existing database&lt;/h3&gt; +&lt;p&gt;For a version upgrade from Liferay CE 7.2 to Liferay 7.3, migration scripts must be applied, they are located in &lt;code&gt;$LIFERAY_HOME/ tools/portal-tools-db-upgrade-client&lt;/code&gt;. From there the following files needs to be adapted:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;app-server.properties&lt;/code&gt;: most likely uncomment tomcat, because we re using liferay with tomcat.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;portal-upgrade-database.properties&lt;/code&gt;: uncomment postgresql section and add database user, default from installation is &lt;code&gt;liferay/liferay&lt;/code&gt;, or it is stored in &lt;code&gt;portal-ext.properties&lt;/code&gt; right where the JDBC driver is selected. Please note that your &lt;code&gt;portal-ext.properties&lt;/code&gt; file in &lt;code&gt;$LIFERAY_INSTALL&lt;/code&gt;can have the following line &lt;code&gt;include-and-override=/etc/sw360/portal-ext.properties&lt;/code&gt;. In this case, consider the &lt;code&gt;portal-ext.properties&lt;/code&gt;at that location.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;portal-upgrade-ext.properties&lt;/code&gt;: just the liferay home, you can leave it as it is&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;If everything is done (and the postgresql migration took place), execute:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# ./db_upgrade.sh&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It should return a battery of &lt;code&gt;INFO&lt;/code&gt; log level messages end with:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Completed Liferay core upgrade process in 96 seconds +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking to see if all upgrades have completed... done. +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;more-migration&#34;&gt;More Migration&lt;/h3&gt; +&lt;p&gt;The liferay migration covers apparently only the database, but not the files in the &lt;code&gt;$LIFERAY_HOME/data&lt;/code&gt; folder. It would have been nicer, if that would have been covered too. Instead these must be copied manually. In fact, for the migration, it is advised to copy only the &lt;code&gt;/old-liferay/data/document_library&lt;/code&gt; to the new location. Something like (different pwd &amp;hellip;):&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# cp -r _attic/liferay-portal-7.2.1-ga2/data/document_library/ liferay-ce-portal-7.3.3-ga4/data/&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;auto-start&#34;&gt;Auto Start&lt;/h3&gt; +&lt;p&gt;For auto start, you need an according init.d entry. It could be a file like &lt;code&gt;/etc/init.d/tomcat&lt;/code&gt;. The file could be created if not there already, with the following contents:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;#!/bin/bash +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### BEGIN INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Provides: tomcat7&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Start: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Stop: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Start: 2 3 4 5&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Stop: 0 1 6&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Short-Description: Start/Stop Tomcat server&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### END INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;PATH&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;/sbin:/bin:/usr/sbin:/usr/bin +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stop&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/shutdown.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt; in +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; start|stop&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt;;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; restart&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; stop; start;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; *&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#366&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Run as &lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;$0&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;lt;start|stop|restart&amp;gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#366&#34;&gt;exit&lt;/span&gt; 1;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;esac&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Te user &lt;code&gt;siemagrant&lt;/code&gt; is used in the sw360vagrant project. it is the username of the user where the liefray / sw360 server runs under in vagrant. Regardless how the user is named, it is important that liferay runs under an unprivileged user (for security reasons).&lt;/p&gt; +&lt;h3 id=&#34;adjust-memory&#34;&gt;Adjust Memory&lt;/h3&gt; +&lt;p&gt;When you have downloaded the liferay distribution, Tomcat is likely configured with very basic memory settings. For trying sw360, the standard memory settings are OK. But of course, the memory settings in &lt;code&gt;$LIFERAY_HOME/tomcat-X.0.XX/bin/setenv.sh&lt;/code&gt; should be adapted again.&lt;/p&gt; +&lt;h2 id=&#34;install-prerequisites&#34;&gt;Install Prerequisites&lt;/h2&gt; +&lt;p&gt;For old installations, libthrift is not there (which causes an error at container startup), it should be downloaded and deployed:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv libthrift-0.13.0.jar $LIFEARY_HOME/deploy/ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The the existing prerequisites needs to be copied from the &lt;code&gt;osgi/modules&lt;/code&gt; from the old liferay installation:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-lang-2.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-io-2.6.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-csv-1.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-collections4-4.1.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-codec-1.12.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-logging-1.2.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp gson-2.8.5.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp guava-21.0.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp jackson-annotations-2.9.8.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp jackson-core-2.9.8.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp jackson-databind-2.9.8.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;note that with the &lt;a href=&#34;https://github.com/eclipse/sw360/commit/71348b4fffa6e3e5fd761a3f63590a0a60663827&#34;&gt;commit&lt;/a&gt; to sw360-13.0.0-M1 you need also another dependency for apache poi:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-compress-1.20.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;install-couchdb-lucene&#34;&gt;Install Couchdb Lucene&lt;/h2&gt; +&lt;p&gt;SW360 uses for searching the contents of the couchdb databases a lucene-based server named couchdb-lucene. The main thing is that it requires pathing for the use in the normal SW3360 setups. The reason for the patch is that the developers presume that couchdb-lucene runs as the only component in the application server, while in the sw360 setup, there is a setup in which couchdb-lucene runs along with other components in the same application container.&lt;/p&gt; +&lt;p&gt;Start with downloading the couchdb-lucene and rename the archive so the resulting URL path element will be &lt;code&gt;couchdb-lucene&lt;/code&gt;:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;wget https://github.com/rnewson/couchdb-lucene/archive/v2.1.0.tar.gz ./couchdb-lucene.tar.gz&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Please refer to the script in sw360vagrant how to apply the patch to couchdb-lucene:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&#34;&gt;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;Please note that the patching issue is well known in the project and it is unclear why it is not merged:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/issues/161&#34;&gt;https://github.com/rnewson/couchdb-lucene/issues/161&lt;/a&gt; &amp;ldquo;allow context-root other than &amp;ldquo;/&amp;rdquo; when running in servlet container&amp;rdquo;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/162&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/162&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/152&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/152&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Now, for CouchDB 2.X the hook for integration of a search component has chaned compared to CouchDB 1.X. Accordingly, the old couchdb-lucene component must be replaced with the latest version.&lt;/p&gt; +&lt;h2 id=&#34;deploy-new-sw360&#34;&gt;Deploy New SW360&lt;/h2&gt; +&lt;p&gt;You will need to checkout new Java-11 based version of the SW360, which is either tagged version 11 or some few commits before that. Then build in the sw360 project root using:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;mvn clean install -DskipTests&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;This will install new artfacts, such as lib-datahandler in your maven repostiory. Then apply in the same:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;DskipTests +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Skipping tests has the reason that usually, the sw360 is tested in the CI and thus, local tests are note necessary, if the code has not been changed locally. Note that the REST API documentation framework is based on building test cases and thus for deploying a version with REST API documentation, tests should be executed:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd rest +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;final-steps-in-liferay&#34;&gt;Final Steps in Liferay&lt;/h2&gt; +&lt;p&gt;Liferay CE 7.3 bring some changes that still require manually applied settings to the running liferay server. Thus, you could start the liferay server or just restart the entire machine. The following two things need to be adaptedin liferay after successful startup in order to get the migration done:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;The automatic verification of e-mail adresses maybe be needed to be switched off, because it kicks in also for existing users. This can be done in &amp;ldquo;Control Panerl&amp;rdquo; -&amp;gt; &amp;ldquo;Instance Settings&amp;rdquo; -&amp;gt; &amp;ldquo;User Authentication&amp;rdquo; -&amp;gt; &amp;quot;&amp;quot;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The JavaScript components jquery and fontawesone (that come with liferay) must be manually enabled now. For this got into &amp;ldquo;Control Panel&amp;rdquo; -&amp;gt; &amp;ldquo;System Settings&amp;rdquo; -&amp;gt; &amp;ldquo;Thrid Party&amp;rdquo;. and from then select the two JavaScript components from the left and enable them accordingly.&lt;/p&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;known-issues&#34;&gt;Known Issues&lt;/h2&gt; +&lt;h3 id=&#34;database-availability-right-after-update&#34;&gt;Database Availability Right after Update&lt;/h3&gt; +&lt;p&gt;Right after updating, the sw360 will not show up data at all, but sometimes nothing or &amp;ldquo;portlet unavailable&amp;rdquo;. The problem is the re-indexing of the DB and the search index which takes a while. You can trigger reindexing in the systems. A lazy way is call all (main) views so the database stumbles accross it and starts the indexing tasks (see job view in the couchdb admin interface of Futon). The sam eis for searches, the first searches will fail and the lucene will do some internal updates. leaving the system working for some time and follow the log will help. Could take 30 minutes.&lt;/p&gt; +&lt;h3 id=&#34;e-mail-verification-trap&#34;&gt;E-Mail Verification Trap&lt;/h3&gt; +&lt;p&gt;Liferay has automatically enabled password verification for all accounts right after migration. Not sure what motivates persons to enable such feature by default right after migration from an instance where it was not there? In case you have attached the system to an external login solution, but your liferay is not configured to send mails, then it is a trap, because you cannot verify the e-mail address and thus, cannot login. You need to disable the external login solution and use the original initial setup user to login (which is not asked for verification by e-mail) to disable this feature (see above).&lt;/p&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/developers/dev-adding-a-new-portlet-backend/index.html b/docs/developers/dev-adding-a-new-portlet-backend/index.html new file mode 100644 index 0000000..40668a4 --- /dev/null +++ b/docs/developers/dev-adding-a-new-portlet-backend/index.html @@ -0,0 +1,706 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>How to add a backend portlet to sw360 | Eclipse SW360</title> +<meta name="description" content="This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page …"> +<meta property="og:title" content="How to add a backend portlet to sw360" /> +<meta property="og:description" content="This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page does not create a new (thrift service), but just explains how to add more operations. +This explanation follows bottom up approach where we first add the backend methods and then call them later in the frontend. Quick summary: + Add methods to the thrift idl definition Add methods to the data handler interface Add implementation Add tests Thrift First we add some methods to the thrift files, components." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="How to add a backend portlet to sw360"> +<meta itemprop="description" content="This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page does not create a new (thrift service), but just explains how to add more operations. +This explanation follows bottom up approach where we first add the backend methods and then call them later in the frontend. Quick summary: + Add methods to the thrift idl definition Add methods to the data handler interface Add implementation Add tests Thrift First we add some methods to the thrift files, components."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="348"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="How to add a backend portlet to sw360"/> +<meta name="twitter:description" content="This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page does not create a new (thrift service), but just explains how to add more operations. +This explanation follows bottom up approach where we first add the backend methods and then call them later in the frontend. Quick summary: + Add methods to the thrift idl definition Add methods to the data handler interface Add implementation Add tests Thrift First we add some methods to the thrift files, components."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check" checked/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="td-sidebar-nav-active-item">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Adding-a-new-portlet:-Backend.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Adding-a-new-portlet:-Backend.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Adding-a-new-portlet:-Backend.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=How%20to%20add%20a%20backend%20portlet%20to%20sw360" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/">Add backend portlet</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>How to add a backend portlet to sw360</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page does not create a new (thrift service), but just explains how to add more operations.</p> +<p>This explanation follows bottom up approach where we first add the backend methods and then call them later in the frontend. Quick summary:</p> +<ol> +<li>Add methods to the thrift idl definition</li> +<li>Add methods to the data handler interface</li> +<li>Add implementation</li> +<li>Add tests</li> +</ol> +<h4 id="thrift">Thrift</h4> +<p>First we add some methods to the thrift files, components.thrift</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#09f;font-style:italic">//new Methods to ensure uniqueness of Identifiers +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"></span>map <span style="color:#555">&lt;</span>string<span style="color:#555">,</span> list<span style="color:#555">&lt;</span>string<span style="color:#555">&gt;&gt;</span> <span style="color:#c0f">getDuplicateComponents</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span>map <span style="color:#555">&lt;</span>string<span style="color:#555">,</span> list<span style="color:#555">&lt;</span>string<span style="color:#555">&gt;&gt;</span> <span style="color:#c0f">getDuplicateReleases</span><span style="color:#555">();</span> +</span></span></code></pre></div><h4 id="datahandler">Datahandler</h4> +<p>then we install lib-datahandler. That way we see which methods we have to implement. +We have chosen to change the interface of the ComponentService. That means we need to implement them in the ComponentHandler.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> <span style="color:#c0f">getDuplicateComponents</span><span style="color:#555">()</span> <span style="color:#069;font-weight:bold">throws</span> TException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> handler<span style="color:#555">.</span><span style="color:#309">getDuplicateComponents</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> <span style="color:#c0f">getDuplicateReleases</span><span style="color:#555">()</span> <span style="color:#069;font-weight:bold">throws</span> TException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> handler<span style="color:#555">.</span><span style="color:#309">getDuplicateReleases</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><h4 id="implementation">Implementation</h4> +<p>The methods there are only a reference to the ComponentDatabaseHandler.java. +In the ComponentHandler we only assert that the input is correct. +Since we implement methods without parameters, there is nothing else for us to do. +In the ComponentDatabaseHandler.java we actually do some work and implement the methods</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> <span style="color:#c0f">getDuplicateComponents</span><span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> ListMultimap<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> String<span style="color:#555">&gt;</span> componentIdentifierToComponentId <span style="color:#555">=</span> ArrayListMultimap<span style="color:#555">.</span><span style="color:#309">create</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">for</span> <span style="color:#555">(</span>Component component <span style="color:#555">:</span> componentRepository<span style="color:#555">.</span><span style="color:#309">getSummaryForExport</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> componentIdentifierToComponentId<span style="color:#555">.</span><span style="color:#309">put</span><span style="color:#555">(</span>SW360Utils<span style="color:#555">.</span><span style="color:#309">printName</span><span style="color:#555">(</span>component<span style="color:#555">),</span> component<span style="color:#555">.</span><span style="color:#309">getId</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> CommonUtils<span style="color:#555">.</span><span style="color:#309">getIdentifierToListOfDuplicates</span><span style="color:#555">(</span>componentIdentifierToComponentId<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> <span style="color:#c0f">getDuplicateReleases</span><span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> ListMultimap<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> String<span style="color:#555">&gt;</span> releaseIdentifierToReleaseId <span style="color:#555">=</span> ArrayListMultimap<span style="color:#555">.</span><span style="color:#309">create</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">for</span> <span style="color:#555">(</span>Release release <span style="color:#555">:</span> releaseRepository<span style="color:#555">.</span><span style="color:#309">getReleaseSummary</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> releaseIdentifierToReleaseId<span style="color:#555">.</span><span style="color:#309">put</span><span style="color:#555">(</span>SW360Utils<span style="color:#555">.</span><span style="color:#309">printName</span><span style="color:#555">(</span>release<span style="color:#555">),</span> release<span style="color:#555">.</span><span style="color:#309">getId</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> CommonUtils<span style="color:#555">.</span><span style="color:#309">getIdentifierToListOfDuplicates</span><span style="color:#555">(</span>releaseIdentifierToReleaseId<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><h4 id="tests">Tests</h4> +<p>We then write some tests in ComponentDatabaseHandlerTest.java</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#99f">@Test</span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">testDuplicateComponentIsFound</span><span style="color:#555">()</span> <span style="color:#069;font-weight:bold">throws</span> Exception <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> String originalComponentId <span style="color:#555">=</span> <span style="color:#c30">&#34;C3&#34;</span><span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> Component tmp <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">getComponent</span><span style="color:#555">(</span>originalComponentId<span style="color:#555">,</span> user1<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> tmp<span style="color:#555">.</span><span style="color:#309">unsetId</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> tmp<span style="color:#555">.</span><span style="color:#309">unsetRevision</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> String newComponentId <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">addComponent</span><span style="color:#555">(</span>tmp<span style="color:#555">,</span> email1<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> duplicateComponents <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">getDuplicateComponents</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> assertThat<span style="color:#555">(</span>duplicateComponents<span style="color:#555">.</span><span style="color:#309">size</span><span style="color:#555">(),</span> is<span style="color:#555">(</span>1<span style="color:#555">));</span> +</span></span><span style="display:flex;"><span> assertThat<span style="color:#555">(</span>duplicateComponents<span style="color:#555">.</span><span style="color:#309">get</span><span style="color:#555">(</span>printName<span style="color:#555">(</span>tmp<span style="color:#555">)),</span> containsInAnyOrder<span style="color:#555">(</span>newComponentId<span style="color:#555">,</span>originalComponentId<span style="color:#555">));</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#99f">@Test</span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">testDuplicateReleaseIsFound</span><span style="color:#555">()</span> <span style="color:#069;font-weight:bold">throws</span> Exception <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> String originalReleaseId <span style="color:#555">=</span> <span style="color:#c30">&#34;R1A&#34;</span><span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> Release tmp <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">getRelease</span><span style="color:#555">(</span>originalReleaseId<span style="color:#555">,</span> user1<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> tmp<span style="color:#555">.</span><span style="color:#309">unsetId</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> tmp<span style="color:#555">.</span><span style="color:#309">unsetRevision</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> String newReleaseId <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">addRelease</span><span style="color:#555">(</span>tmp<span style="color:#555">,</span> email1<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> duplicateReleases <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">getDuplicateReleases</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> assertThat<span style="color:#555">(</span>duplicateReleases<span style="color:#555">.</span><span style="color:#309">size</span><span style="color:#555">(),</span> is<span style="color:#555">(</span>1<span style="color:#555">));</span> +</span></span><span style="display:flex;"><span> assertThat<span style="color:#555">(</span>duplicateReleases<span style="color:#555">.</span><span style="color:#309">get</span><span style="color:#555">(</span>printName<span style="color:#555">(</span>tmp<span style="color:#555">)),</span> containsInAnyOrder<span style="color:#555">(</span>newReleaseId<span style="color:#555">,</span>originalReleaseId<span style="color:#555">));</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><p>Then we install the backend to make our methods available.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-adding-a-new-portlet-frontend/index.html b/docs/developers/dev-adding-a-new-portlet-frontend/index.html new file mode 100644 index 0000000..cdeb903 --- /dev/null +++ b/docs/developers/dev-adding-a-new-portlet-frontend/index.html @@ -0,0 +1,754 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>How to add a frontend portlet to sw360 | Eclipse SW360</title> +<meta name="description" content="We create a class in +sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ +called +DatabaseSanitation.java +Here are …"> +<meta property="og:title" content="How to add a frontend portlet to sw360" /> +<meta property="og:description" content="We create a class in +sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ called +DatabaseSanitation.java Here are some code snippets that are important: +public class DatabaseSanitation extends Sw360Portlet the base class Sw360Portlet adds some convenience methods to render the most common return values of functions into messages. +@Override public void doView(RenderRequest request, RenderResponse response) throws IOException, PortletException { // Proceed with page rendering super.doView(request, response); } This method is used to render different pages, a common pattern would be to have if/else tree like" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="How to add a frontend portlet to sw360"> +<meta itemprop="description" content="We create a class in +sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ called +DatabaseSanitation.java Here are some code snippets that are important: +public class DatabaseSanitation extends Sw360Portlet the base class Sw360Portlet adds some convenience methods to render the most common return values of functions into messages. +@Override public void doView(RenderRequest request, RenderResponse response) throws IOException, PortletException { // Proceed with page rendering super.doView(request, response); } This method is used to render different pages, a common pattern would be to have if/else tree like"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="591"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="How to add a frontend portlet to sw360"/> +<meta name="twitter:description" content="We create a class in +sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ called +DatabaseSanitation.java Here are some code snippets that are important: +public class DatabaseSanitation extends Sw360Portlet the base class Sw360Portlet adds some convenience methods to render the most common return values of functions into messages. +@Override public void doView(RenderRequest request, RenderResponse response) throws IOException, PortletException { // Proceed with page rendering super.doView(request, response); } This method is used to render different pages, a common pattern would be to have if/else tree like"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check" checked/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="td-sidebar-nav-active-item">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Adding-a-new-portlet:-Frontend.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Adding-a-new-portlet:-Frontend.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Adding-a-new-portlet:-Frontend.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=How%20to%20add%20a%20frontend%20portlet%20to%20sw360" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/">Add frontend portlet</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>How to add a frontend portlet to sw360</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>We create a class in</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ +</span></span></code></pre></div><p>called</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>DatabaseSanitation.java +</span></span></code></pre></div><p>Here are some code snippets that are important:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#069;font-weight:bold">class</span> <span style="color:#0a8;font-weight:bold">DatabaseSanitation</span> <span style="color:#069;font-weight:bold">extends</span> Sw360Portlet +</span></span></code></pre></div><p>the base class Sw360Portlet adds some convenience methods to render the most common return values of functions into messages.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">doView</span><span style="color:#555">(</span>RenderRequest request<span style="color:#555">,</span> RenderResponse response<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> IOException<span style="color:#555">,</span> PortletException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic">// Proceed with page rendering +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"></span> <span style="color:#069;font-weight:bold">super</span><span style="color:#555">.</span><span style="color:#309">doView</span><span style="color:#555">(</span>request<span style="color:#555">,</span> response<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><p>This method is used to render different pages, a common pattern would be to have if/else tree like</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#09f;font-style:italic">//! VIEW and helpers +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"></span><span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">doView</span><span style="color:#555">(</span>RenderRequest request<span style="color:#555">,</span> RenderResponse response<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> IOException<span style="color:#555">,</span> PortletException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> String pageName <span style="color:#555">=</span> request<span style="color:#555">.</span><span style="color:#309">getParameter</span><span style="color:#555">(</span>PAGENAME<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> <span style="color:#555">(</span>PAGENAME_EDIT<span style="color:#555">.</span><span style="color:#309">equals</span><span style="color:#555">(</span>pageName<span style="color:#555">))</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> prepareVendorEdit<span style="color:#555">(</span>request<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> include<span style="color:#555">(</span><span style="color:#c30">&#34;/html/vendors/edit.jsp&#34;</span><span style="color:#555">,</span> request<span style="color:#555">,</span> response<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">else</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> prepareStandardView<span style="color:#555">(</span>request<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">super</span><span style="color:#555">.</span><span style="color:#309">doView</span><span style="color:#555">(</span>request<span style="color:#555">,</span> response<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><p>but since we only have one page this is all we need. The jsp that is rendered by super.doView is set in</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>sw360<span style="color:#555">/</span>src<span style="color:#555">/</span>frontend<span style="color:#555">/</span>sw360<span style="color:#555">-</span>portlets<span style="color:#555">/</span>src<span style="color:#555">/</span>main<span style="color:#555">/</span>webapp<span style="color:#555">/</span>WEB<span style="color:#555">-</span>INF<span style="color:#555">/</span>portlet<span style="color:#555">.</span><span style="color:#309">xml</span> +</span></span></code></pre></div><p>but more on that later.</p> +<p>The next method in DatabaseSanitation handles resource requests, which are responses to AJAX calls:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>@Override +</span></span><span style="display:flex;"><span>public void serveResource(ResourceRequest request, ResourceResponse response) throws IOException, PortletException { +</span></span><span style="display:flex;"><span> String action = request.getParameter(PortalConstants.ACTION); +</span></span><span style="display:flex;"><span> if (PortalConstants.DUPLICATES.equals(action)) { +</span></span><span style="display:flex;"><span> serveDuplicates(request, response); +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>similar to the PAGENAME tree, here we have an ACTION if/else block. We only have one action, so this is simple.</p> +<p>Let&rsquo;s have a look at</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">private</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">serveDuplicates</span><span style="color:#555">(</span>ResourceRequest request<span style="color:#555">,</span> ResourceResponse response<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> IOException<span style="color:#555">,</span> PortletException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> duplicateComponents<span style="color:#555">=</span><span style="color:#069;font-weight:bold">null</span><span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> Map<span style="color:#555">&lt;</span>String<span style="color:#555">,</span> List<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;&gt;</span> duplicateReleases<span style="color:#555">=</span><span style="color:#069;font-weight:bold">null</span><span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">try</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> ComponentService<span style="color:#555">.</span><span style="color:#309">Iface</span> componentClient <span style="color:#555">=</span> thriftClients<span style="color:#555">.</span><span style="color:#309">makeComponentClient</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> duplicateComponents <span style="color:#555">=</span> componentClient<span style="color:#555">.</span><span style="color:#309">getDuplicateComponents</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> duplicateReleases <span style="color:#555">=</span> componentClient<span style="color:#555">.</span><span style="color:#309">getDuplicateReleases</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">catch</span> <span style="color:#555">(</span>TException e<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> log<span style="color:#555">.</span><span style="color:#309">error</span><span style="color:#555">(</span><span style="color:#c30">&#34;Error in component client&#34;</span><span style="color:#555">,</span> e<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span><span style="color:#555">(</span>duplicateComponents<span style="color:#555">==</span> <span style="color:#069;font-weight:bold">null</span> <span style="color:#555">||</span> duplicateReleases<span style="color:#555">==</span><span style="color:#069;font-weight:bold">null</span><span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> renderRequestStatus<span style="color:#555">(</span>request<span style="color:#555">,</span>response<span style="color:#555">,</span> RequestStatus<span style="color:#555">.</span><span style="color:#309">FAILURE</span><span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">else</span> <span style="color:#069;font-weight:bold">if</span><span style="color:#555">(</span>duplicateComponents<span style="color:#555">.</span><span style="color:#309">isEmpty</span><span style="color:#555">()</span> <span style="color:#555">&amp;&amp;</span> duplicateReleases<span style="color:#555">.</span><span style="color:#309">isEmpty</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> renderRequestStatus<span style="color:#555">(</span>request<span style="color:#555">,</span>response<span style="color:#555">,</span> RequestStatus<span style="color:#555">.</span><span style="color:#309">SUCCESS</span><span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">else</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> request<span style="color:#555">.</span><span style="color:#309">setAttribute</span><span style="color:#555">(</span>PortalConstants<span style="color:#555">.</span><span style="color:#309">DUPLICATE_RELEASES</span><span style="color:#555">,</span> duplicateReleases<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> request<span style="color:#555">.</span><span style="color:#309">setAttribute</span><span style="color:#555">(</span>PortalConstants<span style="color:#555">.</span><span style="color:#309">DUPLICATE_COMPONENTS</span><span style="color:#555">,</span> duplicateComponents<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> include<span style="color:#555">(</span><span style="color:#c30">&#34;/html/admin/databaseSanitation/duplicatesAjax.jsp&#34;</span><span style="color:#555">,</span> request<span style="color:#555">,</span> response<span style="color:#555">,</span> PortletRequest<span style="color:#555">.</span><span style="color:#309">RESOURCE_PHASE</span><span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><p>The member variable thriftClients is inherited from the Sw360Portlet. This is how we talk to the backend. +We call the methods that we wrote in the first part of the tutorial. +The error handling is reported with renderRequestStatus, also from Sw360Portlet. +When we have findings then we report them by rendering a jsp in the RESOURCE_PHASE. +This is then some html that our AJAX function gets as data.</p> +<p>Then we have to register the portlets in some xml files:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/liferay-display.xml +</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;portlet</span> <span style="color:#309">id=</span><span style="color:#c30">&#34;databaseSanitation&#34;</span><span style="color:#309;font-weight:bold">/&gt;</span> +</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/liferay-portlet.xml +</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;portlet&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;portlet-name&gt;</span>databaseSanitation<span style="color:#309;font-weight:bold">&lt;/portlet-name&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;icon&gt;</span>/icon.png<span style="color:#309;font-weight:bold">&lt;/icon&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;instanceable&gt;</span>false<span style="color:#309;font-weight:bold">&lt;/instanceable&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;header-portlet-css&gt;</span>/css/main.css<span style="color:#309;font-weight:bold">&lt;/header-portlet-css&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;header-portlet-javascript&gt;</span>/js/main.js<span style="color:#309;font-weight:bold">&lt;/header-portlet-javascript&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;header-portlet-javascript&gt;</span>/js/external/jquery-1.11.1.min.js<span style="color:#309;font-weight:bold">&lt;/header-portlet-javascript&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;/portlet&gt;</span> +</span></span></code></pre></div><p>Note that here it is important to include things like jquery in this way so that on multiple portlet pages there are no namespace conflicts.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/portlet.xml +</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span>... +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;portlet&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;portlet-name&gt;</span>databaseSanitation<span style="color:#309;font-weight:bold">&lt;/portlet-name&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;display-name&gt;</span>databaseSanitation<span style="color:#309;font-weight:bold">&lt;/display-name&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;portlet-class&gt;</span> +</span></span><span style="display:flex;"><span> com.siemens.sw360.portal.portlets.admin.DatabaseSanitation +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/portlet-class&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;init-param&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;name&gt;</span>view-template<span style="color:#309;font-weight:bold">&lt;/name&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;value&gt;</span>/html/admin/databaseSanitation/view.jsp<span style="color:#309;font-weight:bold">&lt;/value&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/init-param&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;expiration-cache&gt;</span>0<span style="color:#309;font-weight:bold">&lt;/expiration-cache&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;supports&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;mime-type&gt;</span>text/html<span style="color:#309;font-weight:bold">&lt;/mime-type&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;portlet-mode&gt;</span>view<span style="color:#309;font-weight:bold">&lt;/portlet-mode&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/supports&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;portlet-info&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;title&gt;</span>databaseSanitation<span style="color:#309;font-weight:bold">&lt;/title&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;short-title&gt;</span>databaseSanitation<span style="color:#309;font-weight:bold">&lt;/short-title&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;keywords/&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/portlet-info&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;security-role-ref&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;role-name&gt;</span>administrator<span style="color:#309;font-weight:bold">&lt;/role-name&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/security-role-ref&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;/portlet&gt;</span> +</span></span></code></pre></div><p>After these changes we compile the frontend and then we have to add new page to the Layout and add it to the lar file. +We sign in as admin, +go to</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>Admin -&gt; Site administration +</span></span><span style="display:flex;"><span>-&gt; Private Pages +</span></span></code></pre></div><p>To add the portlet to the page, we first change the theme of Private Pages to Classic, then select Add Page. We can drag and drop it under the Admin Page. +Then we select the Private Pages under My Sites. +We can then go to the page we have just created. +On the left side there is a plus sign, which opens a side menu with the available portlets that we can add to our page. +Under SW360 we find the portlet DatabaseSanitation and we click add. +Then we can change the option (The cog symbol on the right) Look and Feel to Show Borders -&gt; No and we save that. +Then we change the theme of Private Pages back to SW360-Theme.</p> +<p>Now we can change the theme back and export a new lar file as described else where.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-adding-new-fields-to-existing-classes/index.html b/docs/developers/dev-adding-new-fields-to-existing-classes/index.html new file mode 100644 index 0000000..fc836c6 --- /dev/null +++ b/docs/developers/dev-adding-new-fields-to-existing-classes/index.html @@ -0,0 +1,662 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>How to add fields to an existing class | Eclipse SW360</title> +<meta name="description" content="The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. …"> +<meta property="og:title" content="How to add fields to an existing class" /> +<meta property="og:description" content="The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. We will add the license text to licenses in the thrift file: +13:optionalstringtext;To update the text we write a liferay Action in the LicensesPortlet: + @UsedAsLiferayAction public void changeText(ActionRequest request, ActionResponse response) throws PortletException, IOException { String licenseId = request.getParameter(LICENSE_ID); String text = request." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="How to add fields to an existing class"> +<meta itemprop="description" content="The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. We will add the license text to licenses in the thrift file: +13:optionalstringtext;To update the text we write a liferay Action in the LicensesPortlet: + @UsedAsLiferayAction public void changeText(ActionRequest request, ActionResponse response) throws PortletException, IOException { String licenseId = request.getParameter(LICENSE_ID); String text = request."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="165"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="How to add fields to an existing class"/> +<meta name="twitter:description" content="The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. We will add the license text to licenses in the thrift file: +13:optionalstringtext;To update the text we write a liferay Action in the LicensesPortlet: + @UsedAsLiferayAction public void changeText(ActionRequest request, ActionResponse response) throws PortletException, IOException { String licenseId = request.getParameter(LICENSE_ID); String text = request."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check" checked/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="td-sidebar-nav-active-item">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Adding-New-Fields-to-Existing-Classes.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Adding-New-Fields-to-Existing-Classes.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Adding-New-Fields-to-Existing-Classes.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=How%20to%20add%20fields%20to%20an%20existing%20class" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/">Class new fields</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>How to add fields to an existing class</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. +We will add the license text to licenses in the thrift file:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-thrift" data-lang="thrift"><span style="display:flex;"><span><span style="color:#f60">13</span>:<span style="color:#bbb"> </span><span style="color:#069;font-weight:bold">optional</span><span style="color:#bbb"> </span><span style="color:#078;font-weight:bold">string</span><span style="color:#bbb"> </span>text;<span style="color:#bbb"> +</span></span></span></code></pre></div><p>To update the text we write a liferay Action in the LicensesPortlet:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span> <span style="color:#99f">@UsedAsLiferayAction</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">changeText</span><span style="color:#555">(</span>ActionRequest request<span style="color:#555">,</span> ActionResponse response<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> PortletException<span style="color:#555">,</span> IOException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> String licenseId <span style="color:#555">=</span> request<span style="color:#555">.</span><span style="color:#309">getParameter</span><span style="color:#555">(</span>LICENSE_ID<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> String text <span style="color:#555">=</span> request<span style="color:#555">.</span><span style="color:#309">getParameter</span><span style="color:#555">(</span>License<span style="color:#555">.</span><span style="color:#309">_Fields</span><span style="color:#555">.</span><span style="color:#309">TEXT</span><span style="color:#555">.</span><span style="color:#309">name</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span><span style="color:#555">(!</span>Strings<span style="color:#555">.</span><span style="color:#309">isNullOrEmpty</span><span style="color:#555">(</span>licenseId<span style="color:#555">))</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">try</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> User user <span style="color:#555">=</span> UserCacheHolder<span style="color:#555">.</span><span style="color:#309">getUserFromRequest</span><span style="color:#555">(</span>request<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> LicenseService<span style="color:#555">.</span><span style="color:#309">Iface</span> client <span style="color:#555">=</span> thriftClients<span style="color:#555">.</span><span style="color:#309">makeLicenseClient</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> License license <span style="color:#555">=</span> client<span style="color:#555">.</span><span style="color:#309">getFromID</span><span style="color:#555">(</span>licenseId<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> license<span style="color:#555">.</span><span style="color:#309">setText</span><span style="color:#555">(</span>CommonUtils<span style="color:#555">.</span><span style="color:#309">nullToEmptyString</span><span style="color:#555">(</span>text<span style="color:#555">));</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">final</span> RequestStatus requestStatus <span style="color:#555">=</span> client<span style="color:#555">.</span><span style="color:#309">updateLicense</span><span style="color:#555">(</span>license<span style="color:#555">,</span> user<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> renderRequestStatus<span style="color:#555">(</span>request<span style="color:#555">,</span>response<span style="color:#555">,</span>requestStatus<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">catch</span> <span style="color:#555">(</span>TException e<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> log<span style="color:#555">.</span><span style="color:#309">error</span><span style="color:#555">(</span><span style="color:#c30">&#34;Error updating license&#34;</span><span style="color:#555">,</span> e<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> response<span style="color:#555">.</span><span style="color:#309">setRenderParameter</span><span style="color:#555">(</span>LICENSE_ID<span style="color:#555">,</span> licenseId<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> response<span style="color:#555">.</span><span style="color:#309">setRenderParameter</span><span style="color:#555">(</span>PAGENAME<span style="color:#555">,</span> PAGENAME_DETAIL<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> response<span style="color:#555">.</span><span style="color:#309">setRenderParameter</span><span style="color:#555">(</span>SELECTED_TAB<span style="color:#555">,</span> <span style="color:#c30">&#34;LicenseText&#34;</span><span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span></code></pre></div><p>To integrate it in the jsp we make the according changes, important to note is the ActionUrl that we define:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#309;font-weight:bold">portlet:actionURL</span> <span style="color:#309">var</span><span style="color:#555">=</span><span style="color:#c30">&#34;changeLicenseTextURL&#34;</span> <span style="color:#309">name</span><span style="color:#555">=</span><span style="color:#c30">&#34;changeText&#34;</span>&gt; +</span></span><span style="display:flex;"><span> &lt;<span style="color:#309;font-weight:bold">portlet:param</span> <span style="color:#309">name</span><span style="color:#555">=</span><span style="color:#c30">&#34;&lt;%=PortalConstants.LICENSE_ID%&gt;&#34;</span> <span style="color:#309">value</span><span style="color:#555">=</span><span style="color:#c30">&#34;${licenseDetail.id}&#34;</span> /&gt; +</span></span><span style="display:flex;"><span>&lt;/<span style="color:#309;font-weight:bold">portlet:actionURL</span>&gt; +</span></span></code></pre></div><p>A good practice to name fields in jsps is to use the thrift field names:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span> &lt;<span style="color:#309;font-weight:bold">textarea</span> <span style="color:#309">name</span><span style="color:#555">=</span><span style="color:#c30">&#34;&lt;portlet:namespace/&gt;&lt;%=License._Fields.TEXT%&gt;&#34;</span> <span style="color:#309">rows</span><span style="color:#555">=</span><span style="color:#c30">&#34;5&#34;</span> <span style="color:#309">style</span><span style="color:#555">=</span><span style="color:#c30">&#34;width: 100%&#34;</span> <span style="color:#309">id</span><span style="color:#555">=</span><span style="color:#c30">&#34;&lt;portlet:namespace/&gt;&lt;%=License._Fields.TEXT%&gt;&#34;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309">placeholder</span><span style="color:#555">=</span><span style="color:#c30">&#34;Enter the License-Text here...&#34;</span> +</span></span><span style="display:flex;"><span> &gt;${licenseDetail.text}&lt;/<span style="color:#309;font-weight:bold">textarea</span>&gt; +</span></span></code></pre></div> + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-branches/index.html b/docs/developers/dev-branches/index.html new file mode 100644 index 0000000..5fce2bf --- /dev/null +++ b/docs/developers/dev-branches/index.html @@ -0,0 +1,626 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>SW360 Development Branches | Eclipse SW360</title> +<meta name="description" content="Helps to see who is responsible and to which issue the Pull Request corresponds"> +<meta property="og:title" content="SW360 Development Branches" /> +<meta property="og:description" content="Helps to see who is responsible and to which issue the Pull Request corresponds" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-branches/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="SW360 Development Branches"> +<meta itemprop="description" content="Helps to see who is responsible and to which issue the Pull Request corresponds"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="6"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="SW360 Development Branches"/> +<meta name="twitter:description" content="Helps to see who is responsible and to which issue the Pull Request corresponds"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check" checked/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="td-sidebar-nav-active-item">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Branches.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Branches.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Branches.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=SW360%20Development%20Branches" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-branches/">Branches</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>SW360 Development Branches</h1> + <div class="lead">Helps to see who is responsible and to which issue the Pull Request corresponds</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="branches-structure">Branches structure</h2> +<p><code>&lt;github-nickname&gt;/&lt;issue&gt;/&lt;description&gt;</code></p> +<h3 id="examples">Examples:</h3> +<ul> +<li>maierthomas/#1/fix-dowload-bundle</li> +<li>maierthomas/#3/sw360portal-specific-links</li> +</ul> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-database-migration-using-costco/index.html b/docs/developers/dev-database-migration-using-costco/index.html new file mode 100644 index 0000000..9a85403 --- /dev/null +++ b/docs/developers/dev-database-migration-using-costco/index.html @@ -0,0 +1,726 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Database migration using Costco | Eclipse SW360</title> +<meta name="description" content="Praeamble +Please note that database migrations are done now in python scripts at + +https://github.com/eclipse/sw360/tree/master/scripts/migrations …"> +<meta property="og:title" content="Database migration using Costco" /> +<meta property="og:description" content="Praeamble Please note that database migrations are done now in python scripts at + https://github.com/eclipse/sw360/tree/master/scripts/migrations + keeping the following page because Costco might be useful for development / testing / quick adaptations. +Problem The main problem with changing field names in thrift is that existing documents in the couchdb need adjustments. Unfortunately, the futon interface of the couchdb does not offer bulk edits. As a consequence, looking into every document is tedious, for more than 100 documents, maybe unfeasible." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Database migration using Costco"> +<meta itemprop="description" content="Praeamble Please note that database migrations are done now in python scripts at + https://github.com/eclipse/sw360/tree/master/scripts/migrations + keeping the following page because Costco might be useful for development / testing / quick adaptations. +Problem The main problem with changing field names in thrift is that existing documents in the couchdb need adjustments. Unfortunately, the futon interface of the couchdb does not offer bulk edits. As a consequence, looking into every document is tedious, for more than 100 documents, maybe unfeasible."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="539"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Database migration using Costco"/> +<meta name="twitter:description" content="Praeamble Please note that database migrations are done now in python scripts at + https://github.com/eclipse/sw360/tree/master/scripts/migrations + keeping the following page because Costco might be useful for development / testing / quick adaptations. +Problem The main problem with changing field names in thrift is that existing documents in the couchdb need adjustments. Unfortunately, the futon interface of the couchdb does not offer bulk edits. As a consequence, looking into every document is tedious, for more than 100 documents, maybe unfeasible."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check" checked/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="td-sidebar-nav-active-item">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Database-Migration-using-Costco.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Database-Migration-using-Costco.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Database-Migration-using-Costco.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Database%20migration%20using%20Costco" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#praeamble">Praeamble</a></li> + <li><a href="#problem">Problem</a></li> + <li><a href="#solution">Solution</a></li> + <li><a href="#troubleshooting">Troubleshooting</a></li> + <li><a href="#cheat-sheet-installing-costco-inside-an-sw360vagrant-deployment">Cheat Sheet: Installing costco inside an sw360vagrant deployment</a></li> + <li><a href="#examples-in-sw360">Examples in sw360</a></li> + <li><a href="#more-javascript-examples-with-couchdb">More JavaScript Examples with CouchDB</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/">Database Migration</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Database migration using Costco</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h3 id="praeamble">Praeamble</h3> +<p>Please note that database migrations are done now in python scripts at</p> +<blockquote> +<p><a href="https://github.com/eclipse/sw360/tree/master/scripts/migrations">https://github.com/eclipse/sw360/tree/master/scripts/migrations</a></p> +</blockquote> +<p>keeping the following page because Costco might be useful for development / testing / quick adaptations.</p> +<h3 id="problem">Problem</h3> +<p>The main problem with changing field names in thrift is that existing documents in the couchdb need adjustments. Unfortunately, the futon interface of the couchdb does not offer bulk edits. As a consequence, looking into every document is tedious, for more than 100 documents, maybe unfeasible.</p> +<h3 id="solution">Solution</h3> +<p>Use costco, an open source project that</p> +<ul> +<li>is a couchapp (right, this implies that you install the couchapp environment)</li> +<li>offers a Web interface as sub path of the couchdb database</li> +<li>allows to iterate through the documents of a database and then apply modifications on a particular document</li> +<li>allows to perform modifications on documents using Java script</li> +</ul> +<p>More information</p> +<ul> +<li>Project website: <a href="https://github.com/harthur/costco">https://github.com/harthur/costco</a></li> +<li>Useful examples: <a href="http://harthur.github.io/costco/">http://harthur.github.io/costco/</a></li> +</ul> +<p>Note that costco does not allow to perform operations involving several documents at once, for example, setting values in one document that results from querying from several other documents. Costco is perfect for corrections on the couchdb document &lsquo;schema&rsquo; (not in the classic sense as there is no schema in couchdb).</p> +<h3 id="troubleshooting">Troubleshooting</h3> +<p>If you try to install costco, you try to install couchapp mst likely. However, it might be that some python packages are missing which results in a &rsquo;not-so-obvious&rsquo; python error during install of couchapp. The following line could be th dependencies that you might need:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>sudo apt-get install python-dev libxml2-dev libxslt-dev +</span></span></code></pre></div><h3 id="cheat-sheet-installing-costco-inside-an-sw360vagrant-deployment">Cheat Sheet: Installing costco inside an sw360vagrant deployment</h3> +<p>OK, if you read until here, to make it easy for you just the few lines to have executed to install costco when youi have a machine that is deployed with our vagrant:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>$ sudo apt-get install python-dev libxml2-dev libxslt-dev +</span></span><span style="display:flex;"><span>$ sudo pip install couchapp +</span></span><span style="display:flex;"><span>$ git clone http://github.com/harthur/costco.git +</span></span><span style="display:flex;"><span>$ <span style="color:#366">cd</span> costco +</span></span><span style="display:flex;"><span>$ couchapp push . http://localhost:5984/sw360db +</span></span></code></pre></div><h3 id="examples-in-sw360">Examples in sw360</h3> +<p>The following examples show some costco code from the use with sw360.</p> +<h4 id="renaming-a-key">Renaming a key</h4> +<p>In order to rename a field&rsquo;s key, the following code might be helpful. In the following example, the field&rsquo;s key <code>developement</code> into <code>development</code> (correcting a typo in the datamodel).</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-JavaScript" data-lang="JavaScript"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">function</span>(doc) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span>(doc.type <span style="color:#555">==</span> <span style="color:#c30">&#39;todo&#39;</span>) { +</span></span><span style="display:flex;"><span> doc.development <span style="color:#555">=</span> doc.developement; +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">delete</span> doc.developement; +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> doc; +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><h4 id="renaming-a-key-in-a-subdocument">Renaming a key in a subdocument</h4> +<p>Similar thing as above, rename a key from <code>comment</code> to <code>createdcomment</code>, but this time inside a nested list of documents.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-JavaScript" data-lang="JavaScript"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">function</span>(doc) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> (doc.type <span style="color:#555">==</span> <span style="color:#c30">&#39;release&#39;</span>) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">for</span> (<span style="color:#069;font-weight:bold">var</span> f <span style="color:#555">=</span> <span style="color:#f60">0</span>, len <span style="color:#555">=</span> doc.attachments.length; f <span style="color:#555">&lt;</span> len; f <span style="color:#555">+=</span><span style="color:#f60">1</span> ) { +</span></span><span style="display:flex;"><span> doc.attachments[f].createdComment <span style="color:#555">=</span> doc.attachments[f].comment; +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">delete</span> doc.attachments[f].comment; +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> doc; +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><h3 id="more-javascript-examples-with-couchdb">More JavaScript Examples with CouchDB</h3> +<p>In addition to costco, also the couchdb map-reduce functions can help to track down issues in the data sets.</p> +<p>The following example searched for attachments of type <code>SOURCE</code> at releases, which do not have the <code>createdBy</code> set:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-JavaScript" data-lang="JavaScript"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">function</span>(doc) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> ((doc.type <span style="color:#555">==</span> <span style="color:#c30">&#39;release&#39;</span>) +</span></span><span style="display:flex;"><span> <span style="color:#555">&amp;&amp;</span> (doc.attachments)) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">for</span> (<span style="color:#069;font-weight:bold">var</span> attachment <span style="color:#069;font-weight:bold">in</span> doc.attachments) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> (<span style="color:#555">!</span>doc.attachments[attachment].createdBy) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> (doc.attachments[attachment].attachmentType<span style="color:#555">==</span> <span style="color:#c30">&#39;SOURCE&#39;</span>) { +</span></span><span style="display:flex;"><span> emit(doc._id, doc.attachments[attachment].filename); +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>The following example looks into date fields, in this case <code>createdOn</code>, and checks if it uses dots (for changing them into dashes).</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-JavaScript" data-lang="JavaScript"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">function</span>(doc) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span>( +</span></span><span style="display:flex;"><span> (doc.type <span style="color:#555">==</span> <span style="color:#c30">&#39;release&#39;</span>) +</span></span><span style="display:flex;"><span> <span style="color:#555">&amp;&amp;</span> (doc.createdOn.indexOf(<span style="color:#c30">&#39;.&#39;</span>) <span style="color:#555">!==</span> <span style="color:#555">-</span><span style="color:#f60">1</span>) +</span></span><span style="display:flex;"><span> ) +</span></span><span style="display:flex;"><span> { +</span></span><span style="display:flex;"><span> emit(doc.name, doc) +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div> + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-dod-and-style/index.html b/docs/developers/dev-dod-and-style/index.html new file mode 100644 index 0000000..a79e04c --- /dev/null +++ b/docs/developers/dev-dod-and-style/index.html @@ -0,0 +1,718 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Definition of Done | Eclipse SW360</title> +<meta name="description" content="The definition of done helps to set a common understanding for solving a ticket."> +<meta property="og:title" content="Definition of Done" /> +<meta property="og:description" content="The definition of done helps to set a common understanding for solving a ticket." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Definition of Done"> +<meta itemprop="description" content="The definition of done helps to set a common understanding for solving a ticket."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="461"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Definition of Done"/> +<meta name="twitter:description" content="The definition of done helps to set a common understanding for solving a ticket."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check" checked/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="td-sidebar-nav-active-item">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-DoD-and-Style.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-DoD-and-Style.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-DoD-and-Style.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Definition%20of%20Done" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/">Definition of Done</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Definition of Done</h1> + <div class="lead">The definition of done helps to set a common understanding for solving a ticket.</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h3 id="policy">Policy</h3> +<ul> +<li>Review points should involve one person from another angle (not just the person you were sitting together with anyways)</li> +<li>Limit items in review to 5, try to coordinate</li> +<li>Using Github assignments to issues or pull requests</li> +<li>Open review items require conversation</li> +</ul> +<h1 id="definition-of-done">Definition of Done</h1> +<ul> +<li> +<p>File headers in file OK</p> +<ul> +<li>EPL-2.0 license header</li> +<li>Or, if the file is too small, configuration file: license note (see code style)</li> +<li>Copyright and author</li> +</ul> +</li> +<li> +<p>Create Branches for sw360</p> +<ul> +<li>Please use conventional branch names for sw360 (<a href="https://github.com/eclipse/sw360/wiki/Dev-Branches">Dev-Branches</a>)</li> +</ul> +</li> +<li> +<p>Avoid (serious) compiler warnings</p> +<ul> +<li>Squash your commits into one or more logical units of work. No dozens of hourly/daily commits in your pull request, please</li> +<li>Rebase onto current master so that a fast forward merge is possible</li> +<li>That means that merge to master is prepared</li> +</ul> +</li> +<li> +<p>use conventional change log for commit messages (<a href="https://github.com/eclipse/sw360/wiki/Dev-Semantic-Commits">Dev-Semantic-Commits</a>) <br> For more information please go to <a href="https://conventionalcommits.org/">https://conventionalcommits.org/</a></p> +</li> +<li> +<p>No breaking test</p> +<ul> +<li>Unit testing as it is already present</li> +<li>You have more - use them!</li> +</ul> +</li> +<li> +<p>New test</p> +<ul> +<li>For new / added functionality</li> +</ul> +</li> +<li> +<p>Documentation</p> +<ul> +<li>in the Githuib Wiki-Section, if you have done something new</li> +<li>At least a technical note for newly added functionality</li> +</ul> +</li> +<li> +<p>Commit style</p> +<ul> +<li>try to squash commits. In the ideal case, a feature is contained in one commit.</li> +<li>try to use conventional changelog for commit messages. (<a href="https://github.com/eclipse/sw360/wiki/Dev-Semantic-Commits">Dev-Semantic-Commits</a>)</li> +</ul> +</li> +</ul> +<h1 id="review">Review</h1> +<p>Review basically checks for the D-o-D items, in particular</p> +<ul> +<li>Code style, not really formatting, but issues like style attributes in HTML tags or exception handling useful</li> +<li>Design / architecture issues</li> +<li>Community contribution suitability</li> +<li>Issue coverage (does it actually solve the problem?)</li> +<li>Add to commit message of merge commit explicitly:</li> +</ul> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>review-by:email@domain.com +</span></span></code></pre></div><p>and</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>tested-by:email@domain.com +</span></span></code></pre></div><h1 id="licensing-and-file-header">Licensing and File Header</h1> +<p>All files contributed require headers - this will ensure the license and copyright clearing at the end. Also, all contributions must have the same license as the original source.</p> +<p>If a file has relevant functionality, note that we should move to Eclipse 2.0</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Java" data-lang="Java"><span style="display:flex;"><span><span style="color:#09f;font-style:italic">/* +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * Copyright COPYRIGHT HOLDER, 2017. +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * Copyright NEXT COPYRIGHT HOLDER, 2017. +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * Part of the SW360 Portal Project. +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * SPDX-License-Identifier: EPL-1.0 +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * All rights reserved. This program and the accompanying materials +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * are made available under the terms of the Eclipse Public License v1.0 +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * which accompanies this distribution, and is available at +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> * http://www.eclipse.org/legal/epl-v10.html +</span></span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"> */</span> +</span></span></code></pre></div><p>(please adapt comment characters usage)</p> +<p>For small files such as property files, configuration files or standard XML files:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># Copyright &lt;COPYRIGHT_HOLDER&gt;, &lt;YEAR&gt;. Part of the SW360 Portal Project.</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic">#</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># All rights reserved. This configuration file is provided to you under the</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># terms and conditions of the Eclipse Distribution License v1.0 which</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># accompanies this distribution, and is available at</span> +</span></span><span style="display:flex;"><span><span style="color:#09f;font-style:italic"># http://www.eclipse.org/org/documents/edl-v10.php</span> +</span></span></code></pre></div><h1 id="code-style">Code style</h1> +<p>Just use the standard Java formatting rules of your IDE and <strong>do not reformat</strong> code from others, because you like to correct formatting of other&rsquo;s code.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-external-documents-with-couchdb/index.html b/docs/developers/dev-external-documents-with-couchdb/index.html new file mode 100644 index 0000000..a4b4769 --- /dev/null +++ b/docs/developers/dev-external-documents-with-couchdb/index.html @@ -0,0 +1,945 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>CouchDB External Documents | Eclipse SW360</title> +<meta name="description" content="Motivation +In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these …"> +<meta property="og:title" content="CouchDB External Documents" /> +<meta property="og:description" content="Motivation In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these information might be relevant from outside as well. Projects, components and releases contain attachments. The metadata of these attachments are stored as inline documents inside its parent document (which is the project, component or release). However these attachments may be used by other documents as well, e.g. license info files which are attached to releases are used by projects to generate the overall license information for that project." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="CouchDB External Documents"> +<meta itemprop="description" content="Motivation In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these information might be relevant from outside as well. Projects, components and releases contain attachments. The metadata of these attachments are stored as inline documents inside its parent document (which is the project, component or release). However these attachments may be used by other documents as well, e.g. license info files which are attached to releases are used by projects to generate the overall license information for that project."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="1497"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="CouchDB External Documents"/> +<meta name="twitter:description" content="Motivation In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these information might be relevant from outside as well. Projects, components and releases contain attachments. The metadata of these attachments are stored as inline documents inside its parent document (which is the project, component or release). However these attachments may be used by other documents as well, e.g. license info files which are attached to releases are used by projects to generate the overall license information for that project."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check" checked/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="td-sidebar-nav-active-item">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-External-Documents-with-CouchDB.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-External-Documents-with-CouchDB.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-External-Documents-with-CouchDB.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=CouchDB%20External%20Documents" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#motivation">Motivation</a></li> + <li><a href="#advantages-of-external-documents">Advantages of external documents</a></li> + <li><a href="#advantages-of-internal-documents">Advantages of internal documents</a></li> + <li><a href="#possible-implementations-for-linked-documents">Possible implementations for linked documents</a> + <ul> + <li><a href="#special-responsehandler-with-special-views-from-couchdb">Special ResponseHandler with special views from CouchDB</a></li> + <li><a href="#implementation-with-ektorp">Implementation with Ektorp</a></li> + </ul> + </li> + <li><a href="#usage-with-ektorp">Usage with Ektorp</a> + <ul> + <li><a href="#own-serializerdeserzialer">Own serializer/deserzialer</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/">CouchDB External Documents</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>CouchDB External Documents</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="motivation">Motivation</h2> +<p>In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these information might be relevant from outside as well. +Projects, components and releases contain attachments. The metadata of these attachments are stored as inline documents inside its parent document (which is the project, component or release). +However these attachments may be used by other documents as well, e.g. license info files which are attached to releases are used by projects to generate the overall license information for that project. +In such cases an external document might be the better model. For example the attachment usage can be stored along the metadata without touching the owner document on update.</p> +<h2 id="advantages-of-external-documents">Advantages of external documents</h2> +<ul> +<li>single documents with a clear separation to other documents</li> +<li>easy identification</li> +<li>might be loaded and updated standalone</li> +</ul> +<h2 id="advantages-of-internal-documents">Advantages of internal documents</h2> +<ul> +<li>Very fast loading along with the owner</li> +<li>Easy handling since only the owner must be loaded or updated</li> +</ul> +<p>In any case it is highly dependent on the use case whether external documents are to be favored over internal documents.</p> +<h2 id="possible-implementations-for-linked-documents">Possible implementations for linked documents</h2> +<h3 id="special-responsehandler-with-special-views-from-couchdb">Special ResponseHandler with special views from CouchDB</h3> +<table> +<thead> +<tr> +<th>Easy to use?</th> +<th>Performance?</th> +<th>Effort to use in existing code</th> +</tr> +</thead> +<tbody> +<tr> +<td>:star::star: Middle, special views have to be created, fields of data objects has to be annotated.</td> +<td>:star::star::star: Very good, fetching of multiple documents with a single request.</td> +<td>:star: High, since existing code has to be changed</td> +</tr> +</tbody> +</table> +<h4 id="couch-db-theory">Couch-DB theory</h4> +<p>At the time of writing, support of external (or linked) documents in Couch-DB is limited. Consider the following documents:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span>project <span style="color:#555">=</span> { +</span></span><span style="display:flex;"><span> _id<span style="color:#555">:</span> <span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> type<span style="color:#555">:</span> <span style="color:#c30">&#34;project&#34;</span>, +</span></span><span style="display:flex;"><span> name<span style="color:#555">:</span> <span style="color:#c30">&#34;Testproject&#34;</span>, +</span></span><span style="display:flex;"><span> attachments<span style="color:#555">:</span> [ +</span></span><span style="display:flex;"><span> { _id<span style="color:#555">:</span> <span style="color:#c30">&#34;a1&#34;</span> }, +</span></span><span style="display:flex;"><span> { _id<span style="color:#555">:</span> <span style="color:#c30">&#34;z2&#34;</span> } +</span></span><span style="display:flex;"><span> ] +</span></span><span style="display:flex;"><span>} +</span></span><span style="display:flex;"><span>attachment1 <span style="color:#555">=</span> { +</span></span><span style="display:flex;"><span> _id<span style="color:#555">:</span> <span style="color:#c30">&#34;a1&#34;</span>, +</span></span><span style="display:flex;"><span> type<span style="color:#555">:</span> <span style="color:#c30">&#34;attachment&#34;</span>, +</span></span><span style="display:flex;"><span> name<span style="color:#555">:</span> <span style="color:#c30">&#34;SourceFile&#34;</span>, +</span></span><span style="display:flex;"><span> sha1<span style="color:#555">:</span> <span style="color:#c30">&#34;abc1234&#34;</span> +</span></span><span style="display:flex;"><span>} +</span></span><span style="display:flex;"><span>attachment2 <span style="color:#555">=</span> { +</span></span><span style="display:flex;"><span> _id<span style="color:#555">:</span> <span style="color:#c30">&#34;a2&#34;</span>, +</span></span><span style="display:flex;"><span> type<span style="color:#555">:</span> <span style="color:#c30">&#34;attachment&#34;</span>, +</span></span><span style="display:flex;"><span> name<span style="color:#555">:</span> <span style="color:#c30">&#34;LicenseFile&#34;</span>, +</span></span><span style="display:flex;"><span> sha1<span style="color:#555">:</span> <span style="color:#c30">&#34;fed9876&#34;</span> +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>Unfortunately there is no way to get the project document with the attachments directly included. With the correct view you are able to retrieve all these documents in a single request:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">function</span>(doc) { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span>(doc.type <span style="color:#555">===</span> <span style="color:#c30">&#34;attachment&#34;</span>) { +</span></span><span style="display:flex;"><span> emit(doc._id, <span style="color:#069;font-weight:bold">null</span>); +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">for</span>(<span style="color:#069;font-weight:bold">var</span> <span style="color:#069;font-weight:bold">in</span> <span style="color:#069;font-weight:bold">in</span> doc.attachments) { +</span></span><span style="display:flex;"><span> emit(doc._id, { _id<span style="color:#555">:</span> doc.attachments[i]._id }); +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>You might see the trick: the project document as well as the attachment documents are indexed with the id of the project. This way you get all three documents when querying the view with the id of the project:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span>{ +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;total_rows&#34;</span><span style="color:#555">:</span><span style="color:#f60">5</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;offset&#34;</span><span style="color:#555">:</span><span style="color:#f60">0</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;rows&#34;</span><span style="color:#555">:</span>[{ +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;id&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;key&#34;</span><span style="color:#555">:</span> <span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;doc&#34;</span><span style="color:#555">:</span>{ +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;_id&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;attachments&#34;</span><span style="color:#555">:</span>[ +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;a1&#34;</span>, <span style="color:#c30">&#34;a2&#34;</span> +</span></span><span style="display:flex;"><span> ], +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;name&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;Testproject&#34;</span>, +</span></span><span style="display:flex;"><span> ... +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> ... +</span></span><span style="display:flex;"><span> }, { +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;id&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;doc&#34;</span><span style="color:#555">:</span>{ +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;_id&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;a1&#34;</span>, +</span></span><span style="display:flex;"><span> name<span style="color:#555">:</span> <span style="color:#c30">&#34;SourceFile&#34;</span>, +</span></span><span style="display:flex;"><span> ... +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> ... +</span></span><span style="display:flex;"><span> }, { +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;id&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;key&#34;</span><span style="color:#555">:</span> <span style="color:#c30">&#34;p1&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;value&#34;</span><span style="color:#555">:</span><span style="color:#069;font-weight:bold">null</span>, +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;doc&#34;</span><span style="color:#555">:</span>{ +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;_id&#34;</span><span style="color:#555">:</span><span style="color:#c30">&#34;a2&#34;</span>, +</span></span><span style="display:flex;"><span> name<span style="color:#555">:</span> <span style="color:#c30">&#34;LicenseFile&#34;</span>, +</span></span><span style="display:flex;"><span> ... +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> ... +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> ] +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p><strong>Note</strong> is will only work if you query the view with <code>include_docs</code> set to <code>true</code>. +<strong>Note</strong> include_docs will only work at the top level of a value. In other words it will only recognize the following to situations:</p> +<ul> +<li>null: if the value is null, the document which is identified by the key is included</li> +<li>{ _id: &ldquo;&hellip;&rdquo; }: the document identified by the given id is included. +To be clear: transitive inclusions will not work! +<strong>Note</strong> See also <a href="https://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Linked_documents">https://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Linked_documents</a>.</li> +</ul> +<h3 id="implementation-with-ektorp">Implementation with Ektorp</h3> +<p><a href="https://github.com/eclipse/sw360/pull/596">https://github.com/eclipse/sw360/pull/596</a> show an implementation to transparently read such results from Couch-DB. It consists of:</p> +<ul> +<li>new methods in the database connector which are aware of loading linked documents</li> +<li>a response handler used for parsing the results when requesting linked documents</li> +<li>two annotation classes to mark fields which contain ids for linked documents +After the branch was merged, the new feature can be used in only three steps. You need:</li> +</ul> +<ol> +<li>A view that loads the &ldquo;main&rdquo; documents along with there linked documents</li> +<li>A special method in your database handler / database repository which calls the new method from the connector</li> +<li>A mixin for your data object which annotates the fields which contain ids to linked documents</li> +</ol> +<h4 id="notes-for-1">Notes for 1.</h4> +<p>Have a look at mapping function above in the theory section. Of course you may add more than one type of linked documents, e.g. not only attachments but releases as well. +You may also emit whole objects instead of ids only. This way Couch-DB does not have to lookup each entry. However including ids over objects is an own topic.</p> +<h4 id="notes-for-2">Notes for 2.</h4> +<p>You should write methods in your repository as well as in your database handler that uses the new methods from the database connector.</p> +<h4 id="notes-for-3">Notes for 3.</h4> +<p>Be sure that the used object mapper in your database handler is aware of the mixin. Of course you can annotate more than one field. All annotated fields will be respected on loading. However, if the view does not contain an object that should be resolved, it will be replaced by null. The LinkedDocuments-annotation even allows you to name a different destination field for the resolved objects for easier integration into the existing code.</p> +<h2 id="usage-with-ektorp">Usage with Ektorp</h2> +<table> +<thead> +<tr> +<th>Easy to use?</th> +<th>Performance?</th> +<th>Effort to use in existing code</th> +</tr> +</thead> +<tbody> +<tr> +<td>:no_entry: does not work</td> +<td>:no_entry:</td> +<td>:no_entry:</td> +</tr> +</tbody> +</table> +<p>Since SW360 is using Ektorp as Objectmapper, a response like above is not suitable. Ektorp is just not able to parse the above response correctly. +However Ektorp has a linking feature as well: You may annotate fields with the <code>@DocumentReference</code>-Annotation to tell Ektorp to store the content within external documents. This only works with fields of type <code>Set</code> at the moment of writing. Since SW360 data objects are generated using Thrift, directly annotating the field is not possible. Due to the mixin feature of Ektorp this is not a big issue. Unfortunately making the <code>@DocumentReference</code>-annotation to work was not possible with a reasonable effort.</p> +<p>Internally Ektorp is also using special views for getting linked documents to work. A quick look into the source codes suggests that this feature is implemented using special serializers which would lead to additional requests on loading and storing as well. Therefore the same performance issues might be come across if the annotation would work.</p> +<h3 id="own-serializerdeserzialer">Own serializer/deserzialer</h3> +<table> +<thead> +<tr> +<th>Easy to use?</th> +<th>Performance?</th> +<th>Effort to use in existing code</th> +</tr> +</thead> +<tbody> +<tr> +<td>:star::star::star: Quite easy, just some Jackson configuration necessary</td> +<td>:star::star: Good, but every type of linked objects needs an additional request</td> +<td>:star::star::star: Low, existing code does not have to be changed</td> +</tr> +</tbody> +</table> +<p>This method works just like the Ektorp way. In addition a slow transition from internal to external documents is possible, since the custom serialization methods will handle both cases directly. Any embedded documents will be externalized on first update of the owner object. +The following classes are needed:</p> +<ol> +<li>Repository for the new external documents</li> +<li>DatabaseHandler for the new external documents</li> +<li>Mixin-Class to add annotations to the field with external documents</li> +<li>A new mapper factory to properly configure the custom serializer</li> +<li>Custom serializers/deserializer</li> +</ol> +<h4 id="example-for-externalizing-attachments">Example for externalizing attachments</h4> +<h5 id="mixin-class">Mixin-Class</h5> +<p>This will configure Ektorp to use a special class for this field. We use a special serializer for the field instead of for the type (in this case Attachment), so we can do serialization/deserialization for all attachments at once. If we would use a special serializer, every</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#069;font-weight:bold">abstract</span> <span style="color:#069;font-weight:bold">class</span> <span style="color:#0a8;font-weight:bold">SplitAttachmentsMixin</span> <span style="color:#069;font-weight:bold">extends</span> DatabaseMixIn <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#99f">@JsonSerialize</span><span style="color:#555">(</span>using <span style="color:#555">=</span> AttachmentSetSerializer<span style="color:#555">.</span><span style="color:#309">class</span><span style="color:#555">)</span> +</span></span><span style="display:flex;"><span> <span style="color:#99f">@JsonDeserialize</span><span style="color:#555">(</span>using <span style="color:#555">=</span> AttachmentSetDeserializer<span style="color:#555">.</span><span style="color:#309">class</span><span style="color:#555">)</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#069;font-weight:bold">abstract</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">setAttachments</span><span style="color:#555">(</span>Set<span style="color:#555">&lt;</span>Attachment<span style="color:#555">&gt;</span> attachments<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><h5 id="mapper-factory">Mapper factory</h5> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#069;font-weight:bold">class</span> <span style="color:#0a8;font-weight:bold">SplitAttachmentsMapperFactory</span> <span style="color:#069;font-weight:bold">extends</span> MapperFactory <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">private</span> <span style="color:#069;font-weight:bold">final</span> AttachmentHandlerInstantiator handlerInitiator<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#c0f">SplitAttachmentsMapperFactory</span><span style="color:#555">(</span>Supplier<span style="color:#555">&lt;</span>HttpClient<span style="color:#555">&gt;</span> httpClient<span style="color:#555">,</span> String dbName<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> MalformedURLException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> handlerInitiator <span style="color:#555">=</span> <span style="color:#069;font-weight:bold">new</span> AttachmentHandlerInstantiator<span style="color:#555">(</span>httpClient<span style="color:#555">,</span> dbName<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> ObjectMapper <span style="color:#c0f">createObjectMapper</span><span style="color:#555">()</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> ObjectMapper objectMapper <span style="color:#555">=</span> <span style="color:#069;font-weight:bold">super</span><span style="color:#555">.</span><span style="color:#309">createObjectMapper</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> objectMapper<span style="color:#555">.</span><span style="color:#309">addMixInAnnotations</span><span style="color:#555">(</span>Project<span style="color:#555">.</span><span style="color:#309">class</span><span style="color:#555">,</span> SplitAttachmentsMixin<span style="color:#555">.</span><span style="color:#309">class</span><span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> objectMapper<span style="color:#555">.</span><span style="color:#309">setHandlerInstantiator</span><span style="color:#555">(</span>handlerInitiator<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> objectMapper<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">private</span> <span style="color:#069;font-weight:bold">static</span> <span style="color:#069;font-weight:bold">class</span> <span style="color:#0a8;font-weight:bold">AttachmentHandlerInstantiator</span> <span style="color:#069;font-weight:bold">extends</span> HandlerInstantiator <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">private</span> <span style="color:#069;font-weight:bold">final</span> AttachmentSetSerializer attachmentSetSerializer<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">private</span> <span style="color:#069;font-weight:bold">final</span> AttachmentSetDeserializer attachmentSetDeserializer<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#c0f">AttachmentHandlerInstantiator</span><span style="color:#555">(</span>Supplier<span style="color:#555">&lt;</span>HttpClient<span style="color:#555">&gt;</span> httpClient<span style="color:#555">,</span> String dbName<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> MalformedURLException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> attachmentSetSerializer <span style="color:#555">=</span> <span style="color:#069;font-weight:bold">new</span> AttachmentSetSerializer<span style="color:#555">(</span>httpClient<span style="color:#555">,</span> dbName<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> attachmentSetDeserializer <span style="color:#555">=</span> <span style="color:#069;font-weight:bold">new</span> AttachmentSetDeserializer<span style="color:#555">(</span>httpClient<span style="color:#555">,</span> dbName<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> JsonDeserializer<span style="color:#555">&lt;?&gt;</span> deserializerInstance<span style="color:#555">(</span>DeserializationConfig config<span style="color:#555">,</span> Annotated annotated<span style="color:#555">,</span> Class<span style="color:#555">&lt;?&gt;</span> deserClass<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> <span style="color:#555">(</span>deserClass<span style="color:#555">.</span><span style="color:#309">isInstance</span><span style="color:#555">(</span>attachmentSetDeserializer<span style="color:#555">))</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> attachmentSetDeserializer<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> <span style="color:#069;font-weight:bold">null</span><span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">...</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><h5 id="serializer">Serializer</h5> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#069;font-weight:bold">class</span> <span style="color:#0a8;font-weight:bold">AttachmentSetSerializer</span> <span style="color:#069;font-weight:bold">extends</span> JsonSerializer<span style="color:#555">&lt;</span>Set<span style="color:#555">&lt;</span>Attachment<span style="color:#555">&gt;&gt;</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">private</span> <span style="color:#069;font-weight:bold">final</span> AttachmentDatabaseHandler handler<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#c0f">AttachmentSetSerializer</span><span style="color:#555">(</span>Supplier<span style="color:#555">&lt;</span>HttpClient<span style="color:#555">&gt;</span> httpClient<span style="color:#555">,</span> String dbName<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> MalformedURLException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">this</span><span style="color:#555">.</span><span style="color:#309">handler</span> <span style="color:#555">=</span> <span style="color:#069;font-weight:bold">new</span> AttachmentDatabaseHandler<span style="color:#555">(</span>httpClient<span style="color:#555">,</span> dbName<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#078;font-weight:bold">void</span> <span style="color:#c0f">serialize</span><span style="color:#555">(</span>Set<span style="color:#555">&lt;</span>Attachment<span style="color:#555">&gt;</span> attachments<span style="color:#555">,</span> JsonGenerator jsonGenerator<span style="color:#555">,</span> SerializerProvider provider<span style="color:#555">)</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">throws</span> IOException<span style="color:#555">,</span> JsonProcessingException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">try</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> List<span style="color:#555">&lt;</span>DocumentOperationResult<span style="color:#555">&gt;</span> results <span style="color:#555">=</span> handler<span style="color:#555">.</span><span style="color:#309">bulkCreateOrUpdateAttachments</span><span style="color:#555">(</span>attachments<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> <span style="color:#555">(!</span>results<span style="color:#555">.</span><span style="color:#309">isEmpty</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">throw</span> <span style="color:#069;font-weight:bold">new</span> IOException<span style="color:#555">(</span><span style="color:#c30">&#34;Cannot create or update attachments. Some failed: &#34;</span> <span style="color:#555">+</span> results<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">catch</span> <span style="color:#555">(</span>SW360Exception exception<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">throw</span> <span style="color:#069;font-weight:bold">new</span> IOException<span style="color:#555">(</span><span style="color:#c30">&#34;Cannot create or update attachments.&#34;</span><span style="color:#555">,</span> exception<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> jsonGenerator<span style="color:#555">.</span><span style="color:#309">writeStartArray</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">for</span> <span style="color:#555">(</span>Attachment attachment <span style="color:#555">:</span> attachments<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> jsonGenerator<span style="color:#555">.</span><span style="color:#309">writeStartObject</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> jsonGenerator<span style="color:#555">.</span><span style="color:#309">writeStringField</span><span style="color:#555">(</span><span style="color:#c30">&#34;_id&#34;</span><span style="color:#555">,</span> attachment<span style="color:#555">.</span><span style="color:#309">getId</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> jsonGenerator<span style="color:#555">.</span><span style="color:#309">writeEndObject</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> jsonGenerator<span style="color:#555">.</span><span style="color:#309">writeEndArray</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div><h4 id="deserializer">Deserializer</h4> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#069;font-weight:bold">public</span> <span style="color:#069;font-weight:bold">class</span> <span style="color:#0a8;font-weight:bold">AttachmentSetDeserializer</span> <span style="color:#069;font-weight:bold">extends</span> JsonDeserializer<span style="color:#555">&lt;</span>Set<span style="color:#555">&lt;</span>Attachment<span style="color:#555">&gt;&gt;</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">private</span> <span style="color:#069;font-weight:bold">final</span> AttachmentDatabaseHandler handler<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> <span style="color:#c0f">AttachmentSetDeserializer</span><span style="color:#555">(</span>Supplier<span style="color:#555">&lt;</span>HttpClient<span style="color:#555">&gt;</span> httpClient<span style="color:#555">,</span> String dbName<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> MalformedURLException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">this</span><span style="color:#555">.</span><span style="color:#309">handler</span> <span style="color:#555">=</span> <span style="color:#069;font-weight:bold">new</span> AttachmentDatabaseHandler<span style="color:#555">(</span>httpClient<span style="color:#555">,</span> dbName<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#99f">@Override</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">public</span> Set<span style="color:#555">&lt;</span>Attachment<span style="color:#555">&gt;</span> <span style="color:#c0f">deserialize</span><span style="color:#555">(</span>JsonParser jsonParser<span style="color:#555">,</span> DeserializationContext context<span style="color:#555">)</span> <span style="color:#069;font-weight:bold">throws</span> IOException<span style="color:#555">,</span> JsonProcessingException <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> Set<span style="color:#555">&lt;</span>Attachment<span style="color:#555">&gt;</span> attachments <span style="color:#555">=</span> Sets<span style="color:#555">.</span><span style="color:#309">newHashSet</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> <span style="color:#555">(!</span>jsonParser<span style="color:#555">.</span><span style="color:#309">isExpectedStartArrayToken</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">throw</span> <span style="color:#069;font-weight:bold">new</span> IllegalStateException<span style="color:#555">(</span><span style="color:#c30">&#34;Expected array token but found: &#34;</span> <span style="color:#555">+</span> jsonParser<span style="color:#555">.</span><span style="color:#309">getCurrentToken</span><span style="color:#555">().</span><span style="color:#309">asString</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> Set<span style="color:#555">&lt;</span>String<span style="color:#555">&gt;</span> attachmentIds <span style="color:#555">=</span> Sets<span style="color:#555">.</span><span style="color:#309">newHashSet</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> JsonToken token <span style="color:#555">=</span> jsonParser<span style="color:#555">.</span><span style="color:#309">nextToken</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">while</span> <span style="color:#555">(!</span>JsonToken<span style="color:#555">.</span><span style="color:#309">END_ARRAY</span><span style="color:#555">.</span><span style="color:#309">equals</span><span style="color:#555">(</span>token<span style="color:#555">))</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">switch</span> <span style="color:#555">(</span>token<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">case</span> START_OBJECT<span style="color:#555">:</span> +</span></span><span style="display:flex;"><span> Attachment attachment <span style="color:#555">=</span> jsonParser<span style="color:#555">.</span><span style="color:#309">readValueAs</span><span style="color:#555">(</span>Attachment<span style="color:#555">.</span><span style="color:#309">class</span><span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> <span style="color:#555">(</span>attachment<span style="color:#555">.</span><span style="color:#309">isSetId</span><span style="color:#555">()</span> <span style="color:#555">&amp;&amp;</span> <span style="color:#555">!</span>attachment<span style="color:#555">.</span><span style="color:#309">isSetRevision</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> attachmentIds<span style="color:#555">.</span><span style="color:#309">add</span><span style="color:#555">(</span>attachment<span style="color:#555">.</span><span style="color:#309">getId</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">else</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> attachments<span style="color:#555">.</span><span style="color:#309">add</span><span style="color:#555">(</span>attachment<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">break</span><span style="color:#555">;</span> +</span></span><span style="display:flex;"><span><span style="color:#99f"> +</span></span></span><span style="display:flex;"><span><span style="color:#99f"> default:</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">throw</span> <span style="color:#069;font-weight:bold">new</span> IllegalStateException<span style="color:#555">(</span> +</span></span><span style="display:flex;"><span> <span style="color:#c30">&#34;Unexpected token. Expected object or string but found: &#34;</span> <span style="color:#555">+</span> jsonParser<span style="color:#555">.</span><span style="color:#309">getCurrentToken</span><span style="color:#555">().</span><span style="color:#309">asString</span><span style="color:#555">());</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> token <span style="color:#555">=</span> jsonParser<span style="color:#555">.</span><span style="color:#309">nextToken</span><span style="color:#555">();</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">if</span> <span style="color:#555">(!</span>attachmentIds<span style="color:#555">.</span><span style="color:#309">isEmpty</span><span style="color:#555">())</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">try</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> attachments<span style="color:#555">.</span><span style="color:#309">addAll</span><span style="color:#555">(</span>handler<span style="color:#555">.</span><span style="color:#309">retrieveAttachments</span><span style="color:#555">(</span>attachmentIds<span style="color:#555">));</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> <span style="color:#069;font-weight:bold">catch</span> <span style="color:#555">(</span>SW360Exception exception<span style="color:#555">)</span> <span style="color:#555">{</span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">throw</span> <span style="color:#069;font-weight:bold">new</span> IOException<span style="color:#555">(</span><span style="color:#c30">&#34;Cannot load attachments (&#34;</span> <span style="color:#555">+</span> attachmentIds <span style="color:#555">+</span> <span style="color:#c30">&#34;)&#34;</span><span style="color:#555">,</span> exception<span style="color:#555">);</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">return</span> attachments<span style="color:#555">;</span> +</span></span><span style="display:flex;"><span> <span style="color:#555">}</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span><span style="color:#555">}</span> +</span></span></code></pre></div> + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-filtering-in-portlets/index.html b/docs/developers/dev-filtering-in-portlets/index.html new file mode 100644 index 0000000..291ffbe --- /dev/null +++ b/docs/developers/dev-filtering-in-portlets/index.html @@ -0,0 +1,640 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Filtering in Portlets | Eclipse SW360</title> +<meta name="description" content="For the filters that are shown for components and listings, there are some options: + + +The Keyword search works directly on the table shown on the main …"> +<meta property="og:title" content="Filtering in Portlets" /> +<meta property="og:description" content="For the filters that are shown for components and listings, there are some options: + The Keyword search works directly on the table shown on the main right area. For example in the components portlet, this is in components/view.jsp. + The filters actually result in a new search request, when hitting apply filters button. The project portlet reads the fields and creates a map. Then, ProjectPortlet calls the thrift service refineSearch(), which is handled in ProjectHandler." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Filtering in Portlets"> +<meta itemprop="description" content="For the filters that are shown for components and listings, there are some options: + The Keyword search works directly on the table shown on the main right area. For example in the components portlet, this is in components/view.jsp. + The filters actually result in a new search request, when hitting apply filters button. The project portlet reads the fields and creates a map. Then, ProjectPortlet calls the thrift service refineSearch(), which is handled in ProjectHandler."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="153"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Filtering in Portlets"/> +<meta name="twitter:description" content="For the filters that are shown for components and listings, there are some options: + The Keyword search works directly on the table shown on the main right area. For example in the components portlet, this is in components/view.jsp. + The filters actually result in a new search request, when hitting apply filters button. The project portlet reads the fields and creates a map. Then, ProjectPortlet calls the thrift service refineSearch(), which is handled in ProjectHandler."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check" checked/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="td-sidebar-nav-active-item">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Filtering-in-Portlets.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Filtering-in-Portlets.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Filtering-in-Portlets.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Filtering%20in%20Portlets" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/">Filtering in Portlets</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Filtering in Portlets</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>For the filters that are shown for components and listings, there are some options:</p> +<ol> +<li> +<p>The <strong>Keyword search</strong> works directly on the table shown on the main right area. For example in the components portlet, this is in components/view.jsp.</p> +</li> +<li> +<p>The <strong>filters</strong> actually result in a new search request, when hitting apply filters button. The project portlet reads the fields and creates a map. Then, <code>ProjectPortlet</code> calls the thrift service <code>refineSearch()</code>, which is handled in <code>ProjectHandler</code>. This method takes the map and the user as input. The search service has a server-side JavaScript function (LuceneSearchView) defined for this particular filter in <code>ProjectSearchHandler.java</code>. This is called with the <code>LuceneAwareDatabaseConnector.java</code>. After filtering, the visibility constraints for the requesting user are applied.</p> +</li> +<li> +<p>Then for each release table, there is a search field in the upper right corner. This again works on the data of the Release summary object and then filters what is on the client (web browser).</p> +</li> +</ol> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-fossology-integration/index.html b/docs/developers/dev-fossology-integration/index.html new file mode 100644 index 0000000..876e490 --- /dev/null +++ b/docs/developers/dev-fossology-integration/index.html @@ -0,0 +1,678 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Fossology Integration | Eclipse SW360</title> +<meta name="description" content="Basis of communication between SW360 and FOSSology"> +<meta property="og:title" content="Fossology Integration" /> +<meta property="og:description" content="Basis of communication between SW360 and FOSSology" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Fossology Integration"> +<meta itemprop="description" content="Basis of communication between SW360 and FOSSology"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="587"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Fossology Integration"/> +<meta name="twitter:description" content="Basis of communication between SW360 and FOSSology"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check" checked/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="td-sidebar-nav-active-item">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Fossology-Integration.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Fossology-Integration.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Fossology-Integration.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Fossology%20Integration" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#java-libraries-and-settings">Java libraries and settings</a></li> + <li><a href="#conventions">Conventions</a></li> + <li><a href="#datamodel-and-thrift-service">Datamodel and thrift service</a></li> + <li><a href="#notes">Notes</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/">Fossology Integration</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Fossology Integration</h1> + <div class="lead">Basis of communication between SW360 and FOSSology</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>Basic communication with the FOSSology server is done over an SSH connection: the fossology service of SW360 executes remote commands on the FOSSology server.</p> +<p>The commands that are executed are the bash scripts found inside <code>src-fossology/src/main/resources/scripts/</code>, they are copied into the home directory of the ssh user (either manually or through the admin portlet). +See <a href="Fossology-Setup">Setup of connection with Fossology</a> for configuration details.</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>\- src-fossology/src/main/resources/ +</span></span><span style="display:flex;"><span> \- scripts/ +</span></span><span style="display:flex;"><span> |- duplicateUpload +</span></span><span style="display:flex;"><span> |- folderManager +</span></span><span style="display:flex;"><span> |- getStatusOfUpload +</span></span><span style="display:flex;"><span> |- uploadFromSW360 +</span></span><span style="display:flex;"><span> \- utilsSW360 +</span></span></code></pre></div><p>These scripts utilize the standard command line tools to interact natively with FOSSology (these are the tools found in the src/cli folder of FOSSology, such as <code>cp2foss fossjobs fossupload_status fo_usergroup fo_chmod fo_folder ...</code>).</p> +<ul> +<li><code>utilsSW360</code> contains common functions used by the other scripts and some FOSSology configuration such as the user/password pair used to run the cli utils and the UNIX group of the FOSSology processes</li> +<li><code>folderManager</code> (uses FO:<code>fo_folder</code>): get information about the folder structure of FOSSology to allow sharing of uploads between groups</li> +<li><code>getStatusOfUpload</code> (uses FO:<code>fossupload_status</code>): to get the clearing status given an uploadId and a group</li> +<li><code>uploadFromSW360</code> (uses FO:<code>cp2foss fossjobs</code>): to create a new upload from the standard input and schedule scanners</li> +<li><code>duplicateUpload</code> (uses FO:<code>fo_chmod</code> SW:<code>folderManager</code>): to make a previously uploaded file available for another group</li> +</ul> +<h3 id="java-libraries-and-settings">Java libraries and settings</h3> +<p>The java code utilizes the package <code>com.jcraft.jsch</code> to connect to the SSH server. It is set to strictly check the fingerprint of the remote server against the accepted which are stored in couchDB.</p> +<h3 id="conventions">Conventions</h3> +<p>the sw360 user in FOSSology (the actual name is configured in <code>utilsSW360</code>) <strong>must be a member of every group</strong> to which it should be able to send Releases to be cleared. +File uploaded from SW360 are placed inside a folder with the same name as the group and permission will be set at the group level (default of cp2foss).</p> +<h3 id="datamodel-and-thrift-service">Datamodel and thrift service</h3> +<ul> +<li> +<p>each Release object in SW360 can have only one attachment of type SOURCE.</p> +</li> +<li> +<p>when a Release is sent <em>for the first time</em> to FOSSology through the Thrift method <code>sendToFossology(1: string releaseId, 2: string clearingTeam )</code> its SOURCE attachement is sent as stdin to the script <code>uploadFromSW360</code>.</p> +<p>The field <code>map&lt;string, FossologyStatus&gt; clearingTeamToFossologyStatus</code> is then updated to contain the corresponding entry for the chosen Clearing Team (aka. the name of the FOSSology group which will receives the upload for clearing).</p> +</li> +<li> +<p>when the same Release is <em>sent again for another team</em> a new <em>link</em> in the corresponding group folder is created and the old upload is made available for the new group (as in giving permission using FO:<code>fo_chmod</code>).</p> +<p>At the moment this gives access only to the files, not to the relative clearing decision. +In order to make the clearing decisions available a reuser needs to be scheduled from the Jobs menu. [ it could be possible to schedule the job from SW360: its user is member of all the groups; but it is not currently implemented since there is no cli interface for reuser yet ]</p> +</li> +<li> +<p>when the current status is requested using the Thrift method <code>Release getStatusInFossology(1: string releaseId, 2: string clearingTeam )</code> the newest status is fetched from FOSSology and it is stored in the map for the relative clearingTeam</p> +</li> +</ul> +<h3 id="notes">Notes</h3> +<ul> +<li>Releases have a ClearingState field, but this is ignored by the Thrift service and used only in the SW360 user interface.</li> +<li>Projects link to Releases and the summary of their FOSSology status can be monitored. This is also ignored by the FOSSology Thrift service and handled by the Component service: the FOSSology service just updates the status of the Release objects.</li> +</ul> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-liferay-friendly-url/index.html b/docs/developers/dev-liferay-friendly-url/index.html new file mode 100644 index 0000000..06fcffb --- /dev/null +++ b/docs/developers/dev-liferay-friendly-url/index.html @@ -0,0 +1,698 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Liferay Friendly | Eclipse SW360</title> +<meta name="description" content="Basis of communication between SW360 and FOSSology"> +<meta property="og:title" content="Liferay Friendly" /> +<meta property="og:description" content="Basis of communication between SW360 and FOSSology" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Liferay Friendly"> +<meta itemprop="description" content="Basis of communication between SW360 and FOSSology"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="434"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Liferay Friendly"/> +<meta name="twitter:description" content="Basis of communication between SW360 and FOSSology"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check" checked/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="td-sidebar-nav-active-item">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Liferay-Friendly-URL.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Liferay-Friendly-URL.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Liferay-Friendly-URL.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Liferay%20Friendly" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#friendly-url-mapper-configuration">Friendly URL Mapper configuration</a></li> + <li><a href="#friendly-url-mapper-outcome">Friendly URL Mapper outcome</a></li> + <li><a href="#additional">Additional</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/">Liferay Friendly</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Liferay Friendly</h1> + <div class="lead">Basis of communication between SW360 and FOSSology</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The normal generated portlet URLs containing a set of internal Liferay request parameters. <br> +These long URLs of links or forms are mostly not readable and its not easy to share it somewhere else.</p> +<p>General Liferay portlet URL: <br></p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://localhost:8080/web/guest/examples?p_p_id=example_WAR_ExamplePortlet&amp;p_p_lifecycle=1&amp;p_p_state=normal&amp;p_p_mode=view&amp;p_p_col_id=column-1&amp;p_p_col_count=1&amp;_example_WAR_ExamplePortlet_javax.portlet.action=new +</span></span></code></pre></div><p>Explanation of the Liferay request parameters: <br> +<strong>p_p_id:</strong> The portlet ID (example_WAR_ExamplePortlet)<br> +<strong>p_p_state:</strong> Liferay windows pages state - 1 (normal) 2 (maximize) 3 (minimize) <br> +<strong>p_p_mode</strong>: Mode of the portlet look like - (view) (edit) (help) <br> +<strong>p_p_lifecycle:</strong> This is life cycle of portlet - 0 (render) 1 (action) 2 (server) <br> +<strong>p_p_col_id:</strong> The reference ID of the column in Liferay template <br> +<strong>p_p_col_pos:</strong> Specifiy the column position if the the layout having more than one columns <br> +<strong>p_p_col_count:</strong> Shows the no of columns in the current layout</p> +<h3 id="friendly-url-mapper-configuration">Friendly URL Mapper configuration</h3> +<p>Liferay provides a mechanism to shorten the generated URLs by using the Friendly URL Mapper feature. <br> <br> +How to configure the friendly URL Mapper in Liferay? <br> <br> +<strong>Configuration of URL routes in XML files</strong> <br></p> +<p><em>CREATE example-friendly-url-routes.xml</em> <br></p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Xml" data-lang="Xml"><span style="display:flex;"><span><span style="color:#099">&lt;?xml version=&#34;1.0&#34;?&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#099">&lt;!DOCTYPE routes PUBLIC &#34;-//Liferay//DTD Friendly URL Routes 6.2.2//EN&#34; +</span></span></span><span style="display:flex;"><span><span style="color:#099">&#34;http://www.liferay.com/dtd/liferay-friendly-url-routes_6_0_0.dtd&#34;&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;routes&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;route&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;pattern&gt;</span>/action/{actionName}<span style="color:#309;font-weight:bold">&lt;/pattern&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;generated-parameter</span> <span style="color:#309">name=</span><span style="color:#c30">&#34;javax.portlet.action&#34;</span><span style="color:#309;font-weight:bold">&gt;</span>{actionName}<span style="color:#309;font-weight:bold">&lt;/generated-parameter&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;ignored-parameter</span> <span style="color:#309">name=</span><span style="color:#c30">&#34;p_auth&#34;</span><span style="color:#309;font-weight:bold">/&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;ignored-parameter</span> <span style="color:#309">name=</span><span style="color:#c30">&#34;p_p_id&#34;</span><span style="color:#309;font-weight:bold">/&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;implicit-parameter</span> <span style="color:#309">name=</span><span style="color:#c30">&#34;p_p_lifecycle&#34;</span><span style="color:#309;font-weight:bold">&gt;</span>1<span style="color:#309;font-weight:bold">&lt;/implicit-parameter&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;implicit-parameter</span> <span style="color:#309">name=</span><span style="color:#c30">&#34;p_p_state&#34;</span><span style="color:#309;font-weight:bold">&gt;</span>normal<span style="color:#309;font-weight:bold">&lt;/implicit-parameter&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;implicit-parameter</span> <span style="color:#309">name=</span><span style="color:#c30">&#34;p_p_mode&#34;</span><span style="color:#309;font-weight:bold">&gt;</span>view<span style="color:#309;font-weight:bold">&lt;/implicit-parameter&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/route&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;/routes&gt;</span> +</span></span></code></pre></div><p>Explanation of the Liferay Friendly Mapper route parameters: <br> +<strong>routes:</strong> Routes element which contains all route entries <br> +<strong>route:</strong> Single route element entry <br> +<strong>pattern:</strong> Pattern of the mapped friendly URL (visible in address bar) <br> +<strong>generated-parameter:</strong> These parameters will be generated from parameters in the request URL <br> +<strong>ignored-parameter:</strong> These parameters will be igored and not included in generated URLs <br> +<strong>implicit-parameter:</strong> Used for static attributes which can be ignored by recognition <br> +<strong>overridden-parameter:</strong> Parameter that should be set to a certain value when a URL is recognized <br> +<br> +It is necessary to order the parameters as described above. <br> +These files should located in the resources folder otherwise they will not be available on Apache Tomcat and cannot be initialized by Liferay. <br> +<br> +<strong>Configuration of friendly URL Java class</strong> <br> +<br> +<em>MODIFY liferay-portlet.xml</em> +<br></p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Xml" data-lang="Xml"><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;friendly-url-mapper-class&gt;</span>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper<span style="color:#309;font-weight:bold">&lt;/friendly-url-mapper-class&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;friendly-url-mapping&gt;</span>example<span style="color:#309;font-weight:bold">&lt;/friendly-url-mapping&gt;</span> +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;friendly-url-routes&gt;</span>com/.../example-friendly-url-routes.xml<span style="color:#309;font-weight:bold">&lt;/friendly-url-routes&gt;</span> +</span></span></code></pre></div><br> +In the next step we need one java implementation class to generate the Liferay friendly URLs. <br> +<p>Liferay provides the <em>DefaultFriendlyURLMapper</em> class to create the URLs based on our rules. <br></p> +<p>The Liferay Friendly URL Mapper configuration is placed after <code>&lt;icon/&gt;</code> and before <code>&lt;instanceable&gt;</code> +tag.</p> +<h3 id="friendly-url-mapper-outcome">Friendly URL Mapper outcome</h3> +<p><strong>Liferay will generate the following friendly URL</strong> <br></p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>http://localhost:8080/web/guest/examples/-/example/action/new +</span></span></code></pre></div><br> +<ol> +<li>The liferay framework will add &ldquo;-&rdquo; (dash)</li> +<li>Friendly URL mapper name which is configured in <code>&lt;friendly-url-mapping&gt;</code> (liferay-portlet.xml) element</li> +<li>Pattern name with generated parameters which is same as in <code>&lt;pattern&gt;</code> (example-friendly-url-routes.xml) defined.</li> +</ol> +<h3 id="additional">Additional</h3> +<p>Friendly URL Mapper functionality is not working if the portletURL API is used to generate the Liferay URL in local Javascript. <br> +It is helpful to generate <code>&lt;portlet:renderURL&gt;</code> placeholder and replace them by using dummy values.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-moderation-requests/index.html b/docs/developers/dev-moderation-requests/index.html new file mode 100644 index 0000000..99b7ac6 --- /dev/null +++ b/docs/developers/dev-moderation-requests/index.html @@ -0,0 +1,709 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Moderation Requests | Eclipse SW360</title> +<meta name="description" content="The concept of moderation is good for two things: + +to cope with a large number of potential edits on documents. +to allow every user to propose edits. …"> +<meta property="og:title" content="Moderation Requests" /> +<meta property="og:description" content="The concept of moderation is good for two things: + to cope with a large number of potential edits on documents. to allow every user to propose edits. Allowing every user to edit opposed to propose edits would lad to a large number of changes, potentially, not making everyone happy. As such, the changes should be reviewed by an experienced person and can be then approved. +Application Flow A user changes a moderated document, which are component, release, project and todo&rsquo;s of licenses (and the white list):" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Moderation Requests"> +<meta itemprop="description" content="The concept of moderation is good for two things: + to cope with a large number of potential edits on documents. to allow every user to propose edits. Allowing every user to edit opposed to propose edits would lad to a large number of changes, potentially, not making everyone happy. As such, the changes should be reviewed by an experienced person and can be then approved. +Application Flow A user changes a moderated document, which are component, release, project and todo&rsquo;s of licenses (and the white list):"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="678"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Moderation Requests"/> +<meta name="twitter:description" content="The concept of moderation is good for two things: + to cope with a large number of potential edits on documents. to allow every user to propose edits. Allowing every user to edit opposed to propose edits would lad to a large number of changes, potentially, not making everyone happy. As such, the changes should be reviewed by an experienced person and can be then approved. +Application Flow A user changes a moderated document, which are component, release, project and todo&rsquo;s of licenses (and the white list):"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check" checked/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="td-sidebar-nav-active-item">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Moderation-Requests.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Moderation-Requests.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Moderation-Requests.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Moderation%20Requests" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#application-flow">Application Flow</a></li> + <li><a href="#technical-description">Technical Description</a> + <ul> + <li><a href="#checking-document-permissions">Checking Document Permissions</a></li> + <li><a href="#writing-a-moderation-request-to-the-database">Writing a Moderation Request to the Database</a></li> + <li><a href="#creation-details-in-the-service">Creation Details in the Service</a></li> + <li><a href="#what-is-in-the-database">What is in the Database?</a></li> + <li><a href="#evaluating-the-moderation-request">Evaluating the Moderation Request</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/">Moderation Requests</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Moderation Requests</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The concept of moderation is good for two things:</p> +<ul> +<li>to cope with a large number of potential edits on documents.</li> +<li>to allow every user to propose edits.</li> +</ul> +<p>Allowing every user to edit opposed to propose edits would lad to a large number of changes, potentially, not making everyone happy. As such, the changes should be reviewed by an experienced person and can be then approved.</p> +<h2 id="application-flow">Application Flow</h2> +<p>A user changes a moderated document, which are component, release, project and todo&rsquo;s of licenses (and the white list):</p> +<ul> +<li> +<p>The user switches in edit mode and applies a change.</p> +</li> +<li> +<p>The user submits the change by clicking &ldquo;Update &hellip;&rdquo;</p> +</li> +<li> +<p>The application checks, if the permissions are sufficient</p> +</li> +<li> +<p>For sufficient permissions, see here: <a href="https://github.com/siemens/sw360portal/wiki/Dev-Role-Authorisation-Model">https://github.com/siemens/sw360portal/wiki/Dev-Role-Authorisation-Model</a></p> +</li> +<li> +<p>If the permissions do not allow the edit right away, a moderation request is created.</p> +</li> +<li> +<p>Moderators can see the moderation request in the moderation portlet</p> +</li> +<li> +<p>Having selected the moderation request, the moderator can accept the request, decline, postpone or remove himself from the list of moderators</p> +</li> +</ul> +<h2 id="technical-description">Technical Description</h2> +<h3 id="checking-document-permissions">Checking Document Permissions</h3> +<p>If a moderation requests needs to be created, because the user does not have sufficient permissions:</p> +<ul> +<li>The request goes through the stack, for example: project portlet, project handler, project database handler.</li> +<li>Then the project database handler checks for permissions using <code>makePermission()</code> (<code>DocumentPermission</code> is the base class, then <code>ProjectPermissions</code> is the referring here for projects) and <code>isActionAllowed()</code>.</li> +<li>For moderation requests, we assume that this action is not allowed. Then, the <code>ProjectModerator</code> is called (see package <code>...sw360.datahandler.entitlement</code>).</li> +<li>This class (which is part of the project service) creates a thrift client to the moderation service (also on the backend) and creates a moderation request using this client.</li> +</ul> +<p>Every moderation request is created using the thrift-based API.</p> +<h3 id="writing-a-moderation-request-to-the-database">Writing a Moderation Request to the Database</h3> +<p>The generation of moderation request is performed by the moderation service. The moderation service handles incoming request in the following way:</p> +<ul> +<li>The requests arrives in the <code>ModerationDatabaseHandler</code>.</li> +<li>This handler writes the request to the database.</li> +</ul> +<h3 id="creation-details-in-the-service">Creation Details in the Service</h3> +<p>The handler writes one moderation request per user and document. If a moderation request from the same user for the same document exists, added moderation requests are merged. Or, the request is new either with a new user, new document or both, then the moderation request is created.</p> +<p>Each moderation requests has recipients, the moderators. The moderation database handler selects the moderators depending on the document type, which are usually the creator of the document and the listed moderators for this document. See details in the <code>ModerationDatabaseHandler</code> class. At the same location the check for deletion is performed.</p> +<h3 id="what-is-in-the-database">What is in the Database?</h3> +<p>The moderation request is a document in the couchdb. Technically, the moderation requests holds the affected document as field where the values is a nested JSON dictionary.</p> +<p>The following screen shot shows an example for a moderation request for a project.</p> +<p><img src="https://raw.githubusercontent.com/wiki/siemens/sw360portal/images/036-oss-sw360-20160310-screenshot-moderation-reqeust-document-example.png" alt="Example Moderation Request in Database"></p> +<h3 id="evaluating-the-moderation-request">Evaluating the Moderation Request</h3> +<p>On the moderation portlet all moderations will be shown, for which the user is a moderator. +Only open moderation requests can be selected. Approved and declined moderation requests will only be shown. +On selecting the moderation requests, both documents (original and the updated out of the moderation request) will be compared in the <code>merge.jsp</code> and all differences will be shown to the moderator. This is done via tags such as the <code>sw360:CompareProject</code>-tag. Opening the detailed view of the moderation request changes the state to <code>in progress</code> to show other moderators that the moderation request is in work.</p> +<p>The following actions are possible:</p> +<ul> +<li><code>Accept request</code>: the document within the moderation request will be accepted and written to the DB via e.g. the <code>ProjectService</code>. The state is set to <code>ACCEPTED</code>.</li> +<li><code>Remove Me from Moderators</code>: the state of the moderation requests is set to <code>PENDING</code> again and the logged in moderator will be removed from the moderation list.</li> +<li><code>Decline request</code>: the moderation requests will be set to <code>REJECTED</code> and still shown in the list</li> +<li><code>Postpone request</code>: the state will be <code>IN PROGRESS</code>.</li> +<li><code>Cancel</code>: the moderation state is set to <code>PENDING</code> and the moderation request will still be shown in the moderation request list</li> +</ul> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-releasing-sw360/index.html b/docs/developers/dev-releasing-sw360/index.html new file mode 100644 index 0000000..1ee67bf --- /dev/null +++ b/docs/developers/dev-releasing-sw360/index.html @@ -0,0 +1,716 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Release and Versioning | Eclipse SW360</title> +<meta name="description" content="Our Versioning and Release Principles"> +<meta property="og:title" content="Release and Versioning" /> +<meta property="og:description" content="Our Versioning and Release Principles" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Release and Versioning"> +<meta itemprop="description" content="Our Versioning and Release Principles"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="579"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Release and Versioning"/> +<meta name="twitter:description" content="Our Versioning and Release Principles"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check" checked/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="td-sidebar-nav-active-item">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Releasing-SW360.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Releasing-SW360.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Releasing-SW360.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Release%20and%20Versioning" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#major-version">Major Version</a></li> + <li><a href="#minor-version">Minor Version</a></li> + <li><a href="#patch-level">Patch Level</a></li> + </ul> + </li> + <li><a href="#naming-and-meaning-of-milestones">Naming and Meaning of Milestones</a></li> + <li><a href="#technical-implementation">Technical Implementation</a></li> + </ul> + + <ul> + <li> + <ul> + <li><a href="#0-work-in-a-clean-environment">0. Work in a clean environment</a></li> + <li><a href="#1-write-the-version-of-the-release-into-the-poms">1. Write the version of the release into the poms</a></li> + <li><a href="#2-test-the-project">2. Test the project</a></li> + <li><a href="#3-create-and-push-the-tag">3. Create and push the tag</a></li> + <li><a href="#4-write-the-new-incremented-snapshot-version-into-the-poms">4. Write the new incremented SNAPSHOT-version into the poms</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/">Release and Versioning</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Release and Versioning</h1> + <div class="lead">Our Versioning and Release Principles</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>We have the following main principles for versioning and releases. We consider <a href="http://semver.org/">semantic versioning</a>:</p> +<blockquote> +<p>Given a version number MAJOR.MINOR.PATCH, increment the:</p> +<ul> +<li>MAJOR version when you make incompatible API changes,</li> +<li>MINOR version when you add functionality in a backwards-compatible manner, and</li> +<li>PATCH version when you make backwards-compatible bug fixes.</li> +</ul> +<p>Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.</p> +</blockquote> +<p>with the following implementation in our project:</p> +<h3 id="major-version">Major Version</h3> +<ul> +<li>API breaking changes are considered for the upcoming REST API.</li> +<li>Breaking change is <em>also</em> if a migration script is required for the data base.</li> +<li>Thrift API is not considered a public API anymore.</li> +<li>Therefore milestones cannot correspond to our versions like <code>1.4</code>, <code>1.5</code>, etc. anymore: we do not know which feature or issue will cause a version jump according to semantic versioning guidelines.</li> +</ul> +<h3 id="minor-version">Minor Version</h3> +<ul> +<li>Changes to the thrift API will cause minor version increment.</li> +<li>Larger new functionality which is backwards compatible, maybe one pull requests or maybe a group of pull requests.</li> +<li>Minor versions requires also tagging in the repo.</li> +</ul> +<h3 id="patch-level">Patch Level</h3> +<ul> +<li>Every push (merged pull request) to master shall generate <em>at least</em> (not there yet) a new patch level version, in order to allow for (clean) deployments at this level.</li> +<li>Could e also minor improvements like adding a button with some functionality</li> +<li>Patch level is not tagged.</li> +</ul> +<h2 id="naming-and-meaning-of-milestones">Naming and Meaning of Milestones</h2> +<ul> +<li>Milestones cannot correspond to versions (releases) anymore, because in general the version designator is determined by the level of change.</li> +<li>We use milestones as work packages. We see them as work packages from an organizational point of view. However, it is not a milestone to release a version, because - again in general - the version is determined by the level of change.</li> +<li>However, If the last merged pull quest of a work package, a completing merge: If it is not causing a major or minor version increment, still, this would lead to a minor version increment.</li> +</ul> +<h2 id="technical-implementation">Technical Implementation</h2> +<ul> +<li>Plan: The artifacts will be build by travis and stored on aws S3 (not there yet) with patch level version increments, but patch level versions will not lead to a tag in the repo.</li> +<li>Currently, the versioning is &ldquo;manual maven based&rdquo;, we look for a cleaner more automated approach.</li> +</ul> +<h1 id="technical-maven-universe-how-to-maketag-a-release">Technical: Maven Universe How to make/tag a release⁽¹⁾:</h1> +<p>The following information refers to the existing maven-based versioning scheme, as of now we are looking into a system which is not leading to a temporary change in the repo, commit, and then reverting changes.</p> +<p>Let us assume, that we want to tag the version <strong>1.2.0</strong> and that the current version in the pom&rsquo;s is <strong>1.2.0-SNAPSHOT</strong>.</p> +<h3 id="0-work-in-a-clean-environment">0. Work in a clean environment</h3> +<p>Especially should all poms be without uncommitted changes. The safe way is to start with:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>$ <span style="color:#366">cd</span> /tmp/ +</span></span><span style="display:flex;"><span>$ git clone https://github.com/eclipse/sw360.git +</span></span><span style="display:flex;"><span>$ <span style="color:#366">cd</span> sw360portal +</span></span></code></pre></div><h3 id="1-write-the-version-of-the-release-into-the-poms">1. Write the version of the release into the poms</h3> +<pre> +$ mvn versions:set -DnewVersion=<b>1.2.0</b> +$ git add pom.xml \*\*/pom.xml +$ git commit -m "set version to <b>1.2.0</b>" +</pre> +<p>This will actually edit all pom.xml files and change the versions to <strong>1.2.0</strong>, i.e. remove the SNAPSHOT.</p> +<h3 id="2-test-the-project">2. Test the project</h3> +<pre> +$ mvn install +</pre> +<p>or even better: use vagrant.</p> +<h3 id="3-create-and-push-the-tag">3. Create and push the tag</h3> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>$ mvn scm:tag +</span></span></code></pre></div><p>This creates the tag and <strong>pushes it to github</strong>.</p> +<h3 id="4-write-the-new-incremented-snapshot-version-into-the-poms">4. Write the new incremented SNAPSHOT-version into the poms</h3> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>$ mvn versions:set -DnewVersion<span style="color:#555">=</span>&lt;b&gt;1.3.0-SNAPSHOT&lt;/b&gt; +</span></span><span style="display:flex;"><span>$ git add pom.xml <span style="color:#c30;font-weight:bold">\*\*</span>/pom.xml +</span></span><span style="display:flex;"><span>$ git commit -m <span style="color:#c30">&#34;set version to &lt;b&gt;1.3.0-SNAPSHOT&lt;/b&gt;&#34;</span> +</span></span><span style="display:flex;"><span>$ git push origin master +</span></span></code></pre></div><p>&ndash; +⁽¹⁾ based on: <a href="https://axelfontaine.com/blog/final-nail.html">https://axelfontaine.com/blog/final-nail.html</a></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-rest-api/index.html b/docs/developers/dev-rest-api/index.html new file mode 100644 index 0000000..89fb2a6 --- /dev/null +++ b/docs/developers/dev-rest-api/index.html @@ -0,0 +1,1083 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>REST API | Eclipse SW360</title> +<meta name="description" content="The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent …"> +<meta property="og:title" content="REST API" /> +<meta property="og:description" content="The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent module rest in the sw360 distribution. +Module Structure The rest module provides a REST API infrastructure for sw360 including: + Module authorization-server - OAuth2 Authorization Server, offering typical authorization steps of an OAuth2 workflow. Module resource-server - REST API Gateway, providing access to the data for authenticated and authorized users / clients." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-rest-api/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="REST API"> +<meta itemprop="description" content="The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent module rest in the sw360 distribution. +Module Structure The rest module provides a REST API infrastructure for sw360 including: + Module authorization-server - OAuth2 Authorization Server, offering typical authorization steps of an OAuth2 workflow. Module resource-server - REST API Gateway, providing access to the data for authenticated and authorized users / clients."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="2355"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="REST API"/> +<meta name="twitter:description" content="The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent module rest in the sw360 distribution. +Module Structure The rest module provides a REST API infrastructure for sw360 including: + Module authorization-server - OAuth2 Authorization Server, offering typical authorization steps of an OAuth2 workflow. Module resource-server - REST API Gateway, providing access to the data for authenticated and authorized users / clients."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check" checked/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="td-sidebar-nav-active-item">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-REST-API.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-REST-API.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-REST-API.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=REST%20API" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#security-principles">Security Principles</a></li> + <li><a href="#data-principles">Data Principles</a></li> + </ul> + + <ul> + <li><a href="#authorization-server-configuration">Authorization Server Configuration</a> + <ul> + <li><a href="#special-liferay-credentials-configuration">Special Liferay Credentials Configuration</a></li> + <li><a href="#special-sso-configuration">Special SSO Configuration</a></li> + <li><a href="#a-namegeneral-configageneral-configuration"><a name="general-config"></a>General Configuration</a></li> + </ul> + </li> + </ul> + + <ul> + <li> + <ul> + <li><a href="#client-management-via-curl">Client Management via Curl</a></li> + </ul> + </li> + <li><a href="#oauth2-access-token">OAuth2 Access Token</a> + <ul> + <li><a href="#sso-backed-access-token">SSO Backed Access Token</a></li> + <li><a href="#liferay-backed-access-token">Liferay Backed Access Token</a></li> + </ul> + </li> + <li><a href="#oauth2-refresh-token">OAuth2 Refresh Token</a></li> + <li><a href="#example-apache-configuration">Example Apache configuration</a></li> + </ul> + + <ul> + <li><a href="#example--get-a-list-of-projects">Example – Get a list of projects</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-rest-api/">REST API</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>REST API</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent module <code>rest</code> in the sw360 distribution.</p> +<h1 id="module-structure">Module Structure</h1> +<p>The <code>rest</code> module provides a REST API infrastructure for sw360 including:</p> +<ul> +<li>Module <code>authorization-server</code> - OAuth2 Authorization Server, offering typical authorization steps of an OAuth2 workflow.</li> +<li>Module <code>resource-server</code> - REST API Gateway, providing access to the data for authenticated and authorized users / clients.</li> +<li>Module <code>rest-common</code> - only library code that is shared between the other rest modules.</li> +</ul> +<p>The REST API implementation uses:</p> +<ul> +<li>Module <code>authorization-server</code> uses the Liferay user management via the Liferay REST API to authenticate users and the users thrift backend service to access user profile data.</li> +<li>Module <code>resource-server</code> uses thrift backend services for accessing sw360 data to deliver it to the external clients.</li> +</ul> +<h1 id="api-principles">API Principles</h1> +<h2 id="security-principles">Security Principles</h2> +<p>The basic security principles are following the OAuth2 standards. So there should be an authorization server which can be the one contained in this project. That one provides access tokens after it authenticated the client and the user using this client. In addition it checks which authorities this client should receive for operating in the user&rsquo;s name. +With this OAuth2 access token the client can query the resource server which will restrict access to the given authorities. +Every client gets an access token as well as an refresh token. As long as the refresh token is valid, the client can gather a new access token without the need of re-authorization of the user.</p> +<p>There are currently three different possibilities for an OAuth2 authorization server implemented:</p> +<ul> +<li>Using the contained authorization-server with username/password that are known by Liferay, no matter if Liferay is hosting the credentials itself or is attached to some central user management which it uses to authenticate users.</li> +<li>Using the contained authorization-server inside an SSO network where an existing proxy can take care of the authentication and passing authenticated user information in configurable headers to the authorization-server which then performs authorization on top.</li> +<li>Using keycloak as authorization-server. This case is not part of this wiki page and might need special configuration.</li> +</ul> +<h2 id="data-principles">Data Principles</h2> +<p>The REST API provides Hypermedia using <a href="http://stateless.co/hal_specification.html">HAL</a> (Hypertext Application Language). +The following example shows some ideas of the REST API. It can be obtained by</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>https://[hostname]:[port]/resource/api/browser/index.html#/resource/api +</span></span></code></pre></div><p>Note that the response below is maybe not the exact same response of your current version:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;_links&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:attachments&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/attachments{?sha1}&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;templated&#34;</span>: <span style="color:#069;font-weight:bold">true</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:components&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/components&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:licenses&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/licenses&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:licenseinfo&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/licenseinfo&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:projects&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/projects&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:releases&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/releases&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:users&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/users&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:vendors&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/vendors&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;sw360:vulnerabilities&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/vulnerabilities&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;profile&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/api/profile&#34;</span> +</span></span><span style="display:flex;"><span> }, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;curies&#34;</span>: [ +</span></span><span style="display:flex;"><span> { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://dev.sw360.siemens.com/resource/docs/{rel}.html&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;name&#34;</span>: <span style="color:#c30">&#34;sw360&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;templated&#34;</span>: <span style="color:#069;font-weight:bold">true</span> +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span> ] +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><h1 id="api-installation">API Installation</h1> +<p>Both, the <code>authorization-server</code> and the <code>resource-server</code> can be build using Maven like the rest of the project. Each is generating a Spring Boot server that can be deployed in an application container, e.g. Tomcat.</p> +<h1 id="api-configuration">API Configuration</h1> +<p>Since the <code>authorization-server</code> and the <code>resource-server</code> are Spring Boot servers, they are configured as usual via <code>/src/main/resources/application.yml</code>. In addition some configuration comes historically from <code>sw360.properties</code>. Please note that all configurations could be provided centrally in the <code>/etc/sw360/</code> directory. As such, the <code>sw360.properties</code> sits directly in <code>/etc/sw360/</code>. For rest-specific configurations the application considers the location <code>/etc/sw360/rest</code>.</p> +<h2 id="authorization-server-configuration">Authorization Server Configuration</h2> +<h3 id="special-liferay-credentials-configuration">Special Liferay Credentials Configuration</h3> +<p>In addition to the general properties in <a href="#general-config">here</a> the following needs to be configured in the <code>application.yml</code> when the authentication via Liferay username/password credentials should be possible:</p> +<table> +<thead> +<tr> +<th>Key</th> +<th>Values</th> +<th>Default</th> +</tr> +</thead> +<tbody> +<tr> +<td>sw360:sw360-portal-server-url</td> +<td>the url of the Liferay instance</td> +<td>n/a (but could be given if environment variable is used like <code>${SW360_PORTAL_SERVER_URL:http://127.0.0.1:8080}</code>)</td> +</tr> +<tr> +<td>sw360:sw360-liferay-company-id</td> +<td>the id of the company in Liferay that sw360 is run for</td> +<td>(but could be given if environment variable is used like <code>${SW360_LIFERAY_COMPANY_ID:20155}</code>)</td> +</tr> +</tbody> +</table> +<h3 id="special-sso-configuration">Special SSO Configuration</h3> +<p>In addition to the general properties in <a href="#general-config">here</a> the following needs to be configured in the <code>application.yml</code> when the authentication via SSO should be possible:</p> +<table> +<thead> +<tr> +<th>Key</th> +<th>Values</th> +<th>Default</th> +</tr> +</thead> +<tbody> +<tr> +<td>security:customheader:enabled</td> +<td>Flag if the components needed for SSO should be active</td> +<td>false</td> +</tr> +<tr> +<td>security:customheader:headername:intermediateauthstore</td> +<td>the name of the header that can be used for internal data transfer inside one roundtrip - it can be configured here because the proxy has to make sure that this header will not be passed from clients and will be used truly internal only</td> +<td>custom-header-auth-marker</td> +</tr> +<tr> +<td>security:customheader:headername:email</td> +<td>the name of the header that holds the email of the authenticated user (should be set be the proxy and must never be passed from clients)</td> +<td>authenticated-email</td> +</tr> +<tr> +<td>security:customheader:headername:extid</td> +<td>the name of the header that holds the extid of the authenticated user (should be set be the proxy and must never be passed from clients)</td> +<td>authenticated-extid</td> +</tr> +</tbody> +</table> +<p>:heavy_exclamation_mark: Please configure your SSO server and the proxy accordingly. In general, no unauthenticated request should reach the authorization server. And the configured headers should only be set by the proxy. If they are already contained in client requests, they must be removed!</p> +<h4 id="removing-headers-in-apache">Removing Headers in Apache</h4> +<p>In Apache you may use the <a href="https://httpd.apache.org/docs/current/mod/mod_headers.html"><code>mod_headers</code></a> module to remove headers from the client. Using the default values from the table above, at least the following directives should be present in your configuration for all requests that are routed to the <code>authorization-server</code>:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>RequestHeader unset custom-header-auth-marker +</span></span><span style="display:flex;"><span>RequestHeader unset authenticated-email +</span></span><span style="display:flex;"><span>RequestHeader unset authenticated-extid +</span></span></code></pre></div><h3 id="a-namegeneral-configageneral-configuration"><a name="general-config"></a>General Configuration</h3> +<p>Possible properties in <code>sw360.properties</code> file are:</p> +<table> +<thead> +<tr> +<th>Key</th> +<th>Values</th> +<th>Default</th> +</tr> +</thead> +<tbody> +<tr> +<td>backend.url</td> +<td>the url where the thrift services can be found</td> +<td>http://127.0.0.1:8080</td> +</tr> +<tr> +<td>rest.write.access.usergroup</td> +<td>the user group level (`USER</td> +<td>CLEARING_ADMIN</td> +</tr> +<tr> +<td>rest.admin.access.usergroup</td> +<td>the user group level (`USER</td> +<td>CLEARING_ADMIN</td> +</tr> +</tbody> +</table> +<p>The values in <code>sw360.properties</code> should be migrated to the <code>application.yml</code> in the future.</p> +<p>Further important properties in <code>application.yml</code> file are:</p> +<table> +<thead> +<tr> +<th>Key</th> +<th>Values</th> +<th>Default</th> +</tr> +</thead> +<tbody> +<tr> +<td>couchdb:url</td> +<td>the url of the CouchDB to use as client store</td> +<td>n/a</td> +</tr> +<tr> +<td>couchdb:database</td> +<td>the database name of the CouchDB database to use as client store</td> +<td>n/a</td> +</tr> +<tr> +<td>couchdb:username</td> +<td>if the CouchDB database needs authentication, enter the username here - if it does not need authentication, do not set this property at all, not even with an empty value</td> +<td>null</td> +</tr> +<tr> +<td>couchdb:password</td> +<td>if the CouchDB database needs authentication, enter the password here - if it does not need authentication, do not set this property at all, not even with an empty value</td> +<td>null</td> +</tr> +<tr> +<td>sw360:cors:allowed-origin</td> +<td>value for cross origin resource sharing</td> +<td>n/a</td> +</tr> +<tr> +<td>security:oauth2:resource:id</td> +<td>should just be the same then in the resource server</td> +<td>n/a</td> +</tr> +</tbody> +</table> +<p>After this configuration is done the normal REST service for client management should be usable. This one is only accessible for authenticated users that get the <code>ADMIN</code> authority (remember, the therefore necessary sw360 usergroup has just been configured). So the clients can be configured now.</p> +<h1 id="client-management">Client Management</h1> +<p>In the scenarios of this page, the shipped authorization server is used. So the next step is to configure a valid OAuth2 client in this authorization server. There should be one OAuth2 client per external REST API client (which in turn can have many different users). Therefore the authorization server offers a REST API for basic CRUD operations for configuring the clients that are stored in the just configured CouchDB. Since sw360-<code>ADMIN</code> privileges are needed for client management, an authentication is needed to work with this API.</p> +<p>For SSO users (basic-auth Liferay users can use other tools as well because other tools can handle basic auth - but they can also use this workflow):</p> +<ol> +<li> +<p>Open a browser with developer tools capabilities</p> +</li> +<li> +<p>Open</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>https://[hostname]:[port]/authorization/client-management +</span></span></code></pre></div><p>This page always shows the currently configured clients and can be refreshed after every manipulation of a client.</p> +</li> +<li> +<p>To add a new client, enter the following javascript in the dev tools console in the current browser tab - of course after manipulating the client data to suit your needs</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>xmlHttpRequest = new XMLHttpRequest(); +</span></span><span style="display:flex;"><span>xmlHttpRequest.open(&#39;POST&#39;, &#39;/authorization/client-management&#39;, false); +</span></span><span style="display:flex;"><span>xmlHttpRequest.setRequestHeader(&#39;Content-Type&#39;, &#39;application/json&#39;); +</span></span><span style="display:flex;"><span>xmlHttpRequest.setRequestHeader(&#39;Accept&#39;, &#39;application/json&#39;); +</span></span><span style="display:flex;"><span>xmlHttpRequest.send(JSON.stringify( +</span></span><span style="display:flex;"><span> { +</span></span><span style="display:flex;"><span> &#34;description&#34; : &#34;my first test client&#34;, +</span></span><span style="display:flex;"><span> &#34;authorities&#34; : [ &#34;BASIC&#34; ], +</span></span><span style="display:flex;"><span> &#34;scope&#34; : [ &#34;READ&#34; ], +</span></span><span style="display:flex;"><span> &#34;access_token_validity&#34; : 3600, +</span></span><span style="display:flex;"><span> &#34;refresh_token_validity&#34; : 3600 +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>)); +</span></span><span style="display:flex;"><span>console.log(xmlHttpRequest.responseText); +</span></span></code></pre></div></li> +<li> +<p>to manipulate an existing client, do the same but add the clientid to the data object</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> &#34;client_id&#34; : &#34;9e358ca832ce4ce99a770c7bd0f8e066&#34; +</span></span></code></pre></div></li> +<li> +<p>to remove an existing client, enter the following javascript in the dev tools console</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>xmlHttpRequest = new XMLHttpRequest(); +</span></span><span style="display:flex;"><span>xmlHttpRequest.open(&#39;DELETE&#39;, &#39;/authorization/client-management/9e358ca832ce4ce99a770c7bd0f8e066&#39;, false); +</span></span><span style="display:flex;"><span>xmlHttpRequest.setRequestHeader(&#39;Content-Type&#39;, &#39;application/json&#39;); +</span></span><span style="display:flex;"><span>xmlHttpRequest.setRequestHeader(&#39;Accept&#39;, &#39;application/json&#39;); +</span></span><span style="display:flex;"><span>xmlHttpRequest.send(); +</span></span><span style="display:flex;"><span>console.log(xmlHttpRequest.responseText); +</span></span></code></pre></div></li> +</ol> +<p>This way the session cookie of the SSO login will be used for the REST calls. This might also be possible in postman or curl or similar tools if you want to try to copy cookies (depending also on the SSO configuration). As said before, if Liferay username/password credentials can be used to authenticate then a tool like postman or curl can be used for the whole process. Just pass the credentials as basic-auth.</p> +<h3 id="client-management-via-curl">Client Management via Curl</h3> +<p>The above described call to create a rest client can also be done directly via one curl call:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#033">SW360_USER</span><span style="color:#555">=[</span>admin sw360 user<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#033">SW360_PW</span><span style="color:#555">=[</span>corresponding sw360 admin user password<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span>curl -s -S <span style="color:#c30;font-weight:bold">\ +</span></span></span><span style="display:flex;"><span><span style="color:#c30;font-weight:bold"></span> --user <span style="color:#c30">&#34;</span><span style="color:#a00">${</span><span style="color:#033">SW360_USER</span><span style="color:#a00">}</span><span style="color:#c30">:</span><span style="color:#a00">${</span><span style="color:#033">SW360_PW</span><span style="color:#a00">}</span><span style="color:#c30">&#34;</span> <span style="color:#c30;font-weight:bold">\ +</span></span></span><span style="display:flex;"><span><span style="color:#c30;font-weight:bold"></span> --header <span style="color:#c30">&#34;Content-Type: application/json&#34;</span> <span style="color:#c30;font-weight:bold">\ +</span></span></span><span style="display:flex;"><span><span style="color:#c30;font-weight:bold"></span> --header <span style="color:#c30">&#34;Accept: application/json&#34;</span> <span style="color:#c30;font-weight:bold">\ +</span></span></span><span style="display:flex;"><span><span style="color:#c30;font-weight:bold"></span> -X POST https://<span style="color:#555">[</span>hostname<span style="color:#555">]</span>:<span style="color:#555">[</span>port<span style="color:#555">]</span>/authorization/client-management <span style="color:#c30;font-weight:bold">\ +</span></span></span><span style="display:flex;"><span><span style="color:#c30;font-weight:bold"></span> -d @- <span style="color:#c30">&lt;&lt;EOF +</span></span></span><span style="display:flex;"><span><span style="color:#c30">{ +</span></span></span><span style="display:flex;"><span><span style="color:#c30"> &#34;description&#34; : &#34;my first test client&#34;, +</span></span></span><span style="display:flex;"><span><span style="color:#c30"> &#34;authorities&#34; : [ &#34;BASIC&#34; ], +</span></span></span><span style="display:flex;"><span><span style="color:#c30"> &#34;scope&#34; : [ &#34;READ&#34; ], +</span></span></span><span style="display:flex;"><span><span style="color:#c30"> &#34;access_token_validity&#34; : 3600, +</span></span></span><span style="display:flex;"><span><span style="color:#c30"> &#34;refresh_token_validity&#34; : 3600 +</span></span></span><span style="display:flex;"><span><span style="color:#c30">} +</span></span></span><span style="display:flex;"><span><span style="color:#c30">EOF</span> +</span></span></code></pre></div><p>This only works with the liferay basic-auth mechanism, SSO is not supported via curl.</p> +<h2 id="oauth2-access-token">OAuth2 Access Token</h2> +<p>Now with a configured client it is possible to retrieve an access token for the REST API from the authorization server. There is again a difference in SSO environments and Liferay username/password environments.</p> +<h3 id="sso-backed-access-token">SSO Backed Access Token</h3> +<p>Probably the browser has to be used again because many SSO environments are based on certificates that are read from keycards and the necessary libs are often built into the browser. So just call the URL</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>https://[hostname]:[port]/authorization/oauth/token?grant_type=password&amp;client_id=[clientid]&amp;client_secret=[clientsecret] +</span></span></code></pre></div><p>Of course the client id and the client secret should be replaced by the values of the configured client. The received response should look similar to</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;access_token&#34;</span> : <span style="color:#c30">&#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiZDY4ZWY1YWEtZTQ5My00Y2YxLWI2NGQtNWE5MTdkY2M2ZTYwIiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iO5sLrqRcZfzvMP5gjaJhk3caWyZLkUesdbMfqCGy4V5rbnU9QP1LjdybY0Udh8hvAvhlpqPfaxeKe1c3-gQs5MYlqG0lNQCyWcb7NRHj8VFlwLPuJRZJNk3tybvgITVm9r14pfAXogpVE0S4KihD2W1_SoKH4NzTa2vOEG0CK4VzCLetxUlUuePxZH8ugouqbS2d0SpyeeMTm-PzxzzeTb_4ulGpg63eE1v7GvTsI23uh2WfIgHBa1GRr5jWtE0Meq-5UFCVQkhMm8P-r8wO2iuRblCu6a-bWwy7bfdj3S2VDnqSQskE2dVrC_qMs-V2AGvCV1xvlF0P8A4tgwL-w&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;token_type&#34;</span> : <span style="color:#c30">&#34;bearer&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;refresh_token&#34;</span> : <span style="color:#c30">&#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJhdGkiOiJkNjhlZjVhYS1lNDkzLTRjZjEtYjY0ZC01YTkxN2RjYzZlNjAiLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiM2VkZDcxODAtMTBlYi00Y2MwLTg0NTUtMGYwZmIyMWMwYmU0IiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iMGfdHWpJNseoxIk7tKCNTyC1w4_AJ4cSv6kO64_BkF54MLudvyf9uVSIHpAeHhSFdvhbjksynRqq_u78vW8ptY1la65Qx8glHz0sktWBfMDJsUA4ynU2iZbKU92f2OOf3wQRVt38-Y1mBUsDMIStyKTDeIXGT3LJr_8k5dRAGvayixaezxDFw3dWK2M6P9h-ZnfEP47HpIUZrG8cgwPmNCZ9gBXsqVnueDYZth6TaEKIvWbkZtwY0ikWKyJL2xLm78O1ii3lA5ENt5I0DTfTm8QuK_zcm679W9jF0jvwIR71fM0JSWjkBoXd2h9oLmE2CF2sFVaJor_ermk-L0LsA&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;expires_in&#34;</span> : <span style="color:#f60">3599</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;scope&#34;</span> : <span style="color:#c30">&#34;READ&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;jti&#34;</span> : <span style="color:#c30">&#34;d68ef5aa-e493-4cf1-b64d-5a917dcc6e60&#34;</span> +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>From this response the value of the <code>access_token</code> and probably <code>refresh_token</code> field is the one to copy-paste for later usage.</p> +<h3 id="liferay-backed-access-token">Liferay Backed Access Token</h3> +<p>With a Liferay backed authentication all REST clients that offer basic auth support can be used. For example <code>curl</code>:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>curl -X POST --user <span style="color:#c30">&#39;[clientid]:[clientsecret]&#39;</span> -d <span style="color:#c30">&#39;grant_type=password&amp;username=[username]&amp;password=[password]&#39;</span> https://<span style="color:#555">[</span>hostname<span style="color:#555">]</span>:<span style="color:#555">[</span>port<span style="color:#555">]</span>/authorization/oauth/token -k +</span></span></code></pre></div><p>Example response:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{ +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;access_token&#34;</span> : <span style="color:#c30">&#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiZDY4ZWY1YWEtZTQ5My00Y2YxLWI2NGQtNWE5MTdkY2M2ZTYwIiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iO5sLrqRcZfzvMP5gjaJhk3caWyZLkUesdbMfqCGy4V5rbnU9QP1LjdybY0Udh8hvAvhlpqPfaxeKe1c3-gQs5MYlqG0lNQCyWcb7NRHj8VFlwLPuJRZJNk3tybvgITVm9r14pfAXogpVE0S4KihD2W1_SoKH4NzTa2vOEG0CK4VzCLetxUlUuePxZH8ugouqbS2d0SpyeeMTm-PzxzzeTb_4ulGpg63eE1v7GvTsI23uh2WfIgHBa1GRr5jWtE0Meq-5UFCVQkhMm8P-r8wO2iuRblCu6a-bWwy7bfdj3S2VDnqSQskE2dVrC_qMs-V2AGvCV1xvlF0P8A4tgwL-w&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;token_type&#34;</span> : <span style="color:#c30">&#34;bearer&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;refresh_token&#34;</span> : <span style="color:#c30">&#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJhdGkiOiJkNjhlZjVhYS1lNDkzLTRjZjEtYjY0ZC01YTkxN2RjYzZlNjAiLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiM2VkZDcxODAtMTBlYi00Y2MwLTg0NTUtMGYwZmIyMWMwYmU0IiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iMGfdHWpJNseoxIk7tKCNTyC1w4_AJ4cSv6kO64_BkF54MLudvyf9uVSIHpAeHhSFdvhbjksynRqq_u78vW8ptY1la65Qx8glHz0sktWBfMDJsUA4ynU2iZbKU92f2OOf3wQRVt38-Y1mBUsDMIStyKTDeIXGT3LJr_8k5dRAGvayixaezxDFw3dWK2M6P9h-ZnfEP47HpIUZrG8cgwPmNCZ9gBXsqVnueDYZth6TaEKIvWbkZtwY0ikWKyJL2xLm78O1ii3lA5ENt5I0DTfTm8QuK_zcm679W9jF0jvwIR71fM0JSWjkBoXd2h9oLmE2CF2sFVaJor_ermk-L0LsA&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;expires_in&#34;</span> : <span style="color:#f60">3599</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;scope&#34;</span> : <span style="color:#c30">&#34;READ&#34;</span>, +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;jti&#34;</span> : <span style="color:#c30">&#34;d68ef5aa-e493-4cf1-b64d-5a917dcc6e60&#34;</span> +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>Of course, the username and password must be your user credentials and the client id and secret have to be replaced with the configured values. And again, the wanted value is the value of the field <code>access_token</code> and probably <code>refresh_token</code>.</p> +<p>More Links:</p> +<ul> +<li>OAuth2 more information: <a href="https://oauth.net/2/">https://oauth.net/2/</a></li> +<li>Decode Bearer tokens at: <a href="https://jwt.io/">https://jwt.io/</a></li> +</ul> +<h2 id="oauth2-refresh-token">OAuth2 Refresh Token</h2> +<p>The authorization server supports so called refresh tokens to generate new access tokens after they have been expired. New access tokens can be generated with the use of the <code>refresh_token</code> without further re-authorization of the user. The following url must be used:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span> http://localhost/authorization/oauth/token?grant_type=refresh_token&amp;refresh_token=&lt;REFRESH_TOKEN&gt; +</span></span></code></pre></div><p>The client must pass its credentials via basic authentication. Though a user authentication is not necessary. +If you are authentication your users on a proxy, you have to configure that proxy in a way that it does not block requests to the above url. As marker the &lsquo;grant_type=refresh_token&rsquo; query parameter may be used.</p> +<h2 id="example-apache-configuration">Example Apache configuration</h2> +<p>The following example shows the relevant part for an Apache proxy to configure +authentication of the <code>authorization-server</code> properly:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-apache" data-lang="apache"><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;Location</span> <span style="color:#c30">/authorization/oauth/token</span><span style="color:#309;font-weight:bold">&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#366">Order</span> allow,deny +</span></span><span style="display:flex;"><span> <span style="color:#366">Allow</span> from <span style="color:#069;font-weight:bold">all</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;If</span> <span style="color:#c30">&#34;%{QUERY_STRING} =~ /^grant_type=refresh_token\&amp;/&#34;</span><span style="color:#309;font-weight:bold">&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic"># No authentication needed</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/If&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;Else&gt;</span> +</span></span><span style="display:flex;"><span> <span style="color:#09f;font-style:italic"># Configure your authentication here</span> +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&lt;/Else&gt;</span> +</span></span><span style="display:flex;"><span> +</span></span><span style="display:flex;"><span> <span style="color:#366">ProxyPass</span> https://localhost:8443/authorization/oauth/token +</span></span><span style="display:flex;"><span> <span style="color:#366">ProxyPassReverse</span> https://localhost:8443/authorization/oauth/token +</span></span><span style="display:flex;"><span><span style="color:#309;font-weight:bold">&lt;/Location&gt;</span> +</span></span></code></pre></div><h1 id="resource-server-configuration">Resource Server Configuration</h1> +<p>Now that access tokens can be generated, the resource server has to be configured. The same general ideas of <a href="#general-config">general config</a> apply. The properties of the <code>application.yml</code> are</p> +<table> +<thead> +<tr> +<th>Key</th> +<th>Values</th> +<th>Default</th> +</tr> +</thead> +<tbody> +<tr> +<td>sw360:thrift-server-url</td> +<td>the url where the thrift services can be found, e.g. http://localhost:8080</td> +<td></td> +</tr> +<tr> +<td>sw360:test-user-id</td> +<td>only for developing, simple test user short cut, must be pulled off for productive</td> +<td></td> +</tr> +<tr> +<td>sw360:test-user-passwors</td> +<td>see above</td> +<td></td> +</tr> +<tr> +<td>sw360:couchdb-url</td> +<td>the url of the CouhDB server for attachment handling, e.g. https://localhost:5984</td> +<td></td> +</tr> +<tr> +<td>sw360:cors:allowed-origin</td> +<td>value for cross origin resource sharing</td> +<td>n/a</td> +</tr> +</tbody> +</table> +<p>The REST API is now completely usable via an own client or testwise with integrated tools.</p> +<h1 id="tools">Tools</h1> +<p>To get data and interact with the sw360 REST API the HAL-Browser is recommended. Currently, the HAL-Browser is also deployed on the sw360 development instance, but this is likely to change once the REST API has evolved more. Currently the URL of HAL-Browser is:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>https://[hostname]:[port]/resource/api/browser/index.html#/resource/api +</span></span></code></pre></div><p>An example for a screenshot is as follows:</p> +<p><img src="https://user-images.githubusercontent.com/29916928/39576770-90b2b576-4edf-11e8-9d1b-742c10d88b8e.png" alt="rest-hal-explorer"></p> +<p>When using other tools the access token has to be set as header parameter in the REST request. Please add a new header:</p> +<ul> +<li>Key: Authorization</li> +<li>As value you need to enter: <code>Bearer [ACCESS_TOKEN]</code> where <code>[ACCESS_TOKEN]</code> actually contains the token</li> +</ul> +<h2 id="example--get-a-list-of-projects">Example – Get a list of projects</h2> +<p>Here is an example how to query for all projects as HTTP GET Request. As for the resource endpoint, the request:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>https://sw360.org/resource/api/projects (or /resource/api/projects) +</span></span></code></pre></div><p>will return the following response:</p> +<p><img src="https://user-images.githubusercontent.com/29916928/39579586-6b1d1736-4ee7-11e8-8faf-da71c8776680.png" alt="rest-explorer2"></p> +<h1 id="api-documentation">API Documentation</h1> +<p>sw360 deploys a REST API documentation at every instance. There are the following URLs offered at each instance</p> +<table> +<thead> +<tr> +<th>URL</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>https://[hostname]:[port]/resource/docs/index.html</td> +<td>Small overview page</td> +</tr> +<tr> +<td>https://[hostname]:[port]/resource/docs/api-guide.html</td> +<td>The API description for the currently running server</td> +</tr> +<tr> +<td>https://[hostname]:[port]/resource/api/browser/index.html#/resource/api</td> +<td>Integrated HAL browser to directly use the API</td> +</tr> +</tbody> +</table> +<h1 id="known-problems">Known Problems</h1> +<p>If you use Nginx or Apache as request front end server there maybe some configuration caveats: The REST API objects provides self links to reference to other objects also including the protocol prefix. These links are realized on Hypertext Application Language (HAL) for example you will find in REST responses:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span><span style="color:#c30">&#34;_links&#34;</span><span style="color:#a00;background-color:#faa">:</span> { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;self&#34;</span>: { +</span></span><span style="display:flex;"><span> <span style="color:#309;font-weight:bold">&#34;href&#34;</span>: <span style="color:#c30">&#34;https://localhost:8443/resource/api/projects/065f3aa45c2683297fd1bb39296f519d&#34;</span> +</span></span><span style="display:flex;"><span> } +</span></span><span style="display:flex;"><span>} +</span></span></code></pre></div><p>The REST spring boot applications are using the Tomcat environment configuration to generate the HAL links. If the Tomcat is only configured as HTTP, the generated links will contain the <code>http</code> protocol and port - which is a problem if the server should be contacted over <code>https</code>only. This problem occurs, if tomcat is used together with Nginx, Apache httpd or other Web servers, which are configured to repsond only to <code>https</code>.</p> +<p>Solution is to set for example in Nginx HTTP &lsquo;X-Forward-*&rsquo; headers on a reverse proxy, for example:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">location</span> <span style="color:#c30">/</span> { +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">...</span> +</span></span><span style="display:flex;"><span> <span style="color:#c30">proxy_set_header</span> <span style="color:#c30">X-Forwarded-Port</span> <span style="color:#f60">443</span>; +</span></span><span style="display:flex;"><span> <span style="color:#069;font-weight:bold">proxy_set_header</span> <span style="color:#c30">X-Forwarded-Proto</span> <span style="color:#c30">https</span>; +</span></span><span style="display:flex;"><span> } +</span></span></code></pre></div><p>For other Web severs, there might a similar solution.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-role-authorisation-model/index.html b/docs/developers/dev-role-authorisation-model/index.html new file mode 100644 index 0000000..785598c --- /dev/null +++ b/docs/developers/dev-role-authorisation-model/index.html @@ -0,0 +1,859 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Roles and Authorization | Eclipse SW360</title> +<meta name="description" content="SW360 Roles and Authorization"> +<meta property="og:title" content="Roles and Authorization" /> +<meta property="og:description" content="SW360 Roles and Authorization" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Roles and Authorization"> +<meta itemprop="description" content="SW360 Roles and Authorization"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="1001"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Roles and Authorization"/> +<meta name="twitter:description" content="SW360 Roles and Authorization"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check" checked/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="td-sidebar-nav-active-item">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Role-Authorisation-Model.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Role-Authorisation-Model.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Role-Authorisation-Model.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Roles%20and%20Authorization" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#roles-overview">Roles Overview</a> + <ul> + <li></li> + <li><a href="#moderation-requests">Moderation Requests</a></li> + <li><a href="#additional-project-visibility">Additional Project Visibility</a></li> + <li><a href="#overall-access-matrix">Overall Access Matrix</a></li> + </ul> + </li> + <li><a href="#technical-info">Technical Info</a></li> + <li><a href="#further-plans">Further plans</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/">Roles and Authorization</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Roles and Authorization</h1> + <div class="lead">SW360 Roles and Authorization</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>Like any other system, SW360 allows for setting different levels of access for different users. Technically, the decision when user should be able to see or to do something happens (generally) on the backend server. This ensures consistency between the REST API and the portal application.</p> +<p>For setting roles of a user, the Liferay control panel is being used (Admin menu -&gt; Control Panel -&gt; Users and Organisations -&gt; Users -&gt; select one user and Edit -&gt; Roles). Setting access at individual records happens in the edit view of that record.</p> +<h2 id="roles-overview">Roles Overview</h2> +<p>SW360 offers two choices for doing the roles: one is setting access rights at every record individually. Another are general roles that can be set for every user. An admin of SW360 can set user roles at the Liferay Users and Roles UI.</p> +<h4 id="setup-admin-liferay-role">Setup Admin (Liferay Role)</h4> +<p>The setup admin is the Liferay administrator, which can configure the entire liferay app, such as which portlets are shown on which page.</p> +<h4 id="sw360-admin-liferay-role">SW360 Admin (Liferay Role)</h4> +<p>The SW360 admin can change all data and promote users for more access rights, such as promoting a user to role <code>CLEARING_ADMIN</code>. This role can change data from other groups, limited by visibility setting of a project.</p> +<h4 id="clearing-admin-liferay-role">Clearing Admin (Liferay Role)</h4> +<p>The clearing admin can change all component and release records and project records of the same group. This can be seen as group administrator.</p> +<h4 id="security-admin-liferay-role">Security Admin (Liferay Role)</h4> +<p>In addition to the user rights, the security admin can set security vulnerabilities to irrelevant</p> +<h4 id="ecc-admin-liferay-role">ECC Admin (Liferay Role)</h4> +<p>In addition to the user rights, the ECC admin can manipulate ECC data.</p> +<h4 id="user">User</h4> +<p>A user can create, modify and delete all own (=self created) records. A user cannot change records of others</p> +<h3 id="moderation-requests">Moderation Requests</h3> +<p>If a user with user or other access role rights is not entitled to write or change a record, a moderation request will be created. The moderation request contains the changes an will be routed for approval to the users who can write this record.</p> +<p>In addition there are ACL-style roles, meaning that per data item access settings can be made:</p> +<ol> +<li><strong>creator</strong> - a creator can modify in addition to the user&rsquo;s read abilities, a user can be creator of a data item</li> +<li><strong>moderator</strong> - a creator can define moderators for a data item. Moderators can change a data item as a creator can.</li> +<li><strong>contributor</strong> (Component) - is a contributor to a component, project, similar (but not the same) to a moderator. In addition to moderator, this role has been added to identify contributors (or that contributors get the fame). +In contrast, the contributor cannot delete data items.</li> +<li><strong>project responsible</strong> (Project) - is a contributor, just named differently to identify the responsible person.</li> +<li><strong>lead architect</strong> (Project) - is a contributor, just named differently to identify the responsible person. an architect refers to the person who has that role of the project or product. This role has been added to identify architects to have a contact person for technical questions.</li> +<li><strong>contact</strong> (Release) - deprecated, should be renamed to contributor see #100.</li> +</ol> +<p><code>group (department)</code>, <code>contributor</code>, <code>moderator</code> and <code>owner</code> roles are entity specific, <code>user</code>, <code>clearing admin</code> and <code>admin</code> are roles assigned to a user.</p> +<h3 id="additional-project-visibility">Additional Project Visibility</h3> +<p>In addition to the roles mentioned above, each project has a separate visibility setting (technically an attribute of the project document). There are four project visibility levels:</p> +<ol> +<li>Private - no one but the creator can read.</li> +<li>Me and moderators - involves all moderators and contributors, basically all names that are named among the attributes (lead architect, project responsible, contributors)</li> +<li>Department / business unit (should be renamed) - refer to the group the users are in.</li> +<li>Public - all registered users of the liferay / sw360 application (login required).</li> +</ol> +<p>The access rules are implemented in<code>lib-datahandler</code>. In the package, <code>com.siemens.sw360.datahandler.permissions</code> this is implemented in <code>ProjectPermissions</code>. See methods <code>isVisible</code> and <code>userIsEquivalentToModeratorinProject()</code> for the actual rules.</p> +<h3 id="overall-access-matrix">Overall Access Matrix</h3> +<p>The following table presents the SW360 Role-Authorisation-Model.</p> +<p>The row specifies which action to take, the column the role of the actor. Cell entries specify which entity type can be acted upon.</p> +<table> +<thead> +<tr> +<th></th> +<th>creator</th> +<th>moderator</th> +<th>contributor</th> +<th>user</th> +<th>clearing admin</th> +<th>(sw360)admin</th> +</tr> +</thead> +<tbody> +<tr> +<td>create</td> +<td>-</td> +<td>-</td> +<td>-</td> +<td>PCRV</td> +<td>PCRVL</td> +<td>PCRVL</td> +</tr> +<tr> +<td>read</td> +<td>P</td> +<td>P</td> +<td>P</td> +<td>(P²)CRVL</td> +<td>(P²)CRVL</td> +<td>PCRVL</td> +</tr> +<tr> +<td>edit</td> +<td>PCR</td> +<td>PCR</td> +<td>PCR</td> +<td>(all created ones)</td> +<td>PCRVL</td> +<td>PCRVL</td> +</tr> +<tr> +<td>delete</td> +<td>PCR</td> +<td>PCR</td> +<td>-</td> +<td>(all created ones)</td> +<td>L</td> +<td>PCRVL</td> +</tr> +</tbody> +</table> +<p>P² : only if the user is member of the group of the project (or has created the project)</p> +<p>Note that ECC Admins and Security Admins have only the ability to write ECC and security data respectively at given records. However, as for the other access rights this role does not enhance anything above users.</p> +<h4 id="legend">Legend</h4> +<table> +<thead> +<tr> +<th>acronym</th> +<th>description</th> +</tr> +</thead> +<tbody> +<tr> +<td>P</td> +<td>project</td> +</tr> +<tr> +<td>C</td> +<td>component</td> +</tr> +<tr> +<td>R</td> +<td>release</td> +</tr> +<tr> +<td>V</td> +<td>vendor</td> +</tr> +<tr> +<td>L</td> +<td>license</td> +</tr> +</tbody> +</table> +<h2 id="technical-info">Technical Info</h2> +<p>The role access rules are put into <code>lib-datahandler</code>. In the package, <code>com.siemens.sw360.datahandler.permissions</code> there are implementing classes of a template class <code>DocumentPermissions</code>. As an example, <code>ProjectPermissions</code> extends abstract class <code>DocumentPermissions</code>.</p> +<p>At run time, a permissions object consisting of a document and a user is created: In <code>PermissionUtils</code> (same package) there is a static method <code>makePermissions&lt;T&gt;()</code> that creates a permissions object. The received permissions object instance can be asked if a particular operation is allowed.</p> +<p>Note that the general application of these permission operations runs in the backend (Thrift services). An application in the front end of <code>PermissionUtils</code> for example, is for displaying buttons depending on the user main role (user, clearing admin or admin). Then the portlet makes plain use of the <code>lib-datahandler</code> library.</p> +<h2 id="further-plans">Further plans</h2> +<ol> +<li> +<p>Actually, creating stuff should be checked in lib-datahandler, starting with creation of licenses,which should ot be permitted to users: <a href="https://github.com/siemens/sw360portal/issues/106">Issue #106</a></p> +</li> +<li> +<p><a href="https://github.com/siemens/sw360portal/issues/101">Issue #101</a> for</p> +</li> +</ol> +<table> +<thead> +<tr> +<th></th> +<th>contributor</th> +<th>moderator</th> +<th>creator</th> +<th>user</th> +<th>clearing admin</th> +<th>admin</th> +</tr> +</thead> +<tbody> +<tr> +<td>download OSS sources</td> +<td>-</td> +<td>-</td> +<td>-</td> +<td>R</td> +<td>R</td> +<td>R</td> +</tr> +<tr> +<td>download internal sources</td> +<td>R</td> +<td>R</td> +<td>R</td> +<td>-</td> +<td>-</td> +<td>R</td> +</tr> +</tbody> +</table> +<ol start="3"> +<li><a href="https://github.com/siemens/sw360portal/issues/102">Issue #102</a> for</li> +</ol> +<table> +<thead> +<tr> +<th></th> +<th>contributor</th> +<th>moderator</th> +<th>creator</th> +<th>user</th> +<th>clearing admin</th> +<th>admin</th> +</tr> +</thead> +<tbody> +<tr> +<td>send to clearing</td> +<td>-</td> +<td>P</td> +<td>P</td> +<td>-</td> +<td>-</td> +<td>PCRL</td> +</tr> +</tbody> +</table> +<ol start="4"> +<li><a href="https://github.com/siemens/sw360portal/issues/103">Issue #103</a> for</li> +</ol> +<table> +<thead> +<tr> +<th></th> +<th>contributor</th> +<th>moderator</th> +<th>creator</th> +<th>user</th> +<th>clearing admin</th> +<th>admin</th> +</tr> +</thead> +<tbody> +<tr> +<td>edit clearing report</td> +<td>-</td> +<td>R</td> +<td>R</td> +<td>-</td> +<td>R?</td> +<td>PCRL</td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-semantic-commits/index.html b/docs/developers/dev-semantic-commits/index.html new file mode 100644 index 0000000..4b24fe9 --- /dev/null +++ b/docs/developers/dev-semantic-commits/index.html @@ -0,0 +1,669 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Semantic Commits | Eclipse SW360</title> +<meta name="description" content="The reason and benefit of semantic commit messages + +automatic generating of the changelog +simple navigation through git history (e.g. ignoring style …"> +<meta property="og:title" content="Semantic Commits" /> +<meta property="og:description" content="The reason and benefit of semantic commit messages automatic generating of the changelog simple navigation through git history (e.g. ignoring style changes) Semantic commit message structure &lt;type&gt;(&lt;scope&gt;): &lt;commit message&gt; +The following are supported feat (new feature for the user, not a new feature for build script) fix (bug fix for the user, not a fix to a build script) docs (changes to the documentation) style (formatting, missing semi colons, etc; no production code change) refactor (refactoring production code, eg." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Semantic Commits"> +<meta itemprop="description" content="The reason and benefit of semantic commit messages automatic generating of the changelog simple navigation through git history (e.g. ignoring style changes) Semantic commit message structure &lt;type&gt;(&lt;scope&gt;): &lt;commit message&gt; +The following are supported feat (new feature for the user, not a new feature for build script) fix (bug fix for the user, not a fix to a build script) docs (changes to the documentation) style (formatting, missing semi colons, etc; no production code change) refactor (refactoring production code, eg."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="157"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Semantic Commits"/> +<meta name="twitter:description" content="The reason and benefit of semantic commit messages automatic generating of the changelog simple navigation through git history (e.g. ignoring style changes) Semantic commit message structure &lt;type&gt;(&lt;scope&gt;): &lt;commit message&gt; +The following are supported feat (new feature for the user, not a new feature for build script) fix (bug fix for the user, not a fix to a build script) docs (changes to the documentation) style (formatting, missing semi colons, etc; no production code change) refactor (refactoring production code, eg."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check" checked/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="td-sidebar-nav-active-item">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Semantic-Commits.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Semantic-Commits.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Semantic-Commits.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Semantic%20Commits" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#the-reason-and-benefit-of-semantic-commit-messages">The reason and benefit of semantic commit messages</a></li> + <li><a href="#semantic-commit-message-structure">Semantic commit message structure</a></li> + <li><a href="#the-following-types-are-supported">The following <types> are supported</a></li> + <li><a href="#example-of-semantic-commit-message">Example of semantic commit message</a></li> + <li><a href="#referencing-issues">Referencing issues</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/">Semantic Commits</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Semantic Commits</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="the-reason-and-benefit-of-semantic-commit-messages">The reason and benefit of semantic commit messages</h2> +<ul> +<li>automatic generating of the changelog</li> +<li>simple navigation through git history (e.g. ignoring style changes)</li> +</ul> +<h2 id="semantic-commit-message-structure">Semantic commit message structure</h2> +<p><code>&lt;type&gt;(&lt;scope&gt;): &lt;commit message&gt;</code></p> +<h2 id="the-following-types-are-supported">The following <types> are supported</h2> +<ul> +<li>feat (new feature for the user, not a new feature for build script)</li> +<li>fix (bug fix for the user, not a fix to a build script)</li> +<li>docs (changes to the documentation)</li> +<li>style (formatting, missing semi colons, etc; no production code change)</li> +<li>refactor (refactoring production code, eg. renaming a variable)</li> +<li>test (adding missing tests, refactoring tests; no production code change)</li> +<li>chore (updating grunt tasks etc; no production code change)</li> +</ul> +<p>Example <scope> values:</p> +<ul> +<li>ui (user interface)</li> +<li>rest (REST API)</li> +<li>thrift (apache thrift services)</li> +<li>project (project portlet)</li> +<li>component (component portlet)</li> +<li>user (user portlet)</li> +<li>etc.</li> +</ul> +<h2 id="example-of-semantic-commit-message">Example of semantic commit message</h2> +<p><code>fix(rest): change maven plugin order to generate the documentation correctly</code></p> +<p><code>&lt;type&gt;(&lt;scope&gt;): &lt;commit message&gt;</code></p> +<h2 id="referencing-issues">Referencing issues</h2> +<p>Please reference in the pull request to the open issue</p> +<p><code>closes eclipse/sw360#&lt;issue-number&gt;</code></p> +<p><code>closes eclipse/sw360#758</code></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-testing-frameworks/index.html b/docs/developers/dev-testing-frameworks/index.html new file mode 100644 index 0000000..6c9694a --- /dev/null +++ b/docs/developers/dev-testing-frameworks/index.html @@ -0,0 +1,625 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Testing Frameworks | Eclipse SW360</title> +<meta name="description" content="Behaviour testing"> +<meta property="og:title" content="Testing Frameworks" /> +<meta property="og:description" content="Behaviour testing" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Testing Frameworks"> +<meta itemprop="description" content="Behaviour testing"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="77"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Testing Frameworks"/> +<meta name="twitter:description" content="Behaviour testing"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check" checked/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="td-sidebar-nav-active-item">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Testing-Frameworks.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Testing-Frameworks.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Testing-Frameworks.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Testing%20Frameworks" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/">Testing Frameworks</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Testing Frameworks</h1> + <div class="lead">Behaviour testing</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The implementation of complicated rules is not always easy to read. +A good way to document and explain the behaviour of rule engines are natural language tests. +A frame work we use for that is <a href="http://jgiven.org/">jgiven</a>. +We write the tests using the [dataprovider] (<a href="https://github.com/TNG/junit-dataprovider">https://github.com/TNG/junit-dataprovider</a>) runner. +This is basically a runner that allows to use parametrized tests.</p> +<p>The basic testing frame work is still <a href="http://junit.org/">JUnit4</a>, assertions are made using <a href="https://code.google.com/p/hamcrest/wiki/Tutorial">hamcrest</a> and we mock complicated input classes with <a href="http://mockito.org/">mockito</a>.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-troubleshooting/index.html b/docs/developers/dev-troubleshooting/index.html new file mode 100644 index 0000000..302c807 --- /dev/null +++ b/docs/developers/dev-troubleshooting/index.html @@ -0,0 +1,734 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Troubleshooting | Eclipse SW360</title> +<meta name="description" content="List of small issues / tips when developing for SW360"> +<meta property="og:title" content="Troubleshooting" /> +<meta property="og:description" content="List of small issues / tips when developing for SW360" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Troubleshooting"> +<meta itemprop="description" content="List of small issues / tips when developing for SW360"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="631"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Troubleshooting"/> +<meta name="twitter:description" content="List of small issues / tips when developing for SW360"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check" checked/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="td-sidebar-nav-active-item">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Troubleshooting.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Troubleshooting.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Troubleshooting.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Troubleshooting" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#development-problems-building-sw360portal-with-maven">Development: problems building sw360portal with maven?</a></li> + <li><a href="#development-problems-using-eclipse">Development: problems using Eclipse?</a></li> + <li><a href="#liferay-problems-with-displaying-changes-to-page">Liferay: problems with displaying changes to page?</a></li> + <li><a href="#liferay-where-are-the-initial-admin-user-settings">Liferay: where are the initial admin user settings?</a></li> + <li><a href="#maven-build-generally-fails">Maven: build generally fails</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/">Troubleshooting</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Troubleshooting</h1> + <div class="lead">List of small issues / tips when developing for SW360</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h3 id="development-problems-building-sw360portal-with-maven">Development: problems building sw360portal with maven?</h3> +<p>Before building the sw360portal with maven, ensure that the following components are installed in the development environment:</p> +<ul> +<li>A git client</li> +<li>Apache Maven 3.0.X</li> +<li>Apache Thrift 0.9.3</li> +<li>Java 1.8.X</li> +<li>CouchDB, at least 1.5 (only if the tests will be executed locally)</li> +</ul> +<h3 id="development-problems-using-eclipse">Development: problems using Eclipse?</h3> +<p>Please do not use Eclipse, because the integration of Apache Thrift is an open issue and we found no plugin for Eclipse to solve the shown compiler errors. +Recommended is IntelliJ IDEA or NetBeans.</p> +<h3 id="liferay-problems-with-displaying-changes-to-page">Liferay: problems with displaying changes to page?</h3> +<p>When developing changes to a page and these changes do not show in browser - even after redeployment, then the internal liferay optimisation mechanisms may kick in. Try to add to the URL string the following key value parameters:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>js_fast_load=0&amp;css_fast_load=0&amp;strip=0 +</span></span></code></pre></div><h3 id="liferay-where-are-the-initial-admin-user-settings">Liferay: where are the initial admin user settings?</h3> +<p>It is the file <code>portal-ext.properties</code> in sw360/opt.</p> +<h3 id="maven-build-generally-fails">Maven: build generally fails</h3> +<p>You just try to compile parts or all of it and it fails? Most of the stuff depends on the module /build-configuration. Execute either &ldquo;mvn install&rdquo; on top level or inside build configuration.</p> +<h4 id="backend-problems-with-company-proxy">Backend: problems with company proxy?</h4> +<p>maybe try instead:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>/opt/apache-tomcat-/bin/startup.sh +</span></span></code></pre></div><p>just this:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>CATALINA_OPTS=&#34;-Dhttps.proxy...&#34; /opt/apache-tomcat-/bin/startup.sh +</span></span></code></pre></div><p>for lucene it might be necessary to add:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>[httpd_global_handlers] +</span></span><span style="display:flex;"><span>_fti = {couch_httpd_proxy, handle_proxy_req, &lt;&lt;&#34;http://127.0.0.1:8085/couchdblucene&#34;&gt;&gt;} +</span></span></code></pre></div><p>in lucene.ini of local.d of your CouchDB installation</p> +<h4 id="backend-are-thrift-services-up">Backend: are thrift services up?</h4> +<ol> +<li>Check tomcat manager (if the services are there)</li> +<li>Check if the service is accessible: +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://your.url.to.server.com:8085/components +</span></span></code></pre></div>Should return &ldquo;Welcome to &hellip;&rdquo;.</li> +<li>Check if the service thrift page is there: +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>http://your.url.to.server.com:8085/components/thrift +</span></span></code></pre></div>Should return HTTP status code 500, because in the browser, no valid thrift message was formed.</li> +</ol> +<h4 id="backend-orgektorpdbaccessexception">Backend: org.ektorp.DbAccessException</h4> +<p>What do I do if I get: org.ektorp.DbAccessException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field &ldquo;_id&rdquo;</p> +<p>You add the class you have been trying to serialize to +THRIFT_CLASSES in +sw360/src/libraries/lib-datahandler/src/main/java/com/siemens/sw360/datahandler/thrift/ThriftUtils.java</p> +<h4 id="backend-maven-failed-tomcat7-deploy">Backend: maven failed tomcat7 deploy</h4> +<p>If the deployment via maven of the backend does fail with an error like this</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>Uploading: http://localhost:8085/manager/text/deploy?path<span style="color:#555">=</span>%2Flicenses +</span></span><span style="display:flex;"><span>2302/17930 KB +</span></span><span style="display:flex;"><span>Uploading: http://localhost:8085/manager/text/deploy?path<span style="color:#555">=</span>%2Flicenses +</span></span><span style="display:flex;"><span>2102/17930 KB +</span></span><span style="display:flex;"><span>Uploading: http://localhost:8085/manager/text/deploy?path<span style="color:#555">=</span>%2Flicenses +</span></span><span style="display:flex;"><span>2064/17930 KB +</span></span><span style="display:flex;"><span>Uploading: http://localhost:8085/manager/text/deploy?path<span style="color:#555">=</span>%2Flicenses +</span></span><span style="display:flex;"><span>2064/17930 KB +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> ------------------------------------------------------------------------ +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> Reactor Summary: +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> backend ........................................... SUCCESS <span style="color:#555">[</span>2.579s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> backend-src ....................................... SUCCESS <span style="color:#555">[</span>0.058s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-licenses ...................................... SUCCESS <span style="color:#555">[</span>10.544s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-users ......................................... SUCCESS <span style="color:#555">[</span>1.485s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-vendors ....................................... SUCCESS <span style="color:#555">[</span>6.929s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-search ........................................ SUCCESS <span style="color:#555">[</span>5.837s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-components .................................... SUCCESS <span style="color:#555">[</span>19.439s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-projects ...................................... SUCCESS <span style="color:#555">[</span>14.280s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-attachments ................................... SUCCESS <span style="color:#555">[</span>6.188s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-moderation .................................... SUCCESS <span style="color:#555">[</span>1.169s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> src-fossology ..................................... SUCCESS <span style="color:#555">[</span>6.259s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> backend-svc ....................................... SUCCESS <span style="color:#555">[</span>0.038s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-licenses ...................................... FAILURE <span style="color:#555">[</span>3.630s<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-users ......................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-vendors ....................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-search ........................................ SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-components .................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-projects ...................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-attachments ................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-moderation .................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> svc-fossology ..................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> backend-utils ..................................... SKIPPED +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> ------------------------------------------------------------------------ +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> BUILD FAILURE +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> ------------------------------------------------------------------------ +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> Total time: 1:19.836s +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> Finished at: Mon May <span style="color:#f60">04</span> 15:57:46 CEST <span style="color:#f60">2015</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> Final Memory: 24M/311M +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>INFO<span style="color:#555">]</span> ------------------------------------------------------------------------ +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy <span style="color:#555">(</span>default-cli<span style="color:#555">)</span> on project svc-licenses: Cannot invoke Tomcat manager: Broken pipe -&gt; <span style="color:#555">[</span>Help 1<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> To see the full stack trace of the errors, re-run Maven with the -e switch. +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> Re-run Maven using the -X switch to <span style="color:#366">enable</span> full debug logging. +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> For more information about the errors and possible solutions, please <span style="color:#366">read</span> the following articles: +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> <span style="color:#555">[</span>Help 1<span style="color:#555">]</span> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> After correcting the problems, you can resume the build with the <span style="color:#366">command</span> +</span></span><span style="display:flex;"><span><span style="color:#555">[</span>ERROR<span style="color:#555">]</span> mvn &lt;goals&gt; -rf :svc-licenses +</span></span><span style="display:flex;"><span>voyager:backend sam$ +</span></span></code></pre></div><p>One solution is that you deployed already and the tomcat7 plugin does not like to have multiple deploy commands. Instead you will need to issue a <code>mvn tomcat7:redeploy</code> command.</p> +<h4 id="deployment-liferay-not-accessible">Deployment: liferay not accessible</h4> +<p>If the virtual machine was shut down and started up again, the backend services and frontend liferay require manual restart. Please contribute a change in the vagrant deployment if you feel that this could be changed. The actual places to call are:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-Bash" data-lang="Bash"><span style="display:flex;"><span>/opt/apache-tomcat-.../bin/.startup.sh +</span></span><span style="display:flex;"><span>/opt/liferay-.../tomcat-.../bin/.startup.sh +</span></span></code></pre></div> + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/dev-using-requirejs-for-javascript-modules/index.html b/docs/developers/dev-using-requirejs-for-javascript-modules/index.html new file mode 100644 index 0000000..476857a --- /dev/null +++ b/docs/developers/dev-using-requirejs-for-javascript-modules/index.html @@ -0,0 +1,736 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Using RequireJS fro Javascript Modules | Eclipse SW360</title> +<meta name="description" content="Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to …"> +<meta property="og:title" content="Using RequireJS fro Javascript Modules" /> +<meta property="og:description" content="Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to different libraries and snippets. +Goal We want to use RequireJS (http://requirejs.org/) to modularize our code and to have clear namespaces for each component. In addition some of the code may be reused more easily. Other advantages: + libraries like jquery or datatables can be imported by name but without a specified version if necessary, specific versions can be imported for parts of the page it is very easy to only load needed dependencies good support of webjars due to webjars-locator." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Using RequireJS fro Javascript Modules"> +<meta itemprop="description" content="Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to different libraries and snippets. +Goal We want to use RequireJS (http://requirejs.org/) to modularize our code and to have clear namespaces for each component. In addition some of the code may be reused more easily. Other advantages: + libraries like jquery or datatables can be imported by name but without a specified version if necessary, specific versions can be imported for parts of the page it is very easy to only load needed dependencies good support of webjars due to webjars-locator."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="803"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Using RequireJS fro Javascript Modules"/> +<meta name="twitter:description" content="Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to different libraries and snippets. +Goal We want to use RequireJS (http://requirejs.org/) to modularize our code and to have clear namespaces for each component. In addition some of the code may be reused more easily. Other advantages: + libraries like jquery or datatables can be imported by name but without a specified version if necessary, specific versions can be imported for parts of the page it is very easy to only load needed dependencies good support of webjars due to webjars-locator."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check" checked/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="td-sidebar-nav-active-item">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/Dev-Using-RequireJS-for-javascript-modules.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/Dev-Using-RequireJS-for-javascript-modules.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/Dev-Using-RequireJS-for-javascript-modules.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Using%20RequireJS%20fro%20Javascript%20Modules" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#migrate-a-jsp">Migrate a JSP</a></li> + <li><a href="#co-existence-with-auiuse">Co-existence with AUI().use()</a></li> + <li><a href="#migrate-click-handlers">Migrate click-handlers</a></li> + <li><a href="#make-a-module-out-of-a-jspf-include">Make a module out of a jspf-include</a></li> + <li><a href="#make-a-module-out-of-a-javascript-file-or-function">Make a module out of a javascript file or function</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/">Using RequireJS</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Using RequireJS fro Javascript Modules</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to different libraries and snippets.</p> +<h1 id="goal">Goal</h1> +<p>We want to use RequireJS (<a href="http://requirejs.org/">http://requirejs.org/</a>) to modularize our code and to have clear namespaces for each component. In addition some of the code may be reused more easily. Other advantages:</p> +<ul> +<li>libraries like jquery or datatables can be imported by name but without a specified version</li> +<li>if necessary, specific versions can be imported for parts of the page</li> +<li>it is very easy to only load needed dependencies</li> +<li>good support of webjars due to webjars-locator. Webjars a are automatically accessible through RequireJS.</li> +</ul> +<h1 id="how-to-use---example">How to use - example</h1> +<p>There is a new jspf-file to be included in jsps to enable RequireJS support:</p> +<pre><code>&lt;%@ include file=&quot;/html/utils/includes/requirejs.jspf&quot; %&gt; +</code></pre> +<p>When RequireJS is enabled with the above include, all libraries can be accessed and code can be scoped:</p> +<pre><code>require(['jquery', 'module/quickfilter', 'module/confirm', /* jquery-plugins: */ 'datatables', 'jquery-ui'], function($, quickfilter, confirm) { + // code goes here, libraries can be used through the variables $, quickfilter and confirm + // Note: jquery-plugins does not have to be bound to variables since they directly register themselves in the jquery object +}); +</code></pre> +<p><strong>NOTE/WARNING</strong>: since not all code is using RequireJS at the moment it is highly recommended to include RequireJS just before the script tag using it. DO NOT include it at the beginning of the file! Therefore use the following pattern:</p> +<pre><code>&lt;%@ include file=&quot;/html/utils/includes/requirejs.jspf&quot; %&gt; +&lt;script&gt; + require(['jquery'], function($) { + // js stuff + }); +&lt;/script&gt; +</code></pre> +<p><strong>Explanation</strong>: some the the jQuery-plugins are already module safe. This means the look if something like RequireJS is available and - if this is the case - register themselves as anonymous modules. If someone in some include in the page loads such a plugin via script plugin it may happen that the plugins registers itself twice as an anonymous module which causes errors in RequireJS. Loading RequireJS after all script tags will prevent this and ensure that every plugin is only registered once.</p> +<h1 id="migration">Migration</h1> +<h2 id="migrate-a-jsp">Migrate a JSP</h2> +<p>To migrate a JSP to use RequireJS the following steps have to be done:</p> +<ol> +<li>Enable RequireJS support by including <code>requirejs.jspf</code>. Do it JUST before the script tag with the main code (see NOTE above).</li> +<li>Enclose the existing code in a <code>require</code>-function (<strong>Attention:</strong> Also read &ldquo;Co-existence with AUI().use()&rdquo; below)</li> +<li>Remove existing <code>script</code>-tags that loads the javascript files &ldquo;manually&rdquo;</li> +<li>Rewrite code that access functions inside the new <code>require</code>-function from outside (e.g. click handlers, see below)</li> +</ol> +<h2 id="co-existence-with-auiuse">Co-existence with AUI().use()</h2> +<p>If you need to use AUI().use() in your code, e.g. to grab the PortletURL object, you have to call this function first and call <code>require</code> inside. Otherwise the code may not be executed correclty if the &lsquo;Drag&amp;Drop&rsquo; error occurs to early during page loading:</p> +<pre><code>AUI().use('liferay-portlet-url', function () { + require(['jquery', 'module/quickfilter') { + // AUI and require modules loaded and available + }); +}); +</code></pre> +<h2 id="migrate-click-handlers">Migrate click-handlers</h2> +<p>Since none of the defined functions remains in the global scope click handlers defined in the attributes of a tag would no longer work. Use jQuery to attach a click handler instead:</p> +<pre><code>$('#exportSpreadsheetButton').on('click.components', exportSpreadsheet) +</code></pre> +<p>This click handler is added inside the RequireJS-scope where the function <code>exportSpreadsheet</code> is defined. +You may also attach handler for distinct elements in each row of a table:</p> +<pre><code>$('#componentsTable').on('click.components', 'img.delete', function(event) { + // do stuff +}); +</code></pre> +<h2 id="make-a-module-out-of-a-jspf-include">Make a module out of a jspf-include</h2> +<p>There are many jspf-includes which contain html as well as javascript code. They should be converted as followed:</p> +<ol> +<li> +<p>Move the javascript code to an own file. Place it below the &lsquo;html/js&rsquo;-folder, following the same structure as the jspf-file. If the jspf-file is <code>html/components/includes/vendors/addVendor.jspf</code> place the javascript code in the file <code>js/components/includes/vendors/addVendor.js</code>.</p> +</li> +<li> +<p>Enclose the code in a define statement to define a new module:</p> +<pre><code> define('components/includes/vendors/addVendor', [ /* dependencies */ ], function() { + // define module code + }); +</code></pre> +</li> +</ol> +<p>In order to use the new module include the jspf-file and load the js-code via RequireJS:</p> +<pre><code>&lt;%@ include &quot;html/components/includes/vendors/addVendor.jspf&quot; %&gt; + +require(['components/includes/vendors/addVendor'], function(addVendor) { + // use addVendor +}); +</code></pre> +<h2 id="make-a-module-out-of-a-javascript-file-or-function">Make a module out of a javascript file or function</h2> +<p>There are several javascript files and functions below `/html/js&rsquo;. They can be make compatible to RequireJS as follows:</p> +<ol> +<li> +<p>Create a new file inside <code>/html/js/component</code> with a proper name that describes the functionality for the new component</p> +</li> +<li> +<p>Define the module and point to the legacy function, e.g.</p> +<pre><code> define('module/confirm', ['jquery', /* jquery-plugins: */ 'jquery-confirm', /* legacy code */ 'main' ], function($) { + return { + confirmDeletion: deleteConfirmed /* pointer to legacy method in main.js */ + }; + }); +</code></pre> +</li> +<li> +<p>Afterwards the module can be loaded using the name <code>component/confirm</code>, e.g.</p> +<pre><code> require(['module/confirm'], function(confirm) { + confirm.confirmDeletion(/*...*/); + }); +</code></pre> +</li> +</ol> +<p><strong>Note</strong> The legacy function should be moved inside the module as soon as the function is no longer accessed directly but via RequireJS only. +<strong>Note</strong> You can also require legacy javascript files if you need them as dependency as pointed out in the examples above.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/index.html b/docs/developers/index.html new file mode 100644 index 0000000..680497f --- /dev/null +++ b/docs/developers/index.html @@ -0,0 +1,777 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/developers/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Development | Eclipse SW360</title> +<meta name="description" content="SW360 Development Information"> +<meta property="og:title" content="Development" /> +<meta property="og:description" content="SW360 Development Information" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Development"> +<meta itemprop="description" content="SW360 Development Information"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Development"/> +<meta name="twitter:description" content="SW360 Development Information"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="td-sidebar-nav-active-item">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Development" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Development</h1> + <div class="lead">SW360 Development Information</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/">How to add a backend portlet to sw360</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/">How to add a frontend portlet to sw360</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-branches/">SW360 Development Branches</a> + </h5> + <p>Helps to see who is responsible and to which issue the Pull Request corresponds</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/">How to add fields to an existing class</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-external-documents-with-couchdb/">CouchDB External Documents</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-database-migration-using-costco/">Database migration using Costco</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-dod-and-style/">Definition of Done</a> + </h5> + <p>The definition of done helps to set a common understanding for solving a ticket.</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-filtering-in-portlets/">Filtering in Portlets</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-fossology-integration/">Fossology Integration</a> + </h5> + <p>Basis of communication between SW360 and FOSSology</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-liferay-friendly-url/">Liferay Friendly</a> + </h5> + <p>Basis of communication between SW360 and FOSSology</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-moderation-requests/">Moderation Requests</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-releasing-sw360/">Release and Versioning</a> + </h5> + <p>Our Versioning and Release Principles</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-rest-api/">REST API</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-role-authorisation-model/">Roles and Authorization</a> + </h5> + <p>SW360 Roles and Authorization</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-semantic-commits/">Semantic Commits</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-testing-frameworks/">Testing Frameworks</a> + </h5> + <p>Behaviour testing</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-troubleshooting/">Troubleshooting</a> + </h5> + <p>List of small issues / tips when developing for SW360</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/">Using RequireJS fro Javascript Modules</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/testcases/">Test Cases</a> + </h5> + <p>SW360 Assorted Test Cases</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/index.xml b/docs/developers/index.xml new file mode 100644 index 0000000..77c2e67 --- /dev/null +++ b/docs/developers/index.xml @@ -0,0 +1,2142 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Development</title> + <link>https://www.eclipse.org/sw360/docs/developers/</link> + <description>Recent content in Development on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/developers/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: How to add a backend portlet to sw360</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/</guid> + <description> + + + &lt;p&gt;This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page does not create a new (thrift service), but just explains how to add more operations.&lt;/p&gt; +&lt;p&gt;This explanation follows bottom up approach where we first add the backend methods and then call them later in the frontend. Quick summary:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Add methods to the thrift idl definition&lt;/li&gt; +&lt;li&gt;Add methods to the data handler interface&lt;/li&gt; +&lt;li&gt;Add implementation&lt;/li&gt; +&lt;li&gt;Add tests&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;thrift&#34;&gt;Thrift&lt;/h4&gt; +&lt;p&gt;First we add some methods to the thrift files, components.thrift&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;//new Methods to ensure uniqueness of Identifiers +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;&lt;/span&gt;map &lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; list&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;map &lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; list&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;datahandler&#34;&gt;Datahandler&lt;/h4&gt; +&lt;p&gt;then we install lib-datahandler. That way we see which methods we have to implement. +We have chosen to change the interface of the ComponentService. That means we need to implement them in the ComponentHandler.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; TException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; TException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;implementation&#34;&gt;Implementation&lt;/h4&gt; +&lt;p&gt;The methods there are only a reference to the ComponentDatabaseHandler.java. +In the ComponentHandler we only assert that the input is correct. +Since we implement methods without parameters, there is nothing else for us to do. +In the ComponentDatabaseHandler.java we actually do some work and implement the methods&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ListMultimap&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; componentIdentifierToComponentId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; ArrayListMultimap&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;create&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Component component &lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; componentRepository&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getSummaryForExport&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; componentIdentifierToComponentId&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;put&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Utils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;printName&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;component&lt;span style=&#34;color:#555&#34;&gt;),&lt;/span&gt; component&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; CommonUtils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getIdentifierToListOfDuplicates&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;componentIdentifierToComponentId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ListMultimap&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; releaseIdentifierToReleaseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; ArrayListMultimap&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;create&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Release release &lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; releaseRepository&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getReleaseSummary&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; releaseIdentifierToReleaseId&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;put&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Utils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;printName&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;release&lt;span style=&#34;color:#555&#34;&gt;),&lt;/span&gt; release&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; CommonUtils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getIdentifierToListOfDuplicates&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;releaseIdentifierToReleaseId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;tests&#34;&gt;Tests&lt;/h4&gt; +&lt;p&gt;We then write some tests in ComponentDatabaseHandlerTest.java&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Test&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;testDuplicateComponentIsFound&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; Exception &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String originalComponentId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;C3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Component tmp &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getComponent&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;originalComponentId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; user1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetRevision&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String newComponentId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addComponent&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; email1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateComponents &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(),&lt;/span&gt; is&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;1&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;get&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;printName&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;)),&lt;/span&gt; containsInAnyOrder&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;newComponentId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;originalComponentId&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Test&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;testDuplicateReleaseIsFound&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; Exception &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String originalReleaseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;R1A&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Release tmp &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getRelease&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;originalReleaseId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; user1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetRevision&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String newReleaseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addRelease&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; email1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateReleases &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(),&lt;/span&gt; is&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;1&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;get&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;printName&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;)),&lt;/span&gt; containsInAnyOrder&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;newReleaseId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;originalReleaseId&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then we install the backend to make our methods available.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: How to add a frontend portlet to sw360</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/</guid> + <description> + + + &lt;p&gt;We create a class in&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;called&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DatabaseSanitation.java +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here are some code snippets that are important:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;DatabaseSanitation&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; Sw360Portlet +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;the base class Sw360Portlet adds some convenience methods to render the most common return values of functions into messages.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;RenderRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RenderResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;// Proceed with page rendering +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;super&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method is used to render different pages, a common pattern would be to have if/else tree like&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;//! VIEW and helpers +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;RenderRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RenderResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String pageName &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PAGENAME&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PAGENAME_EDIT&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;equals&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;pageName&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; prepareVendorEdit&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; include&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;/html/vendors/edit.jsp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; prepareStandardView&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;super&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but since we only have one page this is all we need. The jsp that is rendered by super.doView is set in&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;src&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;frontend&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portlets&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;src&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;main&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapp&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;WEB&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;INF&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;portlet&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;xml&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but more on that later.&lt;/p&gt; +&lt;p&gt;The next method in DatabaseSanitation handles resource requests, which are responses to AJAX calls:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@Override +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public void serveResource(ResourceRequest request, ResourceResponse response) throws IOException, PortletException { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String action = request.getParameter(PortalConstants.ACTION); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if (PortalConstants.DUPLICATES.equals(action)) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; serveDuplicates(request, response); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;similar to the PAGENAME tree, here we have an ACTION if/else block. We only have one action, so this is simple.&lt;/p&gt; +&lt;p&gt;Let&amp;rsquo;s have a look at&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;serveDuplicates&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;ResourceRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; ResourceResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; ComponentService&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;Iface&lt;/span&gt; componentClient &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; thriftClients&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;makeComponentClient&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; duplicateComponents &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; componentClient&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; duplicateReleases &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; componentClient&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;TException e&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; log&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;error&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Error in component client&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; e&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;||&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; renderRequestStatus&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RequestStatus&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;FAILURE&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; renderRequestStatus&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RequestStatus&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;SUCCESS&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setAttribute&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PortalConstants&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;DUPLICATE_RELEASES&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setAttribute&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PortalConstants&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;DUPLICATE_COMPONENTS&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; include&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;/html/admin/databaseSanitation/duplicatesAjax.jsp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletRequest&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;RESOURCE_PHASE&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The member variable thriftClients is inherited from the Sw360Portlet. This is how we talk to the backend. +We call the methods that we wrote in the first part of the tutorial. +The error handling is reported with renderRequestStatus, also from Sw360Portlet. +When we have findings then we report them by rendering a jsp in the RESOURCE_PHASE. +This is then some html that our AJAX function gets as data.&lt;/p&gt; +&lt;p&gt;Then we have to register the portlets in some xml files:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/liferay-display.xml +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;id=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;databaseSanitation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/liferay-portlet.xml +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-name&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;icon&amp;gt;&lt;/span&gt;/icon.png&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/icon&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;instanceable&amp;gt;&lt;/span&gt;false&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/instanceable&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;header-portlet-css&amp;gt;&lt;/span&gt;/css/main.css&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/header-portlet-css&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;header-portlet-javascript&amp;gt;&lt;/span&gt;/js/main.js&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/header-portlet-javascript&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;header-portlet-javascript&amp;gt;&lt;/span&gt;/js/external/jquery-1.11.1.min.js&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/header-portlet-javascript&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that here it is important to include things like jquery in this way so that on multiple portlet pages there are no namespace conflicts.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/portlet.xml +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-name&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;display-name&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/display-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-class&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; com.siemens.sw360.portal.portlets.admin.DatabaseSanitation +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-class&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;init-param&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;view-template&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;value&amp;gt;&lt;/span&gt;/html/admin/databaseSanitation/view.jsp&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/value&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/init-param&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;expiration-cache&amp;gt;&lt;/span&gt;0&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/expiration-cache&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;supports&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;mime-type&amp;gt;&lt;/span&gt;text/html&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/mime-type&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-mode&amp;gt;&lt;/span&gt;view&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-mode&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/supports&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-info&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;short-title&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/short-title&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;keywords/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-info&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;security-role-ref&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;role-name&amp;gt;&lt;/span&gt;administrator&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/role-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/security-role-ref&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After these changes we compile the frontend and then we have to add new page to the Layout and add it to the lar file. +We sign in as admin, +go to&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Admin -&amp;gt; Site administration +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-&amp;gt; Private Pages +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To add the portlet to the page, we first change the theme of Private Pages to Classic, then select Add Page. We can drag and drop it under the Admin Page. +Then we select the Private Pages under My Sites. +We can then go to the page we have just created. +On the left side there is a plus sign, which opens a side menu with the available portlets that we can add to our page. +Under SW360 we find the portlet DatabaseSanitation and we click add. +Then we can change the option (The cog symbol on the right) Look and Feel to Show Borders -&amp;gt; No and we save that. +Then we change the theme of Private Pages back to SW360-Theme.&lt;/p&gt; +&lt;p&gt;Now we can change the theme back and export a new lar file as described else where.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: SW360 Development Branches</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-branches/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-branches/</guid> + <description> + + + &lt;h2 id=&#34;branches-structure&#34;&gt;Branches structure&lt;/h2&gt; +&lt;p&gt;&lt;code&gt;&amp;lt;github-nickname&amp;gt;/&amp;lt;issue&amp;gt;/&amp;lt;description&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;examples&#34;&gt;Examples:&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;maierthomas/#1/fix-dowload-bundle&lt;/li&gt; +&lt;li&gt;maierthomas/#3/sw360portal-specific-links&lt;/li&gt; +&lt;/ul&gt; + + </description> + </item> + + <item> + <title>Docs: How to add fields to an existing class</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/</guid> + <description> + + + &lt;p&gt;The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. +We will add the license text to licenses in the thrift file:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-thrift&#34; data-lang=&#34;thrift&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f60&#34;&gt;13&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;optional&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;string&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;text;&lt;span style=&#34;color:#bbb&#34;&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To update the text we write a liferay Action in the LicensesPortlet:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@UsedAsLiferayAction&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;changeText&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;ActionRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; ActionResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; PortletException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; IOException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String licenseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;LICENSE_ID&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String text &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;License&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;_Fields&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;TEXT&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;Strings&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isNullOrEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;licenseId&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; User user &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; UserCacheHolder&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getUserFromRequest&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; LicenseService&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;Iface&lt;/span&gt; client &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; thriftClients&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;makeLicenseClient&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; License license &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getFromID&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;licenseId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; license&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setText&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;CommonUtils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;nullToEmptyString&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;text&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; RequestStatus requestStatus &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;updateLicense&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;license&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; user&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; renderRequestStatus&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;requestStatus&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;TException e&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; log&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;error&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Error updating license&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; e&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; response&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setRenderParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;LICENSE_ID&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; licenseId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; response&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setRenderParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PAGENAME&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PAGENAME_DETAIL&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; response&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setRenderParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SELECTED_TAB&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;LicenseText&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To integrate it in the jsp we make the according changes, important to note is the ActionUrl that we define:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;portlet:actionURL&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;changeLicenseTextURL&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;changeText&amp;#34;&lt;/span&gt;&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;lt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;portlet:param&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&amp;lt;%=PortalConstants.LICENSE_ID%&amp;gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;${licenseDetail.id}&amp;#34;&lt;/span&gt; /&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;portlet:actionURL&lt;/span&gt;&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A good practice to name fields in jsps is to use the thrift field names:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;lt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;textarea&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&amp;lt;portlet:namespace/&amp;gt;&amp;lt;%=License._Fields.TEXT%&amp;gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;rows&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;5&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;style&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;width: 100%&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;id&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&amp;lt;portlet:namespace/&amp;gt;&amp;lt;%=License._Fields.TEXT%&amp;gt;&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309&#34;&gt;placeholder&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Enter the License-Text here...&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;gt;${licenseDetail.text}&amp;lt;/&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;textarea&lt;/span&gt;&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: CouchDB External Documents</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/</guid> + <description> + + + &lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt; +&lt;p&gt;In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these information might be relevant from outside as well. +Projects, components and releases contain attachments. The metadata of these attachments are stored as inline documents inside its parent document (which is the project, component or release). +However these attachments may be used by other documents as well, e.g. license info files which are attached to releases are used by projects to generate the overall license information for that project. +In such cases an external document might be the better model. For example the attachment usage can be stored along the metadata without touching the owner document on update.&lt;/p&gt; +&lt;h2 id=&#34;advantages-of-external-documents&#34;&gt;Advantages of external documents&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;single documents with a clear separation to other documents&lt;/li&gt; +&lt;li&gt;easy identification&lt;/li&gt; +&lt;li&gt;might be loaded and updated standalone&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;advantages-of-internal-documents&#34;&gt;Advantages of internal documents&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;Very fast loading along with the owner&lt;/li&gt; +&lt;li&gt;Easy handling since only the owner must be loaded or updated&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;In any case it is highly dependent on the use case whether external documents are to be favored over internal documents.&lt;/p&gt; +&lt;h2 id=&#34;possible-implementations-for-linked-documents&#34;&gt;Possible implementations for linked documents&lt;/h2&gt; +&lt;h3 id=&#34;special-responsehandler-with-special-views-from-couchdb&#34;&gt;Special ResponseHandler with special views from CouchDB&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Easy to use?&lt;/th&gt; +&lt;th&gt;Performance?&lt;/th&gt; +&lt;th&gt;Effort to use in existing code&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;:star::star: Middle, special views have to be created, fields of data objects has to be annotated.&lt;/td&gt; +&lt;td&gt;:star::star::star: Very good, fetching of multiple documents with a single request.&lt;/td&gt; +&lt;td&gt;:star: High, since existing code has to be changed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h4 id=&#34;couch-db-theory&#34;&gt;Couch-DB theory&lt;/h4&gt; +&lt;p&gt;At the time of writing, support of external (or linked) documents in Couch-DB is limited. Consider the following documents:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; type&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;project&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Testproject&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; [ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;z2&amp;#34;&lt;/span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;attachment1 &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; type&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachment&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;SourceFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sha1&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;abc1234&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;attachment2 &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; type&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachment&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;LicenseFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sha1&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;fed9876&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Unfortunately there is no way to get the project document with the attachments directly included. With the correct view you are able to retrieve all these documents in a single request:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;(doc.type &lt;span style=&#34;color:#555&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachment&amp;#34;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc._id, &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt;(&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;in&lt;/span&gt; doc.attachments) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc._id, { _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; doc.attachments[i]._id }); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You might see the trick: the project document as well as the attachment documents are indexed with the id of the project. This way you get all three documents when querying the view with the id of the project:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;total_rows&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;5&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;offset&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;0&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;rows&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;[{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;key&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachments&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;[ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a2&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ], +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Testproject&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;SourceFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;key&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;value&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;LicenseFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; is will only work if you query the view with &lt;code&gt;include_docs&lt;/code&gt; set to &lt;code&gt;true&lt;/code&gt;. +&lt;strong&gt;Note&lt;/strong&gt; include_docs will only work at the top level of a value. In other words it will only recognize the following to situations:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;null: if the value is null, the document which is identified by the key is included&lt;/li&gt; +&lt;li&gt;{ _id: &amp;ldquo;&amp;hellip;&amp;rdquo; }: the document identified by the given id is included. +To be clear: transitive inclusions will not work! +&lt;strong&gt;Note&lt;/strong&gt; See also &lt;a href=&#34;https://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Linked_documents&#34;&gt;https://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Linked_documents&lt;/a&gt;.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;implementation-with-ektorp&#34;&gt;Implementation with Ektorp&lt;/h3&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/pull/596&#34;&gt;https://github.com/eclipse/sw360/pull/596&lt;/a&gt; show an implementation to transparently read such results from Couch-DB. It consists of:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;new methods in the database connector which are aware of loading linked documents&lt;/li&gt; +&lt;li&gt;a response handler used for parsing the results when requesting linked documents&lt;/li&gt; +&lt;li&gt;two annotation classes to mark fields which contain ids for linked documents +After the branch was merged, the new feature can be used in only three steps. You need:&lt;/li&gt; +&lt;/ul&gt; +&lt;ol&gt; +&lt;li&gt;A view that loads the &amp;ldquo;main&amp;rdquo; documents along with there linked documents&lt;/li&gt; +&lt;li&gt;A special method in your database handler / database repository which calls the new method from the connector&lt;/li&gt; +&lt;li&gt;A mixin for your data object which annotates the fields which contain ids to linked documents&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;notes-for-1&#34;&gt;Notes for 1.&lt;/h4&gt; +&lt;p&gt;Have a look at mapping function above in the theory section. Of course you may add more than one type of linked documents, e.g. not only attachments but releases as well. +You may also emit whole objects instead of ids only. This way Couch-DB does not have to lookup each entry. However including ids over objects is an own topic.&lt;/p&gt; +&lt;h4 id=&#34;notes-for-2&#34;&gt;Notes for 2.&lt;/h4&gt; +&lt;p&gt;You should write methods in your repository as well as in your database handler that uses the new methods from the database connector.&lt;/p&gt; +&lt;h4 id=&#34;notes-for-3&#34;&gt;Notes for 3.&lt;/h4&gt; +&lt;p&gt;Be sure that the used object mapper in your database handler is aware of the mixin. Of course you can annotate more than one field. All annotated fields will be respected on loading. However, if the view does not contain an object that should be resolved, it will be replaced by null. The LinkedDocuments-annotation even allows you to name a different destination field for the resolved objects for easier integration into the existing code.&lt;/p&gt; +&lt;h2 id=&#34;usage-with-ektorp&#34;&gt;Usage with Ektorp&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Easy to use?&lt;/th&gt; +&lt;th&gt;Performance?&lt;/th&gt; +&lt;th&gt;Effort to use in existing code&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;:no_entry: does not work&lt;/td&gt; +&lt;td&gt;:no_entry:&lt;/td&gt; +&lt;td&gt;:no_entry:&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;Since SW360 is using Ektorp as Objectmapper, a response like above is not suitable. Ektorp is just not able to parse the above response correctly. +However Ektorp has a linking feature as well: You may annotate fields with the &lt;code&gt;@DocumentReference&lt;/code&gt;-Annotation to tell Ektorp to store the content within external documents. This only works with fields of type &lt;code&gt;Set&lt;/code&gt; at the moment of writing. Since SW360 data objects are generated using Thrift, directly annotating the field is not possible. Due to the mixin feature of Ektorp this is not a big issue. Unfortunately making the &lt;code&gt;@DocumentReference&lt;/code&gt;-annotation to work was not possible with a reasonable effort.&lt;/p&gt; +&lt;p&gt;Internally Ektorp is also using special views for getting linked documents to work. A quick look into the source codes suggests that this feature is implemented using special serializers which would lead to additional requests on loading and storing as well. Therefore the same performance issues might be come across if the annotation would work.&lt;/p&gt; +&lt;h3 id=&#34;own-serializerdeserzialer&#34;&gt;Own serializer/deserzialer&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Easy to use?&lt;/th&gt; +&lt;th&gt;Performance?&lt;/th&gt; +&lt;th&gt;Effort to use in existing code&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;:star::star::star: Quite easy, just some Jackson configuration necessary&lt;/td&gt; +&lt;td&gt;:star::star: Good, but every type of linked objects needs an additional request&lt;/td&gt; +&lt;td&gt;:star::star::star: Low, existing code does not have to be changed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;This method works just like the Ektorp way. In addition a slow transition from internal to external documents is possible, since the custom serialization methods will handle both cases directly. Any embedded documents will be externalized on first update of the owner object. +The following classes are needed:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Repository for the new external documents&lt;/li&gt; +&lt;li&gt;DatabaseHandler for the new external documents&lt;/li&gt; +&lt;li&gt;Mixin-Class to add annotations to the field with external documents&lt;/li&gt; +&lt;li&gt;A new mapper factory to properly configure the custom serializer&lt;/li&gt; +&lt;li&gt;Custom serializers/deserializer&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;example-for-externalizing-attachments&#34;&gt;Example for externalizing attachments&lt;/h4&gt; +&lt;h5 id=&#34;mixin-class&#34;&gt;Mixin-Class&lt;/h5&gt; +&lt;p&gt;This will configure Ektorp to use a special class for this field. We use a special serializer for the field instead of for the type (in this case Attachment), so we can do serialization/deserialization for all attachments at once. If we would use a special serializer, every&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;abstract&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;SplitAttachmentsMixin&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; DatabaseMixIn &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@JsonSerialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;using &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; AttachmentSetSerializer&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@JsonDeserialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;using &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; AttachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;abstract&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;setAttachments&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&#34;mapper-factory&#34;&gt;Mapper factory&lt;/h5&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;SplitAttachmentsMapperFactory&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; MapperFactory &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentHandlerInstantiator handlerInitiator&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;SplitAttachmentsMapperFactory&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; handlerInitiator &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentHandlerInstantiator&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; ObjectMapper &lt;span style=&#34;color:#c0f&#34;&gt;createObjectMapper&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ObjectMapper objectMapper &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;super&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;createObjectMapper&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; objectMapper&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addMixInAnnotations&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Project&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; SplitAttachmentsMixin&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; objectMapper&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setHandlerInstantiator&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;handlerInitiator&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; objectMapper&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;AttachmentHandlerInstantiator&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; HandlerInstantiator &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentSetSerializer attachmentSetSerializer&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentSetDeserializer attachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;AttachmentHandlerInstantiator&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachmentSetSerializer &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentSetSerializer&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachmentSetDeserializer &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; JsonDeserializer&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;?&amp;gt;&lt;/span&gt; deserializerInstance&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;DeserializationConfig config&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; Annotated annotated&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; Class&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;?&amp;gt;&lt;/span&gt; deserClass&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;deserClass&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isInstance&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; attachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;...&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&#34;serializer&#34;&gt;Serializer&lt;/h5&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;AttachmentSetSerializer&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; JsonSerializer&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentDatabaseHandler handler&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;AttachmentSetSerializer&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;this&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;handler&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentDatabaseHandler&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;serialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; JsonGenerator jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; SerializerProvider provider&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; JsonProcessingException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;DocumentOperationResult&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; results &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;bulkCreateOrUpdateAttachments&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachments&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;results&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Cannot create or update attachments. Some failed: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; results&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Exception exception&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Cannot create or update attachments.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; exception&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeStartArray&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Attachment attachment &lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeStartObject&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeStringField&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeEndObject&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeEndArray&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;deserializer&#34;&gt;Deserializer&lt;/h4&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;AttachmentSetDeserializer&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; JsonDeserializer&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentDatabaseHandler handler&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;AttachmentSetDeserializer&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;this&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;handler&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentDatabaseHandler&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;deserialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;JsonParser jsonParser&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; DeserializationContext context&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; JsonProcessingException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachments &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; Sets&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;newHashSet&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isExpectedStartArrayToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IllegalStateException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Expected array token but found: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getCurrentToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;().&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;asString&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachmentIds &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; Sets&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;newHashSet&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; JsonToken token &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;nextToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;while&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;JsonToken&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;END_ARRAY&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;equals&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;token&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;switch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;token&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;case&lt;/span&gt; START_OBJECT&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Attachment attachment &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;readValueAs&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isSetId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;!&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isSetRevision&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachmentIds&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;break&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt; default:&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IllegalStateException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Unexpected token. Expected object or string but found: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getCurrentToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;().&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;asString&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; token &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;nextToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;attachmentIds&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addAll&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;retrieveAttachments&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachmentIds&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Exception exception&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Cannot load attachments (&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; attachmentIds &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;)&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; exception&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Database migration using Costco</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/</guid> + <description> + + + &lt;h3 id=&#34;praeamble&#34;&gt;Praeamble&lt;/h3&gt; +&lt;p&gt;Please note that database migrations are done now in python scripts at&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/tree/master/scripts/migrations&#34;&gt;https://github.com/eclipse/sw360/tree/master/scripts/migrations&lt;/a&gt;&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;keeping the following page because Costco might be useful for development / testing / quick adaptations.&lt;/p&gt; +&lt;h3 id=&#34;problem&#34;&gt;Problem&lt;/h3&gt; +&lt;p&gt;The main problem with changing field names in thrift is that existing documents in the couchdb need adjustments. Unfortunately, the futon interface of the couchdb does not offer bulk edits. As a consequence, looking into every document is tedious, for more than 100 documents, maybe unfeasible.&lt;/p&gt; +&lt;h3 id=&#34;solution&#34;&gt;Solution&lt;/h3&gt; +&lt;p&gt;Use costco, an open source project that&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;is a couchapp (right, this implies that you install the couchapp environment)&lt;/li&gt; +&lt;li&gt;offers a Web interface as sub path of the couchdb database&lt;/li&gt; +&lt;li&gt;allows to iterate through the documents of a database and then apply modifications on a particular document&lt;/li&gt; +&lt;li&gt;allows to perform modifications on documents using Java script&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;More information&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Project website: &lt;a href=&#34;https://github.com/harthur/costco&#34;&gt;https://github.com/harthur/costco&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;Useful examples: &lt;a href=&#34;http://harthur.github.io/costco/&#34;&gt;http://harthur.github.io/costco/&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Note that costco does not allow to perform operations involving several documents at once, for example, setting values in one document that results from querying from several other documents. Costco is perfect for corrections on the couchdb document &amp;lsquo;schema&amp;rsquo; (not in the classic sense as there is no schema in couchdb).&lt;/p&gt; +&lt;h3 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h3&gt; +&lt;p&gt;If you try to install costco, you try to install couchapp mst likely. However, it might be that some python packages are missing which results in a &amp;rsquo;not-so-obvious&amp;rsquo; python error during install of couchapp. The following line could be th dependencies that you might need:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install python-dev libxml2-dev libxslt-dev +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;cheat-sheet-installing-costco-inside-an-sw360vagrant-deployment&#34;&gt;Cheat Sheet: Installing costco inside an sw360vagrant deployment&lt;/h3&gt; +&lt;p&gt;OK, if you read until here, to make it easy for you just the few lines to have executed to install costco when youi have a machine that is deployed with our vagrant:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get install python-dev libxml2-dev libxslt-dev +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo pip install couchapp +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone http://github.com/harthur/costco.git +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; costco +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ couchapp push . http://localhost:5984/sw360db +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;examples-in-sw360&#34;&gt;Examples in sw360&lt;/h3&gt; +&lt;p&gt;The following examples show some costco code from the use with sw360.&lt;/p&gt; +&lt;h4 id=&#34;renaming-a-key&#34;&gt;Renaming a key&lt;/h4&gt; +&lt;p&gt;In order to rename a field&amp;rsquo;s key, the following code might be helpful. In the following example, the field&amp;rsquo;s key &lt;code&gt;developement&lt;/code&gt; into &lt;code&gt;development&lt;/code&gt; (correcting a typo in the datamodel).&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;(doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;todo&amp;#39;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.development &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; doc.developement; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;delete&lt;/span&gt; doc.developement; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;renaming-a-key-in-a-subdocument&#34;&gt;Renaming a key in a subdocument&lt;/h4&gt; +&lt;p&gt;Similar thing as above, rename a key from &lt;code&gt;comment&lt;/code&gt; to &lt;code&gt;createdcomment&lt;/code&gt;, but this time inside a nested list of documents.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; (doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;release&amp;#39;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;var&lt;/span&gt; f &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f60&#34;&gt;0&lt;/span&gt;, len &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; doc.attachments.length; f &lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt; len; f &lt;span style=&#34;color:#555&#34;&gt;+=&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;1&lt;/span&gt; ) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.attachments[f].createdComment &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; doc.attachments[f].comment; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;delete&lt;/span&gt; doc.attachments[f].comment; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;more-javascript-examples-with-couchdb&#34;&gt;More JavaScript Examples with CouchDB&lt;/h3&gt; +&lt;p&gt;In addition to costco, also the couchdb map-reduce functions can help to track down issues in the data sets.&lt;/p&gt; +&lt;p&gt;The following example searched for attachments of type &lt;code&gt;SOURCE&lt;/code&gt; at releases, which do not have the &lt;code&gt;createdBy&lt;/code&gt; set:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; ((doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;release&amp;#39;&lt;/span&gt;) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (doc.attachments)) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;var&lt;/span&gt; attachment &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;in&lt;/span&gt; doc.attachments) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#555&#34;&gt;!&lt;/span&gt;doc.attachments[attachment].createdBy) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; (doc.attachments[attachment].attachmentType&lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;SOURCE&amp;#39;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc._id, doc.attachments[attachment].filename); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following example looks into date fields, in this case &lt;code&gt;createdOn&lt;/code&gt;, and checks if it uses dots (for changing them into dashes).&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;( +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;release&amp;#39;&lt;/span&gt;) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (doc.createdOn.indexOf(&lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#555&#34;&gt;!==&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;1&lt;/span&gt;) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc.name, doc) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Definition of Done</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/</guid> + <description> + + + &lt;h3 id=&#34;policy&#34;&gt;Policy&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Review points should involve one person from another angle (not just the person you were sitting together with anyways)&lt;/li&gt; +&lt;li&gt;Limit items in review to 5, try to coordinate&lt;/li&gt; +&lt;li&gt;Using Github assignments to issues or pull requests&lt;/li&gt; +&lt;li&gt;Open review items require conversation&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;definition-of-done&#34;&gt;Definition of Done&lt;/h1&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;File headers in file OK&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;EPL-2.0 license header&lt;/li&gt; +&lt;li&gt;Or, if the file is too small, configuration file: license note (see code style)&lt;/li&gt; +&lt;li&gt;Copyright and author&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Create Branches for sw360&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Please use conventional branch names for sw360 (&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Branches&#34;&gt;Dev-Branches&lt;/a&gt;)&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Avoid (serious) compiler warnings&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Squash your commits into one or more logical units of work. No dozens of hourly/daily commits in your pull request, please&lt;/li&gt; +&lt;li&gt;Rebase onto current master so that a fast forward merge is possible&lt;/li&gt; +&lt;li&gt;That means that merge to master is prepared&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;use conventional change log for commit messages (&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Semantic-Commits&#34;&gt;Dev-Semantic-Commits&lt;/a&gt;) &lt;br&gt; For more information please go to &lt;a href=&#34;https://conventionalcommits.org/&#34;&gt;https://conventionalcommits.org/&lt;/a&gt;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;No breaking test&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Unit testing as it is already present&lt;/li&gt; +&lt;li&gt;You have more - use them!&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;New test&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;For new / added functionality&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Documentation&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;in the Githuib Wiki-Section, if you have done something new&lt;/li&gt; +&lt;li&gt;At least a technical note for newly added functionality&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Commit style&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;try to squash commits. In the ideal case, a feature is contained in one commit.&lt;/li&gt; +&lt;li&gt;try to use conventional changelog for commit messages. (&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Semantic-Commits&#34;&gt;Dev-Semantic-Commits&lt;/a&gt;)&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;review&#34;&gt;Review&lt;/h1&gt; +&lt;p&gt;Review basically checks for the D-o-D items, in particular&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Code style, not really formatting, but issues like style attributes in HTML tags or exception handling useful&lt;/li&gt; +&lt;li&gt;Design / architecture issues&lt;/li&gt; +&lt;li&gt;Community contribution suitability&lt;/li&gt; +&lt;li&gt;Issue coverage (does it actually solve the problem?)&lt;/li&gt; +&lt;li&gt;Add to commit message of merge commit explicitly:&lt;/li&gt; +&lt;/ul&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;review-by:email@domain.com +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tested-by:email@domain.com +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;licensing-and-file-header&#34;&gt;Licensing and File Header&lt;/h1&gt; +&lt;p&gt;All files contributed require headers - this will ensure the license and copyright clearing at the end. Also, all contributions must have the same license as the original source.&lt;/p&gt; +&lt;p&gt;If a file has relevant functionality, note that we should move to Eclipse 2.0&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Java&#34; data-lang=&#34;Java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;/* +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * Copyright COPYRIGHT HOLDER, 2017. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * Copyright NEXT COPYRIGHT HOLDER, 2017. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * Part of the SW360 Portal Project. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * SPDX-License-Identifier: EPL-1.0 +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * All rights reserved. This program and the accompanying materials +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * are made available under the terms of the Eclipse Public License v1.0 +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * which accompanies this distribution, and is available at +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * http://www.eclipse.org/legal/epl-v10.html +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; */&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(please adapt comment characters usage)&lt;/p&gt; +&lt;p&gt;For small files such as property files, configuration files or standard XML files:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Copyright &amp;lt;COPYRIGHT_HOLDER&amp;gt;, &amp;lt;YEAR&amp;gt;. Part of the SW360 Portal Project.&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;#&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# All rights reserved. This configuration file is provided to you under the&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# terms and conditions of the Eclipse Distribution License v1.0 which&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# accompanies this distribution, and is available at&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# http://www.eclipse.org/org/documents/edl-v10.php&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;code-style&#34;&gt;Code style&lt;/h1&gt; +&lt;p&gt;Just use the standard Java formatting rules of your IDE and &lt;strong&gt;do not reformat&lt;/strong&gt; code from others, because you like to correct formatting of other&amp;rsquo;s code.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Filtering in Portlets</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/</guid> + <description> + + + &lt;p&gt;For the filters that are shown for components and listings, there are some options:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;The &lt;strong&gt;Keyword search&lt;/strong&gt; works directly on the table shown on the main right area. For example in the components portlet, this is in components/view.jsp.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The &lt;strong&gt;filters&lt;/strong&gt; actually result in a new search request, when hitting apply filters button. The project portlet reads the fields and creates a map. Then, &lt;code&gt;ProjectPortlet&lt;/code&gt; calls the thrift service &lt;code&gt;refineSearch()&lt;/code&gt;, which is handled in &lt;code&gt;ProjectHandler&lt;/code&gt;. This method takes the map and the user as input. The search service has a server-side JavaScript function (LuceneSearchView) defined for this particular filter in &lt;code&gt;ProjectSearchHandler.java&lt;/code&gt;. This is called with the &lt;code&gt;LuceneAwareDatabaseConnector.java&lt;/code&gt;. After filtering, the visibility constraints for the requesting user are applied.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Then for each release table, there is a search field in the upper right corner. This again works on the data of the Release summary object and then filters what is on the client (web browser).&lt;/p&gt; +&lt;/li&gt; +&lt;/ol&gt; + + </description> + </item> + + <item> + <title>Docs: Fossology Integration</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/</guid> + <description> + + + &lt;p&gt;Basic communication with the FOSSology server is done over an SSH connection: the fossology service of SW360 executes remote commands on the FOSSology server.&lt;/p&gt; +&lt;p&gt;The commands that are executed are the bash scripts found inside &lt;code&gt;src-fossology/src/main/resources/scripts/&lt;/code&gt;, they are copied into the home directory of the ssh user (either manually or through the admin portlet). +See &lt;a href=&#34;Fossology-Setup&#34;&gt;Setup of connection with Fossology&lt;/a&gt; for configuration details.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;\- src-fossology/src/main/resources/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; \- scripts/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- duplicateUpload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- folderManager +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- getStatusOfUpload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- uploadFromSW360 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; \- utilsSW360 +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;These scripts utilize the standard command line tools to interact natively with FOSSology (these are the tools found in the src/cli folder of FOSSology, such as &lt;code&gt;cp2foss fossjobs fossupload_status fo_usergroup fo_chmod fo_folder ...&lt;/code&gt;).&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;utilsSW360&lt;/code&gt; contains common functions used by the other scripts and some FOSSology configuration such as the user/password pair used to run the cli utils and the UNIX group of the FOSSology processes&lt;/li&gt; +&lt;li&gt;&lt;code&gt;folderManager&lt;/code&gt; (uses FO:&lt;code&gt;fo_folder&lt;/code&gt;): get information about the folder structure of FOSSology to allow sharing of uploads between groups&lt;/li&gt; +&lt;li&gt;&lt;code&gt;getStatusOfUpload&lt;/code&gt; (uses FO:&lt;code&gt;fossupload_status&lt;/code&gt;): to get the clearing status given an uploadId and a group&lt;/li&gt; +&lt;li&gt;&lt;code&gt;uploadFromSW360&lt;/code&gt; (uses FO:&lt;code&gt;cp2foss fossjobs&lt;/code&gt;): to create a new upload from the standard input and schedule scanners&lt;/li&gt; +&lt;li&gt;&lt;code&gt;duplicateUpload&lt;/code&gt; (uses FO:&lt;code&gt;fo_chmod&lt;/code&gt; SW:&lt;code&gt;folderManager&lt;/code&gt;): to make a previously uploaded file available for another group&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;java-libraries-and-settings&#34;&gt;Java libraries and settings&lt;/h3&gt; +&lt;p&gt;The java code utilizes the package &lt;code&gt;com.jcraft.jsch&lt;/code&gt; to connect to the SSH server. It is set to strictly check the fingerprint of the remote server against the accepted which are stored in couchDB.&lt;/p&gt; +&lt;h3 id=&#34;conventions&#34;&gt;Conventions&lt;/h3&gt; +&lt;p&gt;the sw360 user in FOSSology (the actual name is configured in &lt;code&gt;utilsSW360&lt;/code&gt;) &lt;strong&gt;must be a member of every group&lt;/strong&gt; to which it should be able to send Releases to be cleared. +File uploaded from SW360 are placed inside a folder with the same name as the group and permission will be set at the group level (default of cp2foss).&lt;/p&gt; +&lt;h3 id=&#34;datamodel-and-thrift-service&#34;&gt;Datamodel and thrift service&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;each Release object in SW360 can have only one attachment of type SOURCE.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;when a Release is sent &lt;em&gt;for the first time&lt;/em&gt; to FOSSology through the Thrift method &lt;code&gt;sendToFossology(1: string releaseId, 2: string clearingTeam )&lt;/code&gt; its SOURCE attachement is sent as stdin to the script &lt;code&gt;uploadFromSW360&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;The field &lt;code&gt;map&amp;lt;string, FossologyStatus&amp;gt; clearingTeamToFossologyStatus&lt;/code&gt; is then updated to contain the corresponding entry for the chosen Clearing Team (aka. the name of the FOSSology group which will receives the upload for clearing).&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;when the same Release is &lt;em&gt;sent again for another team&lt;/em&gt; a new &lt;em&gt;link&lt;/em&gt; in the corresponding group folder is created and the old upload is made available for the new group (as in giving permission using FO:&lt;code&gt;fo_chmod&lt;/code&gt;).&lt;/p&gt; +&lt;p&gt;At the moment this gives access only to the files, not to the relative clearing decision. +In order to make the clearing decisions available a reuser needs to be scheduled from the Jobs menu. [ it could be possible to schedule the job from SW360: its user is member of all the groups; but it is not currently implemented since there is no cli interface for reuser yet ]&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;when the current status is requested using the Thrift method &lt;code&gt;Release getStatusInFossology(1: string releaseId, 2: string clearingTeam )&lt;/code&gt; the newest status is fetched from FOSSology and it is stored in the map for the relative clearingTeam&lt;/p&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;notes&#34;&gt;Notes&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Releases have a ClearingState field, but this is ignored by the Thrift service and used only in the SW360 user interface.&lt;/li&gt; +&lt;li&gt;Projects link to Releases and the summary of their FOSSology status can be monitored. This is also ignored by the FOSSology Thrift service and handled by the Component service: the FOSSology service just updates the status of the Release objects.&lt;/li&gt; +&lt;/ul&gt; + + </description> + </item> + + <item> + <title>Docs: Liferay Friendly</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/</guid> + <description> + + + &lt;p&gt;The normal generated portlet URLs containing a set of internal Liferay request parameters. &lt;br&gt; +These long URLs of links or forms are mostly not readable and its not easy to share it somewhere else.&lt;/p&gt; +&lt;p&gt;General Liferay portlet URL: &lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:8080/web/guest/examples?p_p_id=example_WAR_ExamplePortlet&amp;amp;p_p_lifecycle=1&amp;amp;p_p_state=normal&amp;amp;p_p_mode=view&amp;amp;p_p_col_id=column-1&amp;amp;p_p_col_count=1&amp;amp;_example_WAR_ExamplePortlet_javax.portlet.action=new +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Explanation of the Liferay request parameters: &lt;br&gt; +&lt;strong&gt;p_p_id:&lt;/strong&gt; The portlet ID (example_WAR_ExamplePortlet)&lt;br&gt; +&lt;strong&gt;p_p_state:&lt;/strong&gt; Liferay windows pages state - 1 (normal) 2 (maximize) 3 (minimize) &lt;br&gt; +&lt;strong&gt;p_p_mode&lt;/strong&gt;: Mode of the portlet look like - (view) (edit) (help) &lt;br&gt; +&lt;strong&gt;p_p_lifecycle:&lt;/strong&gt; This is life cycle of portlet - 0 (render) 1 (action) 2 (server) &lt;br&gt; +&lt;strong&gt;p_p_col_id:&lt;/strong&gt; The reference ID of the column in Liferay template &lt;br&gt; +&lt;strong&gt;p_p_col_pos:&lt;/strong&gt; Specifiy the column position if the the layout having more than one columns &lt;br&gt; +&lt;strong&gt;p_p_col_count:&lt;/strong&gt; Shows the no of columns in the current layout&lt;/p&gt; +&lt;h3 id=&#34;friendly-url-mapper-configuration&#34;&gt;Friendly URL Mapper configuration&lt;/h3&gt; +&lt;p&gt;Liferay provides a mechanism to shorten the generated URLs by using the Friendly URL Mapper feature. &lt;br&gt; &lt;br&gt; +How to configure the friendly URL Mapper in Liferay? &lt;br&gt; &lt;br&gt; +&lt;strong&gt;Configuration of URL routes in XML files&lt;/strong&gt; &lt;br&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;CREATE example-friendly-url-routes.xml&lt;/em&gt; &lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Xml&#34; data-lang=&#34;Xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34;?&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&amp;lt;!DOCTYPE routes PUBLIC &amp;#34;-//Liferay//DTD Friendly URL Routes 6.2.2//EN&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&amp;#34;http://www.liferay.com/dtd/liferay-friendly-url-routes_6_0_0.dtd&amp;#34;&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;routes&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;route&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;pattern&amp;gt;&lt;/span&gt;/action/{actionName}&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/pattern&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;generated-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;javax.portlet.action&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;{actionName}&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/generated-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;ignored-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_auth&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;ignored-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;implicit-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_lifecycle&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/implicit-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;implicit-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_state&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;normal&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/implicit-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;implicit-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_mode&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;view&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/implicit-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/route&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/routes&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Explanation of the Liferay Friendly Mapper route parameters: &lt;br&gt; +&lt;strong&gt;routes:&lt;/strong&gt; Routes element which contains all route entries &lt;br&gt; +&lt;strong&gt;route:&lt;/strong&gt; Single route element entry &lt;br&gt; +&lt;strong&gt;pattern:&lt;/strong&gt; Pattern of the mapped friendly URL (visible in address bar) &lt;br&gt; +&lt;strong&gt;generated-parameter:&lt;/strong&gt; These parameters will be generated from parameters in the request URL &lt;br&gt; +&lt;strong&gt;ignored-parameter:&lt;/strong&gt; These parameters will be igored and not included in generated URLs &lt;br&gt; +&lt;strong&gt;implicit-parameter:&lt;/strong&gt; Used for static attributes which can be ignored by recognition &lt;br&gt; +&lt;strong&gt;overridden-parameter:&lt;/strong&gt; Parameter that should be set to a certain value when a URL is recognized &lt;br&gt; +&lt;br&gt; +It is necessary to order the parameters as described above. &lt;br&gt; +These files should located in the resources folder otherwise they will not be available on Apache Tomcat and cannot be initialized by Liferay. &lt;br&gt; +&lt;br&gt; +&lt;strong&gt;Configuration of friendly URL Java class&lt;/strong&gt; &lt;br&gt; +&lt;br&gt; +&lt;em&gt;MODIFY liferay-portlet.xml&lt;/em&gt; +&lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Xml&#34; data-lang=&#34;Xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;friendly-url-mapper-class&amp;gt;&lt;/span&gt;com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/friendly-url-mapper-class&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;friendly-url-mapping&amp;gt;&lt;/span&gt;example&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/friendly-url-mapping&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;friendly-url-routes&amp;gt;&lt;/span&gt;com/.../example-friendly-url-routes.xml&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/friendly-url-routes&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br&gt; +In the next step we need one java implementation class to generate the Liferay friendly URLs. &lt;br&gt; +&lt;p&gt;Liferay provides the &lt;em&gt;DefaultFriendlyURLMapper&lt;/em&gt; class to create the URLs based on our rules. &lt;br&gt;&lt;/p&gt; +&lt;p&gt;The Liferay Friendly URL Mapper configuration is placed after &lt;code&gt;&amp;lt;icon/&amp;gt;&lt;/code&gt; and before &lt;code&gt;&amp;lt;instanceable&amp;gt;&lt;/code&gt; +tag.&lt;/p&gt; +&lt;h3 id=&#34;friendly-url-mapper-outcome&#34;&gt;Friendly URL Mapper outcome&lt;/h3&gt; +&lt;p&gt;&lt;strong&gt;Liferay will generate the following friendly URL&lt;/strong&gt; &lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:8080/web/guest/examples/-/example/action/new +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br&gt; +&lt;ol&gt; +&lt;li&gt;The liferay framework will add &amp;ldquo;-&amp;rdquo; (dash)&lt;/li&gt; +&lt;li&gt;Friendly URL mapper name which is configured in &lt;code&gt;&amp;lt;friendly-url-mapping&amp;gt;&lt;/code&gt; (liferay-portlet.xml) element&lt;/li&gt; +&lt;li&gt;Pattern name with generated parameters which is same as in &lt;code&gt;&amp;lt;pattern&amp;gt;&lt;/code&gt; (example-friendly-url-routes.xml) defined.&lt;/li&gt; +&lt;/ol&gt; +&lt;h3 id=&#34;additional&#34;&gt;Additional&lt;/h3&gt; +&lt;p&gt;Friendly URL Mapper functionality is not working if the portletURL API is used to generate the Liferay URL in local Javascript. &lt;br&gt; +It is helpful to generate &lt;code&gt;&amp;lt;portlet:renderURL&amp;gt;&lt;/code&gt; placeholder and replace them by using dummy values.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Moderation Requests</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/</guid> + <description> + + + &lt;p&gt;The concept of moderation is good for two things:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;to cope with a large number of potential edits on documents.&lt;/li&gt; +&lt;li&gt;to allow every user to propose edits.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Allowing every user to edit opposed to propose edits would lad to a large number of changes, potentially, not making everyone happy. As such, the changes should be reviewed by an experienced person and can be then approved.&lt;/p&gt; +&lt;h2 id=&#34;application-flow&#34;&gt;Application Flow&lt;/h2&gt; +&lt;p&gt;A user changes a moderated document, which are component, release, project and todo&amp;rsquo;s of licenses (and the white list):&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;The user switches in edit mode and applies a change.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The user submits the change by clicking &amp;ldquo;Update &amp;hellip;&amp;rdquo;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The application checks, if the permissions are sufficient&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;For sufficient permissions, see here: &lt;a href=&#34;https://github.com/siemens/sw360portal/wiki/Dev-Role-Authorisation-Model&#34;&gt;https://github.com/siemens/sw360portal/wiki/Dev-Role-Authorisation-Model&lt;/a&gt;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;If the permissions do not allow the edit right away, a moderation request is created.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Moderators can see the moderation request in the moderation portlet&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Having selected the moderation request, the moderator can accept the request, decline, postpone or remove himself from the list of moderators&lt;/p&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;technical-description&#34;&gt;Technical Description&lt;/h2&gt; +&lt;h3 id=&#34;checking-document-permissions&#34;&gt;Checking Document Permissions&lt;/h3&gt; +&lt;p&gt;If a moderation requests needs to be created, because the user does not have sufficient permissions:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;The request goes through the stack, for example: project portlet, project handler, project database handler.&lt;/li&gt; +&lt;li&gt;Then the project database handler checks for permissions using &lt;code&gt;makePermission()&lt;/code&gt; (&lt;code&gt;DocumentPermission&lt;/code&gt; is the base class, then &lt;code&gt;ProjectPermissions&lt;/code&gt; is the referring here for projects) and &lt;code&gt;isActionAllowed()&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;For moderation requests, we assume that this action is not allowed. Then, the &lt;code&gt;ProjectModerator&lt;/code&gt; is called (see package &lt;code&gt;...sw360.datahandler.entitlement&lt;/code&gt;).&lt;/li&gt; +&lt;li&gt;This class (which is part of the project service) creates a thrift client to the moderation service (also on the backend) and creates a moderation request using this client.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Every moderation request is created using the thrift-based API.&lt;/p&gt; +&lt;h3 id=&#34;writing-a-moderation-request-to-the-database&#34;&gt;Writing a Moderation Request to the Database&lt;/h3&gt; +&lt;p&gt;The generation of moderation request is performed by the moderation service. The moderation service handles incoming request in the following way:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;The requests arrives in the &lt;code&gt;ModerationDatabaseHandler&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;This handler writes the request to the database.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;creation-details-in-the-service&#34;&gt;Creation Details in the Service&lt;/h3&gt; +&lt;p&gt;The handler writes one moderation request per user and document. If a moderation request from the same user for the same document exists, added moderation requests are merged. Or, the request is new either with a new user, new document or both, then the moderation request is created.&lt;/p&gt; +&lt;p&gt;Each moderation requests has recipients, the moderators. The moderation database handler selects the moderators depending on the document type, which are usually the creator of the document and the listed moderators for this document. See details in the &lt;code&gt;ModerationDatabaseHandler&lt;/code&gt; class. At the same location the check for deletion is performed.&lt;/p&gt; +&lt;h3 id=&#34;what-is-in-the-database&#34;&gt;What is in the Database?&lt;/h3&gt; +&lt;p&gt;The moderation request is a document in the couchdb. Technically, the moderation requests holds the affected document as field where the values is a nested JSON dictionary.&lt;/p&gt; +&lt;p&gt;The following screen shot shows an example for a moderation request for a project.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/wiki/siemens/sw360portal/images/036-oss-sw360-20160310-screenshot-moderation-reqeust-document-example.png&#34; alt=&#34;Example Moderation Request in Database&#34;&gt;&lt;/p&gt; +&lt;h3 id=&#34;evaluating-the-moderation-request&#34;&gt;Evaluating the Moderation Request&lt;/h3&gt; +&lt;p&gt;On the moderation portlet all moderations will be shown, for which the user is a moderator. +Only open moderation requests can be selected. Approved and declined moderation requests will only be shown. +On selecting the moderation requests, both documents (original and the updated out of the moderation request) will be compared in the &lt;code&gt;merge.jsp&lt;/code&gt; and all differences will be shown to the moderator. This is done via tags such as the &lt;code&gt;sw360:CompareProject&lt;/code&gt;-tag. Opening the detailed view of the moderation request changes the state to &lt;code&gt;in progress&lt;/code&gt; to show other moderators that the moderation request is in work.&lt;/p&gt; +&lt;p&gt;The following actions are possible:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;Accept request&lt;/code&gt;: the document within the moderation request will be accepted and written to the DB via e.g. the &lt;code&gt;ProjectService&lt;/code&gt;. The state is set to &lt;code&gt;ACCEPTED&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Remove Me from Moderators&lt;/code&gt;: the state of the moderation requests is set to &lt;code&gt;PENDING&lt;/code&gt; again and the logged in moderator will be removed from the moderation list.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Decline request&lt;/code&gt;: the moderation requests will be set to &lt;code&gt;REJECTED&lt;/code&gt; and still shown in the list&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Postpone request&lt;/code&gt;: the state will be &lt;code&gt;IN PROGRESS&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Cancel&lt;/code&gt;: the moderation state is set to &lt;code&gt;PENDING&lt;/code&gt; and the moderation request will still be shown in the moderation request list&lt;/li&gt; +&lt;/ul&gt; + + </description> + </item> + + <item> + <title>Docs: Release and Versioning</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/</guid> + <description> + + + &lt;p&gt;We have the following main principles for versioning and releases. We consider &lt;a href=&#34;http://semver.org/&#34;&gt;semantic versioning&lt;/a&gt;:&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;Given a version number MAJOR.MINOR.PATCH, increment the:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;MAJOR version when you make incompatible API changes,&lt;/li&gt; +&lt;li&gt;MINOR version when you add functionality in a backwards-compatible manner, and&lt;/li&gt; +&lt;li&gt;PATCH version when you make backwards-compatible bug fixes.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;with the following implementation in our project:&lt;/p&gt; +&lt;h3 id=&#34;major-version&#34;&gt;Major Version&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;API breaking changes are considered for the upcoming REST API.&lt;/li&gt; +&lt;li&gt;Breaking change is &lt;em&gt;also&lt;/em&gt; if a migration script is required for the data base.&lt;/li&gt; +&lt;li&gt;Thrift API is not considered a public API anymore.&lt;/li&gt; +&lt;li&gt;Therefore milestones cannot correspond to our versions like &lt;code&gt;1.4&lt;/code&gt;, &lt;code&gt;1.5&lt;/code&gt;, etc. anymore: we do not know which feature or issue will cause a version jump according to semantic versioning guidelines.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;minor-version&#34;&gt;Minor Version&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Changes to the thrift API will cause minor version increment.&lt;/li&gt; +&lt;li&gt;Larger new functionality which is backwards compatible, maybe one pull requests or maybe a group of pull requests.&lt;/li&gt; +&lt;li&gt;Minor versions requires also tagging in the repo.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;patch-level&#34;&gt;Patch Level&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Every push (merged pull request) to master shall generate &lt;em&gt;at least&lt;/em&gt; (not there yet) a new patch level version, in order to allow for (clean) deployments at this level.&lt;/li&gt; +&lt;li&gt;Could e also minor improvements like adding a button with some functionality&lt;/li&gt; +&lt;li&gt;Patch level is not tagged.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;naming-and-meaning-of-milestones&#34;&gt;Naming and Meaning of Milestones&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;Milestones cannot correspond to versions (releases) anymore, because in general the version designator is determined by the level of change.&lt;/li&gt; +&lt;li&gt;We use milestones as work packages. We see them as work packages from an organizational point of view. However, it is not a milestone to release a version, because - again in general - the version is determined by the level of change.&lt;/li&gt; +&lt;li&gt;However, If the last merged pull quest of a work package, a completing merge: If it is not causing a major or minor version increment, still, this would lead to a minor version increment.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;technical-implementation&#34;&gt;Technical Implementation&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;Plan: The artifacts will be build by travis and stored on aws S3 (not there yet) with patch level version increments, but patch level versions will not lead to a tag in the repo.&lt;/li&gt; +&lt;li&gt;Currently, the versioning is &amp;ldquo;manual maven based&amp;rdquo;, we look for a cleaner more automated approach.&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;technical-maven-universe-how-to-maketag-a-release&#34;&gt;Technical: Maven Universe How to make/tag a release⁽¹⁾:&lt;/h1&gt; +&lt;p&gt;The following information refers to the existing maven-based versioning scheme, as of now we are looking into a system which is not leading to a temporary change in the repo, commit, and then reverting changes.&lt;/p&gt; +&lt;p&gt;Let us assume, that we want to tag the version &lt;strong&gt;1.2.0&lt;/strong&gt; and that the current version in the pom&amp;rsquo;s is &lt;strong&gt;1.2.0-SNAPSHOT&lt;/strong&gt;.&lt;/p&gt; +&lt;h3 id=&#34;0-work-in-a-clean-environment&#34;&gt;0. Work in a clean environment&lt;/h3&gt; +&lt;p&gt;Especially should all poms be without uncommitted changes. The safe way is to start with:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; /tmp/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/eclipse/sw360.git +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; sw360portal +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-write-the-version-of-the-release-into-the-poms&#34;&gt;1. Write the version of the release into the poms&lt;/h3&gt; +&lt;pre&gt; +$ mvn versions:set -DnewVersion=&lt;b&gt;1.2.0&lt;/b&gt; +$ git add pom.xml \*\*/pom.xml +$ git commit -m &#34;set version to &lt;b&gt;1.2.0&lt;/b&gt;&#34; +&lt;/pre&gt; +&lt;p&gt;This will actually edit all pom.xml files and change the versions to &lt;strong&gt;1.2.0&lt;/strong&gt;, i.e. remove the SNAPSHOT.&lt;/p&gt; +&lt;h3 id=&#34;2-test-the-project&#34;&gt;2. Test the project&lt;/h3&gt; +&lt;pre&gt; +$ mvn install +&lt;/pre&gt; +&lt;p&gt;or even better: use vagrant.&lt;/p&gt; +&lt;h3 id=&#34;3-create-and-push-the-tag&#34;&gt;3. Create and push the tag&lt;/h3&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mvn scm:tag +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This creates the tag and &lt;strong&gt;pushes it to github&lt;/strong&gt;.&lt;/p&gt; +&lt;h3 id=&#34;4-write-the-new-incremented-snapshot-version-into-the-poms&#34;&gt;4. Write the new incremented SNAPSHOT-version into the poms&lt;/h3&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mvn versions:set -DnewVersion&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&amp;lt;b&amp;gt;1.3.0-SNAPSHOT&amp;lt;/b&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git add pom.xml &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\*\*&lt;/span&gt;/pom.xml +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -m &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;set version to &amp;lt;b&amp;gt;1.3.0-SNAPSHOT&amp;lt;/b&amp;gt;&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git push origin master +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;ndash; +⁽¹⁾ based on: &lt;a href=&#34;https://axelfontaine.com/blog/final-nail.html&#34;&gt;https://axelfontaine.com/blog/final-nail.html&lt;/a&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: REST API</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-rest-api/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-rest-api/</guid> + <description> + + + &lt;p&gt;The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent module &lt;code&gt;rest&lt;/code&gt; in the sw360 distribution.&lt;/p&gt; +&lt;h1 id=&#34;module-structure&#34;&gt;Module Structure&lt;/h1&gt; +&lt;p&gt;The &lt;code&gt;rest&lt;/code&gt; module provides a REST API infrastructure for sw360 including:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Module &lt;code&gt;authorization-server&lt;/code&gt; - OAuth2 Authorization Server, offering typical authorization steps of an OAuth2 workflow.&lt;/li&gt; +&lt;li&gt;Module &lt;code&gt;resource-server&lt;/code&gt; - REST API Gateway, providing access to the data for authenticated and authorized users / clients.&lt;/li&gt; +&lt;li&gt;Module &lt;code&gt;rest-common&lt;/code&gt; - only library code that is shared between the other rest modules.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;The REST API implementation uses:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Module &lt;code&gt;authorization-server&lt;/code&gt; uses the Liferay user management via the Liferay REST API to authenticate users and the users thrift backend service to access user profile data.&lt;/li&gt; +&lt;li&gt;Module &lt;code&gt;resource-server&lt;/code&gt; uses thrift backend services for accessing sw360 data to deliver it to the external clients.&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;api-principles&#34;&gt;API Principles&lt;/h1&gt; +&lt;h2 id=&#34;security-principles&#34;&gt;Security Principles&lt;/h2&gt; +&lt;p&gt;The basic security principles are following the OAuth2 standards. So there should be an authorization server which can be the one contained in this project. That one provides access tokens after it authenticated the client and the user using this client. In addition it checks which authorities this client should receive for operating in the user&amp;rsquo;s name. +With this OAuth2 access token the client can query the resource server which will restrict access to the given authorities. +Every client gets an access token as well as an refresh token. As long as the refresh token is valid, the client can gather a new access token without the need of re-authorization of the user.&lt;/p&gt; +&lt;p&gt;There are currently three different possibilities for an OAuth2 authorization server implemented:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Using the contained authorization-server with username/password that are known by Liferay, no matter if Liferay is hosting the credentials itself or is attached to some central user management which it uses to authenticate users.&lt;/li&gt; +&lt;li&gt;Using the contained authorization-server inside an SSO network where an existing proxy can take care of the authentication and passing authenticated user information in configurable headers to the authorization-server which then performs authorization on top.&lt;/li&gt; +&lt;li&gt;Using keycloak as authorization-server. This case is not part of this wiki page and might need special configuration.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;data-principles&#34;&gt;Data Principles&lt;/h2&gt; +&lt;p&gt;The REST API provides Hypermedia using &lt;a href=&#34;http://stateless.co/hal_specification.html&#34;&gt;HAL&lt;/a&gt; (Hypertext Application Language). +The following example shows some ideas of the REST API. It can be obtained by&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/resource/api/browser/index.html#/resource/api +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that the response below is maybe not the exact same response of your current version:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;_links&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:attachments&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/attachments{?sha1}&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;templated&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;true&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:components&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/components&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:licenses&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/licenses&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:licenseinfo&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/licenseinfo&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:projects&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/projects&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:releases&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/releases&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:users&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/users&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:vendors&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/vendors&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:vulnerabilities&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/vulnerabilities&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;profile&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/profile&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;curies&amp;#34;&lt;/span&gt;: [ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/docs/{rel}.html&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;sw360&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;templated&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;true&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;api-installation&#34;&gt;API Installation&lt;/h1&gt; +&lt;p&gt;Both, the &lt;code&gt;authorization-server&lt;/code&gt; and the &lt;code&gt;resource-server&lt;/code&gt; can be build using Maven like the rest of the project. Each is generating a Spring Boot server that can be deployed in an application container, e.g. Tomcat.&lt;/p&gt; +&lt;h1 id=&#34;api-configuration&#34;&gt;API Configuration&lt;/h1&gt; +&lt;p&gt;Since the &lt;code&gt;authorization-server&lt;/code&gt; and the &lt;code&gt;resource-server&lt;/code&gt; are Spring Boot servers, they are configured as usual via &lt;code&gt;/src/main/resources/application.yml&lt;/code&gt;. In addition some configuration comes historically from &lt;code&gt;sw360.properties&lt;/code&gt;. Please note that all configurations could be provided centrally in the &lt;code&gt;/etc/sw360/&lt;/code&gt; directory. As such, the &lt;code&gt;sw360.properties&lt;/code&gt; sits directly in &lt;code&gt;/etc/sw360/&lt;/code&gt;. For rest-specific configurations the application considers the location &lt;code&gt;/etc/sw360/rest&lt;/code&gt;.&lt;/p&gt; +&lt;h2 id=&#34;authorization-server-configuration&#34;&gt;Authorization Server Configuration&lt;/h2&gt; +&lt;h3 id=&#34;special-liferay-credentials-configuration&#34;&gt;Special Liferay Credentials Configuration&lt;/h3&gt; +&lt;p&gt;In addition to the general properties in &lt;a href=&#34;#general-config&#34;&gt;here&lt;/a&gt; the following needs to be configured in the &lt;code&gt;application.yml&lt;/code&gt; when the authentication via Liferay username/password credentials should be possible:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;sw360:sw360-portal-server-url&lt;/td&gt; +&lt;td&gt;the url of the Liferay instance&lt;/td&gt; +&lt;td&gt;n/a (but could be given if environment variable is used like &lt;code&gt;${SW360_PORTAL_SERVER_URL:http://127.0.0.1:8080}&lt;/code&gt;)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:sw360-liferay-company-id&lt;/td&gt; +&lt;td&gt;the id of the company in Liferay that sw360 is run for&lt;/td&gt; +&lt;td&gt;(but could be given if environment variable is used like &lt;code&gt;${SW360_LIFERAY_COMPANY_ID:20155}&lt;/code&gt;)&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;special-sso-configuration&#34;&gt;Special SSO Configuration&lt;/h3&gt; +&lt;p&gt;In addition to the general properties in &lt;a href=&#34;#general-config&#34;&gt;here&lt;/a&gt; the following needs to be configured in the &lt;code&gt;application.yml&lt;/code&gt; when the authentication via SSO should be possible:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:enabled&lt;/td&gt; +&lt;td&gt;Flag if the components needed for SSO should be active&lt;/td&gt; +&lt;td&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:headername:intermediateauthstore&lt;/td&gt; +&lt;td&gt;the name of the header that can be used for internal data transfer inside one roundtrip - it can be configured here because the proxy has to make sure that this header will not be passed from clients and will be used truly internal only&lt;/td&gt; +&lt;td&gt;custom-header-auth-marker&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:headername:email&lt;/td&gt; +&lt;td&gt;the name of the header that holds the email of the authenticated user (should be set be the proxy and must never be passed from clients)&lt;/td&gt; +&lt;td&gt;authenticated-email&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:headername:extid&lt;/td&gt; +&lt;td&gt;the name of the header that holds the extid of the authenticated user (should be set be the proxy and must never be passed from clients)&lt;/td&gt; +&lt;td&gt;authenticated-extid&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;:heavy_exclamation_mark: Please configure your SSO server and the proxy accordingly. In general, no unauthenticated request should reach the authorization server. And the configured headers should only be set by the proxy. If they are already contained in client requests, they must be removed!&lt;/p&gt; +&lt;h4 id=&#34;removing-headers-in-apache&#34;&gt;Removing Headers in Apache&lt;/h4&gt; +&lt;p&gt;In Apache you may use the &lt;a href=&#34;https://httpd.apache.org/docs/current/mod/mod_headers.html&#34;&gt;&lt;code&gt;mod_headers&lt;/code&gt;&lt;/a&gt; module to remove headers from the client. Using the default values from the table above, at least the following directives should be present in your configuration for all requests that are routed to the &lt;code&gt;authorization-server&lt;/code&gt;:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RequestHeader unset custom-header-auth-marker +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RequestHeader unset authenticated-email +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RequestHeader unset authenticated-extid +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;a-namegeneral-configageneral-configuration&#34;&gt;&lt;a name=&#34;general-config&#34;&gt;&lt;/a&gt;General Configuration&lt;/h3&gt; +&lt;p&gt;Possible properties in &lt;code&gt;sw360.properties&lt;/code&gt; file are:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;backend.url&lt;/td&gt; +&lt;td&gt;the url where the thrift services can be found&lt;/td&gt; +&lt;td&gt;http://127.0.0.1:8080&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;rest.write.access.usergroup&lt;/td&gt; +&lt;td&gt;the user group level (`USER&lt;/td&gt; +&lt;td&gt;CLEARING_ADMIN&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;rest.admin.access.usergroup&lt;/td&gt; +&lt;td&gt;the user group level (`USER&lt;/td&gt; +&lt;td&gt;CLEARING_ADMIN&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;The values in &lt;code&gt;sw360.properties&lt;/code&gt; should be migrated to the &lt;code&gt;application.yml&lt;/code&gt; in the future.&lt;/p&gt; +&lt;p&gt;Further important properties in &lt;code&gt;application.yml&lt;/code&gt; file are:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:url&lt;/td&gt; +&lt;td&gt;the url of the CouchDB to use as client store&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:database&lt;/td&gt; +&lt;td&gt;the database name of the CouchDB database to use as client store&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:username&lt;/td&gt; +&lt;td&gt;if the CouchDB database needs authentication, enter the username here - if it does not need authentication, do not set this property at all, not even with an empty value&lt;/td&gt; +&lt;td&gt;null&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:password&lt;/td&gt; +&lt;td&gt;if the CouchDB database needs authentication, enter the password here - if it does not need authentication, do not set this property at all, not even with an empty value&lt;/td&gt; +&lt;td&gt;null&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:cors:allowed-origin&lt;/td&gt; +&lt;td&gt;value for cross origin resource sharing&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:oauth2:resource:id&lt;/td&gt; +&lt;td&gt;should just be the same then in the resource server&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;After this configuration is done the normal REST service for client management should be usable. This one is only accessible for authenticated users that get the &lt;code&gt;ADMIN&lt;/code&gt; authority (remember, the therefore necessary sw360 usergroup has just been configured). So the clients can be configured now.&lt;/p&gt; +&lt;h1 id=&#34;client-management&#34;&gt;Client Management&lt;/h1&gt; +&lt;p&gt;In the scenarios of this page, the shipped authorization server is used. So the next step is to configure a valid OAuth2 client in this authorization server. There should be one OAuth2 client per external REST API client (which in turn can have many different users). Therefore the authorization server offers a REST API for basic CRUD operations for configuring the clients that are stored in the just configured CouchDB. Since sw360-&lt;code&gt;ADMIN&lt;/code&gt; privileges are needed for client management, an authentication is needed to work with this API.&lt;/p&gt; +&lt;p&gt;For SSO users (basic-auth Liferay users can use other tools as well because other tools can handle basic auth - but they can also use this workflow):&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Open a browser with developer tools capabilities&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Open&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/authorization/client-management +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This page always shows the currently configured clients and can be refreshed after every manipulation of a client.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;To add a new client, enter the following javascript in the dev tools console in the current browser tab - of course after manipulating the client data to suit your needs&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest = new XMLHttpRequest(); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.open(&amp;#39;POST&amp;#39;, &amp;#39;/authorization/client-management&amp;#39;, false); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Content-Type&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Accept&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.send(JSON.stringify( +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;description&amp;#34; : &amp;#34;my first test client&amp;#34;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;authorities&amp;#34; : [ &amp;#34;BASIC&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;scope&amp;#34; : [ &amp;#34;READ&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;access_token_validity&amp;#34; : 3600, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;refresh_token_validity&amp;#34; : 3600 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;console.log(xmlHttpRequest.responseText); +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;to manipulate an existing client, do the same but add the clientid to the data object&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;client_id&amp;#34; : &amp;#34;9e358ca832ce4ce99a770c7bd0f8e066&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;to remove an existing client, enter the following javascript in the dev tools console&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest = new XMLHttpRequest(); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.open(&amp;#39;DELETE&amp;#39;, &amp;#39;/authorization/client-management/9e358ca832ce4ce99a770c7bd0f8e066&amp;#39;, false); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Content-Type&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Accept&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.send(); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;console.log(xmlHttpRequest.responseText); +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;This way the session cookie of the SSO login will be used for the REST calls. This might also be possible in postman or curl or similar tools if you want to try to copy cookies (depending also on the SSO configuration). As said before, if Liferay username/password credentials can be used to authenticate then a tool like postman or curl can be used for the whole process. Just pass the credentials as basic-auth.&lt;/p&gt; +&lt;h3 id=&#34;client-management-via-curl&#34;&gt;Client Management via Curl&lt;/h3&gt; +&lt;p&gt;The above described call to create a rest client can also be done directly via one curl call:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_USER&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=[&lt;/span&gt;admin sw360 user&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_PW&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=[&lt;/span&gt;corresponding sw360 admin user password&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -s -S &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; --user &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_USER&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_PW&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; --header &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; --header &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Accept: application/json&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; -X POST https://&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;hostname&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;:&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;port&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;/authorization/client-management &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; -d @- &lt;span style=&#34;color:#c30&#34;&gt;&amp;lt;&amp;lt;EOF +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;description&amp;#34; : &amp;#34;my first test client&amp;#34;, +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;authorities&amp;#34; : [ &amp;#34;BASIC&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;scope&amp;#34; : [ &amp;#34;READ&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;access_token_validity&amp;#34; : 3600, +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;refresh_token_validity&amp;#34; : 3600 +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;EOF&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This only works with the liferay basic-auth mechanism, SSO is not supported via curl.&lt;/p&gt; +&lt;h2 id=&#34;oauth2-access-token&#34;&gt;OAuth2 Access Token&lt;/h2&gt; +&lt;p&gt;Now with a configured client it is possible to retrieve an access token for the REST API from the authorization server. There is again a difference in SSO environments and Liferay username/password environments.&lt;/p&gt; +&lt;h3 id=&#34;sso-backed-access-token&#34;&gt;SSO Backed Access Token&lt;/h3&gt; +&lt;p&gt;Probably the browser has to be used again because many SSO environments are based on certificates that are read from keycards and the necessary libs are often built into the browser. So just call the URL&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/authorization/oauth/token?grant_type=password&amp;amp;client_id=[clientid]&amp;amp;client_secret=[clientsecret] +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of course the client id and the client secret should be replaced by the values of the configured client. The received response should look similar to&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;access_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiZDY4ZWY1YWEtZTQ5My00Y2YxLWI2NGQtNWE5MTdkY2M2ZTYwIiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iO5sLrqRcZfzvMP5gjaJhk3caWyZLkUesdbMfqCGy4V5rbnU9QP1LjdybY0Udh8hvAvhlpqPfaxeKe1c3-gQs5MYlqG0lNQCyWcb7NRHj8VFlwLPuJRZJNk3tybvgITVm9r14pfAXogpVE0S4KihD2W1_SoKH4NzTa2vOEG0CK4VzCLetxUlUuePxZH8ugouqbS2d0SpyeeMTm-PzxzzeTb_4ulGpg63eE1v7GvTsI23uh2WfIgHBa1GRr5jWtE0Meq-5UFCVQkhMm8P-r8wO2iuRblCu6a-bWwy7bfdj3S2VDnqSQskE2dVrC_qMs-V2AGvCV1xvlF0P8A4tgwL-w&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;token_type&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;bearer&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;refresh_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJhdGkiOiJkNjhlZjVhYS1lNDkzLTRjZjEtYjY0ZC01YTkxN2RjYzZlNjAiLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiM2VkZDcxODAtMTBlYi00Y2MwLTg0NTUtMGYwZmIyMWMwYmU0IiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iMGfdHWpJNseoxIk7tKCNTyC1w4_AJ4cSv6kO64_BkF54MLudvyf9uVSIHpAeHhSFdvhbjksynRqq_u78vW8ptY1la65Qx8glHz0sktWBfMDJsUA4ynU2iZbKU92f2OOf3wQRVt38-Y1mBUsDMIStyKTDeIXGT3LJr_8k5dRAGvayixaezxDFw3dWK2M6P9h-ZnfEP47HpIUZrG8cgwPmNCZ9gBXsqVnueDYZth6TaEKIvWbkZtwY0ikWKyJL2xLm78O1ii3lA5ENt5I0DTfTm8QuK_zcm679W9jF0jvwIR71fM0JSWjkBoXd2h9oLmE2CF2sFVaJor_ermk-L0LsA&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;expires_in&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#f60&#34;&gt;3599&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;scope&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;READ&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;jti&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;d68ef5aa-e493-4cf1-b64d-5a917dcc6e60&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;From this response the value of the &lt;code&gt;access_token&lt;/code&gt; and probably &lt;code&gt;refresh_token&lt;/code&gt; field is the one to copy-paste for later usage.&lt;/p&gt; +&lt;h3 id=&#34;liferay-backed-access-token&#34;&gt;Liferay Backed Access Token&lt;/h3&gt; +&lt;p&gt;With a Liferay backed authentication all REST clients that offer basic auth support can be used. For example &lt;code&gt;curl&lt;/code&gt;:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -X POST --user &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;[clientid]:[clientsecret]&amp;#39;&lt;/span&gt; -d &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;grant_type=password&amp;amp;username=[username]&amp;amp;password=[password]&amp;#39;&lt;/span&gt; https://&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;hostname&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;:&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;port&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;/authorization/oauth/token -k +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example response:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;access_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiZDY4ZWY1YWEtZTQ5My00Y2YxLWI2NGQtNWE5MTdkY2M2ZTYwIiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iO5sLrqRcZfzvMP5gjaJhk3caWyZLkUesdbMfqCGy4V5rbnU9QP1LjdybY0Udh8hvAvhlpqPfaxeKe1c3-gQs5MYlqG0lNQCyWcb7NRHj8VFlwLPuJRZJNk3tybvgITVm9r14pfAXogpVE0S4KihD2W1_SoKH4NzTa2vOEG0CK4VzCLetxUlUuePxZH8ugouqbS2d0SpyeeMTm-PzxzzeTb_4ulGpg63eE1v7GvTsI23uh2WfIgHBa1GRr5jWtE0Meq-5UFCVQkhMm8P-r8wO2iuRblCu6a-bWwy7bfdj3S2VDnqSQskE2dVrC_qMs-V2AGvCV1xvlF0P8A4tgwL-w&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;token_type&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;bearer&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;refresh_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJhdGkiOiJkNjhlZjVhYS1lNDkzLTRjZjEtYjY0ZC01YTkxN2RjYzZlNjAiLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiM2VkZDcxODAtMTBlYi00Y2MwLTg0NTUtMGYwZmIyMWMwYmU0IiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iMGfdHWpJNseoxIk7tKCNTyC1w4_AJ4cSv6kO64_BkF54MLudvyf9uVSIHpAeHhSFdvhbjksynRqq_u78vW8ptY1la65Qx8glHz0sktWBfMDJsUA4ynU2iZbKU92f2OOf3wQRVt38-Y1mBUsDMIStyKTDeIXGT3LJr_8k5dRAGvayixaezxDFw3dWK2M6P9h-ZnfEP47HpIUZrG8cgwPmNCZ9gBXsqVnueDYZth6TaEKIvWbkZtwY0ikWKyJL2xLm78O1ii3lA5ENt5I0DTfTm8QuK_zcm679W9jF0jvwIR71fM0JSWjkBoXd2h9oLmE2CF2sFVaJor_ermk-L0LsA&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;expires_in&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#f60&#34;&gt;3599&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;scope&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;READ&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;jti&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;d68ef5aa-e493-4cf1-b64d-5a917dcc6e60&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of course, the username and password must be your user credentials and the client id and secret have to be replaced with the configured values. And again, the wanted value is the value of the field &lt;code&gt;access_token&lt;/code&gt; and probably &lt;code&gt;refresh_token&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;More Links:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;OAuth2 more information: &lt;a href=&#34;https://oauth.net/2/&#34;&gt;https://oauth.net/2/&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;Decode Bearer tokens at: &lt;a href=&#34;https://jwt.io/&#34;&gt;https://jwt.io/&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;oauth2-refresh-token&#34;&gt;OAuth2 Refresh Token&lt;/h2&gt; +&lt;p&gt;The authorization server supports so called refresh tokens to generate new access tokens after they have been expired. New access tokens can be generated with the use of the &lt;code&gt;refresh_token&lt;/code&gt; without further re-authorization of the user. The following url must be used:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; http://localhost/authorization/oauth/token?grant_type=refresh_token&amp;amp;refresh_token=&amp;lt;REFRESH_TOKEN&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The client must pass its credentials via basic authentication. Though a user authentication is not necessary. +If you are authentication your users on a proxy, you have to configure that proxy in a way that it does not block requests to the above url. As marker the &amp;lsquo;grant_type=refresh_token&amp;rsquo; query parameter may be used.&lt;/p&gt; +&lt;h2 id=&#34;example-apache-configuration&#34;&gt;Example Apache configuration&lt;/h2&gt; +&lt;p&gt;The following example shows the relevant part for an Apache proxy to configure +authentication of the &lt;code&gt;authorization-server&lt;/code&gt; properly:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;Location&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;/authorization/oauth/token&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;Order&lt;/span&gt; allow,deny +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;Allow&lt;/span&gt; from &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;all&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;If&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;%{QUERY_STRING} =~ /^grant_type=refresh_token\&amp;amp;/&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# No authentication needed&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/If&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;Else&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Configure your authentication here&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/Else&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;ProxyPass&lt;/span&gt; https://localhost:8443/authorization/oauth/token +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;ProxyPassReverse&lt;/span&gt; https://localhost:8443/authorization/oauth/token +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;resource-server-configuration&#34;&gt;Resource Server Configuration&lt;/h1&gt; +&lt;p&gt;Now that access tokens can be generated, the resource server has to be configured. The same general ideas of &lt;a href=&#34;#general-config&#34;&gt;general config&lt;/a&gt; apply. The properties of the &lt;code&gt;application.yml&lt;/code&gt; are&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;sw360:thrift-server-url&lt;/td&gt; +&lt;td&gt;the url where the thrift services can be found, e.g. http://localhost:8080&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:test-user-id&lt;/td&gt; +&lt;td&gt;only for developing, simple test user short cut, must be pulled off for productive&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:test-user-passwors&lt;/td&gt; +&lt;td&gt;see above&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:couchdb-url&lt;/td&gt; +&lt;td&gt;the url of the CouhDB server for attachment handling, e.g. https://localhost:5984&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:cors:allowed-origin&lt;/td&gt; +&lt;td&gt;value for cross origin resource sharing&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;The REST API is now completely usable via an own client or testwise with integrated tools.&lt;/p&gt; +&lt;h1 id=&#34;tools&#34;&gt;Tools&lt;/h1&gt; +&lt;p&gt;To get data and interact with the sw360 REST API the HAL-Browser is recommended. Currently, the HAL-Browser is also deployed on the sw360 development instance, but this is likely to change once the REST API has evolved more. Currently the URL of HAL-Browser is:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/resource/api/browser/index.html#/resource/api +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An example for a screenshot is as follows:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/29916928/39576770-90b2b576-4edf-11e8-9d1b-742c10d88b8e.png&#34; alt=&#34;rest-hal-explorer&#34;&gt;&lt;/p&gt; +&lt;p&gt;When using other tools the access token has to be set as header parameter in the REST request. Please add a new header:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Key: Authorization&lt;/li&gt; +&lt;li&gt;As value you need to enter: &lt;code&gt;Bearer [ACCESS_TOKEN]&lt;/code&gt; where &lt;code&gt;[ACCESS_TOKEN]&lt;/code&gt; actually contains the token&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;example--get-a-list-of-projects&#34;&gt;Example – Get a list of projects&lt;/h2&gt; +&lt;p&gt;Here is an example how to query for all projects as HTTP GET Request. As for the resource endpoint, the request:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://sw360.org/resource/api/projects (or /resource/api/projects) +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;will return the following response:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/29916928/39579586-6b1d1736-4ee7-11e8-8faf-da71c8776680.png&#34; alt=&#34;rest-explorer2&#34;&gt;&lt;/p&gt; +&lt;h1 id=&#34;api-documentation&#34;&gt;API Documentation&lt;/h1&gt; +&lt;p&gt;sw360 deploys a REST API documentation at every instance. There are the following URLs offered at each instance&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;URL&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;https://[hostname]:[port]/resource/docs/index.html&lt;/td&gt; +&lt;td&gt;Small overview page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;https://[hostname]:[port]/resource/docs/api-guide.html&lt;/td&gt; +&lt;td&gt;The API description for the currently running server&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;https://[hostname]:[port]/resource/api/browser/index.html#/resource/api&lt;/td&gt; +&lt;td&gt;Integrated HAL browser to directly use the API&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h1 id=&#34;known-problems&#34;&gt;Known Problems&lt;/h1&gt; +&lt;p&gt;If you use Nginx or Apache as request front end server there maybe some configuration caveats: The REST API objects provides self links to reference to other objects also including the protocol prefix. These links are realized on Hypertext Application Language (HAL) for example you will find in REST responses:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;:&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;self&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://localhost:8443/resource/api/projects/065f3aa45c2683297fd1bb39296f519d&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The REST spring boot applications are using the Tomcat environment configuration to generate the HAL links. If the Tomcat is only configured as HTTP, the generated links will contain the &lt;code&gt;http&lt;/code&gt; protocol and port - which is a problem if the server should be contacted over &lt;code&gt;https&lt;/code&gt;only. This problem occurs, if tomcat is used together with Nginx, Apache httpd or other Web servers, which are configured to repsond only to &lt;code&gt;https&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;Solution is to set for example in Nginx HTTP &amp;lsquo;X-Forward-*&amp;rsquo; headers on a reverse proxy, for example:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;/&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;...&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;X-Forwarded-Port&lt;/span&gt; &lt;span style=&#34;color:#f60&#34;&gt;443&lt;/span&gt;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;X-Forwarded-Proto&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;https&lt;/span&gt;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For other Web severs, there might a similar solution.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Roles and Authorization</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/</guid> + <description> + + + &lt;p&gt;Like any other system, SW360 allows for setting different levels of access for different users. Technically, the decision when user should be able to see or to do something happens (generally) on the backend server. This ensures consistency between the REST API and the portal application.&lt;/p&gt; +&lt;p&gt;For setting roles of a user, the Liferay control panel is being used (Admin menu -&amp;gt; Control Panel -&amp;gt; Users and Organisations -&amp;gt; Users -&amp;gt; select one user and Edit -&amp;gt; Roles). Setting access at individual records happens in the edit view of that record.&lt;/p&gt; +&lt;h2 id=&#34;roles-overview&#34;&gt;Roles Overview&lt;/h2&gt; +&lt;p&gt;SW360 offers two choices for doing the roles: one is setting access rights at every record individually. Another are general roles that can be set for every user. An admin of SW360 can set user roles at the Liferay Users and Roles UI.&lt;/p&gt; +&lt;h4 id=&#34;setup-admin-liferay-role&#34;&gt;Setup Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The setup admin is the Liferay administrator, which can configure the entire liferay app, such as which portlets are shown on which page.&lt;/p&gt; +&lt;h4 id=&#34;sw360-admin-liferay-role&#34;&gt;SW360 Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The SW360 admin can change all data and promote users for more access rights, such as promoting a user to role &lt;code&gt;CLEARING_ADMIN&lt;/code&gt;. This role can change data from other groups, limited by visibility setting of a project.&lt;/p&gt; +&lt;h4 id=&#34;clearing-admin-liferay-role&#34;&gt;Clearing Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The clearing admin can change all component and release records and project records of the same group. This can be seen as group administrator.&lt;/p&gt; +&lt;h4 id=&#34;security-admin-liferay-role&#34;&gt;Security Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the security admin can set security vulnerabilities to irrelevant&lt;/p&gt; +&lt;h4 id=&#34;ecc-admin-liferay-role&#34;&gt;ECC Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the ECC admin can manipulate ECC data.&lt;/p&gt; +&lt;h4 id=&#34;user&#34;&gt;User&lt;/h4&gt; +&lt;p&gt;A user can create, modify and delete all own (=self created) records. A user cannot change records of others&lt;/p&gt; +&lt;h3 id=&#34;moderation-requests&#34;&gt;Moderation Requests&lt;/h3&gt; +&lt;p&gt;If a user with user or other access role rights is not entitled to write or change a record, a moderation request will be created. The moderation request contains the changes an will be routed for approval to the users who can write this record.&lt;/p&gt; +&lt;p&gt;In addition there are ACL-style roles, meaning that per data item access settings can be made:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;&lt;strong&gt;creator&lt;/strong&gt; - a creator can modify in addition to the user&amp;rsquo;s read abilities, a user can be creator of a data item&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;moderator&lt;/strong&gt; - a creator can define moderators for a data item. Moderators can change a data item as a creator can.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;contributor&lt;/strong&gt; (Component) - is a contributor to a component, project, similar (but not the same) to a moderator. In addition to moderator, this role has been added to identify contributors (or that contributors get the fame). +In contrast, the contributor cannot delete data items.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;project responsible&lt;/strong&gt; (Project) - is a contributor, just named differently to identify the responsible person.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;lead architect&lt;/strong&gt; (Project) - is a contributor, just named differently to identify the responsible person. an architect refers to the person who has that role of the project or product. This role has been added to identify architects to have a contact person for technical questions.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;contact&lt;/strong&gt; (Release) - deprecated, should be renamed to contributor see #100.&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;&lt;code&gt;group (department)&lt;/code&gt;, &lt;code&gt;contributor&lt;/code&gt;, &lt;code&gt;moderator&lt;/code&gt; and &lt;code&gt;owner&lt;/code&gt; roles are entity specific, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;clearing admin&lt;/code&gt; and &lt;code&gt;admin&lt;/code&gt; are roles assigned to a user.&lt;/p&gt; +&lt;h3 id=&#34;additional-project-visibility&#34;&gt;Additional Project Visibility&lt;/h3&gt; +&lt;p&gt;In addition to the roles mentioned above, each project has a separate visibility setting (technically an attribute of the project document). There are four project visibility levels:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Private - no one but the creator can read.&lt;/li&gt; +&lt;li&gt;Me and moderators - involves all moderators and contributors, basically all names that are named among the attributes (lead architect, project responsible, contributors)&lt;/li&gt; +&lt;li&gt;Department / business unit (should be renamed) - refer to the group the users are in.&lt;/li&gt; +&lt;li&gt;Public - all registered users of the liferay / sw360 application (login required).&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;The access rules are implemented in&lt;code&gt;lib-datahandler&lt;/code&gt;. In the package, &lt;code&gt;com.siemens.sw360.datahandler.permissions&lt;/code&gt; this is implemented in &lt;code&gt;ProjectPermissions&lt;/code&gt;. See methods &lt;code&gt;isVisible&lt;/code&gt; and &lt;code&gt;userIsEquivalentToModeratorinProject()&lt;/code&gt; for the actual rules.&lt;/p&gt; +&lt;h3 id=&#34;overall-access-matrix&#34;&gt;Overall Access Matrix&lt;/h3&gt; +&lt;p&gt;The following table presents the SW360 Role-Authorisation-Model.&lt;/p&gt; +&lt;p&gt;The row specifies which action to take, the column the role of the actor. Cell entries specify which entity type can be acted upon.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;(sw360)admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;create&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;PCRV&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;read&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;(P²)CRVL&lt;/td&gt; +&lt;td&gt;(P²)CRVL&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;edit&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;(all created ones)&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;delete&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;(all created ones)&lt;/td&gt; +&lt;td&gt;L&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;P² : only if the user is member of the group of the project (or has created the project)&lt;/p&gt; +&lt;p&gt;Note that ECC Admins and Security Admins have only the ability to write ECC and security data respectively at given records. However, as for the other access rights this role does not enhance anything above users.&lt;/p&gt; +&lt;h4 id=&#34;legend&#34;&gt;Legend&lt;/h4&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;acronym&lt;/th&gt; +&lt;th&gt;description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;C&lt;/td&gt; +&lt;td&gt;component&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;release&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;V&lt;/td&gt; +&lt;td&gt;vendor&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;L&lt;/td&gt; +&lt;td&gt;license&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;technical-info&#34;&gt;Technical Info&lt;/h2&gt; +&lt;p&gt;The role access rules are put into &lt;code&gt;lib-datahandler&lt;/code&gt;. In the package, &lt;code&gt;com.siemens.sw360.datahandler.permissions&lt;/code&gt; there are implementing classes of a template class &lt;code&gt;DocumentPermissions&lt;/code&gt;. As an example, &lt;code&gt;ProjectPermissions&lt;/code&gt; extends abstract class &lt;code&gt;DocumentPermissions&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;At run time, a permissions object consisting of a document and a user is created: In &lt;code&gt;PermissionUtils&lt;/code&gt; (same package) there is a static method &lt;code&gt;makePermissions&amp;lt;T&amp;gt;()&lt;/code&gt; that creates a permissions object. The received permissions object instance can be asked if a particular operation is allowed.&lt;/p&gt; +&lt;p&gt;Note that the general application of these permission operations runs in the backend (Thrift services). An application in the front end of &lt;code&gt;PermissionUtils&lt;/code&gt; for example, is for displaying buttons depending on the user main role (user, clearing admin or admin). Then the portlet makes plain use of the &lt;code&gt;lib-datahandler&lt;/code&gt; library.&lt;/p&gt; +&lt;h2 id=&#34;further-plans&#34;&gt;Further plans&lt;/h2&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Actually, creating stuff should be checked in lib-datahandler, starting with creation of licenses,which should ot be permitted to users: &lt;a href=&#34;https://github.com/siemens/sw360portal/issues/106&#34;&gt;Issue #106&lt;/a&gt;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/siemens/sw360portal/issues/101&#34;&gt;Issue #101&lt;/a&gt; for&lt;/p&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;download OSS sources&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;download internal sources&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;ol start=&#34;3&#34;&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/siemens/sw360portal/issues/102&#34;&gt;Issue #102&lt;/a&gt; for&lt;/li&gt; +&lt;/ol&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;send to clearing&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;PCRL&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;ol start=&#34;4&#34;&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/siemens/sw360portal/issues/103&#34;&gt;Issue #103&lt;/a&gt; for&lt;/li&gt; +&lt;/ol&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;edit clearing report&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R?&lt;/td&gt; +&lt;td&gt;PCRL&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Semantic Commits</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/</guid> + <description> + + + &lt;h2 id=&#34;the-reason-and-benefit-of-semantic-commit-messages&#34;&gt;The reason and benefit of semantic commit messages&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;automatic generating of the changelog&lt;/li&gt; +&lt;li&gt;simple navigation through git history (e.g. ignoring style changes)&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;semantic-commit-message-structure&#34;&gt;Semantic commit message structure&lt;/h2&gt; +&lt;p&gt;&lt;code&gt;&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;commit message&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;the-following-types-are-supported&#34;&gt;The following &lt;types&gt; are supported&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;feat (new feature for the user, not a new feature for build script)&lt;/li&gt; +&lt;li&gt;fix (bug fix for the user, not a fix to a build script)&lt;/li&gt; +&lt;li&gt;docs (changes to the documentation)&lt;/li&gt; +&lt;li&gt;style (formatting, missing semi colons, etc; no production code change)&lt;/li&gt; +&lt;li&gt;refactor (refactoring production code, eg. renaming a variable)&lt;/li&gt; +&lt;li&gt;test (adding missing tests, refactoring tests; no production code change)&lt;/li&gt; +&lt;li&gt;chore (updating grunt tasks etc; no production code change)&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Example &lt;scope&gt; values:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;ui (user interface)&lt;/li&gt; +&lt;li&gt;rest (REST API)&lt;/li&gt; +&lt;li&gt;thrift (apache thrift services)&lt;/li&gt; +&lt;li&gt;project (project portlet)&lt;/li&gt; +&lt;li&gt;component (component portlet)&lt;/li&gt; +&lt;li&gt;user (user portlet)&lt;/li&gt; +&lt;li&gt;etc.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;example-of-semantic-commit-message&#34;&gt;Example of semantic commit message&lt;/h2&gt; +&lt;p&gt;&lt;code&gt;fix(rest): change maven plugin order to generate the documentation correctly&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;commit message&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;referencing-issues&#34;&gt;Referencing issues&lt;/h2&gt; +&lt;p&gt;Please reference in the pull request to the open issue&lt;/p&gt; +&lt;p&gt;&lt;code&gt;closes eclipse/sw360#&amp;lt;issue-number&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;closes eclipse/sw360#758&lt;/code&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Testing Frameworks</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/</guid> + <description> + + + &lt;p&gt;The implementation of complicated rules is not always easy to read. +A good way to document and explain the behaviour of rule engines are natural language tests. +A frame work we use for that is &lt;a href=&#34;http://jgiven.org/&#34;&gt;jgiven&lt;/a&gt;. +We write the tests using the [dataprovider] (&lt;a href=&#34;https://github.com/TNG/junit-dataprovider&#34;&gt;https://github.com/TNG/junit-dataprovider&lt;/a&gt;) runner. +This is basically a runner that allows to use parametrized tests.&lt;/p&gt; +&lt;p&gt;The basic testing frame work is still &lt;a href=&#34;http://junit.org/&#34;&gt;JUnit4&lt;/a&gt;, assertions are made using &lt;a href=&#34;https://code.google.com/p/hamcrest/wiki/Tutorial&#34;&gt;hamcrest&lt;/a&gt; and we mock complicated input classes with &lt;a href=&#34;http://mockito.org/&#34;&gt;mockito&lt;/a&gt;.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Troubleshooting</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/</guid> + <description> + + + &lt;h3 id=&#34;development-problems-building-sw360portal-with-maven&#34;&gt;Development: problems building sw360portal with maven?&lt;/h3&gt; +&lt;p&gt;Before building the sw360portal with maven, ensure that the following components are installed in the development environment:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;A git client&lt;/li&gt; +&lt;li&gt;Apache Maven 3.0.X&lt;/li&gt; +&lt;li&gt;Apache Thrift 0.9.3&lt;/li&gt; +&lt;li&gt;Java 1.8.X&lt;/li&gt; +&lt;li&gt;CouchDB, at least 1.5 (only if the tests will be executed locally)&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;development-problems-using-eclipse&#34;&gt;Development: problems using Eclipse?&lt;/h3&gt; +&lt;p&gt;Please do not use Eclipse, because the integration of Apache Thrift is an open issue and we found no plugin for Eclipse to solve the shown compiler errors. +Recommended is IntelliJ IDEA or NetBeans.&lt;/p&gt; +&lt;h3 id=&#34;liferay-problems-with-displaying-changes-to-page&#34;&gt;Liferay: problems with displaying changes to page?&lt;/h3&gt; +&lt;p&gt;When developing changes to a page and these changes do not show in browser - even after redeployment, then the internal liferay optimisation mechanisms may kick in. Try to add to the URL string the following key value parameters:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;js_fast_load=0&amp;amp;css_fast_load=0&amp;amp;strip=0 +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;liferay-where-are-the-initial-admin-user-settings&#34;&gt;Liferay: where are the initial admin user settings?&lt;/h3&gt; +&lt;p&gt;It is the file &lt;code&gt;portal-ext.properties&lt;/code&gt; in sw360/opt.&lt;/p&gt; +&lt;h3 id=&#34;maven-build-generally-fails&#34;&gt;Maven: build generally fails&lt;/h3&gt; +&lt;p&gt;You just try to compile parts or all of it and it fails? Most of the stuff depends on the module /build-configuration. Execute either &amp;ldquo;mvn install&amp;rdquo; on top level or inside build configuration.&lt;/p&gt; +&lt;h4 id=&#34;backend-problems-with-company-proxy&#34;&gt;Backend: problems with company proxy?&lt;/h4&gt; +&lt;p&gt;maybe try instead:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/apache-tomcat-/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;just this:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CATALINA_OPTS=&amp;#34;-Dhttps.proxy...&amp;#34; /opt/apache-tomcat-/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;for lucene it might be necessary to add:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[httpd_global_handlers] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;_fti = {couch_httpd_proxy, handle_proxy_req, &amp;lt;&amp;lt;&amp;#34;http://127.0.0.1:8085/couchdblucene&amp;#34;&amp;gt;&amp;gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;in lucene.ini of local.d of your CouchDB installation&lt;/p&gt; +&lt;h4 id=&#34;backend-are-thrift-services-up&#34;&gt;Backend: are thrift services up?&lt;/h4&gt; +&lt;ol&gt; +&lt;li&gt;Check tomcat manager (if the services are there)&lt;/li&gt; +&lt;li&gt;Check if the service is accessible: +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://your.url.to.server.com:8085/components +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Should return &amp;ldquo;Welcome to &amp;hellip;&amp;rdquo;.&lt;/li&gt; +&lt;li&gt;Check if the service thrift page is there: +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://your.url.to.server.com:8085/components/thrift +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Should return HTTP status code 500, because in the browser, no valid thrift message was formed.&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;backend-orgektorpdbaccessexception&#34;&gt;Backend: org.ektorp.DbAccessException&lt;/h4&gt; +&lt;p&gt;What do I do if I get: org.ektorp.DbAccessException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field &amp;ldquo;_id&amp;rdquo;&lt;/p&gt; +&lt;p&gt;You add the class you have been trying to serialize to +THRIFT_CLASSES in +sw360/src/libraries/lib-datahandler/src/main/java/com/siemens/sw360/datahandler/thrift/ThriftUtils.java&lt;/p&gt; +&lt;h4 id=&#34;backend-maven-failed-tomcat7-deploy&#34;&gt;Backend: maven failed tomcat7 deploy&lt;/h4&gt; +&lt;p&gt;If the deployment via maven of the backend does fail with an error like this&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2302/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2102/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2064/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2064/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Reactor Summary: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend ........................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;2.579s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend-src ....................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;0.058s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-licenses ...................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;10.544s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-users ......................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;1.485s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-vendors ....................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;6.929s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-search ........................................ SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;5.837s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-components .................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;19.439s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-projects ...................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;14.280s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-attachments ................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;6.188s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-moderation .................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;1.169s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-fossology ..................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;6.259s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend-svc ....................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;0.038s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-licenses ...................................... FAILURE &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;3.630s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-users ......................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-vendors ....................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-search ........................................ SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-components .................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-projects ...................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-attachments ................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-moderation .................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-fossology ..................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend-utils ..................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; BUILD FAILURE +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Total time: 1:19.836s +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Finished at: Mon May &lt;span style=&#34;color:#f60&#34;&gt;04&lt;/span&gt; 15:57:46 CEST &lt;span style=&#34;color:#f60&#34;&gt;2015&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Final Memory: 24M/311M +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;default-cli&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; on project svc-licenses: Cannot invoke Tomcat manager: Broken pipe -&amp;gt; &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;Help 1&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; To see the full stack trace of the errors, re-run Maven with the -e switch. +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Re-run Maven using the -X switch to &lt;span style=&#34;color:#366&#34;&gt;enable&lt;/span&gt; full debug logging. +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; For more information about the errors and possible solutions, please &lt;span style=&#34;color:#366&#34;&gt;read&lt;/span&gt; the following articles: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;Help 1&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; After correcting the problems, you can resume the build with the &lt;span style=&#34;color:#366&#34;&gt;command&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; mvn &amp;lt;goals&amp;gt; -rf :svc-licenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;voyager:backend sam$ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One solution is that you deployed already and the tomcat7 plugin does not like to have multiple deploy commands. Instead you will need to issue a &lt;code&gt;mvn tomcat7:redeploy&lt;/code&gt; command.&lt;/p&gt; +&lt;h4 id=&#34;deployment-liferay-not-accessible&#34;&gt;Deployment: liferay not accessible&lt;/h4&gt; +&lt;p&gt;If the virtual machine was shut down and started up again, the backend services and frontend liferay require manual restart. Please contribute a change in the vagrant deployment if you feel that this could be changed. The actual places to call are:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/apache-tomcat-.../bin/.startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/liferay-.../tomcat-.../bin/.startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Using RequireJS fro Javascript Modules</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/</guid> + <description> + + + &lt;p&gt;Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to different libraries and snippets.&lt;/p&gt; +&lt;h1 id=&#34;goal&#34;&gt;Goal&lt;/h1&gt; +&lt;p&gt;We want to use RequireJS (&lt;a href=&#34;http://requirejs.org/&#34;&gt;http://requirejs.org/&lt;/a&gt;) to modularize our code and to have clear namespaces for each component. In addition some of the code may be reused more easily. Other advantages:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;libraries like jquery or datatables can be imported by name but without a specified version&lt;/li&gt; +&lt;li&gt;if necessary, specific versions can be imported for parts of the page&lt;/li&gt; +&lt;li&gt;it is very easy to only load needed dependencies&lt;/li&gt; +&lt;li&gt;good support of webjars due to webjars-locator. Webjars a are automatically accessible through RequireJS.&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;how-to-use---example&#34;&gt;How to use - example&lt;/h1&gt; +&lt;p&gt;There is a new jspf-file to be included in jsps to enable RequireJS support:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;&amp;lt;%@ include file=&amp;quot;/html/utils/includes/requirejs.jspf&amp;quot; %&amp;gt; +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;When RequireJS is enabled with the above include, all libraries can be accessed and code can be scoped:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;require([&#39;jquery&#39;, &#39;module/quickfilter&#39;, &#39;module/confirm&#39;, /* jquery-plugins: */ &#39;datatables&#39;, &#39;jquery-ui&#39;], function($, quickfilter, confirm) { + // code goes here, libraries can be used through the variables $, quickfilter and confirm + // Note: jquery-plugins does not have to be bound to variables since they directly register themselves in the jquery object +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;&lt;strong&gt;NOTE/WARNING&lt;/strong&gt;: since not all code is using RequireJS at the moment it is highly recommended to include RequireJS just before the script tag using it. DO NOT include it at the beginning of the file! Therefore use the following pattern:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;&amp;lt;%@ include file=&amp;quot;/html/utils/includes/requirejs.jspf&amp;quot; %&amp;gt; +&amp;lt;script&amp;gt; + require([&#39;jquery&#39;], function($) { + // js stuff + }); +&amp;lt;/script&amp;gt; +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;: some the the jQuery-plugins are already module safe. This means the look if something like RequireJS is available and - if this is the case - register themselves as anonymous modules. If someone in some include in the page loads such a plugin via script plugin it may happen that the plugins registers itself twice as an anonymous module which causes errors in RequireJS. Loading RequireJS after all script tags will prevent this and ensure that every plugin is only registered once.&lt;/p&gt; +&lt;h1 id=&#34;migration&#34;&gt;Migration&lt;/h1&gt; +&lt;h2 id=&#34;migrate-a-jsp&#34;&gt;Migrate a JSP&lt;/h2&gt; +&lt;p&gt;To migrate a JSP to use RequireJS the following steps have to be done:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Enable RequireJS support by including &lt;code&gt;requirejs.jspf&lt;/code&gt;. Do it JUST before the script tag with the main code (see NOTE above).&lt;/li&gt; +&lt;li&gt;Enclose the existing code in a &lt;code&gt;require&lt;/code&gt;-function (&lt;strong&gt;Attention:&lt;/strong&gt; Also read &amp;ldquo;Co-existence with AUI().use()&amp;rdquo; below)&lt;/li&gt; +&lt;li&gt;Remove existing &lt;code&gt;script&lt;/code&gt;-tags that loads the javascript files &amp;ldquo;manually&amp;rdquo;&lt;/li&gt; +&lt;li&gt;Rewrite code that access functions inside the new &lt;code&gt;require&lt;/code&gt;-function from outside (e.g. click handlers, see below)&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;co-existence-with-auiuse&#34;&gt;Co-existence with AUI().use()&lt;/h2&gt; +&lt;p&gt;If you need to use AUI().use() in your code, e.g. to grab the PortletURL object, you have to call this function first and call &lt;code&gt;require&lt;/code&gt; inside. Otherwise the code may not be executed correclty if the &amp;lsquo;Drag&amp;amp;Drop&amp;rsquo; error occurs to early during page loading:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;AUI().use(&#39;liferay-portlet-url&#39;, function () { + require([&#39;jquery&#39;, &#39;module/quickfilter&#39;) { + // AUI and require modules loaded and available + }); +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;h2 id=&#34;migrate-click-handlers&#34;&gt;Migrate click-handlers&lt;/h2&gt; +&lt;p&gt;Since none of the defined functions remains in the global scope click handlers defined in the attributes of a tag would no longer work. Use jQuery to attach a click handler instead:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;$(&#39;#exportSpreadsheetButton&#39;).on(&#39;click.components&#39;, exportSpreadsheet) +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;This click handler is added inside the RequireJS-scope where the function &lt;code&gt;exportSpreadsheet&lt;/code&gt; is defined. +You may also attach handler for distinct elements in each row of a table:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;$(&#39;#componentsTable&#39;).on(&#39;click.components&#39;, &#39;img.delete&#39;, function(event) { + // do stuff +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;h2 id=&#34;make-a-module-out-of-a-jspf-include&#34;&gt;Make a module out of a jspf-include&lt;/h2&gt; +&lt;p&gt;There are many jspf-includes which contain html as well as javascript code. They should be converted as followed:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Move the javascript code to an own file. Place it below the &amp;lsquo;html/js&amp;rsquo;-folder, following the same structure as the jspf-file. If the jspf-file is &lt;code&gt;html/components/includes/vendors/addVendor.jspf&lt;/code&gt; place the javascript code in the file &lt;code&gt;js/components/includes/vendors/addVendor.js&lt;/code&gt;.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Enclose the code in a define statement to define a new module:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt; define(&#39;components/includes/vendors/addVendor&#39;, [ /* dependencies */ ], function() { + // define module code + }); +&lt;/code&gt;&lt;/pre&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;In order to use the new module include the jspf-file and load the js-code via RequireJS:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;&amp;lt;%@ include &amp;quot;html/components/includes/vendors/addVendor.jspf&amp;quot; %&amp;gt; + +require([&#39;components/includes/vendors/addVendor&#39;], function(addVendor) { + // use addVendor +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;h2 id=&#34;make-a-module-out-of-a-javascript-file-or-function&#34;&gt;Make a module out of a javascript file or function&lt;/h2&gt; +&lt;p&gt;There are several javascript files and functions below `/html/js&amp;rsquo;. They can be make compatible to RequireJS as follows:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Create a new file inside &lt;code&gt;/html/js/component&lt;/code&gt; with a proper name that describes the functionality for the new component&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Define the module and point to the legacy function, e.g.&lt;/p&gt; +&lt;pre&gt;&lt;code&gt; define(&#39;module/confirm&#39;, [&#39;jquery&#39;, /* jquery-plugins: */ &#39;jquery-confirm&#39;, /* legacy code */ &#39;main&#39; ], function($) { + return { + confirmDeletion: deleteConfirmed /* pointer to legacy method in main.js */ + }; + }); +&lt;/code&gt;&lt;/pre&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Afterwards the module can be loaded using the name &lt;code&gt;component/confirm&lt;/code&gt;, e.g.&lt;/p&gt; +&lt;pre&gt;&lt;code&gt; require([&#39;module/confirm&#39;], function(confirm) { + confirm.confirmDeletion(/*...*/); + }); +&lt;/code&gt;&lt;/pre&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; The legacy function should be moved inside the module as soon as the function is no longer accessed directly but via RequireJS only. +&lt;strong&gt;Note&lt;/strong&gt; You can also require legacy javascript files if you need them as dependency as pointed out in the examples above.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Test Cases</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/</guid> + <description> + + + + </description> + </item> + + </channel> +</rss> diff --git a/docs/developers/testcases/index.html b/docs/developers/testcases/index.html new file mode 100644 index 0000000..9f05d2e --- /dev/null +++ b/docs/developers/testcases/index.html @@ -0,0 +1,660 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/developers/testcases/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Test Cases | Eclipse SW360</title> +<meta name="description" content="SW360 Assorted Test Cases"> +<meta property="og:title" content="Test Cases" /> +<meta property="og:description" content="SW360 Assorted Test Cases" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/testcases/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Test Cases"> +<meta itemprop="description" content="SW360 Assorted Test Cases"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Test Cases"/> +<meta name="twitter:description" content="SW360 Assorted Test Cases"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check" checked/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="td-sidebar-nav-active-item">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/TestCases/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/TestCases/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/TestCases/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Test%20Cases" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/">Test Cases</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Test Cases</h1> + <div class="lead">SW360 Assorted Test Cases</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/testcases/test-cases-components/">Component / Release</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/testcases/test-cases-licenses/">Licenses</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/testcases/test-cases-moderations/">Moderation</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/testcases/test-cases-projects/">Projects</a> + </h5> + <p></p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/testcases/index.xml b/docs/developers/testcases/index.xml new file mode 100644 index 0000000..62073bb --- /dev/null +++ b/docs/developers/testcases/index.xml @@ -0,0 +1,1234 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Test Cases</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/</link> + <description>Recent content in Test Cases on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/developers/testcases/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: Component / Release</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/</guid> + <description> + + + &lt;h2 id=&#34;add-a-component-and-release-with-vendor-present&#34;&gt;Add a component and release with vendor present&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Components&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Components&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Component&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in a component &lt;em&gt;Name&lt;/em&gt; and &lt;em&gt;Categories&lt;/em&gt; and click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;New Release Edit&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in a release &lt;em&gt;Version&lt;/em&gt; and &lt;em&gt;CPE ID&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Vendor&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search&lt;/em&gt; for a Vendor, select it and click &lt;em&gt;Select&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected Vendor is added under &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Attachments&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add Attachment&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Upload Attachment&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Browse&lt;/em&gt; and select the attachment&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File name is displayed in the dialog&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Upload&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The file is uploaded and dialog is closed. Also the attached file is listed in the &lt;em&gt;Attachment&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Change the &lt;em&gt;Attachment type&lt;/em&gt; to real type, e.g. &lt;em&gt;Source file&lt;/em&gt; if it is a source file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Type changed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Components&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new component should be added to the components list (e.g. filter by &lt;em&gt;Keyword Search&lt;/em&gt;)&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;modify-a-component-and-release-with-vendor-present&#34;&gt;Modify a component and release with vendor present&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component (e.g. created in TC01) and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Execute steps 5-16 from TC01&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-and-modify-a-component-and-release-with-all-fields-filled-in&#34;&gt;Add and modify a component and release with all fields filled in&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Components&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Components&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Component&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields under &lt;em&gt;Basic Information&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;New Release Edit&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields under &lt;em&gt;Release Summary&lt;/em&gt; and &lt;em&gt;Release Repository&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Linked Releases&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Linked Releases&lt;/em&gt; page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Click to add Releases&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Release&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search by name&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; a release to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected release is displayed under &lt;em&gt;Linked Releases&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Clearing Details&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Clearing Details&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link and upload a file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File attached successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields of the release under &lt;em&gt;Summary&lt;/em&gt;, &lt;em&gt;Linked Releases&lt;/em&gt;, &lt;em&gt;Clearing Details&lt;/em&gt; and &lt;em&gt;Attachments&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are filled in correctly&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Edit&lt;/em&gt; button, modify some fields and &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are updated successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;delete-a-component-that-is-first-linked-to-a-project-and-then-not-and-a-project&#34;&gt;Delete a component that is first linked to a project and then not, and a project&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new component&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Component is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Add a new release to this component&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Release is added successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Add the linked release created above to this project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Release linked successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to components, try to delete the newly created component (that is linked to a project)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;I could not delete the component!&lt;/em&gt; is displayed.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Component is not deleted&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to Projects, delete the newly created project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to components, delete the newly created components (not linked anymore to a project)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you want to delete component?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Component is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-new-attachments-to-an-existing-release-and-delete-attachments&#34;&gt;Add new attachments to an existing release and delete attachments&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component (e.g. created in TC01) and click &lt;em&gt;Release Overview&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The list of releases are displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on release version that needs a new attachment&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release Summary: name&lt;/em&gt; page is displayed for the selected release&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document.&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Attachments&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add Attachment&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Upload Attachment&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Browse&lt;/em&gt; and select several attachments&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File names are displayed in the dialog&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; near some files not to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File names are removed from the list&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Upload&lt;/em&gt; button for the remaining files&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The files are uploaded and dialog is closed. Also the attached file are listed in the &lt;em&gt;Attachment&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Change some &lt;em&gt;Attachment type&lt;/em&gt; to real type, e.g. &lt;em&gt;Source file&lt;/em&gt; if it is a source file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Type changed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document.&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Attachments&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Delete&lt;/em&gt; icon to delete an attachment&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you really want to delete this attachment?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Attachment is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;duplicate-an-existing-release&#34;&gt;Duplicate an existing release&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component with release with all fields filled in (e.g. created in TC03) and click &lt;em&gt;Release Overview&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The list of releases are displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Duplicate&lt;/em&gt; button under Action column&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;Release name Edit&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields from copied release&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All fields from &lt;em&gt;Release Summary&lt;/em&gt; and &lt;em&gt;Repository&lt;/em&gt; are unchanged&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Change the &lt;em&gt;Version&lt;/em&gt; field to a new one, fill in a &lt;em&gt;CPE ID&lt;/em&gt; and click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document.&lt;/em&gt; message is displayed.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Modify some other fields, e.g. &lt;em&gt;Release Date&lt;/em&gt; and click &lt;em&gt;Clearing Details&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Clearing Details&lt;/em&gt; page is displayed and does not contain any field from copied release&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release Component updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on component name link on top of the page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Summary page for the component is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on _Release Overview&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new copied release is listed among previous releases&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;search-for-and-create-a-new-vendor-for-a-new-release&#34;&gt;Search for and create a new vendor for a new release&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;New Release Edit&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in a release &lt;em&gt;Version&lt;/em&gt; and &lt;em&gt;CPE ID&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Vendor&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add New Vendor&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Create New Vendor&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in &lt;em&gt;Full name&lt;/em&gt;, &lt;em&gt;Short name&lt;/em&gt; and &lt;em&gt;URL&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Vendor&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog closes and the new vendor is displayed in release &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on component name link on top of the page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Summary page for the component is displayed. The new vendor for the new release, as well as existing vendors from previous releases are listed under &lt;em&gt;Vendors&lt;/em&gt; field for the component&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Licenses</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/</guid> + <description> + + + &lt;h2 id=&#34;create-edit-and-delete-license&#34;&gt;Create, edit and delete license&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known &lt;em&gt;clearing admin&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Licenses&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Licenses&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add License&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New License&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in &lt;em&gt;Fullname&lt;/em&gt; and &lt;em&gt;Shortname&lt;/em&gt; fields and press &lt;em&gt;Add License&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License added successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Write the license or part of newly created license name in &lt;em&gt;Keyword Search&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;License is filtered successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on license name and then on &lt;em&gt;Edit License Details and Text&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;License page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Modify some fields and click &lt;em&gt;Update License&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields on &lt;em&gt;Details&lt;/em&gt; and &lt;em&gt;Text&lt;/em&gt; pages&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are filled in correctly&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit License Details and Text&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;License page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click o &lt;em&gt;Delete&lt;/em&gt; license name&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License removed successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;edit-license-todos-and-obligations&#34;&gt;Edit license TODOs and Obligations&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known &lt;em&gt;clearing admin&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on previously created license name&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License Details&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add a Todo&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Todo page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Enter a Todo text (e.g. &amp;ldquo;First todo text&amp;rdquo;), click &lt;em&gt;Applies to development&lt;/em&gt;, and click &lt;em&gt;Submit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;TODOs and Obligations&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The previously entered Todo is listed on the page with &lt;em&gt;No obligations&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add a Todo&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Todo page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Enter a Todo text (e.g. &amp;ldquo;Second todo text&amp;rdquo;), click on some Obligations and click Submit&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click TODOs and Obligations&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The previously entered Todo is listed on the page together with chosen obligations&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit WhiteList&lt;/em&gt;, deselect first Todo and click &lt;em&gt;Submit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The deselected Todo is not displayed anymore on &lt;em&gt;TODOs and Obligations&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;check-export-licenses&#34;&gt;Check Export Licenses&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Licenses&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Licenses&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Export Licenses&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;A dialog for opening &lt;em&gt;Licenses.xlsx&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open the xlsx file and compare the number of rows with total number of entries from &lt;em&gt;Licenses&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All licenses names are exported successfully.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Moderation</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/</guid> + <description> + + + &lt;h2 id=&#34;accept-moderation-request-for-visible-projects-by-other-users&#34;&gt;Accept moderation request, for visible projects by other users&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open first browser instance ((e.g. &amp;ldquo;firefox.exe -p &amp;ldquo;profile1&amp;rdquo; -no-remote&amp;rdquo;) and sign in with a known &lt;em&gt;First&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open a second browser instance ((e.g. &amp;ldquo;firefox.exe -p &amp;ldquo;profile2&amp;rdquo; -no-remote&amp;rdquo;) and sign in with a known &lt;em&gt;Second&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;First&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new project visible for &lt;em&gt;Second&lt;/em&gt; user (e.g. &lt;em&gt;Me and Moderators&lt;/em&gt;, &lt;em&gt;Group and Moderators&lt;/em&gt;, &lt;em&gt;Everyone&lt;/em&gt;)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for the above created project and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You will create a moderation request if you update.&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Edit Description field or other fields and click &lt;em&gt;Update Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Moderation request was sent to update the Project name!&lt;/em&gt; message is displayed.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;First&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;My Task Assignments&lt;/em&gt; on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The above project that needs moderation is displayed with status &lt;em&gt;PENDING&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Moderation&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The moderation request of &lt;em&gt;Second&lt;/em&gt; user is displayed with state &lt;em&gt;Pending&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on moderation request&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Moderation Change Project&lt;/em&gt; page is displayed, with proposed changes from step 7 listed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Accept Request&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You have accepted the previous moderation request.&lt;/em&gt; message is displayed, and State changes to &lt;em&gt;Approved&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;My Task Assignments&lt;/em&gt; on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;APPROVED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check _My Task Submissions on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;APPROVED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open the &lt;em&gt;Projects&lt;/em&gt; tab and click on previously modified project on step 7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project &lt;em&gt;Summary&lt;/em&gt; page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;17&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check the moderation requested changes&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Changes are visible in the corresponding fields&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;decline-moderation-request-for-visible-projects-by-other-users&#34;&gt;Decline moderation request, for visible projects by other users&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1-11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC01&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Decline Request&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You have declined the previous moderation request&lt;/em&gt; message is displayed, and State changes to &lt;em&gt;Rejected&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;My Task Assignments&lt;/em&gt; on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;REJECTED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check _My Task Submissions on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;REJECTED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open the &lt;em&gt;Projects&lt;/em&gt; tab and click on previously modified project on step 7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project &lt;em&gt;Summary&lt;/em&gt; page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;17&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check the moderation requested changes&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Changes are not visible in the corresponding fields&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;remove-me-from-moderators-for-moderation-request-for-visible-projects-by-other-users&#34;&gt;Remove Me from Moderators for moderation request, for visible projects by other users&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1-11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC01&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Remove Me from Moderators&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are the last moderator for this request - you are not allowed to unsubscribe.&lt;/em&gt; message is displayed (assuming only &lt;em&gt;First&lt;/em&gt; user was listed under &lt;em&gt;Moderators&lt;/em&gt; column in step 10)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Decline Request&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You have declined the previous moderation request&lt;/em&gt; message is displayed, and State changes to &lt;em&gt;Rejected&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Edit the project and add a new moderator (e.g. &lt;em&gt;Third&lt;/em&gt; user) under &lt;em&gt;Moderators&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project updated successfully.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Edit the project and create a new moderation request&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Moderation request was sent&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;17&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;First&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;18&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Moderation&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The moderation request of &lt;em&gt;Second&lt;/em&gt; user is displayed with state &lt;em&gt;Pending&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;19&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on moderation request&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Moderation Change Project&lt;/em&gt; page is displayed, with proposed changes from step 7 listed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;20&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Remove Me from Moderators&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are removed from the list of moderators for the previous moderation request. You have no open Requests.&lt;/em&gt; message is displayed. Also the document is deleted from moderation list.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;21&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Login with the &lt;em&gt;Third&lt;/em&gt; user and check the &lt;em&gt;Moderation&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The moderation request of &lt;em&gt;Second&lt;/em&gt; user is displayed with state &lt;em&gt;Pending&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Projects</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/</guid> + <description> + + + &lt;h2 id=&#34;add-a-simple-project-with-no-relations-and-no-releases&#34;&gt;Add a simple project with no relations and no releases&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Projects&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Project&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill mandatory &lt;em&gt;Name&lt;/em&gt; with a project name, change other fields if needed&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new project should be added to the projects list&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-a-full-project-with-relations-releases-and-send-to-clearing-process&#34;&gt;Add a full project with relations, releases and send to clearing process&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Projects&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Project&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill mandatory &lt;em&gt;Name&lt;/em&gt; with a project name, change other fields if needed&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Click to add linked Projects&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Project&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; the project to be linked (e.g. created in TC01)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected project is displayed under &lt;em&gt;Linked Projects&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Click to add Releases&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Release&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search by name&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; a release to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected release is displayed under &lt;em&gt;Linked Releases&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new project should be added to the projects list&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;Clearing Status&lt;/em&gt; by hovering mouse over the numbers.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The message should be &lt;em&gt;new release, under clearing&amp;hellip;&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Send open release to clearing by clicking the button &lt;em&gt;Send to fossology&lt;/em&gt;, under &lt;em&gt;Actions&lt;/em&gt; column&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Fossology Clearing&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Select the release to be sent for clearing and click &lt;em&gt;Send&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Sent&lt;/em&gt; message is displayed near the &lt;em&gt;Send to fossology&lt;/em&gt; button&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on project name and check &lt;em&gt;Summary&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Clearing details&lt;/em&gt; should have 1 for &lt;em&gt;Under clearing&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Clearing Status&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The &amp;ldquo;Release Clearing State_ should be &lt;em&gt;Sent to Fossology&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-a-project-with-releases-no-relations-remove-a-release-and-send-to-clearing-process&#34;&gt;Add a project with releases, no relations, remove a release, and send to clearing process&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1-5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC02&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5a&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Delete&lt;/em&gt; icon to delete the linked project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Do you really want to remove the link to this project?&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5b&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The project is removed from the list of &lt;em&gt;Linked Projects&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Click to add Releases&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Release&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search by name&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; more than one release to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected releases are displayed under &lt;em&gt;Linked Releases&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7a&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Delete&lt;/em&gt; icon to delete one of the linked release&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Do you really want to remove the link to this release?&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7b&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The release is removed from the list of &lt;em&gt;Linked Releases&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8-15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC02&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;##TC04: Delete a project that is first linked to another project and then not linked&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create another project and add first created one as linked project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Projects are linked successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to first created project in the projects table and try to delete it&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you want to delete project name?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;The project is used by another project!&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is not deleted (e.g. refresh the page by clicking Projects tab)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to second created project in the projects table and delete it&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you want to delete project name?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to first created project in the table (not linked anymore to second project) and delete it&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;modify-an-existing-project-with-relations-releases-and-send-to-clearing-process&#34;&gt;Modify an existing project with relations, releases and send to clearing process&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for a simple project (e.g. created in TC01) and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Execute steps 5-16 from TC02&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-and-modify-a-project-with-all-project-fields-filled-in&#34;&gt;Add and modify a project with all project fields filled in&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Projects&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Project&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields under &lt;em&gt;Basic Information&lt;/em&gt;, &lt;em&gt;User Information&lt;/em&gt; and &lt;em&gt;Admin Information&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields on &lt;em&gt;Summary&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are filled in correctly&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Edit&lt;/em&gt; button, modify some fields and &lt;em&gt;Update Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are updated successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;duplicate-an-existing-project&#34;&gt;Duplicate an existing project&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing project with all fields filled in (e.g. created in TC06) and click &lt;em&gt;Duplicate&lt;/em&gt; button under &lt;em&gt;Actions&lt;/em&gt; column&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project &lt;em&gt;Information&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields from copied project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All fields are unchanged, including &lt;em&gt;Linked Projects&lt;/em&gt; and &lt;em&gt;Linked Releases&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill mandatory &lt;em&gt;Name&lt;/em&gt; with a project name and click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All fields were copied successfully, except the new name of the project&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/developers/testcases/test-cases-components/index.html b/docs/developers/testcases/test-cases-components/index.html new file mode 100644 index 0000000..c5b5958 --- /dev/null +++ b/docs/developers/testcases/test-cases-components/index.html @@ -0,0 +1,1106 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Component / Release | Eclipse SW360</title> +<meta name="description" content="Add a component and release with vendor present + + + +Step +Action +Result + + + + +1 +Sign In with a known user +User successfully signed in and Home page is …"> +<meta property="og:title" content="Component / Release" /> +<meta property="og:description" content="Add a component and release with vendor present Step Action Result 1 Sign In with a known user User successfully signed in and Home page is displayed 2 Click on Components tab Components page is displayed 3 Click Add Component New Component page is displayed with mandatory fields marked with red star 4 Fill in a component Name and Categories and click Add Component The page remain the same and the message You are editing the original document." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Component / Release"> +<meta itemprop="description" content="Add a component and release with vendor present Step Action Result 1 Sign In with a known user User successfully signed in and Home page is displayed 2 Click on Components tab Components page is displayed 3 Click Add Component New Component page is displayed with mandatory fields marked with red star 4 Fill in a component Name and Categories and click Add Component The page remain the same and the message You are editing the original document."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="1251"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Component / Release"/> +<meta name="twitter:description" content="Add a component and release with vendor present Step Action Result 1 Sign In with a known user User successfully signed in and Home page is displayed 2 Click on Components tab Components page is displayed 3 Click Add Component New Component page is displayed with mandatory fields marked with red star 4 Fill in a component Name and Categories and click Add Component The page remain the same and the message You are editing the original document."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check" checked/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check" checked/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="td-sidebar-nav-active-item">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/TestCases/Test-Cases-Components.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/TestCases/Test-Cases-Components.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/TestCases/Test-Cases-Components.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Component%20/%20Release" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#add-a-component-and-release-with-vendor-present">Add a component and release with vendor present</a></li> + <li><a href="#modify-a-component-and-release-with-vendor-present">Modify a component and release with vendor present</a></li> + <li><a href="#add-and-modify-a-component-and-release-with-all-fields-filled-in">Add and modify a component and release with all fields filled in</a></li> + <li><a href="#delete-a-component-that-is-first-linked-to-a-project-and-then-not-and-a-project">Delete a component that is first linked to a project and then not, and a project</a></li> + <li><a href="#add-new-attachments-to-an-existing-release-and-delete-attachments">Add new attachments to an existing release and delete attachments</a></li> + <li><a href="#duplicate-an-existing-release">Duplicate an existing release</a></li> + <li><a href="#search-for-and-create-a-new-vendor-for-a-new-release">Search for and create a new vendor for a new release</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/">Test Cases</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/">Component / Release</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Component / Release</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="add-a-component-and-release-with-vendor-present">Add a component and release with vendor present</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Sign In with a known user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click on <em>Components</em> tab</td> +<td style="text-align:left"><em>Components</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Click <em>Add Component</em></td> +<td style="text-align:left"><em>New Component</em> page is displayed with mandatory fields marked with red star</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Fill in a component <em>Name</em> and <em>Categories</em> and click <em>Add Component</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>Add Release</em></td> +<td style="text-align:left">The page changes to <em>New Release Edit</em> page</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Fill in a release <em>Version</em> and <em>CPE ID</em></td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Add Release</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click <em>Vendor</em> field</td> +<td style="text-align:left"><em>Search Vendor</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left"><em>Search</em> for a Vendor, select it and click <em>Select</em></td> +<td style="text-align:left">Dialog is closed and selected Vendor is added under <em>Vendor</em> field</td> +</tr> +<tr> +<td style="text-align:right">10</td> +<td style="text-align:left">Click on <em>Attachments</em> link</td> +<td style="text-align:left"><em>Attachments</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">11</td> +<td style="text-align:left">Click on <em>Add Attachment</em></td> +<td style="text-align:left"><em>Upload Attachment</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Click <em>Browse</em> and select the attachment</td> +<td style="text-align:left">File name is displayed in the dialog</td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Click <em>Upload</em> button</td> +<td style="text-align:left">The file is uploaded and dialog is closed. Also the attached file is listed in the <em>Attachment</em> page</td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Change the <em>Attachment type</em> to real type, e.g. <em>Source file</em> if it is a source file</td> +<td style="text-align:left">Type changed successfully</td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Click <em>Update Release</em></td> +<td style="text-align:left"><em>Release updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">16</td> +<td style="text-align:left">Click on <em>Components</em> tab</td> +<td style="text-align:left">The new component should be added to the components list (e.g. filter by <em>Keyword Search</em>)</td> +</tr> +</tbody> +</table> +<h2 id="modify-a-component-and-release-with-vendor-present">Modify a component and release with vendor present</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Search for an existing component (e.g. created in TC01) and click <em>Edit</em></td> +<td style="text-align:left"><em>You are editing the original document</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Execute steps 5-16 from TC01</td> +<td></td> +</tr> +</tbody> +</table> +<h2 id="add-and-modify-a-component-and-release-with-all-fields-filled-in">Add and modify a component and release with all fields filled in</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Click on <em>Components</em> tab</td> +<td style="text-align:left"><em>Components</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click <em>Add Component</em></td> +<td style="text-align:left"><em>New Component</em> page is displayed with mandatory fields marked with red star</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Fill in all editable fields under <em>Basic Information</em></td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click <em>Add Component</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>Add Release</em></td> +<td style="text-align:left">The page changes to <em>New Release Edit</em> page</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Fill in all editable fields under <em>Release Summary</em> and <em>Release Repository</em></td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Add Release</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click on <em>Linked Releases</em> link</td> +<td style="text-align:left"><em>Linked Releases</em> page displayed successfully</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left"><em>Click to add Releases</em></td> +<td style="text-align:left"><em>Search Release</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">10</td> +<td style="text-align:left">Click <em>Search by name</em> and <em>Select</em> a release to be added</td> +<td style="text-align:left">Dialog is closed and selected release is displayed under <em>Linked Releases</em> section</td> +</tr> +<tr> +<td style="text-align:right">11</td> +<td style="text-align:left">Click on <em>Clearing Details</em> link</td> +<td style="text-align:left"><em>Clearing Details</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Fill in all editable fields</td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Click on <em>Attachments</em> link and upload a file</td> +<td style="text-align:left">File attached successfully</td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Click <em>Update Release</em></td> +<td style="text-align:left"><em>Release updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Check all fields of the release under <em>Summary</em>, <em>Linked Releases</em>, <em>Clearing Details</em> and <em>Attachments</em></td> +<td style="text-align:left">Values are filled in correctly</td> +</tr> +<tr> +<td style="text-align:right">16</td> +<td style="text-align:left">Click <em>Edit</em> button, modify some fields and <em>Update Release</em></td> +<td style="text-align:left">Values are updated successfully</td> +</tr> +</tbody> +</table> +<h2 id="delete-a-component-that-is-first-linked-to-a-project-and-then-not-and-a-project">Delete a component that is first linked to a project and then not, and a project</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Create a new component</td> +<td style="text-align:left">Component is created successfully</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Add a new release to this component</td> +<td style="text-align:left">Release is added successfully</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Create a new project</td> +<td style="text-align:left">Project is created successfully</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Add the linked release created above to this project</td> +<td style="text-align:left">Release linked successfully</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Go to components, try to delete the newly created component (that is linked to a project)</td> +<td style="text-align:left">Message <em>I could not delete the component!</em> is displayed.</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">Component is not deleted</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Go to Projects, delete the newly created project</td> +<td style="text-align:left">Project is deleted successfully</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Go to components, delete the newly created components (not linked anymore to a project)</td> +<td style="text-align:left">Message <em>Do you want to delete component?</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">Component is deleted successfully</td> +</tr> +</tbody> +</table> +<h2 id="add-new-attachments-to-an-existing-release-and-delete-attachments">Add new attachments to an existing release and delete attachments</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Search for an existing component (e.g. created in TC01) and click <em>Release Overview</em></td> +<td style="text-align:left">The list of releases are displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click on release version that needs a new attachment</td> +<td style="text-align:left"><em>Release Summary: name</em> page is displayed for the selected release</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Click on <em>Edit</em></td> +<td style="text-align:left"><em>You are editing the original document.</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click on <em>Attachments</em> link</td> +<td style="text-align:left"><em>Attachments</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click on <em>Add Attachment</em></td> +<td style="text-align:left"><em>Upload Attachment</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click <em>Browse</em> and select several attachments</td> +<td style="text-align:left">File names are displayed in the dialog</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Cancel</em> near some files not to be added</td> +<td style="text-align:left">File names are removed from the list</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click <em>Upload</em> button for the remaining files</td> +<td style="text-align:left">The files are uploaded and dialog is closed. Also the attached file are listed in the <em>Attachment</em> page</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Change some <em>Attachment type</em> to real type, e.g. <em>Source file</em> if it is a source file</td> +<td style="text-align:left">Type changed successfully</td> +</tr> +<tr> +<td style="text-align:right">10</td> +<td style="text-align:left">Click <em>Update Release</em></td> +<td style="text-align:left"><em>Release updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">11</td> +<td style="text-align:left">Click on <em>Edit</em></td> +<td style="text-align:left"><em>You are editing the original document.</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Click on <em>Attachments</em> link</td> +<td style="text-align:left"><em>Attachments</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Click on <em>Delete</em> icon to delete an attachment</td> +<td style="text-align:left">Message <em>Do you really want to delete this attachment?</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">Attachment is deleted successfully</td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Click <em>Update Release</em></td> +<td style="text-align:left"><em>Release updated successfully!</em> message is displayed</td> +</tr> +</tbody> +</table> +<h2 id="duplicate-an-existing-release">Duplicate an existing release</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Search for an existing component with release with all fields filled in (e.g. created in TC03) and click <em>Release Overview</em></td> +<td style="text-align:left">The list of releases are displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click <em>Duplicate</em> button under Action column</td> +<td style="text-align:left">The page changes to <em>Release name Edit</em></td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Check all fields from copied release</td> +<td style="text-align:left">All fields from <em>Release Summary</em> and <em>Repository</em> are unchanged</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Change the <em>Version</em> field to a new one, fill in a <em>CPE ID</em> and click <em>Add Release</em></td> +<td style="text-align:left"><em>You are editing the original document.</em> message is displayed.</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Modify some other fields, e.g. <em>Release Date</em> and click <em>Clearing Details</em></td> +<td style="text-align:left"><em>Clearing Details</em> page is displayed and does not contain any field from copied release</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click <em>Update Release</em></td> +<td style="text-align:left"><em>Release Component updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click on component name link on top of the page</td> +<td style="text-align:left">Summary page for the component is displayed</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click on _Release Overview</td> +<td style="text-align:left">The new copied release is listed among previous releases</td> +</tr> +</tbody> +</table> +<h2 id="search-for-and-create-a-new-vendor-for-a-new-release">Search for and create a new vendor for a new release</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Search for an existing component and click <em>Edit</em></td> +<td style="text-align:left"><em>You are editing the original document</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click <em>Add Release</em></td> +<td style="text-align:left">The page changes to <em>New Release Edit</em> page</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Fill in a release <em>Version</em> and <em>CPE ID</em></td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click <em>Vendor</em> field</td> +<td style="text-align:left"><em>Search Vendor</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>Add New Vendor</em></td> +<td style="text-align:left"><em>Create New Vendor</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Fill in <em>Full name</em>, <em>Short name</em> and <em>URL</em></td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Add Vendor</em></td> +<td style="text-align:left">Dialog closes and the new vendor is displayed in release <em>Vendor</em> field</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click <em>Add Release</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Click on component name link on top of the page</td> +<td style="text-align:left">Summary page for the component is displayed. The new vendor for the new release, as well as existing vendors from previous releases are listed under <em>Vendors</em> field for the component</td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/testcases/test-cases-licenses/index.html b/docs/developers/testcases/test-cases-licenses/index.html new file mode 100644 index 0000000..eea222c --- /dev/null +++ b/docs/developers/testcases/test-cases-licenses/index.html @@ -0,0 +1,794 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Licenses | Eclipse SW360</title> +<meta name="description" content="Create, edit and delete license + + + +Step +Action +Result + + + + +1 +Sign In with a known clearing admin user +User successfully signed in and Home page is …"> +<meta property="og:title" content="Licenses" /> +<meta property="og:description" content="Create, edit and delete license Step Action Result 1 Sign In with a known clearing admin user User successfully signed in and Home page is displayed 2 Click on Licenses tab Licenses page is displayed 3 Click on Add License New License page is displayed 4 Fill in Fullname and Shortname fields and press Add License License added successfully!" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Licenses"> +<meta itemprop="description" content="Create, edit and delete license Step Action Result 1 Sign In with a known clearing admin user User successfully signed in and Home page is displayed 2 Click on Licenses tab Licenses page is displayed 3 Click on Add License New License page is displayed 4 Fill in Fullname and Shortname fields and press Add License License added successfully!"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="378"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Licenses"/> +<meta name="twitter:description" content="Create, edit and delete license Step Action Result 1 Sign In with a known clearing admin user User successfully signed in and Home page is displayed 2 Click on Licenses tab Licenses page is displayed 3 Click on Add License New License page is displayed 4 Fill in Fullname and Shortname fields and press Add License License added successfully!"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check" checked/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check" checked/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="td-sidebar-nav-active-item">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/TestCases/Test-Cases-Licenses.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/TestCases/Test-Cases-Licenses.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/TestCases/Test-Cases-Licenses.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Licenses" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#create-edit-and-delete-license">Create, edit and delete license</a></li> + <li><a href="#edit-license-todos-and-obligations">Edit license TODOs and Obligations</a></li> + <li><a href="#check-export-licenses">Check Export Licenses</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/">Test Cases</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/">Licenses</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Licenses</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="create-edit-and-delete-license">Create, edit and delete license</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Sign In with a known <em>clearing admin</em> user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click on <em>Licenses</em> tab</td> +<td style="text-align:left"><em>Licenses</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Click on <em>Add License</em></td> +<td style="text-align:left"><em>New License</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Fill in <em>Fullname</em> and <em>Shortname</em> fields and press <em>Add License</em></td> +<td style="text-align:left"><em>License added successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Write the license or part of newly created license name in <em>Keyword Search</em> field</td> +<td style="text-align:left">License is filtered successfully</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click on license name and then on <em>Edit License Details and Text</em></td> +<td style="text-align:left">License page is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Modify some fields and click <em>Update License</em></td> +<td style="text-align:left"><em>License updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Check all fields on <em>Details</em> and <em>Text</em> pages</td> +<td style="text-align:left">Values are filled in correctly</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Click on <em>Edit License Details and Text</em></td> +<td style="text-align:left">License page is displayed</td> +</tr> +<tr> +<td style="text-align:right">10</td> +<td style="text-align:left">Click o <em>Delete</em> license name</td> +<td style="text-align:left"><em>License removed successfully!</em> message is displayed</td> +</tr> +</tbody> +</table> +<h2 id="edit-license-todos-and-obligations">Edit license TODOs and Obligations</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Sign In with a known <em>clearing admin</em> user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click on previously created license name</td> +<td style="text-align:left"><em>License Details</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Click on <em>Add a Todo</em></td> +<td style="text-align:left">Todo page displayed successfully</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Enter a Todo text (e.g. &ldquo;First todo text&rdquo;), click <em>Applies to development</em>, and click <em>Submit</em></td> +<td style="text-align:left"><em>License updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>TODOs and Obligations</em></td> +<td style="text-align:left">The previously entered Todo is listed on the page with <em>No obligations</em></td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click on <em>Add a Todo</em></td> +<td style="text-align:left">Todo page displayed successfully</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Enter a Todo text (e.g. &ldquo;Second todo text&rdquo;), click on some Obligations and click Submit</td> +<td style="text-align:left"><em>License updated successfully!</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click TODOs and Obligations</td> +<td style="text-align:left">The previously entered Todo is listed on the page together with chosen obligations</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Click on <em>Edit WhiteList</em>, deselect first Todo and click <em>Submit</em></td> +<td style="text-align:left">The deselected Todo is not displayed anymore on <em>TODOs and Obligations</em> page</td> +</tr> +</tbody> +</table> +<h2 id="check-export-licenses">Check Export Licenses</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Sign In with a known user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click on <em>Licenses</em> tab</td> +<td style="text-align:left"><em>Licenses</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Click on <em>Export Licenses</em></td> +<td style="text-align:left">A dialog for opening <em>Licenses.xlsx</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Open the xlsx file and compare the number of rows with total number of entries from <em>Licenses</em> tab</td> +<td style="text-align:left">All licenses names are exported successfully.</td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/testcases/test-cases-moderations/index.html b/docs/developers/testcases/test-cases-moderations/index.html new file mode 100644 index 0000000..1225481 --- /dev/null +++ b/docs/developers/testcases/test-cases-moderations/index.html @@ -0,0 +1,853 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Moderation | Eclipse SW360</title> +<meta name="description" content="Accept moderation request, for visible projects by other users + + + +Step +Action +Result + + + + +1 +Open first browser instance ((e.g. &ldquo;firefox.exe -p …"> +<meta property="og:title" content="Moderation" /> +<meta property="og:description" content="Accept moderation request, for visible projects by other users Step Action Result 1 Open first browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile1&rdquo; -no-remote&rdquo;) and sign in with a known First user User successfully signed in and Home page is displayed 2 Open a second browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile2&rdquo; -no-remote&rdquo;) and sign in with a known Second user User successfully signed in and Home page is displayed 3 Activate First browser instance Instance is active 4 Create a new project visible for Second user (e." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Moderation"> +<meta itemprop="description" content="Accept moderation request, for visible projects by other users Step Action Result 1 Open first browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile1&rdquo; -no-remote&rdquo;) and sign in with a known First user User successfully signed in and Home page is displayed 2 Open a second browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile2&rdquo; -no-remote&rdquo;) and sign in with a known Second user User successfully signed in and Home page is displayed 3 Activate First browser instance Instance is active 4 Create a new project visible for Second user (e."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="610"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Moderation"/> +<meta name="twitter:description" content="Accept moderation request, for visible projects by other users Step Action Result 1 Open first browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile1&rdquo; -no-remote&rdquo;) and sign in with a known First user User successfully signed in and Home page is displayed 2 Open a second browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile2&rdquo; -no-remote&rdquo;) and sign in with a known Second user User successfully signed in and Home page is displayed 3 Activate First browser instance Instance is active 4 Create a new project visible for Second user (e."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check" checked/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check" checked/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="td-sidebar-nav-active-item">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/TestCases/Test-Cases-Moderations.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/TestCases/Test-Cases-Moderations.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/TestCases/Test-Cases-Moderations.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Moderation" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#accept-moderation-request-for-visible-projects-by-other-users">Accept moderation request, for visible projects by other users</a></li> + <li><a href="#decline-moderation-request-for-visible-projects-by-other-users">Decline moderation request, for visible projects by other users</a></li> + <li><a href="#remove-me-from-moderators-for-moderation-request-for-visible-projects-by-other-users">Remove Me from Moderators for moderation request, for visible projects by other users</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/">Test Cases</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/">Moderation</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Moderation</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="accept-moderation-request-for-visible-projects-by-other-users">Accept moderation request, for visible projects by other users</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Open first browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile1&rdquo; -no-remote&rdquo;) and sign in with a known <em>First</em> user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Open a second browser instance ((e.g. &ldquo;firefox.exe -p &ldquo;profile2&rdquo; -no-remote&rdquo;) and sign in with a known <em>Second</em> user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Activate <em>First</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Create a new project visible for <em>Second</em> user (e.g. <em>Me and Moderators</em>, <em>Group and Moderators</em>, <em>Everyone</em>)</td> +<td style="text-align:left">Project is created successfully</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Activate <em>Second</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Search for the above created project and click <em>Edit</em></td> +<td style="text-align:left"><em>You will create a moderation request if you update.</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Edit Description field or other fields and click <em>Update Project</em></td> +<td style="text-align:left"><em>Moderation request was sent to update the Project name!</em> message is displayed.</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Activate <em>First</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Check <em>My Task Assignments</em> on <em>Home</em> page</td> +<td style="text-align:left">The above project that needs moderation is displayed with status <em>PENDING</em></td> +</tr> +<tr> +<td style="text-align:right">10</td> +<td style="text-align:left">Click on <em>Moderation</em> page</td> +<td style="text-align:left">The moderation request of <em>Second</em> user is displayed with state <em>Pending</em></td> +</tr> +<tr> +<td style="text-align:right">11</td> +<td style="text-align:left">Click on moderation request</td> +<td style="text-align:left"><em>Moderation Change Project</em> page is displayed, with proposed changes from step 7 listed</td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Click on <em>Accept Request</em></td> +<td style="text-align:left"><em>You have accepted the previous moderation request.</em> message is displayed, and State changes to <em>Approved</em></td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Check <em>My Task Assignments</em> on <em>Home</em> page</td> +<td style="text-align:left">Status is <em>APPROVED</em></td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Activate <em>Second</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Check _My Task Submissions on <em>Home</em> page</td> +<td style="text-align:left">Status is <em>APPROVED</em></td> +</tr> +<tr> +<td style="text-align:right">16</td> +<td style="text-align:left">Open the <em>Projects</em> tab and click on previously modified project on step 7</td> +<td style="text-align:left">Project <em>Summary</em> page displayed successfully</td> +</tr> +<tr> +<td style="text-align:right">17</td> +<td style="text-align:left">Check the moderation requested changes</td> +<td style="text-align:left">Changes are visible in the corresponding fields</td> +</tr> +</tbody> +</table> +<h2 id="decline-moderation-request-for-visible-projects-by-other-users">Decline moderation request, for visible projects by other users</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1-11</td> +<td style="text-align:left">Same as in TC01</td> +<td></td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Click on <em>Decline Request</em></td> +<td style="text-align:left"><em>You have declined the previous moderation request</em> message is displayed, and State changes to <em>Rejected</em></td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Check <em>My Task Assignments</em> on <em>Home</em> page</td> +<td style="text-align:left">Status is <em>REJECTED</em></td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Activate <em>Second</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Check _My Task Submissions on <em>Home</em> page</td> +<td style="text-align:left">Status is <em>REJECTED</em></td> +</tr> +<tr> +<td style="text-align:right">16</td> +<td style="text-align:left">Open the <em>Projects</em> tab and click on previously modified project on step 7</td> +<td style="text-align:left">Project <em>Summary</em> page displayed successfully</td> +</tr> +<tr> +<td style="text-align:right">17</td> +<td style="text-align:left">Check the moderation requested changes</td> +<td style="text-align:left">Changes are not visible in the corresponding fields</td> +</tr> +</tbody> +</table> +<h2 id="remove-me-from-moderators-for-moderation-request-for-visible-projects-by-other-users">Remove Me from Moderators for moderation request, for visible projects by other users</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1-11</td> +<td style="text-align:left">Same as in TC01</td> +<td></td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Click on <em>Remove Me from Moderators</em></td> +<td style="text-align:left"><em>You are the last moderator for this request - you are not allowed to unsubscribe.</em> message is displayed (assuming only <em>First</em> user was listed under <em>Moderators</em> column in step 10)</td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Click on <em>Decline Request</em></td> +<td style="text-align:left"><em>You have declined the previous moderation request</em> message is displayed, and State changes to <em>Rejected</em></td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Edit the project and add a new moderator (e.g. <em>Third</em> user) under <em>Moderators</em> field</td> +<td style="text-align:left">Project updated successfully.</td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Activate <em>Second</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">16</td> +<td style="text-align:left">Edit the project and create a new moderation request</td> +<td style="text-align:left">Moderation request was sent</td> +</tr> +<tr> +<td style="text-align:right">17</td> +<td style="text-align:left">Activate <em>First</em> browser instance</td> +<td style="text-align:left">Instance is active</td> +</tr> +<tr> +<td style="text-align:right">18</td> +<td style="text-align:left">Click on <em>Moderation</em> page</td> +<td style="text-align:left">The moderation request of <em>Second</em> user is displayed with state <em>Pending</em></td> +</tr> +<tr> +<td style="text-align:right">19</td> +<td style="text-align:left">Click on moderation request</td> +<td style="text-align:left"><em>Moderation Change Project</em> page is displayed, with proposed changes from step 7 listed</td> +</tr> +<tr> +<td style="text-align:right">20</td> +<td style="text-align:left">Click on <em>Remove Me from Moderators</em></td> +<td style="text-align:left"><em>You are removed from the list of moderators for the previous moderation request. You have no open Requests.</em> message is displayed. Also the document is deleted from moderation list.</td> +</tr> +<tr> +<td style="text-align:right">21</td> +<td style="text-align:left">Login with the <em>Third</em> user and check the <em>Moderation</em> tab</td> +<td style="text-align:left">The moderation request of <em>Second</em> user is displayed with state <em>Pending</em></td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/developers/testcases/test-cases-projects/index.html b/docs/developers/testcases/test-cases-projects/index.html new file mode 100644 index 0000000..ac9fa34 --- /dev/null +++ b/docs/developers/testcases/test-cases-projects/index.html @@ -0,0 +1,990 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Projects | Eclipse SW360</title> +<meta name="description" content="Add a simple project with no relations and no releases + + + +Step +Action +Result + + + + +1 +Sign In with a known user +User successfully signed in and Home page …"> +<meta property="og:title" content="Projects" /> +<meta property="og:description" content="Add a simple project with no relations and no releases Step Action Result 1 Sign In with a known user User successfully signed in and Home page is displayed 2 Click on Projects tab Projects page is displayed 3 Click Add Project New Project page is displayed with mandatory fields marked with red star 4 Fill mandatory Name with a project name, change other fields if needed Values are entered in the fields 5 Click Add Project The page remain the same and the message You are editing the original document." /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Projects"> +<meta itemprop="description" content="Add a simple project with no relations and no releases Step Action Result 1 Sign In with a known user User successfully signed in and Home page is displayed 2 Click on Projects tab Projects page is displayed 3 Click Add Project New Project page is displayed with mandatory fields marked with red star 4 Fill mandatory Name with a project name, change other fields if needed Values are entered in the fields 5 Click Add Project The page remain the same and the message You are editing the original document."> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="939"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Projects"/> +<meta name="twitter:description" content="Add a simple project with no relations and no releases Step Action Result 1 Sign In with a known user User successfully signed in and Home page is displayed 2 Click on Projects tab Projects page is displayed 3 Click Add Project New Project page is displayed with mandatory fields marked with red star 4 Fill mandatory Name with a project name, change other fields if needed Values are entered in the fields 5 Click Add Project The page remain the same and the message You are editing the original document."/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check" checked/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check" checked/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check" checked/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="td-sidebar-nav-active-item">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Developers/TestCases/Test-Cases-Projects.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Developers/TestCases/Test-Cases-Projects.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Developers/TestCases/Test-Cases-Projects.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Projects" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#add-a-simple-project-with-no-relations-and-no-releases">Add a simple project with no relations and no releases</a></li> + <li><a href="#add-a-full-project-with-relations-releases-and-send-to-clearing-process">Add a full project with relations, releases and send to clearing process</a></li> + <li><a href="#add-a-project-with-releases-no-relations-remove-a-release-and-send-to-clearing-process">Add a project with releases, no relations, remove a release, and send to clearing process</a></li> + <li><a href="#modify-an-existing-project-with-relations-releases-and-send-to-clearing-process">Modify an existing project with relations, releases and send to clearing process</a></li> + <li><a href="#add-and-modify-a-project-with-all-project-fields-filled-in">Add and modify a project with all project fields filled in</a></li> + <li><a href="#duplicate-an-existing-project">Duplicate an existing project</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/">Development</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/">Test Cases</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/">Projects</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Projects</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h2 id="add-a-simple-project-with-no-relations-and-no-releases">Add a simple project with no relations and no releases</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Sign In with a known user</td> +<td style="text-align:left">User successfully signed in and <em>Home</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click on <em>Projects</em> tab</td> +<td style="text-align:left"><em>Projects</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Click <em>Add Project</em></td> +<td style="text-align:left"><em>New Project</em> page is displayed with mandatory fields marked with red star</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Fill mandatory <em>Name</em> with a project name, change other fields if needed</td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>Add Project</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click <em>Cancel</em> button</td> +<td style="text-align:left">New project <em>Summary</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click on <em>Projects</em> tab</td> +<td style="text-align:left">The new project should be added to the projects list</td> +</tr> +</tbody> +</table> +<h2 id="add-a-full-project-with-relations-releases-and-send-to-clearing-process">Add a full project with relations, releases and send to clearing process</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Click on <em>Projects</em> tab</td> +<td style="text-align:left"><em>Projects</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click <em>Add Project</em></td> +<td style="text-align:left"><em>New Project</em> page is displayed with mandatory fields marked with red star</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Fill mandatory <em>Name</em> with a project name, change other fields if needed</td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click <em>Click to add linked Projects</em></td> +<td style="text-align:left"><em>Search Project</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>Search</em> and <em>Select</em> the project to be linked (e.g. created in TC01)</td> +<td style="text-align:left">Dialog is closed and selected project is displayed under <em>Linked Projects</em> section</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click <em>Click to add Releases</em></td> +<td style="text-align:left"><em>Search Release</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Search by name</em> and <em>Select</em> a release to be added</td> +<td style="text-align:left">Dialog is closed and selected release is displayed under <em>Linked Releases</em> section</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Click <em>Add Project</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">9</td> +<td style="text-align:left">Click <em>Cancel</em> button</td> +<td style="text-align:left">New project <em>Summary</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">10</td> +<td style="text-align:left">Click on <em>Projects</em> tab</td> +<td style="text-align:left">The new project should be added to the projects list</td> +</tr> +<tr> +<td style="text-align:right">11</td> +<td style="text-align:left">Check <em>Clearing Status</em> by hovering mouse over the numbers.</td> +<td style="text-align:left">The message should be <em>new release, under clearing&hellip;</em></td> +</tr> +<tr> +<td style="text-align:right">12</td> +<td style="text-align:left">Send open release to clearing by clicking the button <em>Send to fossology</em>, under <em>Actions</em> column</td> +<td style="text-align:left"><em>Fossology Clearing</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">13</td> +<td style="text-align:left">Select the release to be sent for clearing and click <em>Send</em></td> +<td style="text-align:left"><em>Sent</em> message is displayed near the <em>Send to fossology</em> button</td> +</tr> +<tr> +<td style="text-align:right">14</td> +<td style="text-align:left">Click on project name and check <em>Summary</em> page</td> +<td style="text-align:left"><em>Clearing details</em> should have 1 for <em>Under clearing</em></td> +</tr> +<tr> +<td style="text-align:right">15</td> +<td style="text-align:left">Click on <em>Clearing Status</em></td> +<td style="text-align:left">The &ldquo;Release Clearing State_ should be <em>Sent to Fossology</em></td> +</tr> +</tbody> +</table> +<h2 id="add-a-project-with-releases-no-relations-remove-a-release-and-send-to-clearing-process">Add a project with releases, no relations, remove a release, and send to clearing process</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1-5</td> +<td style="text-align:left">Same as in TC02</td> +<td></td> +</tr> +<tr> +<td style="text-align:right">5a</td> +<td style="text-align:left">Click on <em>Delete</em> icon to delete the linked project</td> +<td style="text-align:left"><em>Do you really want to remove the link to this project?</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">5b</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">The project is removed from the list of <em>Linked Projects</em></td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Click <em>Click to add Releases</em></td> +<td style="text-align:left"><em>Search Release</em> dialog is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Search by name</em> and <em>Select</em> more than one release to be added</td> +<td style="text-align:left">Dialog is closed and selected releases are displayed under <em>Linked Releases</em> section</td> +</tr> +<tr> +<td style="text-align:right">7a</td> +<td style="text-align:left">Click on <em>Delete</em> icon to delete one of the linked release</td> +<td style="text-align:left"><em>Do you really want to remove the link to this release?</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">7b</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">The release is removed from the list of <em>Linked Releases</em></td> +</tr> +<tr> +<td style="text-align:right">8-15</td> +<td style="text-align:left">Same as in TC02</td> +<td></td> +</tr> +</tbody> +</table> +<p>##TC04: Delete a project that is first linked to another project and then not linked</p> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Create a new project</td> +<td style="text-align:left">Project is created successfully</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Create another project and add first created one as linked project</td> +<td style="text-align:left">Projects are linked successfully</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Go to first created project in the projects table and try to delete it</td> +<td style="text-align:left">Message <em>Do you want to delete project name?</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">Message <em>The project is used by another project!</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">Project is not deleted (e.g. refresh the page by clicking Projects tab)</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Go to second created project in the projects table and delete it</td> +<td style="text-align:left">Message <em>Do you want to delete project name?</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>OK</em></td> +<td style="text-align:left">Project is deleted successfully</td> +</tr> +<tr> +<td style="text-align:right">8</td> +<td style="text-align:left">Go to first created project in the table (not linked anymore to second project) and delete it</td> +<td style="text-align:left">Project is deleted successfully</td> +</tr> +</tbody> +</table> +<h2 id="modify-an-existing-project-with-relations-releases-and-send-to-clearing-process">Modify an existing project with relations, releases and send to clearing process</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Search for a simple project (e.g. created in TC01) and click <em>Edit</em></td> +<td style="text-align:left"><em>You are editing the original document</em> message is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Execute steps 5-16 from TC02</td> +<td></td> +</tr> +</tbody> +</table> +<h2 id="add-and-modify-a-project-with-all-project-fields-filled-in">Add and modify a project with all project fields filled in</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Click on <em>Projects</em> tab</td> +<td style="text-align:left"><em>Projects</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Click <em>Add Project</em></td> +<td style="text-align:left"><em>New Project</em> page is displayed with mandatory fields marked with red star</td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Fill in all editable fields under <em>Basic Information</em>, <em>User Information</em> and <em>Admin Information</em></td> +<td style="text-align:left">Values are entered in the fields</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click <em>Add Project</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Click <em>Cancel</em> button</td> +<td style="text-align:left">New project <em>Summary</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">6</td> +<td style="text-align:left">Check all fields on <em>Summary</em> page</td> +<td style="text-align:left">Values are filled in correctly</td> +</tr> +<tr> +<td style="text-align:right">7</td> +<td style="text-align:left">Click <em>Edit</em> button, modify some fields and <em>Update Project</em></td> +<td style="text-align:left">Values are updated successfully</td> +</tr> +</tbody> +</table> +<h2 id="duplicate-an-existing-project">Duplicate an existing project</h2> +<table> +<thead> +<tr> +<th style="text-align:right">Step</th> +<th style="text-align:left">Action</th> +<th style="text-align:left">Result</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:right">1</td> +<td style="text-align:left">Search for an existing project with all fields filled in (e.g. created in TC06) and click <em>Duplicate</em> button under <em>Actions</em> column</td> +<td style="text-align:left">Project <em>Information</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">2</td> +<td style="text-align:left">Check all fields from copied project</td> +<td style="text-align:left">All fields are unchanged, including <em>Linked Projects</em> and <em>Linked Releases</em></td> +</tr> +<tr> +<td style="text-align:right">3</td> +<td style="text-align:left">Fill mandatory <em>Name</em> with a project name and click <em>Add Project</em></td> +<td style="text-align:left">The page remain the same and the message <em>You are editing the original document.</em> is displayed</td> +</tr> +<tr> +<td style="text-align:right">4</td> +<td style="text-align:left">Click <em>Cancel</em> button</td> +<td style="text-align:left">New project <em>Summary</em> page is displayed</td> +</tr> +<tr> +<td style="text-align:right">5</td> +<td style="text-align:left">Check all fields</td> +<td style="text-align:left">All fields were copied successfully, except the new name of the project</td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..4a3177e --- /dev/null +++ b/docs/index.html @@ -0,0 +1,898 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>SW360 Documentation | Eclipse SW360</title> +<meta name="description" content="For development, please see the README.md file of the project first. Please check also the pages on the right widget of pages. Not every page there …"> +<meta property="og:title" content="SW360 Documentation" /> +<meta property="og:description" content="Eclipse SW360 official website" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="SW360 Documentation"> +<meta itemprop="description" content="Eclipse SW360 official website"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="SW360 Documentation"/> +<meta name="twitter:description" content="Eclipse SW360 official website"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="td-sidebar-nav-active-item">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check"/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=SW360%20Documentation" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#getting-started">Getting started</a></li> + <li><a href="#naming-policies-for-this-wiki">Naming Policies for this Wiki</a></li> + </ul> + + <ul> + <li> + <ul> + <li><a href="#general">General</a></li> + <li><a href="#special">Special</a></li> + </ul> + </li> + </ul> + + <ul> + <li> + <ul> + <li><a href="#frequently-experienced-problems">Frequently Experienced Problems</a></li> + <li><a href="#general-deployment-guides">General Deployment Guides</a></li> + <li><a href="#special-deployment-guides">Special Deployment Guides</a></li> + <li><a href="#general-topcis">General Topcis</a></li> + <li><a href="#special-topics">Special Topics</a></li> + </ul> + </li> + </ul> + + <ul> + <li> + <ul> + <li><a href="#submitting-issues">Submitting Issues</a></li> + <li><a href="#contribution-workflow">Contribution Workflow</a></li> + <li><a href="#architecture">Architecture</a></li> + <li><a href="#general-1">General</a></li> + <li><a href="#special-1">Special</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs td-breadcrumbs__single"> + <ol class="breadcrumb"> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>SW360 Documentation</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>For development, please see the <a href="https://github.com/eclipse/sw360/blob/master/README.md">README.md</a> file of the project first. Please check also the pages on the right widget of pages. Not every page there has a link on this page!</p> +<h2 id="getting-started">Getting started</h2> +<table> +<thead> +<tr> +<th>Name</th> +<th>URL</th> +<th>Remarks</th> +</tr> +</thead> +<tbody> +<tr> +<td>Main home page</td> +<td><a href="https://www.eclipse.org/sw360/">https://www.eclipse.org/sw360/</a></td> +<td>main home page with general info</td> +</tr> +<tr> +<td>Project @ Github</td> +<td><a href="https://github.com/eclipse/sw360">https://github.com/eclipse/sw360</a></td> +<td>where the music plays</td> +</tr> +<tr> +<td>Developer mailing list</td> +<td><a href="mailto:sw360-dev@eclipse.org">sw360-dev@eclipse.org</a></td> +<td>for developers, discussion about developing</td> +</tr> +<tr> +<td>Slack Channel</td> +<td><a href="https://sw360chat.slack.com/">https://sw360chat.slack.com/</a></td> +<td>the main chat spot, everybody is welcome</td> +</tr> +<tr> +<td>Slack Channel Invitation Link</td> +<td><a href="https://join.slack.com/t/sw360chat/shared_invite/enQtNzg5NDQxMTQyNjA5LThiMjBlNTRmOWI0ZjJhYjc0OTk3ODM4MjBmOGRhMWRmN2QzOGVmMzQwYzAzN2JkMmVkZTI1ZjRhNmJlNTY4ZGI">Sharable join link to join</a></td> +<td>that should bring you in</td> +</tr> +<tr> +<td>sw360 developer meeting</td> +<td><a href="Developer-Meetings">Meeting Info</a></td> +<td>Everyone is welcome!</td> +</tr> +</tbody> +</table> +<h2 id="naming-policies-for-this-wiki">Naming Policies for this Wiki</h2> +<p>Please start every page with a prefix</p> +<ol> +<li><strong>User</strong>: topics suitable for admins and end users</li> +<li><strong>Deploy</strong>: All things about deployment</li> +<li><strong>Dev</strong>: All topics for developers</li> +<li><strong>Test</strong>: Also a topic for developers, but also around testing</li> +</ol> +<h1 id="using-sw360">Using sw360</h1> +<p>For using the sw360 as a user, please see the following basic workflows:</p> +<ul> +<li>Basic workflows for <a href="https://github.com/eclipse/sw360/wiki/User-Workflows:-sw360">creating a component, release and projects</a>.</li> +<li>Workflow how <a href="https://github.com/eclipse/sw360/wiki/User-Workflows:-sw360-and-FOSSology">FOSSology and sw360</a> play together.</li> +<li>How to <a href="https://github.com/eclipse/sw360/wiki/User-Search">search</a> in sw360</li> +</ul> +<h3 id="general">General</h3> +<ul> +<li>Use case description importing projects, releases with licenses <a href="User--BDP-Import">BDP Import</a></li> +<li>Use case description how to <a href="User-Vulnerability-Management">manage vulnerabilities in your project</a></li> +<li>User documentation how to <a href="User--Scheduling-CVE-Search-by-Admins">use the cve-search server</a></li> +<li>User documentation how to <a href="User-Check-Vulnerabilities-for-Your-Project">check vulnerabilities for your projects</a></li> +<li>Documentation about the <a href="User-Vulnerability-Management">handling of vulnerabilities</a></li> +</ul> +<h3 id="special">Special</h3> +<ol> +<li>Find information about the <a href="https://github.com/eclipse/sw360/wiki/Dev-Role-Authorisation-Model">role and access model</a></li> +<li>If you are interested in the concept about <a href="https://github.com/eclipse/sw360/wiki/Dev-Moderation-Requests">moderation requests</a>, read the documentation here.</li> +<li>Explaining [[enumerations used in SW360|https://github.com/eclipse/sw360/wiki/User-Data-Model-Enumerations]]</li> +</ol> +<h1 id="deploying-sw360">Deploying sw360</h1> +<p>For the deployment of the SW360, it is about deploying a Liferay server application. Please understand, that apart from trying sw360 for a short while, for deployments of SW360 in your organisation you will need knowledge about how to deploy Java server applications. Regardless of the deployment approach the following main elements need to be considered:</p> +<ul> +<li>A <a href="https://www.liferay.com/de/downloads-community">Liferay Community Edition bundeled with Tomcat</a>.</li> +<li>Install CouchDB (this is where SW360 stores all the source code, SPDX files and metadata), depending on your platform, there are a number of ways to use CouchDB. Currently, we tested with CouchDB 2.1.2, other versions of CouchDB may work as well.</li> +<li>For productive deployments, you do not want to go with the (Hypersonic) DB bundled with Tomcat, but install some normal DB server. We use PostgreSQL. The relation DB server is used by Liferay and should be thus compatible to it.</li> +<li>For searches, consider CouchDB Lucene <a href="https://github.com/rnewson/couchdb-lucene/archive/v1.0.2.tar.gz">CouchDb Lucene</a>.</li> +<li>There is a number of additional &ldquo;prerequisites&rdquo; for SW360, more detailed <a href="https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh">in the Vagrant deployment setup</a>.</li> +</ul> +<p>In order to install sw360, you can choose between the following ways:</p> +<ul> +<li>Use the Vagrant-based installation. Please refer to the <a href="https://github.com/sw360/sw360vagrant">sw360 vagrant project</a> and the included Readme file. Basic prerequisites are +<ul> +<li>VirtualBox</li> +<li>Vagrant and some vagrant plugins</li> +<li>Presumeably a git client</li> +</ul> +</li> +<li>You could install the sw360portal project natively on the machine. This will require more work in order to install the prerequisites. The above mentioned vagrant project documents very precisely what to do in order to install the sw360portal.</li> +<li>Checkout the docker suite <a href="https://github.com/sw360/sw360chores">sw360chores</a> and generate a pre-built container where you can deploy the <code>*.war</code> files of sw360portal (both frontend and backend). <strong>Important</strong> this is work in progress now and likely not working out of the box.</li> +</ul> +<h3 id="frequently-experienced-problems">Frequently Experienced Problems</h3> +<ol> +<li> +<p>The most experienced confusion is about the Liferay setup user: the setup user cannot be used to work with the sw360 because the setup user is missing an organisation assignment. For every user an organisation assignment is required for sw360 to work properly. Unfortunately, you cannot assign a liferay setup user to an organisation. So you do need to import users or create users with organisation.</p> +</li> +<li> +<p>Currently, you need Java 11, we test it with OpenJDK. Newer or older versions may work, but currently, reports tell that for example Java 8 does not work.</p> +</li> +<li> +<p>Thrift: for compiling the software you need to install <a href="https://github.com/apache/thrift">Apache Thrift</a> (a command line tool). We test with version 0.13.</p> +</li> +</ol> +<h3 id="general-deployment-guides">General Deployment Guides</h3> +<ul> +<li><a href="https://qiita.com/K-Hama/items/1582b4e1bf248025eabb">Comprehensive blog post on SW360 Installation in Japanese</a></li> +<li><a href="https://github.com/sw360/sw360vagrant">Install sw360 using Vagrant and Puppet</a>: Please have a look at the sw360vagrant project itself how to go ahead with the installation.</li> +<li><a href="Deploy-Liferay">Initial Setup of Liferay 6.2 and sw360</a>: From the beginning until sw360 version 4</li> +<li><a href="Deploy-Liferay7">Initial Setup of Liferay 7.2 and sw360</a>: From sw360 version 5 onwards and until sw360 version 10</li> +<li><a href="Deploy-Liferay7.3">Initial Setup of Liferay 7.3 and sw360</a>: From sw360 version 11 onwards</li> +<li><a href="Deploy-Natively">Install sw360 manually with Liferay 7.2</a>: From sw360 version 5 onwards and until sw360 version 10</li> +<li><a href="Deploy-Natively-11">Install sw360 manually with Liferay 7.3</a>: From sw360 version 11 onwards</li> +<li><a href="Deploy-sw360docs">Generate Documentation (sw360docs) into Artefacts</a>: From sw360 version 13.5 onwards</li> +<li><a href="Deploy-CVE-search">Setting CVE Search</a>: Get vulnerability information from an external provider of Common Vulnerability Enumeration (CVE) data.</li> +</ul> +<h3 id="special-deployment-guides">Special Deployment Guides</h3> +<ul> +<li><a href="Deploy-Upgrade-to-Liferay-7.2">Migrate from Liferay 6.2 and sw360 4 to Liferay 7.2 and sw360 5</a></li> +<li><a href="Deploy-Upgrade-to-Liferay-7.3-and-Java-11">Migrate from Liferay 7.2 and sw360 10 to Liferay 7.3 and sw360 11</a></li> +<li><a href="Deploy-sw360-on-Windows-(with-Vagrant)">Install sw360 on Windows using vagrant</a>. some particular notes for the Windows platform.</li> +<li><a href="Deploy-Docker">Install sw360 with Docker</a></li> +<li><a href="https://github.com/sw360/sw360chores">More Install Information using Docker with sw360chores</a> : Please have a look at the sw360chores project itself how to go ahead with the installation. Note that currently (Sept 2020) the docker setup is currently wip and thus does not work out of the box.</li> +</ul> +<h3 id="general-topcis">General Topcis</h3> +<ul> +<li><a href="Deploy-authorization-concept">Deployment Authorization Concept</a></li> +<li><a href="Deploy-Configuration-Files">Properties explained</a></li> +<li><a href="Deploy-FOSSology">Setup of connection with Fossology</a></li> +<li><a href="Deploy-Requirements">Deployment Requirements</a></li> +<li><a href="Deploy-Secure-Deployment">Secure Deployment Notes</a></li> +</ul> +<h3 id="special-topics">Special Topics</h3> +<p>After installing sw360 more topics may include:</p> +<ol> +<li><a href="Deploy-configuration-country-codes">Special Coverage of Country Codes</a>, when countries are displayed, then it uses country codes in the DB</li> +<li><a href="Deploy-Export-and-Import">How to export data and import it to a new instance</a></li> +<li><a href="Deploy-Migrating-to-a-new-Server">How to migrate an existing sw360portal to a new instance</a></li> +<li><a href="Dev-Database-Migration-using-Costco">Using costco to modify the couchdb database</a></li> +</ol> +<h1 id="developing-sw360">Developing sw360</h1> +<p>The sw360 is Java-based application consisting of two main parts:</p> +<ol> +<li>A Liferay/based front end application that allows users to work with sw360</li> +<li>A Java-based servlet infrastructure Thrift interfaces that allows the Liferay part and other applications to manage and store data</li> +<li>In the backend, couchdb is used for storing project, component, release and license information as well as attachments.</li> +</ol> +<h3 id="submitting-issues">Submitting Issues</h3> +<p>Please report issues to the issue tracker, but please keep also in mind that someone else has to read them! Issues should include:</p> +<ul> +<li>What you intended to do?</li> +<li>What did you observe?</li> +<li>Why do you think it is wrong?</li> +<li>Screenshots of what you have observed presumably gone wrong or link to pages were another person can follow</li> +<li>Version where you have observed this.</li> +<li>Common written English and use of line breaks!!! Use the preview function!</li> +</ul> +<p>Please refer to the following pages for writing issues:</p> +<ul> +<li><a href="https://issues.apache.org/bugwritinghelp.html">https://issues.apache.org/bugwritinghelp.html</a></li> +<li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines">https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines</a></li> +<li><a href="https://www.joelonsoftware.com/2000/11/08/painless-bug-tracking/">https://www.joelonsoftware.com/2000/11/08/painless-bug-tracking/</a></li> +</ul> +<h3 id="contribution-workflow">Contribution Workflow</h3> +<p>As basic introduction, the dev ops works as following:</p> +<ol> +<li>We are issue-based, please do not hesitate to create issues - also for <em>questions</em> (and set the issue tag)</li> +<li>The issues are organised by milestones which <a href="Dev-Releasing-SW360">do not represent releases anymore</a>. Milestone are meant to be useful packages of work done</li> +<li>Contributions are made through pull requests</li> +<li>We do conversations directly on issues and pull requests</li> +</ol> +<p>More topics regarding &ldquo;how&rdquo; to develop:</p> +<ol> +<li><a href="Dev-DoD-and-Style">Definition of done and code style</a></li> +<li><a href="Dev-Releasing-SW360">Creating a sw360 release</a></li> +<li><a href="Dev-Testing-Frameworks">Brief notes on the jgiven testing</a></li> +<li><a href="Dev-Troubleshooting">For help with problems, you might want to check that</a></li> +</ol> +<h3 id="architecture">Architecture</h3> +<p>sw360 is a server application using Java servlets. It did some faint steps towards micro services (ie. one maintaining licenses, another for vulnerabilities), the front end is a portlet applications using good old JSPs.</p> +<ol> +<li><a href="Dev-Arch-General">Introduction and Scope</a></li> +<li><a href="Dev-Arch-View">High Level View</a></li> +<li><a href="Dev-Arch-Topics">Architecture Topics</a></li> +</ol> +<h3 id="general-1">General</h3> +<ol> +<li><a href="https://github.com/eclipse/sw360/wiki/Dev-Adding-a-new-portlet:-Frontend">How to write a new portlet</a></li> +<li><a href="https://github.com/eclipse/sw360/wiki/Dev-Adding-a-new-portlet:-Backend">Adding a new backend service</a></li> +<li><a href="Dev-Adding-New-Fields-to-Existing-Classes">Changing the data model</a></li> +<li><a href="Dev-REST-API">REST API overview</a></li> +<li><a href="Dev-Using-RequireJS-for-javascript-modules">Migrating to Javascript modules</a></li> +</ol> +<h3 id="special-1">Special</h3> +<ol> +<li><a href="Dev-Filtering-in-Portlets">Filtering in portlets</a></li> +<li><a href="Dev-Fossology-Integration">The FOSSology integration</a></li> +<li><a href="Dev-Moderation-Requests">How moderation requests work</a></li> +<li><a href="Dev-Role-Authorisation-Model">Roles and access rights</a></li> +<li><a href="Dev-Attachment-File-Types">Attachment Types Description</a></li> +<li><a href="https://wiki.eclipse.org/Google_Summer_of_Code_2019_Ideas#Eclipse_SW360">Our ideas of Google-Summer-of-Code 2019</a></li> +<li><a href="Dev-Liferay-Friendly-URL">How Friendly URLs work with the Liferay Portlets</a></li> +</ol> +<h1 id="testing-sw360">Testing sw360</h1> +<p>Generally, all modules have unit tests and these are executed (including deployment of couchdb) at CI times. In addtion, to test the front end, there are defined integration test cases for a manual check, if the sw360 is working properly in general:</p> +<ol> +<li><a href="Test-Cases-Components">Test Cases: Components Functionality</a></li> +<li><a href="Test-Cases-Licenses">Test Cases: Licenses Functionality</a></li> +<li><a href="Test-Cases-Moderations">Test Cases: Moderations Functionality</a></li> +<li><a href="Test-Cases-Projects">Test Cases: Projects Functionality</a></li> +</ol> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/">User Guides</a> + </h5> + <p>SW360 User Guides</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/deployment/">Deployment</a> + </h5> + <p>SW360 Deployment Guides</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/developers/">Development</a> + </h5> + <p>SW360 Development Information</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml new file mode 100644 index 0000000..702d662 --- /dev/null +++ b/docs/index.xml @@ -0,0 +1,5667 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – SW360 Documentation</title> + <link>https://www.eclipse.org/sw360/docs/</link> + <description>Recent content in SW360 Documentation on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: How to add a backend portlet to sw360</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/</guid> + <description> + + + &lt;p&gt;This page how to add some operations / service calls on the backend for the portlet writing on the page that covers the front end. Note that this page does not create a new (thrift service), but just explains how to add more operations.&lt;/p&gt; +&lt;p&gt;This explanation follows bottom up approach where we first add the backend methods and then call them later in the frontend. Quick summary:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Add methods to the thrift idl definition&lt;/li&gt; +&lt;li&gt;Add methods to the data handler interface&lt;/li&gt; +&lt;li&gt;Add implementation&lt;/li&gt; +&lt;li&gt;Add tests&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;thrift&#34;&gt;Thrift&lt;/h4&gt; +&lt;p&gt;First we add some methods to the thrift files, components.thrift&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;//new Methods to ensure uniqueness of Identifiers +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;&lt;/span&gt;map &lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; list&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;map &lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; list&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;string&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;datahandler&#34;&gt;Datahandler&lt;/h4&gt; +&lt;p&gt;then we install lib-datahandler. That way we see which methods we have to implement. +We have chosen to change the interface of the ComponentService. That means we need to implement them in the ComponentHandler.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; TException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; TException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;implementation&#34;&gt;Implementation&lt;/h4&gt; +&lt;p&gt;The methods there are only a reference to the ComponentDatabaseHandler.java. +In the ComponentHandler we only assert that the input is correct. +Since we implement methods without parameters, there is nothing else for us to do. +In the ComponentDatabaseHandler.java we actually do some work and implement the methods&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ListMultimap&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; componentIdentifierToComponentId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; ArrayListMultimap&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;create&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Component component &lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; componentRepository&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getSummaryForExport&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; componentIdentifierToComponentId&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;put&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Utils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;printName&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;component&lt;span style=&#34;color:#555&#34;&gt;),&lt;/span&gt; component&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; CommonUtils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getIdentifierToListOfDuplicates&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;componentIdentifierToComponentId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ListMultimap&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; releaseIdentifierToReleaseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; ArrayListMultimap&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;create&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Release release &lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; releaseRepository&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getReleaseSummary&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; releaseIdentifierToReleaseId&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;put&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Utils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;printName&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;release&lt;span style=&#34;color:#555&#34;&gt;),&lt;/span&gt; release&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; CommonUtils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getIdentifierToListOfDuplicates&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;releaseIdentifierToReleaseId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;tests&#34;&gt;Tests&lt;/h4&gt; +&lt;p&gt;We then write some tests in ComponentDatabaseHandlerTest.java&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Test&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;testDuplicateComponentIsFound&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; Exception &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String originalComponentId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;C3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Component tmp &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getComponent&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;originalComponentId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; user1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetRevision&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String newComponentId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addComponent&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; email1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateComponents &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(),&lt;/span&gt; is&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;1&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;get&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;printName&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;)),&lt;/span&gt; containsInAnyOrder&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;newComponentId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;originalComponentId&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Test&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;testDuplicateReleaseIsFound&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; Exception &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String originalReleaseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;R1A&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Release tmp &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getRelease&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;originalReleaseId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; user1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; tmp&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;unsetRevision&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String newReleaseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addRelease&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; email1&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateReleases &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(),&lt;/span&gt; is&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;1&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; assertThat&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;get&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;printName&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;tmp&lt;span style=&#34;color:#555&#34;&gt;)),&lt;/span&gt; containsInAnyOrder&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;newReleaseId&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;originalReleaseId&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then we install the backend to make our methods available.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: How to add a frontend portlet to sw360</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/</guid> + <description> + + + &lt;p&gt;We create a class in&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/java/com/siemens/sw360/portal/portlets/admin/ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;called&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DatabaseSanitation.java +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here are some code snippets that are important:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;DatabaseSanitation&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; Sw360Portlet +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;the base class Sw360Portlet adds some convenience methods to render the most common return values of functions into messages.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;RenderRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RenderResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;// Proceed with page rendering +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;super&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method is used to render different pages, a common pattern would be to have if/else tree like&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;//! VIEW and helpers +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;RenderRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RenderResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String pageName &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PAGENAME&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PAGENAME_EDIT&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;equals&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;pageName&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; prepareVendorEdit&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; include&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;/html/vendors/edit.jsp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; prepareStandardView&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;super&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;doView&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but since we only have one page this is all we need. The jsp that is rendered by super.doView is set in&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;src&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;frontend&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portlets&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;src&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;main&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapp&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;WEB&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;INF&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;portlet&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;xml&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but more on that later.&lt;/p&gt; +&lt;p&gt;The next method in DatabaseSanitation handles resource requests, which are responses to AJAX calls:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@Override +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public void serveResource(ResourceRequest request, ResourceResponse response) throws IOException, PortletException { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String action = request.getParameter(PortalConstants.ACTION); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if (PortalConstants.DUPLICATES.equals(action)) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; serveDuplicates(request, response); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;similar to the PAGENAME tree, here we have an ACTION if/else block. We only have one action, so this is simple.&lt;/p&gt; +&lt;p&gt;Let&amp;rsquo;s have a look at&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;serveDuplicates&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;ResourceRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; ResourceResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Map&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; ComponentService&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;Iface&lt;/span&gt; componentClient &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; thriftClients&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;makeComponentClient&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; duplicateComponents &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; componentClient&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateComponents&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; duplicateReleases &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; componentClient&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getDuplicateReleases&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;TException e&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; log&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;error&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Error in component client&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; e&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;||&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; renderRequestStatus&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RequestStatus&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;FAILURE&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; renderRequestStatus&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; RequestStatus&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;SUCCESS&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setAttribute&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PortalConstants&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;DUPLICATE_RELEASES&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; duplicateReleases&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setAttribute&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PortalConstants&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;DUPLICATE_COMPONENTS&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; duplicateComponents&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; include&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;/html/admin/databaseSanitation/duplicatesAjax.jsp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PortletRequest&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;RESOURCE_PHASE&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The member variable thriftClients is inherited from the Sw360Portlet. This is how we talk to the backend. +We call the methods that we wrote in the first part of the tutorial. +The error handling is reported with renderRequestStatus, also from Sw360Portlet. +When we have findings then we report them by rendering a jsp in the RESOURCE_PHASE. +This is then some html that our AJAX function gets as data.&lt;/p&gt; +&lt;p&gt;Then we have to register the portlets in some xml files:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/liferay-display.xml +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;id=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;databaseSanitation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/liferay-portlet.xml +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-name&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;icon&amp;gt;&lt;/span&gt;/icon.png&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/icon&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;instanceable&amp;gt;&lt;/span&gt;false&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/instanceable&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;header-portlet-css&amp;gt;&lt;/span&gt;/css/main.css&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/header-portlet-css&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;header-portlet-javascript&amp;gt;&lt;/span&gt;/js/main.js&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/header-portlet-javascript&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;header-portlet-javascript&amp;gt;&lt;/span&gt;/js/external/jquery-1.11.1.min.js&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/header-portlet-javascript&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that here it is important to include things like jquery in this way so that on multiple portlet pages there are no namespace conflicts.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/frontend/sw360-portlets/src/main/webapp/WEB-INF/portlet.xml +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-name&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;display-name&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/display-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-class&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; com.siemens.sw360.portal.portlets.admin.DatabaseSanitation +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-class&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;init-param&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;view-template&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;value&amp;gt;&lt;/span&gt;/html/admin/databaseSanitation/view.jsp&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/value&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/init-param&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;expiration-cache&amp;gt;&lt;/span&gt;0&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/expiration-cache&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;supports&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;mime-type&amp;gt;&lt;/span&gt;text/html&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/mime-type&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-mode&amp;gt;&lt;/span&gt;view&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-mode&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/supports&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;portlet-info&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;short-title&amp;gt;&lt;/span&gt;databaseSanitation&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/short-title&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;keywords/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet-info&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;security-role-ref&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;role-name&amp;gt;&lt;/span&gt;administrator&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/role-name&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/security-role-ref&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/portlet&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After these changes we compile the frontend and then we have to add new page to the Layout and add it to the lar file. +We sign in as admin, +go to&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Admin -&amp;gt; Site administration +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-&amp;gt; Private Pages +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To add the portlet to the page, we first change the theme of Private Pages to Classic, then select Add Page. We can drag and drop it under the Admin Page. +Then we select the Private Pages under My Sites. +We can then go to the page we have just created. +On the left side there is a plus sign, which opens a side menu with the available portlets that we can add to our page. +Under SW360 we find the portlet DatabaseSanitation and we click add. +Then we can change the option (The cog symbol on the right) Look and Feel to Show Borders -&amp;gt; No and we save that. +Then we change the theme of Private Pages back to SW360-Theme.&lt;/p&gt; +&lt;p&gt;Now we can change the theme back and export a new lar file as described else where.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: SW360 Development Branches</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-branches/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-branches/</guid> + <description> + + + &lt;h2 id=&#34;branches-structure&#34;&gt;Branches structure&lt;/h2&gt; +&lt;p&gt;&lt;code&gt;&amp;lt;github-nickname&amp;gt;/&amp;lt;issue&amp;gt;/&amp;lt;description&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;examples&#34;&gt;Examples:&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;maierthomas/#1/fix-dowload-bundle&lt;/li&gt; +&lt;li&gt;maierthomas/#3/sw360portal-specific-links&lt;/li&gt; +&lt;/ul&gt; + + </description> + </item> + + <item> + <title>Docs: How to add fields to an existing class</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/</guid> + <description> + + + &lt;p&gt;The license portlet is different from the other portlets as there is no Details/Edit page for each element. There is only a combined edit/view page. +We will add the license text to licenses in the thrift file:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-thrift&#34; data-lang=&#34;thrift&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f60&#34;&gt;13&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;optional&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;string&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;text;&lt;span style=&#34;color:#bbb&#34;&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To update the text we write a liferay Action in the LicensesPortlet:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@UsedAsLiferayAction&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;changeText&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;ActionRequest request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; ActionResponse response&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; PortletException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; IOException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String licenseId &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;LICENSE_ID&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; String text &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; request&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;License&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;_Fields&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;TEXT&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;Strings&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isNullOrEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;licenseId&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; User user &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; UserCacheHolder&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getUserFromRequest&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; LicenseService&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;Iface&lt;/span&gt; client &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; thriftClients&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;makeLicenseClient&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; License license &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getFromID&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;licenseId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; license&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setText&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;CommonUtils&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;nullToEmptyString&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;text&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; RequestStatus requestStatus &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; client&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;updateLicense&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;license&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; user&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; renderRequestStatus&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;request&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;response&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt;requestStatus&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;TException e&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; log&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;error&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Error updating license&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; e&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; response&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setRenderParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;LICENSE_ID&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; licenseId&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; response&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setRenderParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;PAGENAME&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; PAGENAME_DETAIL&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; response&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setRenderParameter&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SELECTED_TAB&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;LicenseText&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To integrate it in the jsp we make the according changes, important to note is the ActionUrl that we define:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;portlet:actionURL&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;var&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;changeLicenseTextURL&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;changeText&amp;#34;&lt;/span&gt;&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;lt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;portlet:param&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&amp;lt;%=PortalConstants.LICENSE_ID%&amp;gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;${licenseDetail.id}&amp;#34;&lt;/span&gt; /&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;portlet:actionURL&lt;/span&gt;&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;A good practice to name fields in jsps is to use the thrift field names:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;lt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;textarea&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&amp;lt;portlet:namespace/&amp;gt;&amp;lt;%=License._Fields.TEXT%&amp;gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;rows&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;5&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;style&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;width: 100%&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;id&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&amp;lt;portlet:namespace/&amp;gt;&amp;lt;%=License._Fields.TEXT%&amp;gt;&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309&#34;&gt;placeholder&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Enter the License-Text here...&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;gt;${licenseDetail.text}&amp;lt;/&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;textarea&lt;/span&gt;&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Component / Release</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/</guid> + <description> + + + &lt;h2 id=&#34;add-a-component-and-release-with-vendor-present&#34;&gt;Add a component and release with vendor present&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Components&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Components&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Component&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in a component &lt;em&gt;Name&lt;/em&gt; and &lt;em&gt;Categories&lt;/em&gt; and click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;New Release Edit&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in a release &lt;em&gt;Version&lt;/em&gt; and &lt;em&gt;CPE ID&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Vendor&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search&lt;/em&gt; for a Vendor, select it and click &lt;em&gt;Select&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected Vendor is added under &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Attachments&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add Attachment&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Upload Attachment&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Browse&lt;/em&gt; and select the attachment&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File name is displayed in the dialog&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Upload&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The file is uploaded and dialog is closed. Also the attached file is listed in the &lt;em&gt;Attachment&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Change the &lt;em&gt;Attachment type&lt;/em&gt; to real type, e.g. &lt;em&gt;Source file&lt;/em&gt; if it is a source file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Type changed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Components&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new component should be added to the components list (e.g. filter by &lt;em&gt;Keyword Search&lt;/em&gt;)&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;modify-a-component-and-release-with-vendor-present&#34;&gt;Modify a component and release with vendor present&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component (e.g. created in TC01) and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Execute steps 5-16 from TC01&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-and-modify-a-component-and-release-with-all-fields-filled-in&#34;&gt;Add and modify a component and release with all fields filled in&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Components&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Components&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Component&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields under &lt;em&gt;Basic Information&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Component&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;New Release Edit&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields under &lt;em&gt;Release Summary&lt;/em&gt; and &lt;em&gt;Release Repository&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Linked Releases&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Linked Releases&lt;/em&gt; page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Click to add Releases&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Release&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search by name&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; a release to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected release is displayed under &lt;em&gt;Linked Releases&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Clearing Details&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Clearing Details&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link and upload a file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File attached successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields of the release under &lt;em&gt;Summary&lt;/em&gt;, &lt;em&gt;Linked Releases&lt;/em&gt;, &lt;em&gt;Clearing Details&lt;/em&gt; and &lt;em&gt;Attachments&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are filled in correctly&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Edit&lt;/em&gt; button, modify some fields and &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are updated successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;delete-a-component-that-is-first-linked-to-a-project-and-then-not-and-a-project&#34;&gt;Delete a component that is first linked to a project and then not, and a project&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new component&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Component is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Add a new release to this component&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Release is added successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Add the linked release created above to this project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Release linked successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to components, try to delete the newly created component (that is linked to a project)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;I could not delete the component!&lt;/em&gt; is displayed.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Component is not deleted&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to Projects, delete the newly created project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to components, delete the newly created components (not linked anymore to a project)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you want to delete component?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Component is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-new-attachments-to-an-existing-release-and-delete-attachments&#34;&gt;Add new attachments to an existing release and delete attachments&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component (e.g. created in TC01) and click &lt;em&gt;Release Overview&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The list of releases are displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on release version that needs a new attachment&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release Summary: name&lt;/em&gt; page is displayed for the selected release&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document.&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Attachments&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add Attachment&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Upload Attachment&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Browse&lt;/em&gt; and select several attachments&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File names are displayed in the dialog&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; near some files not to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;File names are removed from the list&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Upload&lt;/em&gt; button for the remaining files&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The files are uploaded and dialog is closed. Also the attached file are listed in the &lt;em&gt;Attachment&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Change some &lt;em&gt;Attachment type&lt;/em&gt; to real type, e.g. &lt;em&gt;Source file&lt;/em&gt; if it is a source file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Type changed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document.&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Attachments&lt;/em&gt; link&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Attachments&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Delete&lt;/em&gt; icon to delete an attachment&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you really want to delete this attachment?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Attachment is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;duplicate-an-existing-release&#34;&gt;Duplicate an existing release&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component with release with all fields filled in (e.g. created in TC03) and click &lt;em&gt;Release Overview&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The list of releases are displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Duplicate&lt;/em&gt; button under Action column&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;Release name Edit&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields from copied release&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All fields from &lt;em&gt;Release Summary&lt;/em&gt; and &lt;em&gt;Repository&lt;/em&gt; are unchanged&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Change the &lt;em&gt;Version&lt;/em&gt; field to a new one, fill in a &lt;em&gt;CPE ID&lt;/em&gt; and click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document.&lt;/em&gt; message is displayed.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Modify some other fields, e.g. &lt;em&gt;Release Date&lt;/em&gt; and click &lt;em&gt;Clearing Details&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Clearing Details&lt;/em&gt; page is displayed and does not contain any field from copied release&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Update Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Release Component updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on component name link on top of the page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Summary page for the component is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on _Release Overview&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new copied release is listed among previous releases&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;search-for-and-create-a-new-vendor-for-a-new-release&#34;&gt;Search for and create a new vendor for a new release&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing component and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page changes to &lt;em&gt;New Release Edit&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in a release &lt;em&gt;Version&lt;/em&gt; and &lt;em&gt;CPE ID&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Vendor&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add New Vendor&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Create New Vendor&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in &lt;em&gt;Full name&lt;/em&gt;, &lt;em&gt;Short name&lt;/em&gt; and &lt;em&gt;URL&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Vendor&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog closes and the new vendor is displayed in release &lt;em&gt;Vendor&lt;/em&gt; field&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Release&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on component name link on top of the page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Summary page for the component is displayed. The new vendor for the new release, as well as existing vendors from previous releases are listed under &lt;em&gt;Vendors&lt;/em&gt; field for the component&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: CouchDB External Documents</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/</guid> + <description> + + + &lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt; +&lt;p&gt;In some cases inline documents are not sufficient for storing extended information to a document. This is especially the case if these information might be relevant from outside as well. +Projects, components and releases contain attachments. The metadata of these attachments are stored as inline documents inside its parent document (which is the project, component or release). +However these attachments may be used by other documents as well, e.g. license info files which are attached to releases are used by projects to generate the overall license information for that project. +In such cases an external document might be the better model. For example the attachment usage can be stored along the metadata without touching the owner document on update.&lt;/p&gt; +&lt;h2 id=&#34;advantages-of-external-documents&#34;&gt;Advantages of external documents&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;single documents with a clear separation to other documents&lt;/li&gt; +&lt;li&gt;easy identification&lt;/li&gt; +&lt;li&gt;might be loaded and updated standalone&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;advantages-of-internal-documents&#34;&gt;Advantages of internal documents&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;Very fast loading along with the owner&lt;/li&gt; +&lt;li&gt;Easy handling since only the owner must be loaded or updated&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;In any case it is highly dependent on the use case whether external documents are to be favored over internal documents.&lt;/p&gt; +&lt;h2 id=&#34;possible-implementations-for-linked-documents&#34;&gt;Possible implementations for linked documents&lt;/h2&gt; +&lt;h3 id=&#34;special-responsehandler-with-special-views-from-couchdb&#34;&gt;Special ResponseHandler with special views from CouchDB&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Easy to use?&lt;/th&gt; +&lt;th&gt;Performance?&lt;/th&gt; +&lt;th&gt;Effort to use in existing code&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;:star::star: Middle, special views have to be created, fields of data objects has to be annotated.&lt;/td&gt; +&lt;td&gt;:star::star::star: Very good, fetching of multiple documents with a single request.&lt;/td&gt; +&lt;td&gt;:star: High, since existing code has to be changed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h4 id=&#34;couch-db-theory&#34;&gt;Couch-DB theory&lt;/h4&gt; +&lt;p&gt;At the time of writing, support of external (or linked) documents in Couch-DB is limited. Consider the following documents:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;project &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; type&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;project&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Testproject&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; [ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;z2&amp;#34;&lt;/span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;attachment1 &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; type&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachment&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;SourceFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sha1&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;abc1234&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;attachment2 &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; type&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachment&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;LicenseFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sha1&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;fed9876&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Unfortunately there is no way to get the project document with the attachments directly included. With the correct view you are able to retrieve all these documents in a single request:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;(doc.type &lt;span style=&#34;color:#555&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachment&amp;#34;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc._id, &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt;(&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;in&lt;/span&gt; doc.attachments) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc._id, { _id&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; doc.attachments[i]._id }); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You might see the trick: the project document as well as the attachment documents are indexed with the id of the project. This way you get all three documents when querying the view with the id of the project:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;total_rows&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;5&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;offset&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;0&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;rows&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;[{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;key&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;attachments&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;[ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a2&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ], +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Testproject&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;SourceFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;key&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p1&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;value&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;doc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; name&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;LicenseFile&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; is will only work if you query the view with &lt;code&gt;include_docs&lt;/code&gt; set to &lt;code&gt;true&lt;/code&gt;. +&lt;strong&gt;Note&lt;/strong&gt; include_docs will only work at the top level of a value. In other words it will only recognize the following to situations:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;null: if the value is null, the document which is identified by the key is included&lt;/li&gt; +&lt;li&gt;{ _id: &amp;ldquo;&amp;hellip;&amp;rdquo; }: the document identified by the given id is included. +To be clear: transitive inclusions will not work! +&lt;strong&gt;Note&lt;/strong&gt; See also &lt;a href=&#34;https://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Linked_documents&#34;&gt;https://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Linked_documents&lt;/a&gt;.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;implementation-with-ektorp&#34;&gt;Implementation with Ektorp&lt;/h3&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/pull/596&#34;&gt;https://github.com/eclipse/sw360/pull/596&lt;/a&gt; show an implementation to transparently read such results from Couch-DB. It consists of:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;new methods in the database connector which are aware of loading linked documents&lt;/li&gt; +&lt;li&gt;a response handler used for parsing the results when requesting linked documents&lt;/li&gt; +&lt;li&gt;two annotation classes to mark fields which contain ids for linked documents +After the branch was merged, the new feature can be used in only three steps. You need:&lt;/li&gt; +&lt;/ul&gt; +&lt;ol&gt; +&lt;li&gt;A view that loads the &amp;ldquo;main&amp;rdquo; documents along with there linked documents&lt;/li&gt; +&lt;li&gt;A special method in your database handler / database repository which calls the new method from the connector&lt;/li&gt; +&lt;li&gt;A mixin for your data object which annotates the fields which contain ids to linked documents&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;notes-for-1&#34;&gt;Notes for 1.&lt;/h4&gt; +&lt;p&gt;Have a look at mapping function above in the theory section. Of course you may add more than one type of linked documents, e.g. not only attachments but releases as well. +You may also emit whole objects instead of ids only. This way Couch-DB does not have to lookup each entry. However including ids over objects is an own topic.&lt;/p&gt; +&lt;h4 id=&#34;notes-for-2&#34;&gt;Notes for 2.&lt;/h4&gt; +&lt;p&gt;You should write methods in your repository as well as in your database handler that uses the new methods from the database connector.&lt;/p&gt; +&lt;h4 id=&#34;notes-for-3&#34;&gt;Notes for 3.&lt;/h4&gt; +&lt;p&gt;Be sure that the used object mapper in your database handler is aware of the mixin. Of course you can annotate more than one field. All annotated fields will be respected on loading. However, if the view does not contain an object that should be resolved, it will be replaced by null. The LinkedDocuments-annotation even allows you to name a different destination field for the resolved objects for easier integration into the existing code.&lt;/p&gt; +&lt;h2 id=&#34;usage-with-ektorp&#34;&gt;Usage with Ektorp&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Easy to use?&lt;/th&gt; +&lt;th&gt;Performance?&lt;/th&gt; +&lt;th&gt;Effort to use in existing code&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;:no_entry: does not work&lt;/td&gt; +&lt;td&gt;:no_entry:&lt;/td&gt; +&lt;td&gt;:no_entry:&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;Since SW360 is using Ektorp as Objectmapper, a response like above is not suitable. Ektorp is just not able to parse the above response correctly. +However Ektorp has a linking feature as well: You may annotate fields with the &lt;code&gt;@DocumentReference&lt;/code&gt;-Annotation to tell Ektorp to store the content within external documents. This only works with fields of type &lt;code&gt;Set&lt;/code&gt; at the moment of writing. Since SW360 data objects are generated using Thrift, directly annotating the field is not possible. Due to the mixin feature of Ektorp this is not a big issue. Unfortunately making the &lt;code&gt;@DocumentReference&lt;/code&gt;-annotation to work was not possible with a reasonable effort.&lt;/p&gt; +&lt;p&gt;Internally Ektorp is also using special views for getting linked documents to work. A quick look into the source codes suggests that this feature is implemented using special serializers which would lead to additional requests on loading and storing as well. Therefore the same performance issues might be come across if the annotation would work.&lt;/p&gt; +&lt;h3 id=&#34;own-serializerdeserzialer&#34;&gt;Own serializer/deserzialer&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Easy to use?&lt;/th&gt; +&lt;th&gt;Performance?&lt;/th&gt; +&lt;th&gt;Effort to use in existing code&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;:star::star::star: Quite easy, just some Jackson configuration necessary&lt;/td&gt; +&lt;td&gt;:star::star: Good, but every type of linked objects needs an additional request&lt;/td&gt; +&lt;td&gt;:star::star::star: Low, existing code does not have to be changed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;This method works just like the Ektorp way. In addition a slow transition from internal to external documents is possible, since the custom serialization methods will handle both cases directly. Any embedded documents will be externalized on first update of the owner object. +The following classes are needed:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Repository for the new external documents&lt;/li&gt; +&lt;li&gt;DatabaseHandler for the new external documents&lt;/li&gt; +&lt;li&gt;Mixin-Class to add annotations to the field with external documents&lt;/li&gt; +&lt;li&gt;A new mapper factory to properly configure the custom serializer&lt;/li&gt; +&lt;li&gt;Custom serializers/deserializer&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;example-for-externalizing-attachments&#34;&gt;Example for externalizing attachments&lt;/h4&gt; +&lt;h5 id=&#34;mixin-class&#34;&gt;Mixin-Class&lt;/h5&gt; +&lt;p&gt;This will configure Ektorp to use a special class for this field. We use a special serializer for the field instead of for the type (in this case Attachment), so we can do serialization/deserialization for all attachments at once. If we would use a special serializer, every&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;abstract&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;SplitAttachmentsMixin&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; DatabaseMixIn &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@JsonSerialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;using &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; AttachmentSetSerializer&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@JsonDeserialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;using &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; AttachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;abstract&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;setAttachments&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&#34;mapper-factory&#34;&gt;Mapper factory&lt;/h5&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;SplitAttachmentsMapperFactory&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; MapperFactory &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentHandlerInstantiator handlerInitiator&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;SplitAttachmentsMapperFactory&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; handlerInitiator &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentHandlerInstantiator&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; ObjectMapper &lt;span style=&#34;color:#c0f&#34;&gt;createObjectMapper&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ObjectMapper objectMapper &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;super&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;createObjectMapper&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; objectMapper&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addMixInAnnotations&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Project&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; SplitAttachmentsMixin&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; objectMapper&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;setHandlerInstantiator&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;handlerInitiator&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; objectMapper&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;AttachmentHandlerInstantiator&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; HandlerInstantiator &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentSetSerializer attachmentSetSerializer&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentSetDeserializer attachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;AttachmentHandlerInstantiator&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachmentSetSerializer &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentSetSerializer&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachmentSetDeserializer &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; JsonDeserializer&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;?&amp;gt;&lt;/span&gt; deserializerInstance&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;DeserializationConfig config&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; Annotated annotated&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; Class&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;?&amp;gt;&lt;/span&gt; deserClass&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;deserClass&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isInstance&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; attachmentSetDeserializer&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;...&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&#34;serializer&#34;&gt;Serializer&lt;/h5&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;AttachmentSetSerializer&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; JsonSerializer&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentDatabaseHandler handler&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;AttachmentSetSerializer&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;this&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;handler&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentDatabaseHandler&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#078;font-weight:bold&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;serialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; JsonGenerator jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; SerializerProvider provider&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; JsonProcessingException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; List&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;DocumentOperationResult&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; results &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;bulkCreateOrUpdateAttachments&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachments&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;results&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Cannot create or update attachments. Some failed: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; results&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Exception exception&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Cannot create or update attachments.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; exception&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeStartArray&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Attachment attachment &lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeStartObject&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeStringField&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeEndObject&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jsonGenerator&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;writeEndArray&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;deserializer&#34;&gt;Deserializer&lt;/h4&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#0a8;font-weight:bold&#34;&gt;AttachmentSetDeserializer&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;extends&lt;/span&gt; JsonDeserializer&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;final&lt;/span&gt; AttachmentDatabaseHandler handler&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;AttachmentSetDeserializer&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Supplier&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;HttpClient&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; String dbName&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; MalformedURLException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;this&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;handler&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; AttachmentDatabaseHandler&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;httpClient&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; dbName&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#99f&#34;&gt;@Override&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;public&lt;/span&gt; Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#c0f&#34;&gt;deserialize&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;JsonParser jsonParser&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; DeserializationContext context&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throws&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; JsonProcessingException &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachments &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; Sets&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;newHashSet&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isExpectedStartArrayToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IllegalStateException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Expected array token but found: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getCurrentToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;().&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;asString&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Set&lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#555&#34;&gt;&amp;gt;&lt;/span&gt; attachmentIds &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; Sets&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;newHashSet&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; JsonToken token &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;nextToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;while&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;JsonToken&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;END_ARRAY&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;equals&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;token&lt;span style=&#34;color:#555&#34;&gt;))&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;switch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;token&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;case&lt;/span&gt; START_OBJECT&lt;span style=&#34;color:#555&#34;&gt;:&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Attachment attachment &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;readValueAs&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;Attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isSetId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;!&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isSetRevision&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachmentIds&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getId&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;add&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachment&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;break&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99f&#34;&gt; default:&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IllegalStateException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Unexpected token. Expected object or string but found: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;getCurrentToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;().&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;asString&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;());&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; token &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; jsonParser&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;nextToken&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;();&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(!&lt;/span&gt;attachmentIds&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;isEmpty&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;())&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;try&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;addAll&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;handler&lt;span style=&#34;color:#555&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#309&#34;&gt;retrieveAttachments&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;attachmentIds&lt;span style=&#34;color:#555&#34;&gt;));&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;catch&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;SW360Exception exception&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;new&lt;/span&gt; IOException&lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Cannot load attachments (&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; attachmentIds &lt;span style=&#34;color:#555&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;)&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;,&lt;/span&gt; exception&lt;span style=&#34;color:#555&#34;&gt;);&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; attachments&lt;span style=&#34;color:#555&#34;&gt;;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Database migration using Costco</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/</guid> + <description> + + + &lt;h3 id=&#34;praeamble&#34;&gt;Praeamble&lt;/h3&gt; +&lt;p&gt;Please note that database migrations are done now in python scripts at&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/tree/master/scripts/migrations&#34;&gt;https://github.com/eclipse/sw360/tree/master/scripts/migrations&lt;/a&gt;&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;keeping the following page because Costco might be useful for development / testing / quick adaptations.&lt;/p&gt; +&lt;h3 id=&#34;problem&#34;&gt;Problem&lt;/h3&gt; +&lt;p&gt;The main problem with changing field names in thrift is that existing documents in the couchdb need adjustments. Unfortunately, the futon interface of the couchdb does not offer bulk edits. As a consequence, looking into every document is tedious, for more than 100 documents, maybe unfeasible.&lt;/p&gt; +&lt;h3 id=&#34;solution&#34;&gt;Solution&lt;/h3&gt; +&lt;p&gt;Use costco, an open source project that&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;is a couchapp (right, this implies that you install the couchapp environment)&lt;/li&gt; +&lt;li&gt;offers a Web interface as sub path of the couchdb database&lt;/li&gt; +&lt;li&gt;allows to iterate through the documents of a database and then apply modifications on a particular document&lt;/li&gt; +&lt;li&gt;allows to perform modifications on documents using Java script&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;More information&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Project website: &lt;a href=&#34;https://github.com/harthur/costco&#34;&gt;https://github.com/harthur/costco&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;Useful examples: &lt;a href=&#34;http://harthur.github.io/costco/&#34;&gt;http://harthur.github.io/costco/&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Note that costco does not allow to perform operations involving several documents at once, for example, setting values in one document that results from querying from several other documents. Costco is perfect for corrections on the couchdb document &amp;lsquo;schema&amp;rsquo; (not in the classic sense as there is no schema in couchdb).&lt;/p&gt; +&lt;h3 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h3&gt; +&lt;p&gt;If you try to install costco, you try to install couchapp mst likely. However, it might be that some python packages are missing which results in a &amp;rsquo;not-so-obvious&amp;rsquo; python error during install of couchapp. The following line could be th dependencies that you might need:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install python-dev libxml2-dev libxslt-dev +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;cheat-sheet-installing-costco-inside-an-sw360vagrant-deployment&#34;&gt;Cheat Sheet: Installing costco inside an sw360vagrant deployment&lt;/h3&gt; +&lt;p&gt;OK, if you read until here, to make it easy for you just the few lines to have executed to install costco when youi have a machine that is deployed with our vagrant:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt-get install python-dev libxml2-dev libxslt-dev +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo pip install couchapp +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone http://github.com/harthur/costco.git +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; costco +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ couchapp push . http://localhost:5984/sw360db +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;examples-in-sw360&#34;&gt;Examples in sw360&lt;/h3&gt; +&lt;p&gt;The following examples show some costco code from the use with sw360.&lt;/p&gt; +&lt;h4 id=&#34;renaming-a-key&#34;&gt;Renaming a key&lt;/h4&gt; +&lt;p&gt;In order to rename a field&amp;rsquo;s key, the following code might be helpful. In the following example, the field&amp;rsquo;s key &lt;code&gt;developement&lt;/code&gt; into &lt;code&gt;development&lt;/code&gt; (correcting a typo in the datamodel).&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;(doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;todo&amp;#39;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.development &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; doc.developement; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;delete&lt;/span&gt; doc.developement; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;renaming-a-key-in-a-subdocument&#34;&gt;Renaming a key in a subdocument&lt;/h4&gt; +&lt;p&gt;Similar thing as above, rename a key from &lt;code&gt;comment&lt;/code&gt; to &lt;code&gt;createdcomment&lt;/code&gt;, but this time inside a nested list of documents.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; (doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;release&amp;#39;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;var&lt;/span&gt; f &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f60&#34;&gt;0&lt;/span&gt;, len &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; doc.attachments.length; f &lt;span style=&#34;color:#555&#34;&gt;&amp;lt;&lt;/span&gt; len; f &lt;span style=&#34;color:#555&#34;&gt;+=&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;1&lt;/span&gt; ) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.attachments[f].createdComment &lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt; doc.attachments[f].comment; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;delete&lt;/span&gt; doc.attachments[f].comment; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;return&lt;/span&gt; doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;more-javascript-examples-with-couchdb&#34;&gt;More JavaScript Examples with CouchDB&lt;/h3&gt; +&lt;p&gt;In addition to costco, also the couchdb map-reduce functions can help to track down issues in the data sets.&lt;/p&gt; +&lt;p&gt;The following example searched for attachments of type &lt;code&gt;SOURCE&lt;/code&gt; at releases, which do not have the &lt;code&gt;createdBy&lt;/code&gt; set:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; ((doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;release&amp;#39;&lt;/span&gt;) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (doc.attachments)) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;var&lt;/span&gt; attachment &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;in&lt;/span&gt; doc.attachments) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#555&#34;&gt;!&lt;/span&gt;doc.attachments[attachment].createdBy) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt; (doc.attachments[attachment].attachmentType&lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;SOURCE&amp;#39;&lt;/span&gt;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc._id, doc.attachments[attachment].filename); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following example looks into date fields, in this case &lt;code&gt;createdOn&lt;/code&gt;, and checks if it uses dots (for changing them into dashes).&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JavaScript&#34; data-lang=&#34;JavaScript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;function&lt;/span&gt;(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;if&lt;/span&gt;( +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (doc.type &lt;span style=&#34;color:#555&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;release&amp;#39;&lt;/span&gt;) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#555&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; (doc.createdOn.indexOf(&lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;.&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#555&#34;&gt;!==&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;1&lt;/span&gt;) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; emit(doc.name, doc) +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Definition of Done</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/</guid> + <description> + + + &lt;h3 id=&#34;policy&#34;&gt;Policy&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Review points should involve one person from another angle (not just the person you were sitting together with anyways)&lt;/li&gt; +&lt;li&gt;Limit items in review to 5, try to coordinate&lt;/li&gt; +&lt;li&gt;Using Github assignments to issues or pull requests&lt;/li&gt; +&lt;li&gt;Open review items require conversation&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;definition-of-done&#34;&gt;Definition of Done&lt;/h1&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;File headers in file OK&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;EPL-2.0 license header&lt;/li&gt; +&lt;li&gt;Or, if the file is too small, configuration file: license note (see code style)&lt;/li&gt; +&lt;li&gt;Copyright and author&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Create Branches for sw360&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Please use conventional branch names for sw360 (&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Branches&#34;&gt;Dev-Branches&lt;/a&gt;)&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Avoid (serious) compiler warnings&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Squash your commits into one or more logical units of work. No dozens of hourly/daily commits in your pull request, please&lt;/li&gt; +&lt;li&gt;Rebase onto current master so that a fast forward merge is possible&lt;/li&gt; +&lt;li&gt;That means that merge to master is prepared&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;use conventional change log for commit messages (&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Semantic-Commits&#34;&gt;Dev-Semantic-Commits&lt;/a&gt;) &lt;br&gt; For more information please go to &lt;a href=&#34;https://conventionalcommits.org/&#34;&gt;https://conventionalcommits.org/&lt;/a&gt;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;No breaking test&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Unit testing as it is already present&lt;/li&gt; +&lt;li&gt;You have more - use them!&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;New test&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;For new / added functionality&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Documentation&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;in the Githuib Wiki-Section, if you have done something new&lt;/li&gt; +&lt;li&gt;At least a technical note for newly added functionality&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Commit style&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;try to squash commits. In the ideal case, a feature is contained in one commit.&lt;/li&gt; +&lt;li&gt;try to use conventional changelog for commit messages. (&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Semantic-Commits&#34;&gt;Dev-Semantic-Commits&lt;/a&gt;)&lt;/li&gt; +&lt;/ul&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;review&#34;&gt;Review&lt;/h1&gt; +&lt;p&gt;Review basically checks for the D-o-D items, in particular&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Code style, not really formatting, but issues like style attributes in HTML tags or exception handling useful&lt;/li&gt; +&lt;li&gt;Design / architecture issues&lt;/li&gt; +&lt;li&gt;Community contribution suitability&lt;/li&gt; +&lt;li&gt;Issue coverage (does it actually solve the problem?)&lt;/li&gt; +&lt;li&gt;Add to commit message of merge commit explicitly:&lt;/li&gt; +&lt;/ul&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;review-by:email@domain.com +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tested-by:email@domain.com +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;licensing-and-file-header&#34;&gt;Licensing and File Header&lt;/h1&gt; +&lt;p&gt;All files contributed require headers - this will ensure the license and copyright clearing at the end. Also, all contributions must have the same license as the original source.&lt;/p&gt; +&lt;p&gt;If a file has relevant functionality, note that we should move to Eclipse 2.0&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Java&#34; data-lang=&#34;Java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;/* +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * Copyright COPYRIGHT HOLDER, 2017. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * Copyright NEXT COPYRIGHT HOLDER, 2017. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * Part of the SW360 Portal Project. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * SPDX-License-Identifier: EPL-1.0 +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * All rights reserved. This program and the accompanying materials +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * are made available under the terms of the Eclipse Public License v1.0 +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * which accompanies this distribution, and is available at +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; * http://www.eclipse.org/legal/epl-v10.html +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt; */&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(please adapt comment characters usage)&lt;/p&gt; +&lt;p&gt;For small files such as property files, configuration files or standard XML files:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Copyright &amp;lt;COPYRIGHT_HOLDER&amp;gt;, &amp;lt;YEAR&amp;gt;. Part of the SW360 Portal Project.&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;#&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# All rights reserved. This configuration file is provided to you under the&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# terms and conditions of the Eclipse Distribution License v1.0 which&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# accompanies this distribution, and is available at&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# http://www.eclipse.org/org/documents/edl-v10.php&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;code-style&#34;&gt;Code style&lt;/h1&gt; +&lt;p&gt;Just use the standard Java formatting rules of your IDE and &lt;strong&gt;do not reformat&lt;/strong&gt; code from others, because you like to correct formatting of other&amp;rsquo;s code.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Filtering in Portlets</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/</guid> + <description> + + + &lt;p&gt;For the filters that are shown for components and listings, there are some options:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;The &lt;strong&gt;Keyword search&lt;/strong&gt; works directly on the table shown on the main right area. For example in the components portlet, this is in components/view.jsp.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The &lt;strong&gt;filters&lt;/strong&gt; actually result in a new search request, when hitting apply filters button. The project portlet reads the fields and creates a map. Then, &lt;code&gt;ProjectPortlet&lt;/code&gt; calls the thrift service &lt;code&gt;refineSearch()&lt;/code&gt;, which is handled in &lt;code&gt;ProjectHandler&lt;/code&gt;. This method takes the map and the user as input. The search service has a server-side JavaScript function (LuceneSearchView) defined for this particular filter in &lt;code&gt;ProjectSearchHandler.java&lt;/code&gt;. This is called with the &lt;code&gt;LuceneAwareDatabaseConnector.java&lt;/code&gt;. After filtering, the visibility constraints for the requesting user are applied.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Then for each release table, there is a search field in the upper right corner. This again works on the data of the Release summary object and then filters what is on the client (web browser).&lt;/p&gt; +&lt;/li&gt; +&lt;/ol&gt; + + </description> + </item> + + <item> + <title>Docs: Fossology Integration</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/</guid> + <description> + + + &lt;p&gt;Basic communication with the FOSSology server is done over an SSH connection: the fossology service of SW360 executes remote commands on the FOSSology server.&lt;/p&gt; +&lt;p&gt;The commands that are executed are the bash scripts found inside &lt;code&gt;src-fossology/src/main/resources/scripts/&lt;/code&gt;, they are copied into the home directory of the ssh user (either manually or through the admin portlet). +See &lt;a href=&#34;Fossology-Setup&#34;&gt;Setup of connection with Fossology&lt;/a&gt; for configuration details.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;\- src-fossology/src/main/resources/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; \- scripts/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- duplicateUpload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- folderManager +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- getStatusOfUpload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; |- uploadFromSW360 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; \- utilsSW360 +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;These scripts utilize the standard command line tools to interact natively with FOSSology (these are the tools found in the src/cli folder of FOSSology, such as &lt;code&gt;cp2foss fossjobs fossupload_status fo_usergroup fo_chmod fo_folder ...&lt;/code&gt;).&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;utilsSW360&lt;/code&gt; contains common functions used by the other scripts and some FOSSology configuration such as the user/password pair used to run the cli utils and the UNIX group of the FOSSology processes&lt;/li&gt; +&lt;li&gt;&lt;code&gt;folderManager&lt;/code&gt; (uses FO:&lt;code&gt;fo_folder&lt;/code&gt;): get information about the folder structure of FOSSology to allow sharing of uploads between groups&lt;/li&gt; +&lt;li&gt;&lt;code&gt;getStatusOfUpload&lt;/code&gt; (uses FO:&lt;code&gt;fossupload_status&lt;/code&gt;): to get the clearing status given an uploadId and a group&lt;/li&gt; +&lt;li&gt;&lt;code&gt;uploadFromSW360&lt;/code&gt; (uses FO:&lt;code&gt;cp2foss fossjobs&lt;/code&gt;): to create a new upload from the standard input and schedule scanners&lt;/li&gt; +&lt;li&gt;&lt;code&gt;duplicateUpload&lt;/code&gt; (uses FO:&lt;code&gt;fo_chmod&lt;/code&gt; SW:&lt;code&gt;folderManager&lt;/code&gt;): to make a previously uploaded file available for another group&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;java-libraries-and-settings&#34;&gt;Java libraries and settings&lt;/h3&gt; +&lt;p&gt;The java code utilizes the package &lt;code&gt;com.jcraft.jsch&lt;/code&gt; to connect to the SSH server. It is set to strictly check the fingerprint of the remote server against the accepted which are stored in couchDB.&lt;/p&gt; +&lt;h3 id=&#34;conventions&#34;&gt;Conventions&lt;/h3&gt; +&lt;p&gt;the sw360 user in FOSSology (the actual name is configured in &lt;code&gt;utilsSW360&lt;/code&gt;) &lt;strong&gt;must be a member of every group&lt;/strong&gt; to which it should be able to send Releases to be cleared. +File uploaded from SW360 are placed inside a folder with the same name as the group and permission will be set at the group level (default of cp2foss).&lt;/p&gt; +&lt;h3 id=&#34;datamodel-and-thrift-service&#34;&gt;Datamodel and thrift service&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;each Release object in SW360 can have only one attachment of type SOURCE.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;when a Release is sent &lt;em&gt;for the first time&lt;/em&gt; to FOSSology through the Thrift method &lt;code&gt;sendToFossology(1: string releaseId, 2: string clearingTeam )&lt;/code&gt; its SOURCE attachement is sent as stdin to the script &lt;code&gt;uploadFromSW360&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;The field &lt;code&gt;map&amp;lt;string, FossologyStatus&amp;gt; clearingTeamToFossologyStatus&lt;/code&gt; is then updated to contain the corresponding entry for the chosen Clearing Team (aka. the name of the FOSSology group which will receives the upload for clearing).&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;when the same Release is &lt;em&gt;sent again for another team&lt;/em&gt; a new &lt;em&gt;link&lt;/em&gt; in the corresponding group folder is created and the old upload is made available for the new group (as in giving permission using FO:&lt;code&gt;fo_chmod&lt;/code&gt;).&lt;/p&gt; +&lt;p&gt;At the moment this gives access only to the files, not to the relative clearing decision. +In order to make the clearing decisions available a reuser needs to be scheduled from the Jobs menu. [ it could be possible to schedule the job from SW360: its user is member of all the groups; but it is not currently implemented since there is no cli interface for reuser yet ]&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;when the current status is requested using the Thrift method &lt;code&gt;Release getStatusInFossology(1: string releaseId, 2: string clearingTeam )&lt;/code&gt; the newest status is fetched from FOSSology and it is stored in the map for the relative clearingTeam&lt;/p&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;notes&#34;&gt;Notes&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Releases have a ClearingState field, but this is ignored by the Thrift service and used only in the SW360 user interface.&lt;/li&gt; +&lt;li&gt;Projects link to Releases and the summary of their FOSSology status can be monitored. This is also ignored by the FOSSology Thrift service and handled by the Component service: the FOSSology service just updates the status of the Release objects.&lt;/li&gt; +&lt;/ul&gt; + + </description> + </item> + + <item> + <title>Docs: Licenses</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/</guid> + <description> + + + &lt;h2 id=&#34;create-edit-and-delete-license&#34;&gt;Create, edit and delete license&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known &lt;em&gt;clearing admin&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Licenses&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Licenses&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add License&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New License&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in &lt;em&gt;Fullname&lt;/em&gt; and &lt;em&gt;Shortname&lt;/em&gt; fields and press &lt;em&gt;Add License&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License added successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Write the license or part of newly created license name in &lt;em&gt;Keyword Search&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;License is filtered successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on license name and then on &lt;em&gt;Edit License Details and Text&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;License page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Modify some fields and click &lt;em&gt;Update License&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields on &lt;em&gt;Details&lt;/em&gt; and &lt;em&gt;Text&lt;/em&gt; pages&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are filled in correctly&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit License Details and Text&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;License page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click o &lt;em&gt;Delete&lt;/em&gt; license name&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License removed successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;edit-license-todos-and-obligations&#34;&gt;Edit license TODOs and Obligations&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known &lt;em&gt;clearing admin&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on previously created license name&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License Details&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add a Todo&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Todo page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Enter a Todo text (e.g. &amp;ldquo;First todo text&amp;rdquo;), click &lt;em&gt;Applies to development&lt;/em&gt;, and click &lt;em&gt;Submit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;TODOs and Obligations&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The previously entered Todo is listed on the page with &lt;em&gt;No obligations&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Add a Todo&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Todo page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Enter a Todo text (e.g. &amp;ldquo;Second todo text&amp;rdquo;), click on some Obligations and click Submit&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;License updated successfully!&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click TODOs and Obligations&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The previously entered Todo is listed on the page together with chosen obligations&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Edit WhiteList&lt;/em&gt;, deselect first Todo and click &lt;em&gt;Submit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The deselected Todo is not displayed anymore on &lt;em&gt;TODOs and Obligations&lt;/em&gt; page&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;check-export-licenses&#34;&gt;Check Export Licenses&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Licenses&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Licenses&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Export Licenses&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;A dialog for opening &lt;em&gt;Licenses.xlsx&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open the xlsx file and compare the number of rows with total number of entries from &lt;em&gt;Licenses&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All licenses names are exported successfully.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Liferay Friendly</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/</guid> + <description> + + + &lt;p&gt;The normal generated portlet URLs containing a set of internal Liferay request parameters. &lt;br&gt; +These long URLs of links or forms are mostly not readable and its not easy to share it somewhere else.&lt;/p&gt; +&lt;p&gt;General Liferay portlet URL: &lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:8080/web/guest/examples?p_p_id=example_WAR_ExamplePortlet&amp;amp;p_p_lifecycle=1&amp;amp;p_p_state=normal&amp;amp;p_p_mode=view&amp;amp;p_p_col_id=column-1&amp;amp;p_p_col_count=1&amp;amp;_example_WAR_ExamplePortlet_javax.portlet.action=new +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Explanation of the Liferay request parameters: &lt;br&gt; +&lt;strong&gt;p_p_id:&lt;/strong&gt; The portlet ID (example_WAR_ExamplePortlet)&lt;br&gt; +&lt;strong&gt;p_p_state:&lt;/strong&gt; Liferay windows pages state - 1 (normal) 2 (maximize) 3 (minimize) &lt;br&gt; +&lt;strong&gt;p_p_mode&lt;/strong&gt;: Mode of the portlet look like - (view) (edit) (help) &lt;br&gt; +&lt;strong&gt;p_p_lifecycle:&lt;/strong&gt; This is life cycle of portlet - 0 (render) 1 (action) 2 (server) &lt;br&gt; +&lt;strong&gt;p_p_col_id:&lt;/strong&gt; The reference ID of the column in Liferay template &lt;br&gt; +&lt;strong&gt;p_p_col_pos:&lt;/strong&gt; Specifiy the column position if the the layout having more than one columns &lt;br&gt; +&lt;strong&gt;p_p_col_count:&lt;/strong&gt; Shows the no of columns in the current layout&lt;/p&gt; +&lt;h3 id=&#34;friendly-url-mapper-configuration&#34;&gt;Friendly URL Mapper configuration&lt;/h3&gt; +&lt;p&gt;Liferay provides a mechanism to shorten the generated URLs by using the Friendly URL Mapper feature. &lt;br&gt; &lt;br&gt; +How to configure the friendly URL Mapper in Liferay? &lt;br&gt; &lt;br&gt; +&lt;strong&gt;Configuration of URL routes in XML files&lt;/strong&gt; &lt;br&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;CREATE example-friendly-url-routes.xml&lt;/em&gt; &lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Xml&#34; data-lang=&#34;Xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34;?&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&amp;lt;!DOCTYPE routes PUBLIC &amp;#34;-//Liferay//DTD Friendly URL Routes 6.2.2//EN&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&amp;#34;http://www.liferay.com/dtd/liferay-friendly-url-routes_6_0_0.dtd&amp;#34;&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;routes&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;route&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;pattern&amp;gt;&lt;/span&gt;/action/{actionName}&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/pattern&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;generated-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;javax.portlet.action&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;{actionName}&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/generated-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;ignored-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_auth&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;ignored-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;implicit-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_lifecycle&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;1&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/implicit-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;implicit-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_state&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;normal&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/implicit-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;implicit-parameter&lt;/span&gt; &lt;span style=&#34;color:#309&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;p_p_mode&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;view&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/implicit-parameter&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/route&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/routes&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Explanation of the Liferay Friendly Mapper route parameters: &lt;br&gt; +&lt;strong&gt;routes:&lt;/strong&gt; Routes element which contains all route entries &lt;br&gt; +&lt;strong&gt;route:&lt;/strong&gt; Single route element entry &lt;br&gt; +&lt;strong&gt;pattern:&lt;/strong&gt; Pattern of the mapped friendly URL (visible in address bar) &lt;br&gt; +&lt;strong&gt;generated-parameter:&lt;/strong&gt; These parameters will be generated from parameters in the request URL &lt;br&gt; +&lt;strong&gt;ignored-parameter:&lt;/strong&gt; These parameters will be igored and not included in generated URLs &lt;br&gt; +&lt;strong&gt;implicit-parameter:&lt;/strong&gt; Used for static attributes which can be ignored by recognition &lt;br&gt; +&lt;strong&gt;overridden-parameter:&lt;/strong&gt; Parameter that should be set to a certain value when a URL is recognized &lt;br&gt; +&lt;br&gt; +It is necessary to order the parameters as described above. &lt;br&gt; +These files should located in the resources folder otherwise they will not be available on Apache Tomcat and cannot be initialized by Liferay. &lt;br&gt; +&lt;br&gt; +&lt;strong&gt;Configuration of friendly URL Java class&lt;/strong&gt; &lt;br&gt; +&lt;br&gt; +&lt;em&gt;MODIFY liferay-portlet.xml&lt;/em&gt; +&lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Xml&#34; data-lang=&#34;Xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;friendly-url-mapper-class&amp;gt;&lt;/span&gt;com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/friendly-url-mapper-class&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;friendly-url-mapping&amp;gt;&lt;/span&gt;example&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/friendly-url-mapping&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;friendly-url-routes&amp;gt;&lt;/span&gt;com/.../example-friendly-url-routes.xml&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/friendly-url-routes&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br&gt; +In the next step we need one java implementation class to generate the Liferay friendly URLs. &lt;br&gt; +&lt;p&gt;Liferay provides the &lt;em&gt;DefaultFriendlyURLMapper&lt;/em&gt; class to create the URLs based on our rules. &lt;br&gt;&lt;/p&gt; +&lt;p&gt;The Liferay Friendly URL Mapper configuration is placed after &lt;code&gt;&amp;lt;icon/&amp;gt;&lt;/code&gt; and before &lt;code&gt;&amp;lt;instanceable&amp;gt;&lt;/code&gt; +tag.&lt;/p&gt; +&lt;h3 id=&#34;friendly-url-mapper-outcome&#34;&gt;Friendly URL Mapper outcome&lt;/h3&gt; +&lt;p&gt;&lt;strong&gt;Liferay will generate the following friendly URL&lt;/strong&gt; &lt;br&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:8080/web/guest/examples/-/example/action/new +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br&gt; +&lt;ol&gt; +&lt;li&gt;The liferay framework will add &amp;ldquo;-&amp;rdquo; (dash)&lt;/li&gt; +&lt;li&gt;Friendly URL mapper name which is configured in &lt;code&gt;&amp;lt;friendly-url-mapping&amp;gt;&lt;/code&gt; (liferay-portlet.xml) element&lt;/li&gt; +&lt;li&gt;Pattern name with generated parameters which is same as in &lt;code&gt;&amp;lt;pattern&amp;gt;&lt;/code&gt; (example-friendly-url-routes.xml) defined.&lt;/li&gt; +&lt;/ol&gt; +&lt;h3 id=&#34;additional&#34;&gt;Additional&lt;/h3&gt; +&lt;p&gt;Friendly URL Mapper functionality is not working if the portletURL API is used to generate the Liferay URL in local Javascript. &lt;br&gt; +It is helpful to generate &lt;code&gt;&amp;lt;portlet:renderURL&amp;gt;&lt;/code&gt; placeholder and replace them by using dummy values.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Moderation</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/</guid> + <description> + + + &lt;h2 id=&#34;accept-moderation-request-for-visible-projects-by-other-users&#34;&gt;Accept moderation request, for visible projects by other users&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open first browser instance ((e.g. &amp;ldquo;firefox.exe -p &amp;ldquo;profile1&amp;rdquo; -no-remote&amp;rdquo;) and sign in with a known &lt;em&gt;First&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open a second browser instance ((e.g. &amp;ldquo;firefox.exe -p &amp;ldquo;profile2&amp;rdquo; -no-remote&amp;rdquo;) and sign in with a known &lt;em&gt;Second&lt;/em&gt; user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;First&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new project visible for &lt;em&gt;Second&lt;/em&gt; user (e.g. &lt;em&gt;Me and Moderators&lt;/em&gt;, &lt;em&gt;Group and Moderators&lt;/em&gt;, &lt;em&gt;Everyone&lt;/em&gt;)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for the above created project and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You will create a moderation request if you update.&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Edit Description field or other fields and click &lt;em&gt;Update Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Moderation request was sent to update the Project name!&lt;/em&gt; message is displayed.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;First&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;My Task Assignments&lt;/em&gt; on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The above project that needs moderation is displayed with status &lt;em&gt;PENDING&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Moderation&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The moderation request of &lt;em&gt;Second&lt;/em&gt; user is displayed with state &lt;em&gt;Pending&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on moderation request&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Moderation Change Project&lt;/em&gt; page is displayed, with proposed changes from step 7 listed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Accept Request&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You have accepted the previous moderation request.&lt;/em&gt; message is displayed, and State changes to &lt;em&gt;Approved&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;My Task Assignments&lt;/em&gt; on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;APPROVED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check _My Task Submissions on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;APPROVED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open the &lt;em&gt;Projects&lt;/em&gt; tab and click on previously modified project on step 7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project &lt;em&gt;Summary&lt;/em&gt; page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;17&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check the moderation requested changes&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Changes are visible in the corresponding fields&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;decline-moderation-request-for-visible-projects-by-other-users&#34;&gt;Decline moderation request, for visible projects by other users&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1-11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC01&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Decline Request&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You have declined the previous moderation request&lt;/em&gt; message is displayed, and State changes to &lt;em&gt;Rejected&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;My Task Assignments&lt;/em&gt; on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;REJECTED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check _My Task Submissions on &lt;em&gt;Home&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Status is &lt;em&gt;REJECTED&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Open the &lt;em&gt;Projects&lt;/em&gt; tab and click on previously modified project on step 7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project &lt;em&gt;Summary&lt;/em&gt; page displayed successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;17&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check the moderation requested changes&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Changes are not visible in the corresponding fields&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;remove-me-from-moderators-for-moderation-request-for-visible-projects-by-other-users&#34;&gt;Remove Me from Moderators for moderation request, for visible projects by other users&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1-11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC01&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Remove Me from Moderators&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are the last moderator for this request - you are not allowed to unsubscribe.&lt;/em&gt; message is displayed (assuming only &lt;em&gt;First&lt;/em&gt; user was listed under &lt;em&gt;Moderators&lt;/em&gt; column in step 10)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Decline Request&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You have declined the previous moderation request&lt;/em&gt; message is displayed, and State changes to &lt;em&gt;Rejected&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Edit the project and add a new moderator (e.g. &lt;em&gt;Third&lt;/em&gt; user) under &lt;em&gt;Moderators&lt;/em&gt; field&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project updated successfully.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;Second&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;16&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Edit the project and create a new moderation request&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Moderation request was sent&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;17&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Activate &lt;em&gt;First&lt;/em&gt; browser instance&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Instance is active&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;18&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Moderation&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The moderation request of &lt;em&gt;Second&lt;/em&gt; user is displayed with state &lt;em&gt;Pending&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;19&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on moderation request&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Moderation Change Project&lt;/em&gt; page is displayed, with proposed changes from step 7 listed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;20&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Remove Me from Moderators&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are removed from the list of moderators for the previous moderation request. You have no open Requests.&lt;/em&gt; message is displayed. Also the document is deleted from moderation list.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;21&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Login with the &lt;em&gt;Third&lt;/em&gt; user and check the &lt;em&gt;Moderation&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The moderation request of &lt;em&gt;Second&lt;/em&gt; user is displayed with state &lt;em&gt;Pending&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Moderation Requests</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/</guid> + <description> + + + &lt;p&gt;The concept of moderation is good for two things:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;to cope with a large number of potential edits on documents.&lt;/li&gt; +&lt;li&gt;to allow every user to propose edits.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Allowing every user to edit opposed to propose edits would lad to a large number of changes, potentially, not making everyone happy. As such, the changes should be reviewed by an experienced person and can be then approved.&lt;/p&gt; +&lt;h2 id=&#34;application-flow&#34;&gt;Application Flow&lt;/h2&gt; +&lt;p&gt;A user changes a moderated document, which are component, release, project and todo&amp;rsquo;s of licenses (and the white list):&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;The user switches in edit mode and applies a change.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The user submits the change by clicking &amp;ldquo;Update &amp;hellip;&amp;rdquo;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The application checks, if the permissions are sufficient&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;For sufficient permissions, see here: &lt;a href=&#34;https://github.com/siemens/sw360portal/wiki/Dev-Role-Authorisation-Model&#34;&gt;https://github.com/siemens/sw360portal/wiki/Dev-Role-Authorisation-Model&lt;/a&gt;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;If the permissions do not allow the edit right away, a moderation request is created.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Moderators can see the moderation request in the moderation portlet&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Having selected the moderation request, the moderator can accept the request, decline, postpone or remove himself from the list of moderators&lt;/p&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;technical-description&#34;&gt;Technical Description&lt;/h2&gt; +&lt;h3 id=&#34;checking-document-permissions&#34;&gt;Checking Document Permissions&lt;/h3&gt; +&lt;p&gt;If a moderation requests needs to be created, because the user does not have sufficient permissions:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;The request goes through the stack, for example: project portlet, project handler, project database handler.&lt;/li&gt; +&lt;li&gt;Then the project database handler checks for permissions using &lt;code&gt;makePermission()&lt;/code&gt; (&lt;code&gt;DocumentPermission&lt;/code&gt; is the base class, then &lt;code&gt;ProjectPermissions&lt;/code&gt; is the referring here for projects) and &lt;code&gt;isActionAllowed()&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;For moderation requests, we assume that this action is not allowed. Then, the &lt;code&gt;ProjectModerator&lt;/code&gt; is called (see package &lt;code&gt;...sw360.datahandler.entitlement&lt;/code&gt;).&lt;/li&gt; +&lt;li&gt;This class (which is part of the project service) creates a thrift client to the moderation service (also on the backend) and creates a moderation request using this client.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Every moderation request is created using the thrift-based API.&lt;/p&gt; +&lt;h3 id=&#34;writing-a-moderation-request-to-the-database&#34;&gt;Writing a Moderation Request to the Database&lt;/h3&gt; +&lt;p&gt;The generation of moderation request is performed by the moderation service. The moderation service handles incoming request in the following way:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;The requests arrives in the &lt;code&gt;ModerationDatabaseHandler&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;This handler writes the request to the database.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;creation-details-in-the-service&#34;&gt;Creation Details in the Service&lt;/h3&gt; +&lt;p&gt;The handler writes one moderation request per user and document. If a moderation request from the same user for the same document exists, added moderation requests are merged. Or, the request is new either with a new user, new document or both, then the moderation request is created.&lt;/p&gt; +&lt;p&gt;Each moderation requests has recipients, the moderators. The moderation database handler selects the moderators depending on the document type, which are usually the creator of the document and the listed moderators for this document. See details in the &lt;code&gt;ModerationDatabaseHandler&lt;/code&gt; class. At the same location the check for deletion is performed.&lt;/p&gt; +&lt;h3 id=&#34;what-is-in-the-database&#34;&gt;What is in the Database?&lt;/h3&gt; +&lt;p&gt;The moderation request is a document in the couchdb. Technically, the moderation requests holds the affected document as field where the values is a nested JSON dictionary.&lt;/p&gt; +&lt;p&gt;The following screen shot shows an example for a moderation request for a project.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/wiki/siemens/sw360portal/images/036-oss-sw360-20160310-screenshot-moderation-reqeust-document-example.png&#34; alt=&#34;Example Moderation Request in Database&#34;&gt;&lt;/p&gt; +&lt;h3 id=&#34;evaluating-the-moderation-request&#34;&gt;Evaluating the Moderation Request&lt;/h3&gt; +&lt;p&gt;On the moderation portlet all moderations will be shown, for which the user is a moderator. +Only open moderation requests can be selected. Approved and declined moderation requests will only be shown. +On selecting the moderation requests, both documents (original and the updated out of the moderation request) will be compared in the &lt;code&gt;merge.jsp&lt;/code&gt; and all differences will be shown to the moderator. This is done via tags such as the &lt;code&gt;sw360:CompareProject&lt;/code&gt;-tag. Opening the detailed view of the moderation request changes the state to &lt;code&gt;in progress&lt;/code&gt; to show other moderators that the moderation request is in work.&lt;/p&gt; +&lt;p&gt;The following actions are possible:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;Accept request&lt;/code&gt;: the document within the moderation request will be accepted and written to the DB via e.g. the &lt;code&gt;ProjectService&lt;/code&gt;. The state is set to &lt;code&gt;ACCEPTED&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Remove Me from Moderators&lt;/code&gt;: the state of the moderation requests is set to &lt;code&gt;PENDING&lt;/code&gt; again and the logged in moderator will be removed from the moderation list.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Decline request&lt;/code&gt;: the moderation requests will be set to &lt;code&gt;REJECTED&lt;/code&gt; and still shown in the list&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Postpone request&lt;/code&gt;: the state will be &lt;code&gt;IN PROGRESS&lt;/code&gt;.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;Cancel&lt;/code&gt;: the moderation state is set to &lt;code&gt;PENDING&lt;/code&gt; and the moderation request will still be shown in the moderation request list&lt;/li&gt; +&lt;/ul&gt; + + </description> + </item> + + <item> + <title>Docs: Projects</title> + <link>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/</guid> + <description> + + + &lt;h2 id=&#34;add-a-simple-project-with-no-relations-and-no-releases&#34;&gt;Add a simple project with no relations and no releases&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Sign In with a known user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;User successfully signed in and &lt;em&gt;Home&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Projects&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Project&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill mandatory &lt;em&gt;Name&lt;/em&gt; with a project name, change other fields if needed&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new project should be added to the projects list&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-a-full-project-with-relations-releases-and-send-to-clearing-process&#34;&gt;Add a full project with relations, releases and send to clearing process&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Projects&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Project&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill mandatory &lt;em&gt;Name&lt;/em&gt; with a project name, change other fields if needed&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Click to add linked Projects&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Project&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; the project to be linked (e.g. created in TC01)&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected project is displayed under &lt;em&gt;Linked Projects&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Click to add Releases&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Release&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search by name&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; a release to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected release is displayed under &lt;em&gt;Linked Releases&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;9&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;10&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The new project should be added to the projects list&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;11&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check &lt;em&gt;Clearing Status&lt;/em&gt; by hovering mouse over the numbers.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The message should be &lt;em&gt;new release, under clearing&amp;hellip;&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;12&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Send open release to clearing by clicking the button &lt;em&gt;Send to fossology&lt;/em&gt;, under &lt;em&gt;Actions&lt;/em&gt; column&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Fossology Clearing&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;13&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Select the release to be sent for clearing and click &lt;em&gt;Send&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Sent&lt;/em&gt; message is displayed near the &lt;em&gt;Send to fossology&lt;/em&gt; button&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;14&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on project name and check &lt;em&gt;Summary&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Clearing details&lt;/em&gt; should have 1 for &lt;em&gt;Under clearing&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Clearing Status&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The &amp;ldquo;Release Clearing State_ should be &lt;em&gt;Sent to Fossology&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-a-project-with-releases-no-relations-remove-a-release-and-send-to-clearing-process&#34;&gt;Add a project with releases, no relations, remove a release, and send to clearing process&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1-5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC02&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5a&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Delete&lt;/em&gt; icon to delete the linked project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Do you really want to remove the link to this project?&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5b&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The project is removed from the list of &lt;em&gt;Linked Projects&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Click to add Releases&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Search Release&lt;/em&gt; dialog is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Search by name&lt;/em&gt; and &lt;em&gt;Select&lt;/em&gt; more than one release to be added&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Dialog is closed and selected releases are displayed under &lt;em&gt;Linked Releases&lt;/em&gt; section&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7a&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Delete&lt;/em&gt; icon to delete one of the linked release&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Do you really want to remove the link to this release?&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7b&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The release is removed from the list of &lt;em&gt;Linked Releases&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8-15&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Same as in TC02&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;##TC04: Delete a project that is first linked to another project and then not linked&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create a new project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is created successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Create another project and add first created one as linked project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Projects are linked successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to first created project in the projects table and try to delete it&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you want to delete project name?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;The project is used by another project!&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is not deleted (e.g. refresh the page by clicking Projects tab)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to second created project in the projects table and delete it&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Message &lt;em&gt;Do you want to delete project name?&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;OK&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;8&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Go to first created project in the table (not linked anymore to second project) and delete it&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project is deleted successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;modify-an-existing-project-with-relations-releases-and-send-to-clearing-process&#34;&gt;Modify an existing project with relations, releases and send to clearing process&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for a simple project (e.g. created in TC01) and click &lt;em&gt;Edit&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;You are editing the original document&lt;/em&gt; message is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Execute steps 5-16 from TC02&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;add-and-modify-a-project-with-all-project-fields-filled-in&#34;&gt;Add and modify a project with all project fields filled in&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click on &lt;em&gt;Projects&lt;/em&gt; tab&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;Projects&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;New Project&lt;/em&gt; page is displayed with mandatory fields marked with red star&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill in all editable fields under &lt;em&gt;Basic Information&lt;/em&gt;, &lt;em&gt;User Information&lt;/em&gt; and &lt;em&gt;Admin Information&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are entered in the fields&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;6&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields on &lt;em&gt;Summary&lt;/em&gt; page&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are filled in correctly&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;7&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Edit&lt;/em&gt; button, modify some fields and &lt;em&gt;Update Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Values are updated successfully&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;duplicate-an-existing-project&#34;&gt;Duplicate an existing project&lt;/h2&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:right&#34;&gt;Step&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Result&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;1&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Search for an existing project with all fields filled in (e.g. created in TC06) and click &lt;em&gt;Duplicate&lt;/em&gt; button under &lt;em&gt;Actions&lt;/em&gt; column&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Project &lt;em&gt;Information&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;2&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields from copied project&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All fields are unchanged, including &lt;em&gt;Linked Projects&lt;/em&gt; and &lt;em&gt;Linked Releases&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;3&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Fill mandatory &lt;em&gt;Name&lt;/em&gt; with a project name and click &lt;em&gt;Add Project&lt;/em&gt;&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;The page remain the same and the message &lt;em&gt;You are editing the original document.&lt;/em&gt; is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;4&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Click &lt;em&gt;Cancel&lt;/em&gt; button&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;New project &lt;em&gt;Summary&lt;/em&gt; page is displayed&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:right&#34;&gt;5&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Check all fields&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;All fields were copied successfully, except the new name of the project&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Release and Versioning</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/</guid> + <description> + + + &lt;p&gt;We have the following main principles for versioning and releases. We consider &lt;a href=&#34;http://semver.org/&#34;&gt;semantic versioning&lt;/a&gt;:&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;Given a version number MAJOR.MINOR.PATCH, increment the:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;MAJOR version when you make incompatible API changes,&lt;/li&gt; +&lt;li&gt;MINOR version when you add functionality in a backwards-compatible manner, and&lt;/li&gt; +&lt;li&gt;PATCH version when you make backwards-compatible bug fixes.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;with the following implementation in our project:&lt;/p&gt; +&lt;h3 id=&#34;major-version&#34;&gt;Major Version&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;API breaking changes are considered for the upcoming REST API.&lt;/li&gt; +&lt;li&gt;Breaking change is &lt;em&gt;also&lt;/em&gt; if a migration script is required for the data base.&lt;/li&gt; +&lt;li&gt;Thrift API is not considered a public API anymore.&lt;/li&gt; +&lt;li&gt;Therefore milestones cannot correspond to our versions like &lt;code&gt;1.4&lt;/code&gt;, &lt;code&gt;1.5&lt;/code&gt;, etc. anymore: we do not know which feature or issue will cause a version jump according to semantic versioning guidelines.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;minor-version&#34;&gt;Minor Version&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Changes to the thrift API will cause minor version increment.&lt;/li&gt; +&lt;li&gt;Larger new functionality which is backwards compatible, maybe one pull requests or maybe a group of pull requests.&lt;/li&gt; +&lt;li&gt;Minor versions requires also tagging in the repo.&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;patch-level&#34;&gt;Patch Level&lt;/h3&gt; +&lt;ul&gt; +&lt;li&gt;Every push (merged pull request) to master shall generate &lt;em&gt;at least&lt;/em&gt; (not there yet) a new patch level version, in order to allow for (clean) deployments at this level.&lt;/li&gt; +&lt;li&gt;Could e also minor improvements like adding a button with some functionality&lt;/li&gt; +&lt;li&gt;Patch level is not tagged.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;naming-and-meaning-of-milestones&#34;&gt;Naming and Meaning of Milestones&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;Milestones cannot correspond to versions (releases) anymore, because in general the version designator is determined by the level of change.&lt;/li&gt; +&lt;li&gt;We use milestones as work packages. We see them as work packages from an organizational point of view. However, it is not a milestone to release a version, because - again in general - the version is determined by the level of change.&lt;/li&gt; +&lt;li&gt;However, If the last merged pull quest of a work package, a completing merge: If it is not causing a major or minor version increment, still, this would lead to a minor version increment.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;technical-implementation&#34;&gt;Technical Implementation&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;Plan: The artifacts will be build by travis and stored on aws S3 (not there yet) with patch level version increments, but patch level versions will not lead to a tag in the repo.&lt;/li&gt; +&lt;li&gt;Currently, the versioning is &amp;ldquo;manual maven based&amp;rdquo;, we look for a cleaner more automated approach.&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;technical-maven-universe-how-to-maketag-a-release&#34;&gt;Technical: Maven Universe How to make/tag a release⁽¹⁾:&lt;/h1&gt; +&lt;p&gt;The following information refers to the existing maven-based versioning scheme, as of now we are looking into a system which is not leading to a temporary change in the repo, commit, and then reverting changes.&lt;/p&gt; +&lt;p&gt;Let us assume, that we want to tag the version &lt;strong&gt;1.2.0&lt;/strong&gt; and that the current version in the pom&amp;rsquo;s is &lt;strong&gt;1.2.0-SNAPSHOT&lt;/strong&gt;.&lt;/p&gt; +&lt;h3 id=&#34;0-work-in-a-clean-environment&#34;&gt;0. Work in a clean environment&lt;/h3&gt; +&lt;p&gt;Especially should all poms be without uncommitted changes. The safe way is to start with:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; /tmp/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git clone https://github.com/eclipse/sw360.git +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; sw360portal +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-write-the-version-of-the-release-into-the-poms&#34;&gt;1. Write the version of the release into the poms&lt;/h3&gt; +&lt;pre&gt; +$ mvn versions:set -DnewVersion=&lt;b&gt;1.2.0&lt;/b&gt; +$ git add pom.xml \*\*/pom.xml +$ git commit -m &#34;set version to &lt;b&gt;1.2.0&lt;/b&gt;&#34; +&lt;/pre&gt; +&lt;p&gt;This will actually edit all pom.xml files and change the versions to &lt;strong&gt;1.2.0&lt;/strong&gt;, i.e. remove the SNAPSHOT.&lt;/p&gt; +&lt;h3 id=&#34;2-test-the-project&#34;&gt;2. Test the project&lt;/h3&gt; +&lt;pre&gt; +$ mvn install +&lt;/pre&gt; +&lt;p&gt;or even better: use vagrant.&lt;/p&gt; +&lt;h3 id=&#34;3-create-and-push-the-tag&#34;&gt;3. Create and push the tag&lt;/h3&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mvn scm:tag +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This creates the tag and &lt;strong&gt;pushes it to github&lt;/strong&gt;.&lt;/p&gt; +&lt;h3 id=&#34;4-write-the-new-incremented-snapshot-version-into-the-poms&#34;&gt;4. Write the new incremented SNAPSHOT-version into the poms&lt;/h3&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mvn versions:set -DnewVersion&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&amp;lt;b&amp;gt;1.3.0-SNAPSHOT&amp;lt;/b&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git add pom.xml &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\*\*&lt;/span&gt;/pom.xml +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git commit -m &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;set version to &amp;lt;b&amp;gt;1.3.0-SNAPSHOT&amp;lt;/b&amp;gt;&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git push origin master +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;ndash; +⁽¹⁾ based on: &lt;a href=&#34;https://axelfontaine.com/blog/final-nail.html&#34;&gt;https://axelfontaine.com/blog/final-nail.html&lt;/a&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: REST API</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-rest-api/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-rest-api/</guid> + <description> + + + &lt;p&gt;The sw360 REST API provides access to sw360 resources for external clients. It consists currently of three Maven modules aggregated in one parent module &lt;code&gt;rest&lt;/code&gt; in the sw360 distribution.&lt;/p&gt; +&lt;h1 id=&#34;module-structure&#34;&gt;Module Structure&lt;/h1&gt; +&lt;p&gt;The &lt;code&gt;rest&lt;/code&gt; module provides a REST API infrastructure for sw360 including:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Module &lt;code&gt;authorization-server&lt;/code&gt; - OAuth2 Authorization Server, offering typical authorization steps of an OAuth2 workflow.&lt;/li&gt; +&lt;li&gt;Module &lt;code&gt;resource-server&lt;/code&gt; - REST API Gateway, providing access to the data for authenticated and authorized users / clients.&lt;/li&gt; +&lt;li&gt;Module &lt;code&gt;rest-common&lt;/code&gt; - only library code that is shared between the other rest modules.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;The REST API implementation uses:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Module &lt;code&gt;authorization-server&lt;/code&gt; uses the Liferay user management via the Liferay REST API to authenticate users and the users thrift backend service to access user profile data.&lt;/li&gt; +&lt;li&gt;Module &lt;code&gt;resource-server&lt;/code&gt; uses thrift backend services for accessing sw360 data to deliver it to the external clients.&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;api-principles&#34;&gt;API Principles&lt;/h1&gt; +&lt;h2 id=&#34;security-principles&#34;&gt;Security Principles&lt;/h2&gt; +&lt;p&gt;The basic security principles are following the OAuth2 standards. So there should be an authorization server which can be the one contained in this project. That one provides access tokens after it authenticated the client and the user using this client. In addition it checks which authorities this client should receive for operating in the user&amp;rsquo;s name. +With this OAuth2 access token the client can query the resource server which will restrict access to the given authorities. +Every client gets an access token as well as an refresh token. As long as the refresh token is valid, the client can gather a new access token without the need of re-authorization of the user.&lt;/p&gt; +&lt;p&gt;There are currently three different possibilities for an OAuth2 authorization server implemented:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Using the contained authorization-server with username/password that are known by Liferay, no matter if Liferay is hosting the credentials itself or is attached to some central user management which it uses to authenticate users.&lt;/li&gt; +&lt;li&gt;Using the contained authorization-server inside an SSO network where an existing proxy can take care of the authentication and passing authenticated user information in configurable headers to the authorization-server which then performs authorization on top.&lt;/li&gt; +&lt;li&gt;Using keycloak as authorization-server. This case is not part of this wiki page and might need special configuration.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;data-principles&#34;&gt;Data Principles&lt;/h2&gt; +&lt;p&gt;The REST API provides Hypermedia using &lt;a href=&#34;http://stateless.co/hal_specification.html&#34;&gt;HAL&lt;/a&gt; (Hypertext Application Language). +The following example shows some ideas of the REST API. It can be obtained by&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/resource/api/browser/index.html#/resource/api +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that the response below is maybe not the exact same response of your current version:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;_links&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:attachments&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/attachments{?sha1}&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;templated&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;true&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:components&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/components&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:licenses&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/licenses&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:licenseinfo&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/licenseinfo&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:projects&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/projects&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:releases&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/releases&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:users&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/users&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:vendors&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/vendors&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;sw360:vulnerabilities&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/vulnerabilities&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;profile&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/api/profile&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;curies&amp;#34;&lt;/span&gt;: [ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://dev.sw360.siemens.com/resource/docs/{rel}.html&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;sw360&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;templated&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;true&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;api-installation&#34;&gt;API Installation&lt;/h1&gt; +&lt;p&gt;Both, the &lt;code&gt;authorization-server&lt;/code&gt; and the &lt;code&gt;resource-server&lt;/code&gt; can be build using Maven like the rest of the project. Each is generating a Spring Boot server that can be deployed in an application container, e.g. Tomcat.&lt;/p&gt; +&lt;h1 id=&#34;api-configuration&#34;&gt;API Configuration&lt;/h1&gt; +&lt;p&gt;Since the &lt;code&gt;authorization-server&lt;/code&gt; and the &lt;code&gt;resource-server&lt;/code&gt; are Spring Boot servers, they are configured as usual via &lt;code&gt;/src/main/resources/application.yml&lt;/code&gt;. In addition some configuration comes historically from &lt;code&gt;sw360.properties&lt;/code&gt;. Please note that all configurations could be provided centrally in the &lt;code&gt;/etc/sw360/&lt;/code&gt; directory. As such, the &lt;code&gt;sw360.properties&lt;/code&gt; sits directly in &lt;code&gt;/etc/sw360/&lt;/code&gt;. For rest-specific configurations the application considers the location &lt;code&gt;/etc/sw360/rest&lt;/code&gt;.&lt;/p&gt; +&lt;h2 id=&#34;authorization-server-configuration&#34;&gt;Authorization Server Configuration&lt;/h2&gt; +&lt;h3 id=&#34;special-liferay-credentials-configuration&#34;&gt;Special Liferay Credentials Configuration&lt;/h3&gt; +&lt;p&gt;In addition to the general properties in &lt;a href=&#34;#general-config&#34;&gt;here&lt;/a&gt; the following needs to be configured in the &lt;code&gt;application.yml&lt;/code&gt; when the authentication via Liferay username/password credentials should be possible:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;sw360:sw360-portal-server-url&lt;/td&gt; +&lt;td&gt;the url of the Liferay instance&lt;/td&gt; +&lt;td&gt;n/a (but could be given if environment variable is used like &lt;code&gt;${SW360_PORTAL_SERVER_URL:http://127.0.0.1:8080}&lt;/code&gt;)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:sw360-liferay-company-id&lt;/td&gt; +&lt;td&gt;the id of the company in Liferay that sw360 is run for&lt;/td&gt; +&lt;td&gt;(but could be given if environment variable is used like &lt;code&gt;${SW360_LIFERAY_COMPANY_ID:20155}&lt;/code&gt;)&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;special-sso-configuration&#34;&gt;Special SSO Configuration&lt;/h3&gt; +&lt;p&gt;In addition to the general properties in &lt;a href=&#34;#general-config&#34;&gt;here&lt;/a&gt; the following needs to be configured in the &lt;code&gt;application.yml&lt;/code&gt; when the authentication via SSO should be possible:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:enabled&lt;/td&gt; +&lt;td&gt;Flag if the components needed for SSO should be active&lt;/td&gt; +&lt;td&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:headername:intermediateauthstore&lt;/td&gt; +&lt;td&gt;the name of the header that can be used for internal data transfer inside one roundtrip - it can be configured here because the proxy has to make sure that this header will not be passed from clients and will be used truly internal only&lt;/td&gt; +&lt;td&gt;custom-header-auth-marker&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:headername:email&lt;/td&gt; +&lt;td&gt;the name of the header that holds the email of the authenticated user (should be set be the proxy and must never be passed from clients)&lt;/td&gt; +&lt;td&gt;authenticated-email&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:customheader:headername:extid&lt;/td&gt; +&lt;td&gt;the name of the header that holds the extid of the authenticated user (should be set be the proxy and must never be passed from clients)&lt;/td&gt; +&lt;td&gt;authenticated-extid&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;:heavy_exclamation_mark: Please configure your SSO server and the proxy accordingly. In general, no unauthenticated request should reach the authorization server. And the configured headers should only be set by the proxy. If they are already contained in client requests, they must be removed!&lt;/p&gt; +&lt;h4 id=&#34;removing-headers-in-apache&#34;&gt;Removing Headers in Apache&lt;/h4&gt; +&lt;p&gt;In Apache you may use the &lt;a href=&#34;https://httpd.apache.org/docs/current/mod/mod_headers.html&#34;&gt;&lt;code&gt;mod_headers&lt;/code&gt;&lt;/a&gt; module to remove headers from the client. Using the default values from the table above, at least the following directives should be present in your configuration for all requests that are routed to the &lt;code&gt;authorization-server&lt;/code&gt;:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RequestHeader unset custom-header-auth-marker +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RequestHeader unset authenticated-email +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RequestHeader unset authenticated-extid +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;a-namegeneral-configageneral-configuration&#34;&gt;&lt;a name=&#34;general-config&#34;&gt;&lt;/a&gt;General Configuration&lt;/h3&gt; +&lt;p&gt;Possible properties in &lt;code&gt;sw360.properties&lt;/code&gt; file are:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;backend.url&lt;/td&gt; +&lt;td&gt;the url where the thrift services can be found&lt;/td&gt; +&lt;td&gt;http://127.0.0.1:8080&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;rest.write.access.usergroup&lt;/td&gt; +&lt;td&gt;the user group level (`USER&lt;/td&gt; +&lt;td&gt;CLEARING_ADMIN&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;rest.admin.access.usergroup&lt;/td&gt; +&lt;td&gt;the user group level (`USER&lt;/td&gt; +&lt;td&gt;CLEARING_ADMIN&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;The values in &lt;code&gt;sw360.properties&lt;/code&gt; should be migrated to the &lt;code&gt;application.yml&lt;/code&gt; in the future.&lt;/p&gt; +&lt;p&gt;Further important properties in &lt;code&gt;application.yml&lt;/code&gt; file are:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:url&lt;/td&gt; +&lt;td&gt;the url of the CouchDB to use as client store&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:database&lt;/td&gt; +&lt;td&gt;the database name of the CouchDB database to use as client store&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:username&lt;/td&gt; +&lt;td&gt;if the CouchDB database needs authentication, enter the username here - if it does not need authentication, do not set this property at all, not even with an empty value&lt;/td&gt; +&lt;td&gt;null&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;couchdb:password&lt;/td&gt; +&lt;td&gt;if the CouchDB database needs authentication, enter the password here - if it does not need authentication, do not set this property at all, not even with an empty value&lt;/td&gt; +&lt;td&gt;null&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:cors:allowed-origin&lt;/td&gt; +&lt;td&gt;value for cross origin resource sharing&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;security:oauth2:resource:id&lt;/td&gt; +&lt;td&gt;should just be the same then in the resource server&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;After this configuration is done the normal REST service for client management should be usable. This one is only accessible for authenticated users that get the &lt;code&gt;ADMIN&lt;/code&gt; authority (remember, the therefore necessary sw360 usergroup has just been configured). So the clients can be configured now.&lt;/p&gt; +&lt;h1 id=&#34;client-management&#34;&gt;Client Management&lt;/h1&gt; +&lt;p&gt;In the scenarios of this page, the shipped authorization server is used. So the next step is to configure a valid OAuth2 client in this authorization server. There should be one OAuth2 client per external REST API client (which in turn can have many different users). Therefore the authorization server offers a REST API for basic CRUD operations for configuring the clients that are stored in the just configured CouchDB. Since sw360-&lt;code&gt;ADMIN&lt;/code&gt; privileges are needed for client management, an authentication is needed to work with this API.&lt;/p&gt; +&lt;p&gt;For SSO users (basic-auth Liferay users can use other tools as well because other tools can handle basic auth - but they can also use this workflow):&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Open a browser with developer tools capabilities&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Open&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/authorization/client-management +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This page always shows the currently configured clients and can be refreshed after every manipulation of a client.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;To add a new client, enter the following javascript in the dev tools console in the current browser tab - of course after manipulating the client data to suit your needs&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest = new XMLHttpRequest(); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.open(&amp;#39;POST&amp;#39;, &amp;#39;/authorization/client-management&amp;#39;, false); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Content-Type&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Accept&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.send(JSON.stringify( +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;description&amp;#34; : &amp;#34;my first test client&amp;#34;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;authorities&amp;#34; : [ &amp;#34;BASIC&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;scope&amp;#34; : [ &amp;#34;READ&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;access_token_validity&amp;#34; : 3600, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;refresh_token_validity&amp;#34; : 3600 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;console.log(xmlHttpRequest.responseText); +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;to manipulate an existing client, do the same but add the clientid to the data object&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;#34;client_id&amp;#34; : &amp;#34;9e358ca832ce4ce99a770c7bd0f8e066&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;to remove an existing client, enter the following javascript in the dev tools console&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest = new XMLHttpRequest(); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.open(&amp;#39;DELETE&amp;#39;, &amp;#39;/authorization/client-management/9e358ca832ce4ce99a770c7bd0f8e066&amp;#39;, false); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Content-Type&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.setRequestHeader(&amp;#39;Accept&amp;#39;, &amp;#39;application/json&amp;#39;); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xmlHttpRequest.send(); +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;console.log(xmlHttpRequest.responseText); +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;This way the session cookie of the SSO login will be used for the REST calls. This might also be possible in postman or curl or similar tools if you want to try to copy cookies (depending also on the SSO configuration). As said before, if Liferay username/password credentials can be used to authenticate then a tool like postman or curl can be used for the whole process. Just pass the credentials as basic-auth.&lt;/p&gt; +&lt;h3 id=&#34;client-management-via-curl&#34;&gt;Client Management via Curl&lt;/h3&gt; +&lt;p&gt;The above described call to create a rest client can also be done directly via one curl call:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_USER&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=[&lt;/span&gt;admin sw360 user&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_PW&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=[&lt;/span&gt;corresponding sw360 admin user password&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -s -S &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; --user &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_USER&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_PW&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; --header &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; --header &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Accept: application/json&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; -X POST https://&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;hostname&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;:&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;port&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;/authorization/client-management &lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;\ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30;font-weight:bold&#34;&gt;&lt;/span&gt; -d @- &lt;span style=&#34;color:#c30&#34;&gt;&amp;lt;&amp;lt;EOF +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;description&amp;#34; : &amp;#34;my first test client&amp;#34;, +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;authorities&amp;#34; : [ &amp;#34;BASIC&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;scope&amp;#34; : [ &amp;#34;READ&amp;#34; ], +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;access_token_validity&amp;#34; : 3600, +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;#34;refresh_token_validity&amp;#34; : 3600 +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;EOF&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This only works with the liferay basic-auth mechanism, SSO is not supported via curl.&lt;/p&gt; +&lt;h2 id=&#34;oauth2-access-token&#34;&gt;OAuth2 Access Token&lt;/h2&gt; +&lt;p&gt;Now with a configured client it is possible to retrieve an access token for the REST API from the authorization server. There is again a difference in SSO environments and Liferay username/password environments.&lt;/p&gt; +&lt;h3 id=&#34;sso-backed-access-token&#34;&gt;SSO Backed Access Token&lt;/h3&gt; +&lt;p&gt;Probably the browser has to be used again because many SSO environments are based on certificates that are read from keycards and the necessary libs are often built into the browser. So just call the URL&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/authorization/oauth/token?grant_type=password&amp;amp;client_id=[clientid]&amp;amp;client_secret=[clientsecret] +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of course the client id and the client secret should be replaced by the values of the configured client. The received response should look similar to&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;access_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiZDY4ZWY1YWEtZTQ5My00Y2YxLWI2NGQtNWE5MTdkY2M2ZTYwIiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iO5sLrqRcZfzvMP5gjaJhk3caWyZLkUesdbMfqCGy4V5rbnU9QP1LjdybY0Udh8hvAvhlpqPfaxeKe1c3-gQs5MYlqG0lNQCyWcb7NRHj8VFlwLPuJRZJNk3tybvgITVm9r14pfAXogpVE0S4KihD2W1_SoKH4NzTa2vOEG0CK4VzCLetxUlUuePxZH8ugouqbS2d0SpyeeMTm-PzxzzeTb_4ulGpg63eE1v7GvTsI23uh2WfIgHBa1GRr5jWtE0Meq-5UFCVQkhMm8P-r8wO2iuRblCu6a-bWwy7bfdj3S2VDnqSQskE2dVrC_qMs-V2AGvCV1xvlF0P8A4tgwL-w&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;token_type&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;bearer&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;refresh_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJhdGkiOiJkNjhlZjVhYS1lNDkzLTRjZjEtYjY0ZC01YTkxN2RjYzZlNjAiLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiM2VkZDcxODAtMTBlYi00Y2MwLTg0NTUtMGYwZmIyMWMwYmU0IiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iMGfdHWpJNseoxIk7tKCNTyC1w4_AJ4cSv6kO64_BkF54MLudvyf9uVSIHpAeHhSFdvhbjksynRqq_u78vW8ptY1la65Qx8glHz0sktWBfMDJsUA4ynU2iZbKU92f2OOf3wQRVt38-Y1mBUsDMIStyKTDeIXGT3LJr_8k5dRAGvayixaezxDFw3dWK2M6P9h-ZnfEP47HpIUZrG8cgwPmNCZ9gBXsqVnueDYZth6TaEKIvWbkZtwY0ikWKyJL2xLm78O1ii3lA5ENt5I0DTfTm8QuK_zcm679W9jF0jvwIR71fM0JSWjkBoXd2h9oLmE2CF2sFVaJor_ermk-L0LsA&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;expires_in&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#f60&#34;&gt;3599&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;scope&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;READ&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;jti&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;d68ef5aa-e493-4cf1-b64d-5a917dcc6e60&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;From this response the value of the &lt;code&gt;access_token&lt;/code&gt; and probably &lt;code&gt;refresh_token&lt;/code&gt; field is the one to copy-paste for later usage.&lt;/p&gt; +&lt;h3 id=&#34;liferay-backed-access-token&#34;&gt;Liferay Backed Access Token&lt;/h3&gt; +&lt;p&gt;With a Liferay backed authentication all REST clients that offer basic auth support can be used. For example &lt;code&gt;curl&lt;/code&gt;:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -X POST --user &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;[clientid]:[clientsecret]&amp;#39;&lt;/span&gt; -d &lt;span style=&#34;color:#c30&#34;&gt;&amp;#39;grant_type=password&amp;amp;username=[username]&amp;amp;password=[password]&amp;#39;&lt;/span&gt; https://&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;hostname&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;:&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;port&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt;/authorization/oauth/token -k +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example response:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;access_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiZDY4ZWY1YWEtZTQ5My00Y2YxLWI2NGQtNWE5MTdkY2M2ZTYwIiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iO5sLrqRcZfzvMP5gjaJhk3caWyZLkUesdbMfqCGy4V5rbnU9QP1LjdybY0Udh8hvAvhlpqPfaxeKe1c3-gQs5MYlqG0lNQCyWcb7NRHj8VFlwLPuJRZJNk3tybvgITVm9r14pfAXogpVE0S4KihD2W1_SoKH4NzTa2vOEG0CK4VzCLetxUlUuePxZH8ugouqbS2d0SpyeeMTm-PzxzzeTb_4ulGpg63eE1v7GvTsI23uh2WfIgHBa1GRr5jWtE0Meq-5UFCVQkhMm8P-r8wO2iuRblCu6a-bWwy7bfdj3S2VDnqSQskE2dVrC_qMs-V2AGvCV1xvlF0P8A4tgwL-w&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;token_type&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;bearer&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;refresh_token&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic3czNjAtUkVTVC1BUEkiXSwidXNlcl9uYW1lIjoiYWRtaW5Ac3czNjAub3JnIiwic2NvcGUiOlsiUkVBRCJdLCJhdGkiOiJkNjhlZjVhYS1lNDkzLTRjZjEtYjY0ZC01YTkxN2RjYzZlNjAiLCJleHAiOjE1NjM4MDYwNDQsImF1dGhvcml0aWVzIjpbIlJFQUQiXSwianRpIjoiM2VkZDcxODAtMTBlYi00Y2MwLTg0NTUtMGYwZmIyMWMwYmU0IiwiY2xpZW50X2lkIjoiMTcyMmZmYzdkZWE3MTU3OGQ5ZWE1ZTZhNmMwMDA4NzMifQ.iMGfdHWpJNseoxIk7tKCNTyC1w4_AJ4cSv6kO64_BkF54MLudvyf9uVSIHpAeHhSFdvhbjksynRqq_u78vW8ptY1la65Qx8glHz0sktWBfMDJsUA4ynU2iZbKU92f2OOf3wQRVt38-Y1mBUsDMIStyKTDeIXGT3LJr_8k5dRAGvayixaezxDFw3dWK2M6P9h-ZnfEP47HpIUZrG8cgwPmNCZ9gBXsqVnueDYZth6TaEKIvWbkZtwY0ikWKyJL2xLm78O1ii3lA5ENt5I0DTfTm8QuK_zcm679W9jF0jvwIR71fM0JSWjkBoXd2h9oLmE2CF2sFVaJor_ermk-L0LsA&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;expires_in&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#f60&#34;&gt;3599&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;scope&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;READ&amp;#34;&lt;/span&gt;, +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;jti&amp;#34;&lt;/span&gt; : &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;d68ef5aa-e493-4cf1-b64d-5a917dcc6e60&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of course, the username and password must be your user credentials and the client id and secret have to be replaced with the configured values. And again, the wanted value is the value of the field &lt;code&gt;access_token&lt;/code&gt; and probably &lt;code&gt;refresh_token&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;More Links:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;OAuth2 more information: &lt;a href=&#34;https://oauth.net/2/&#34;&gt;https://oauth.net/2/&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;Decode Bearer tokens at: &lt;a href=&#34;https://jwt.io/&#34;&gt;https://jwt.io/&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;oauth2-refresh-token&#34;&gt;OAuth2 Refresh Token&lt;/h2&gt; +&lt;p&gt;The authorization server supports so called refresh tokens to generate new access tokens after they have been expired. New access tokens can be generated with the use of the &lt;code&gt;refresh_token&lt;/code&gt; without further re-authorization of the user. The following url must be used:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; http://localhost/authorization/oauth/token?grant_type=refresh_token&amp;amp;refresh_token=&amp;lt;REFRESH_TOKEN&amp;gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The client must pass its credentials via basic authentication. Though a user authentication is not necessary. +If you are authentication your users on a proxy, you have to configure that proxy in a way that it does not block requests to the above url. As marker the &amp;lsquo;grant_type=refresh_token&amp;rsquo; query parameter may be used.&lt;/p&gt; +&lt;h2 id=&#34;example-apache-configuration&#34;&gt;Example Apache configuration&lt;/h2&gt; +&lt;p&gt;The following example shows the relevant part for an Apache proxy to configure +authentication of the &lt;code&gt;authorization-server&lt;/code&gt; properly:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;Location&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;/authorization/oauth/token&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;Order&lt;/span&gt; allow,deny +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;Allow&lt;/span&gt; from &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;all&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;If&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;%{QUERY_STRING} =~ /^grant_type=refresh_token\&amp;amp;/&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# No authentication needed&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/If&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;Else&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Configure your authentication here&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/Else&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;ProxyPass&lt;/span&gt; https://localhost:8443/authorization/oauth/token +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#366&#34;&gt;ProxyPassReverse&lt;/span&gt; https://localhost:8443/authorization/oauth/token +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;resource-server-configuration&#34;&gt;Resource Server Configuration&lt;/h1&gt; +&lt;p&gt;Now that access tokens can be generated, the resource server has to be configured. The same general ideas of &lt;a href=&#34;#general-config&#34;&gt;general config&lt;/a&gt; apply. The properties of the &lt;code&gt;application.yml&lt;/code&gt; are&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Key&lt;/th&gt; +&lt;th&gt;Values&lt;/th&gt; +&lt;th&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;sw360:thrift-server-url&lt;/td&gt; +&lt;td&gt;the url where the thrift services can be found, e.g. http://localhost:8080&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:test-user-id&lt;/td&gt; +&lt;td&gt;only for developing, simple test user short cut, must be pulled off for productive&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:test-user-passwors&lt;/td&gt; +&lt;td&gt;see above&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:couchdb-url&lt;/td&gt; +&lt;td&gt;the url of the CouhDB server for attachment handling, e.g. https://localhost:5984&lt;/td&gt; +&lt;td&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;sw360:cors:allowed-origin&lt;/td&gt; +&lt;td&gt;value for cross origin resource sharing&lt;/td&gt; +&lt;td&gt;n/a&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;The REST API is now completely usable via an own client or testwise with integrated tools.&lt;/p&gt; +&lt;h1 id=&#34;tools&#34;&gt;Tools&lt;/h1&gt; +&lt;p&gt;To get data and interact with the sw360 REST API the HAL-Browser is recommended. Currently, the HAL-Browser is also deployed on the sw360 development instance, but this is likely to change once the REST API has evolved more. Currently the URL of HAL-Browser is:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://[hostname]:[port]/resource/api/browser/index.html#/resource/api +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An example for a screenshot is as follows:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/29916928/39576770-90b2b576-4edf-11e8-9d1b-742c10d88b8e.png&#34; alt=&#34;rest-hal-explorer&#34;&gt;&lt;/p&gt; +&lt;p&gt;When using other tools the access token has to be set as header parameter in the REST request. Please add a new header:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Key: Authorization&lt;/li&gt; +&lt;li&gt;As value you need to enter: &lt;code&gt;Bearer [ACCESS_TOKEN]&lt;/code&gt; where &lt;code&gt;[ACCESS_TOKEN]&lt;/code&gt; actually contains the token&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;example--get-a-list-of-projects&#34;&gt;Example – Get a list of projects&lt;/h2&gt; +&lt;p&gt;Here is an example how to query for all projects as HTTP GET Request. As for the resource endpoint, the request:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://sw360.org/resource/api/projects (or /resource/api/projects) +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;will return the following response:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/29916928/39579586-6b1d1736-4ee7-11e8-8faf-da71c8776680.png&#34; alt=&#34;rest-explorer2&#34;&gt;&lt;/p&gt; +&lt;h1 id=&#34;api-documentation&#34;&gt;API Documentation&lt;/h1&gt; +&lt;p&gt;sw360 deploys a REST API documentation at every instance. There are the following URLs offered at each instance&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;URL&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;https://[hostname]:[port]/resource/docs/index.html&lt;/td&gt; +&lt;td&gt;Small overview page&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;https://[hostname]:[port]/resource/docs/api-guide.html&lt;/td&gt; +&lt;td&gt;The API description for the currently running server&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;https://[hostname]:[port]/resource/api/browser/index.html#/resource/api&lt;/td&gt; +&lt;td&gt;Integrated HAL browser to directly use the API&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h1 id=&#34;known-problems&#34;&gt;Known Problems&lt;/h1&gt; +&lt;p&gt;If you use Nginx or Apache as request front end server there maybe some configuration caveats: The REST API objects provides self links to reference to other objects also including the protocol prefix. These links are realized on Hypertext Application Language (HAL) for example you will find in REST responses:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;_links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;:&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;self&amp;#34;&lt;/span&gt;: { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#309;font-weight:bold&#34;&gt;&amp;#34;href&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;https://localhost:8443/resource/api/projects/065f3aa45c2683297fd1bb39296f519d&amp;#34;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The REST spring boot applications are using the Tomcat environment configuration to generate the HAL links. If the Tomcat is only configured as HTTP, the generated links will contain the &lt;code&gt;http&lt;/code&gt; protocol and port - which is a problem if the server should be contacted over &lt;code&gt;https&lt;/code&gt;only. This problem occurs, if tomcat is used together with Nginx, Apache httpd or other Web servers, which are configured to repsond only to &lt;code&gt;https&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;Solution is to set for example in Nginx HTTP &amp;lsquo;X-Forward-*&amp;rsquo; headers on a reverse proxy, for example:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;/&lt;/span&gt; { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;...&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#c30&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;X-Forwarded-Port&lt;/span&gt; &lt;span style=&#34;color:#f60&#34;&gt;443&lt;/span&gt;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;X-Forwarded-Proto&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;https&lt;/span&gt;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For other Web severs, there might a similar solution.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Roles and Authorization</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/</guid> + <description> + + + &lt;p&gt;Like any other system, SW360 allows for setting different levels of access for different users. Technically, the decision when user should be able to see or to do something happens (generally) on the backend server. This ensures consistency between the REST API and the portal application.&lt;/p&gt; +&lt;p&gt;For setting roles of a user, the Liferay control panel is being used (Admin menu -&amp;gt; Control Panel -&amp;gt; Users and Organisations -&amp;gt; Users -&amp;gt; select one user and Edit -&amp;gt; Roles). Setting access at individual records happens in the edit view of that record.&lt;/p&gt; +&lt;h2 id=&#34;roles-overview&#34;&gt;Roles Overview&lt;/h2&gt; +&lt;p&gt;SW360 offers two choices for doing the roles: one is setting access rights at every record individually. Another are general roles that can be set for every user. An admin of SW360 can set user roles at the Liferay Users and Roles UI.&lt;/p&gt; +&lt;h4 id=&#34;setup-admin-liferay-role&#34;&gt;Setup Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The setup admin is the Liferay administrator, which can configure the entire liferay app, such as which portlets are shown on which page.&lt;/p&gt; +&lt;h4 id=&#34;sw360-admin-liferay-role&#34;&gt;SW360 Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The SW360 admin can change all data and promote users for more access rights, such as promoting a user to role &lt;code&gt;CLEARING_ADMIN&lt;/code&gt;. This role can change data from other groups, limited by visibility setting of a project.&lt;/p&gt; +&lt;h4 id=&#34;clearing-admin-liferay-role&#34;&gt;Clearing Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The clearing admin can change all component and release records and project records of the same group. This can be seen as group administrator.&lt;/p&gt; +&lt;h4 id=&#34;security-admin-liferay-role&#34;&gt;Security Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the security admin can set security vulnerabilities to irrelevant&lt;/p&gt; +&lt;h4 id=&#34;ecc-admin-liferay-role&#34;&gt;ECC Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the ECC admin can manipulate ECC data.&lt;/p&gt; +&lt;h4 id=&#34;user&#34;&gt;User&lt;/h4&gt; +&lt;p&gt;A user can create, modify and delete all own (=self created) records. A user cannot change records of others&lt;/p&gt; +&lt;h3 id=&#34;moderation-requests&#34;&gt;Moderation Requests&lt;/h3&gt; +&lt;p&gt;If a user with user or other access role rights is not entitled to write or change a record, a moderation request will be created. The moderation request contains the changes an will be routed for approval to the users who can write this record.&lt;/p&gt; +&lt;p&gt;In addition there are ACL-style roles, meaning that per data item access settings can be made:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;&lt;strong&gt;creator&lt;/strong&gt; - a creator can modify in addition to the user&amp;rsquo;s read abilities, a user can be creator of a data item&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;moderator&lt;/strong&gt; - a creator can define moderators for a data item. Moderators can change a data item as a creator can.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;contributor&lt;/strong&gt; (Component) - is a contributor to a component, project, similar (but not the same) to a moderator. In addition to moderator, this role has been added to identify contributors (or that contributors get the fame). +In contrast, the contributor cannot delete data items.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;project responsible&lt;/strong&gt; (Project) - is a contributor, just named differently to identify the responsible person.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;lead architect&lt;/strong&gt; (Project) - is a contributor, just named differently to identify the responsible person. an architect refers to the person who has that role of the project or product. This role has been added to identify architects to have a contact person for technical questions.&lt;/li&gt; +&lt;li&gt;&lt;strong&gt;contact&lt;/strong&gt; (Release) - deprecated, should be renamed to contributor see #100.&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;&lt;code&gt;group (department)&lt;/code&gt;, &lt;code&gt;contributor&lt;/code&gt;, &lt;code&gt;moderator&lt;/code&gt; and &lt;code&gt;owner&lt;/code&gt; roles are entity specific, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;clearing admin&lt;/code&gt; and &lt;code&gt;admin&lt;/code&gt; are roles assigned to a user.&lt;/p&gt; +&lt;h3 id=&#34;additional-project-visibility&#34;&gt;Additional Project Visibility&lt;/h3&gt; +&lt;p&gt;In addition to the roles mentioned above, each project has a separate visibility setting (technically an attribute of the project document). There are four project visibility levels:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Private - no one but the creator can read.&lt;/li&gt; +&lt;li&gt;Me and moderators - involves all moderators and contributors, basically all names that are named among the attributes (lead architect, project responsible, contributors)&lt;/li&gt; +&lt;li&gt;Department / business unit (should be renamed) - refer to the group the users are in.&lt;/li&gt; +&lt;li&gt;Public - all registered users of the liferay / sw360 application (login required).&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;The access rules are implemented in&lt;code&gt;lib-datahandler&lt;/code&gt;. In the package, &lt;code&gt;com.siemens.sw360.datahandler.permissions&lt;/code&gt; this is implemented in &lt;code&gt;ProjectPermissions&lt;/code&gt;. See methods &lt;code&gt;isVisible&lt;/code&gt; and &lt;code&gt;userIsEquivalentToModeratorinProject()&lt;/code&gt; for the actual rules.&lt;/p&gt; +&lt;h3 id=&#34;overall-access-matrix&#34;&gt;Overall Access Matrix&lt;/h3&gt; +&lt;p&gt;The following table presents the SW360 Role-Authorisation-Model.&lt;/p&gt; +&lt;p&gt;The row specifies which action to take, the column the role of the actor. Cell entries specify which entity type can be acted upon.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;(sw360)admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;create&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;PCRV&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;read&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;(P²)CRVL&lt;/td&gt; +&lt;td&gt;(P²)CRVL&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;edit&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;(all created ones)&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;delete&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;PCR&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;(all created ones)&lt;/td&gt; +&lt;td&gt;L&lt;/td&gt; +&lt;td&gt;PCRVL&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;P² : only if the user is member of the group of the project (or has created the project)&lt;/p&gt; +&lt;p&gt;Note that ECC Admins and Security Admins have only the ability to write ECC and security data respectively at given records. However, as for the other access rights this role does not enhance anything above users.&lt;/p&gt; +&lt;h4 id=&#34;legend&#34;&gt;Legend&lt;/h4&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;acronym&lt;/th&gt; +&lt;th&gt;description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;C&lt;/td&gt; +&lt;td&gt;component&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;release&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;V&lt;/td&gt; +&lt;td&gt;vendor&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;L&lt;/td&gt; +&lt;td&gt;license&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;technical-info&#34;&gt;Technical Info&lt;/h2&gt; +&lt;p&gt;The role access rules are put into &lt;code&gt;lib-datahandler&lt;/code&gt;. In the package, &lt;code&gt;com.siemens.sw360.datahandler.permissions&lt;/code&gt; there are implementing classes of a template class &lt;code&gt;DocumentPermissions&lt;/code&gt;. As an example, &lt;code&gt;ProjectPermissions&lt;/code&gt; extends abstract class &lt;code&gt;DocumentPermissions&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;At run time, a permissions object consisting of a document and a user is created: In &lt;code&gt;PermissionUtils&lt;/code&gt; (same package) there is a static method &lt;code&gt;makePermissions&amp;lt;T&amp;gt;()&lt;/code&gt; that creates a permissions object. The received permissions object instance can be asked if a particular operation is allowed.&lt;/p&gt; +&lt;p&gt;Note that the general application of these permission operations runs in the backend (Thrift services). An application in the front end of &lt;code&gt;PermissionUtils&lt;/code&gt; for example, is for displaying buttons depending on the user main role (user, clearing admin or admin). Then the portlet makes plain use of the &lt;code&gt;lib-datahandler&lt;/code&gt; library.&lt;/p&gt; +&lt;h2 id=&#34;further-plans&#34;&gt;Further plans&lt;/h2&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Actually, creating stuff should be checked in lib-datahandler, starting with creation of licenses,which should ot be permitted to users: &lt;a href=&#34;https://github.com/siemens/sw360portal/issues/106&#34;&gt;Issue #106&lt;/a&gt;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/siemens/sw360portal/issues/101&#34;&gt;Issue #101&lt;/a&gt; for&lt;/p&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;download OSS sources&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;download internal sources&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;ol start=&#34;3&#34;&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/siemens/sw360portal/issues/102&#34;&gt;Issue #102&lt;/a&gt; for&lt;/li&gt; +&lt;/ol&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;send to clearing&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;P&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;PCRL&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;ol start=&#34;4&#34;&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/siemens/sw360portal/issues/103&#34;&gt;Issue #103&lt;/a&gt; for&lt;/li&gt; +&lt;/ol&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;&lt;/th&gt; +&lt;th&gt;contributor&lt;/th&gt; +&lt;th&gt;moderator&lt;/th&gt; +&lt;th&gt;creator&lt;/th&gt; +&lt;th&gt;user&lt;/th&gt; +&lt;th&gt;clearing admin&lt;/th&gt; +&lt;th&gt;admin&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;edit clearing report&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;R&lt;/td&gt; +&lt;td&gt;-&lt;/td&gt; +&lt;td&gt;R?&lt;/td&gt; +&lt;td&gt;PCRL&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Semantic Commits</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/</guid> + <description> + + + &lt;h2 id=&#34;the-reason-and-benefit-of-semantic-commit-messages&#34;&gt;The reason and benefit of semantic commit messages&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;automatic generating of the changelog&lt;/li&gt; +&lt;li&gt;simple navigation through git history (e.g. ignoring style changes)&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;semantic-commit-message-structure&#34;&gt;Semantic commit message structure&lt;/h2&gt; +&lt;p&gt;&lt;code&gt;&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;commit message&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;the-following-types-are-supported&#34;&gt;The following &lt;types&gt; are supported&lt;/h2&gt; +&lt;ul&gt; +&lt;li&gt;feat (new feature for the user, not a new feature for build script)&lt;/li&gt; +&lt;li&gt;fix (bug fix for the user, not a fix to a build script)&lt;/li&gt; +&lt;li&gt;docs (changes to the documentation)&lt;/li&gt; +&lt;li&gt;style (formatting, missing semi colons, etc; no production code change)&lt;/li&gt; +&lt;li&gt;refactor (refactoring production code, eg. renaming a variable)&lt;/li&gt; +&lt;li&gt;test (adding missing tests, refactoring tests; no production code change)&lt;/li&gt; +&lt;li&gt;chore (updating grunt tasks etc; no production code change)&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Example &lt;scope&gt; values:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;ui (user interface)&lt;/li&gt; +&lt;li&gt;rest (REST API)&lt;/li&gt; +&lt;li&gt;thrift (apache thrift services)&lt;/li&gt; +&lt;li&gt;project (project portlet)&lt;/li&gt; +&lt;li&gt;component (component portlet)&lt;/li&gt; +&lt;li&gt;user (user portlet)&lt;/li&gt; +&lt;li&gt;etc.&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;example-of-semantic-commit-message&#34;&gt;Example of semantic commit message&lt;/h2&gt; +&lt;p&gt;&lt;code&gt;fix(rest): change maven plugin order to generate the documentation correctly&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;commit message&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;referencing-issues&#34;&gt;Referencing issues&lt;/h2&gt; +&lt;p&gt;Please reference in the pull request to the open issue&lt;/p&gt; +&lt;p&gt;&lt;code&gt;closes eclipse/sw360#&amp;lt;issue-number&amp;gt;&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;closes eclipse/sw360#758&lt;/code&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Testing Frameworks</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/</guid> + <description> + + + &lt;p&gt;The implementation of complicated rules is not always easy to read. +A good way to document and explain the behaviour of rule engines are natural language tests. +A frame work we use for that is &lt;a href=&#34;http://jgiven.org/&#34;&gt;jgiven&lt;/a&gt;. +We write the tests using the [dataprovider] (&lt;a href=&#34;https://github.com/TNG/junit-dataprovider&#34;&gt;https://github.com/TNG/junit-dataprovider&lt;/a&gt;) runner. +This is basically a runner that allows to use parametrized tests.&lt;/p&gt; +&lt;p&gt;The basic testing frame work is still &lt;a href=&#34;http://junit.org/&#34;&gt;JUnit4&lt;/a&gt;, assertions are made using &lt;a href=&#34;https://code.google.com/p/hamcrest/wiki/Tutorial&#34;&gt;hamcrest&lt;/a&gt; and we mock complicated input classes with &lt;a href=&#34;http://mockito.org/&#34;&gt;mockito&lt;/a&gt;.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Troubleshooting</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/</guid> + <description> + + + &lt;h3 id=&#34;development-problems-building-sw360portal-with-maven&#34;&gt;Development: problems building sw360portal with maven?&lt;/h3&gt; +&lt;p&gt;Before building the sw360portal with maven, ensure that the following components are installed in the development environment:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;A git client&lt;/li&gt; +&lt;li&gt;Apache Maven 3.0.X&lt;/li&gt; +&lt;li&gt;Apache Thrift 0.9.3&lt;/li&gt; +&lt;li&gt;Java 1.8.X&lt;/li&gt; +&lt;li&gt;CouchDB, at least 1.5 (only if the tests will be executed locally)&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;development-problems-using-eclipse&#34;&gt;Development: problems using Eclipse?&lt;/h3&gt; +&lt;p&gt;Please do not use Eclipse, because the integration of Apache Thrift is an open issue and we found no plugin for Eclipse to solve the shown compiler errors. +Recommended is IntelliJ IDEA or NetBeans.&lt;/p&gt; +&lt;h3 id=&#34;liferay-problems-with-displaying-changes-to-page&#34;&gt;Liferay: problems with displaying changes to page?&lt;/h3&gt; +&lt;p&gt;When developing changes to a page and these changes do not show in browser - even after redeployment, then the internal liferay optimisation mechanisms may kick in. Try to add to the URL string the following key value parameters:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;js_fast_load=0&amp;amp;css_fast_load=0&amp;amp;strip=0 +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;liferay-where-are-the-initial-admin-user-settings&#34;&gt;Liferay: where are the initial admin user settings?&lt;/h3&gt; +&lt;p&gt;It is the file &lt;code&gt;portal-ext.properties&lt;/code&gt; in sw360/opt.&lt;/p&gt; +&lt;h3 id=&#34;maven-build-generally-fails&#34;&gt;Maven: build generally fails&lt;/h3&gt; +&lt;p&gt;You just try to compile parts or all of it and it fails? Most of the stuff depends on the module /build-configuration. Execute either &amp;ldquo;mvn install&amp;rdquo; on top level or inside build configuration.&lt;/p&gt; +&lt;h4 id=&#34;backend-problems-with-company-proxy&#34;&gt;Backend: problems with company proxy?&lt;/h4&gt; +&lt;p&gt;maybe try instead:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/apache-tomcat-/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;just this:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CATALINA_OPTS=&amp;#34;-Dhttps.proxy...&amp;#34; /opt/apache-tomcat-/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;for lucene it might be necessary to add:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[httpd_global_handlers] +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;_fti = {couch_httpd_proxy, handle_proxy_req, &amp;lt;&amp;lt;&amp;#34;http://127.0.0.1:8085/couchdblucene&amp;#34;&amp;gt;&amp;gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;in lucene.ini of local.d of your CouchDB installation&lt;/p&gt; +&lt;h4 id=&#34;backend-are-thrift-services-up&#34;&gt;Backend: are thrift services up?&lt;/h4&gt; +&lt;ol&gt; +&lt;li&gt;Check tomcat manager (if the services are there)&lt;/li&gt; +&lt;li&gt;Check if the service is accessible: +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://your.url.to.server.com:8085/components +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Should return &amp;ldquo;Welcome to &amp;hellip;&amp;rdquo;.&lt;/li&gt; +&lt;li&gt;Check if the service thrift page is there: +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://your.url.to.server.com:8085/components/thrift +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Should return HTTP status code 500, because in the browser, no valid thrift message was formed.&lt;/li&gt; +&lt;/ol&gt; +&lt;h4 id=&#34;backend-orgektorpdbaccessexception&#34;&gt;Backend: org.ektorp.DbAccessException&lt;/h4&gt; +&lt;p&gt;What do I do if I get: org.ektorp.DbAccessException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field &amp;ldquo;_id&amp;rdquo;&lt;/p&gt; +&lt;p&gt;You add the class you have been trying to serialize to +THRIFT_CLASSES in +sw360/src/libraries/lib-datahandler/src/main/java/com/siemens/sw360/datahandler/thrift/ThriftUtils.java&lt;/p&gt; +&lt;h4 id=&#34;backend-maven-failed-tomcat7-deploy&#34;&gt;Backend: maven failed tomcat7 deploy&lt;/h4&gt; +&lt;p&gt;If the deployment via maven of the backend does fail with an error like this&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2302/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2102/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2064/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Uploading: http://localhost:8085/manager/text/deploy?path&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;%2Flicenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2064/17930 KB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Reactor Summary: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend ........................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;2.579s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend-src ....................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;0.058s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-licenses ...................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;10.544s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-users ......................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;1.485s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-vendors ....................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;6.929s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-search ........................................ SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;5.837s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-components .................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;19.439s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-projects ...................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;14.280s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-attachments ................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;6.188s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-moderation .................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;1.169s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; src-fossology ..................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;6.259s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend-svc ....................................... SUCCESS &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;0.038s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-licenses ...................................... FAILURE &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;3.630s&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-users ......................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-vendors ....................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-search ........................................ SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-components .................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-projects ...................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-attachments ................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-moderation .................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; svc-fossology ..................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; backend-utils ..................................... SKIPPED +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; BUILD FAILURE +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Total time: 1:19.836s +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Finished at: Mon May &lt;span style=&#34;color:#f60&#34;&gt;04&lt;/span&gt; 15:57:46 CEST &lt;span style=&#34;color:#f60&#34;&gt;2015&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Final Memory: 24M/311M +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;INFO&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; ------------------------------------------------------------------------ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy &lt;span style=&#34;color:#555&#34;&gt;(&lt;/span&gt;default-cli&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; on project svc-licenses: Cannot invoke Tomcat manager: Broken pipe -&amp;gt; &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;Help 1&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; To see the full stack trace of the errors, re-run Maven with the -e switch. +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; Re-run Maven using the -X switch to &lt;span style=&#34;color:#366&#34;&gt;enable&lt;/span&gt; full debug logging. +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; For more information about the errors and possible solutions, please &lt;span style=&#34;color:#366&#34;&gt;read&lt;/span&gt; the following articles: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;Help 1&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; After correcting the problems, you can resume the build with the &lt;span style=&#34;color:#366&#34;&gt;command&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;[&lt;/span&gt;ERROR&lt;span style=&#34;color:#555&#34;&gt;]&lt;/span&gt; mvn &amp;lt;goals&amp;gt; -rf :svc-licenses +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;voyager:backend sam$ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One solution is that you deployed already and the tomcat7 plugin does not like to have multiple deploy commands. Instead you will need to issue a &lt;code&gt;mvn tomcat7:redeploy&lt;/code&gt; command.&lt;/p&gt; +&lt;h4 id=&#34;deployment-liferay-not-accessible&#34;&gt;Deployment: liferay not accessible&lt;/h4&gt; +&lt;p&gt;If the virtual machine was shut down and started up again, the backend services and frontend liferay require manual restart. Please contribute a change in the vagrant deployment if you feel that this could be changed. The actual places to call are:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/apache-tomcat-.../bin/.startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/opt/liferay-.../tomcat-.../bin/.startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Using RequireJS fro Javascript Modules</title> + <link>https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/</guid> + <description> + + + &lt;p&gt;Today most of the javascript code runs in the global namespace. This increases the risk of overwriting symbols in the global namespace due to different libraries and snippets.&lt;/p&gt; +&lt;h1 id=&#34;goal&#34;&gt;Goal&lt;/h1&gt; +&lt;p&gt;We want to use RequireJS (&lt;a href=&#34;http://requirejs.org/&#34;&gt;http://requirejs.org/&lt;/a&gt;) to modularize our code and to have clear namespaces for each component. In addition some of the code may be reused more easily. Other advantages:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;libraries like jquery or datatables can be imported by name but without a specified version&lt;/li&gt; +&lt;li&gt;if necessary, specific versions can be imported for parts of the page&lt;/li&gt; +&lt;li&gt;it is very easy to only load needed dependencies&lt;/li&gt; +&lt;li&gt;good support of webjars due to webjars-locator. Webjars a are automatically accessible through RequireJS.&lt;/li&gt; +&lt;/ul&gt; +&lt;h1 id=&#34;how-to-use---example&#34;&gt;How to use - example&lt;/h1&gt; +&lt;p&gt;There is a new jspf-file to be included in jsps to enable RequireJS support:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;&amp;lt;%@ include file=&amp;quot;/html/utils/includes/requirejs.jspf&amp;quot; %&amp;gt; +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;When RequireJS is enabled with the above include, all libraries can be accessed and code can be scoped:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;require([&#39;jquery&#39;, &#39;module/quickfilter&#39;, &#39;module/confirm&#39;, /* jquery-plugins: */ &#39;datatables&#39;, &#39;jquery-ui&#39;], function($, quickfilter, confirm) { + // code goes here, libraries can be used through the variables $, quickfilter and confirm + // Note: jquery-plugins does not have to be bound to variables since they directly register themselves in the jquery object +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;&lt;strong&gt;NOTE/WARNING&lt;/strong&gt;: since not all code is using RequireJS at the moment it is highly recommended to include RequireJS just before the script tag using it. DO NOT include it at the beginning of the file! Therefore use the following pattern:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;&amp;lt;%@ include file=&amp;quot;/html/utils/includes/requirejs.jspf&amp;quot; %&amp;gt; +&amp;lt;script&amp;gt; + require([&#39;jquery&#39;], function($) { + // js stuff + }); +&amp;lt;/script&amp;gt; +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;&lt;strong&gt;Explanation&lt;/strong&gt;: some the the jQuery-plugins are already module safe. This means the look if something like RequireJS is available and - if this is the case - register themselves as anonymous modules. If someone in some include in the page loads such a plugin via script plugin it may happen that the plugins registers itself twice as an anonymous module which causes errors in RequireJS. Loading RequireJS after all script tags will prevent this and ensure that every plugin is only registered once.&lt;/p&gt; +&lt;h1 id=&#34;migration&#34;&gt;Migration&lt;/h1&gt; +&lt;h2 id=&#34;migrate-a-jsp&#34;&gt;Migrate a JSP&lt;/h2&gt; +&lt;p&gt;To migrate a JSP to use RequireJS the following steps have to be done:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Enable RequireJS support by including &lt;code&gt;requirejs.jspf&lt;/code&gt;. Do it JUST before the script tag with the main code (see NOTE above).&lt;/li&gt; +&lt;li&gt;Enclose the existing code in a &lt;code&gt;require&lt;/code&gt;-function (&lt;strong&gt;Attention:&lt;/strong&gt; Also read &amp;ldquo;Co-existence with AUI().use()&amp;rdquo; below)&lt;/li&gt; +&lt;li&gt;Remove existing &lt;code&gt;script&lt;/code&gt;-tags that loads the javascript files &amp;ldquo;manually&amp;rdquo;&lt;/li&gt; +&lt;li&gt;Rewrite code that access functions inside the new &lt;code&gt;require&lt;/code&gt;-function from outside (e.g. click handlers, see below)&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;co-existence-with-auiuse&#34;&gt;Co-existence with AUI().use()&lt;/h2&gt; +&lt;p&gt;If you need to use AUI().use() in your code, e.g. to grab the PortletURL object, you have to call this function first and call &lt;code&gt;require&lt;/code&gt; inside. Otherwise the code may not be executed correclty if the &amp;lsquo;Drag&amp;amp;Drop&amp;rsquo; error occurs to early during page loading:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;AUI().use(&#39;liferay-portlet-url&#39;, function () { + require([&#39;jquery&#39;, &#39;module/quickfilter&#39;) { + // AUI and require modules loaded and available + }); +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;h2 id=&#34;migrate-click-handlers&#34;&gt;Migrate click-handlers&lt;/h2&gt; +&lt;p&gt;Since none of the defined functions remains in the global scope click handlers defined in the attributes of a tag would no longer work. Use jQuery to attach a click handler instead:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;$(&#39;#exportSpreadsheetButton&#39;).on(&#39;click.components&#39;, exportSpreadsheet) +&lt;/code&gt;&lt;/pre&gt; +&lt;p&gt;This click handler is added inside the RequireJS-scope where the function &lt;code&gt;exportSpreadsheet&lt;/code&gt; is defined. +You may also attach handler for distinct elements in each row of a table:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;$(&#39;#componentsTable&#39;).on(&#39;click.components&#39;, &#39;img.delete&#39;, function(event) { + // do stuff +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;h2 id=&#34;make-a-module-out-of-a-jspf-include&#34;&gt;Make a module out of a jspf-include&lt;/h2&gt; +&lt;p&gt;There are many jspf-includes which contain html as well as javascript code. They should be converted as followed:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Move the javascript code to an own file. Place it below the &amp;lsquo;html/js&amp;rsquo;-folder, following the same structure as the jspf-file. If the jspf-file is &lt;code&gt;html/components/includes/vendors/addVendor.jspf&lt;/code&gt; place the javascript code in the file &lt;code&gt;js/components/includes/vendors/addVendor.js&lt;/code&gt;.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Enclose the code in a define statement to define a new module:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt; define(&#39;components/includes/vendors/addVendor&#39;, [ /* dependencies */ ], function() { + // define module code + }); +&lt;/code&gt;&lt;/pre&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;In order to use the new module include the jspf-file and load the js-code via RequireJS:&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;&amp;lt;%@ include &amp;quot;html/components/includes/vendors/addVendor.jspf&amp;quot; %&amp;gt; + +require([&#39;components/includes/vendors/addVendor&#39;], function(addVendor) { + // use addVendor +}); +&lt;/code&gt;&lt;/pre&gt; +&lt;h2 id=&#34;make-a-module-out-of-a-javascript-file-or-function&#34;&gt;Make a module out of a javascript file or function&lt;/h2&gt; +&lt;p&gt;There are several javascript files and functions below `/html/js&amp;rsquo;. They can be make compatible to RequireJS as follows:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;Create a new file inside &lt;code&gt;/html/js/component&lt;/code&gt; with a proper name that describes the functionality for the new component&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Define the module and point to the legacy function, e.g.&lt;/p&gt; +&lt;pre&gt;&lt;code&gt; define(&#39;module/confirm&#39;, [&#39;jquery&#39;, /* jquery-plugins: */ &#39;jquery-confirm&#39;, /* legacy code */ &#39;main&#39; ], function($) { + return { + confirmDeletion: deleteConfirmed /* pointer to legacy method in main.js */ + }; + }); +&lt;/code&gt;&lt;/pre&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Afterwards the module can be loaded using the name &lt;code&gt;component/confirm&lt;/code&gt;, e.g.&lt;/p&gt; +&lt;pre&gt;&lt;code&gt; require([&#39;module/confirm&#39;], function(confirm) { + confirm.confirmDeletion(/*...*/); + }); +&lt;/code&gt;&lt;/pre&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; The legacy function should be moved inside the module as soon as the function is no longer accessed directly but via RequireJS only. +&lt;strong&gt;Note&lt;/strong&gt; You can also require legacy javascript files if you need them as dependency as pointed out in the examples above.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Attachment File Types</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/</guid> + <description> + + + &lt;p&gt;SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that users select the appropriate type accordingly. If not, some functionality will not properly kick of that uses such attachments.&lt;/p&gt; +&lt;p&gt;Also, maybe some of the types are redundant by now and are just legacy ideas that should be reviewed after two years now.&lt;/p&gt; +&lt;p&gt;In summary, the following the types currently are as follows:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Type name&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Functionality&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SOURCE&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;for sending to tools&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Source packages of a release as found on the Internet&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;COMPONENT_LICENSE_INFO_XML&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;for project documentation generation&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;An XML-based description of the licenses and coprights involved&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DESIGN&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just nomenclature to name this not document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;REQUIREMENT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just a general placeholder for an attachment&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DOCUMENT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just a general placeholder for an attachment&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;CLEARING_REPORT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Setting clearing status&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Reporting information for component license state&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;COMPONENT_LICENSE_INFO_COMBINED&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;(should be) for project documentation generation&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Multiple components with component license information&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SCAN_RESULT_REPORT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just description what scanners found without conclusions&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SCAN_RESULT_REPORT_XML&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just description what scanners found without conclusions in XML&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SOURCE_SELF&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;(should be) for sending to tools&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Source packages build self, because not available in the Internet&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;BINARY&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;future: for sending to tool doing binary analysis&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Binary from the publisher&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;BINARY_SELF&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;future: for sending to tool doing binary analysis&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Self built binary&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DECISION_REPORT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Decision information ref. the component&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;LEGAL_EVALUATION&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Internally created legal evaluation&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;LICENSE_AGREEMENT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Document describing the license agreement&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SCREENSHOT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If licensing information is captured with screenshot&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;OTHER&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If not document&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: Authorization Concept</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/</guid> + <description> + + + &lt;p&gt;The authorization concept describes the different roles of the solution - mainly for documentation of the authorization of different roles of the sw360. It is not focusing for the roles like being a moderator, it is described on a separate page for users: &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Role-Authorisation-Model&#34;&gt;role and access model&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;roles-overview&#34;&gt;Roles Overview&lt;/h2&gt; +&lt;p&gt;SW360 offers two choices for doing the roles: one is setting access rights at every record individually. Another are general roles that can be set for every user. An admin of SW360 can set user roles at the Liferay Users and Roles UI.&lt;/p&gt; +&lt;h4 id=&#34;setup-admin-liferay-role&#34;&gt;Setup Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The setup admin is the Liferay administrator, which can configure the entire liferay app, such as which portlets are shown on which page.&lt;/p&gt; +&lt;h4 id=&#34;sw360-admin-liferay-role&#34;&gt;SW360 Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The SW360 admin can change all data and promote users for more access rights, such as promoting a user to role &lt;code&gt;CLEARING_ADMIN&lt;/code&gt;. So its use case is to promote users to clearing admins after some time without always asking the site administrator to do this. To enhance the &lt;code&gt;SW360_ADMIN&lt;/code&gt; role to allow users of this role to promote other users&amp;rsquo;s roles, follow these steps:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Go to control panel&lt;/li&gt; +&lt;li&gt;Select the &lt;code&gt;Users&lt;/code&gt; section&lt;/li&gt; +&lt;li&gt;To subsection &lt;code&gt;Roles&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;Select row for &lt;code&gt;SW360 Admin&lt;/code&gt; and select action &lt;code&gt;Define permissions&lt;/code&gt;.&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;When defining permissions the idea is to reduce the permissions to the lowest level possible. Just allow for changing users.&lt;/p&gt; +&lt;h4 id=&#34;clearing-admin-liferay-role&#34;&gt;Clearing Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;The clearing admin can change all component and release records and project records of the same group.&lt;/p&gt; +&lt;h4 id=&#34;security-admin-liferay-role&#34;&gt;Security Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the security admin can set security vulnerabilities to irrelevant&lt;/p&gt; +&lt;h4 id=&#34;ecc-admin-liferay-role&#34;&gt;ECC Admin (Liferay Role)&lt;/h4&gt; +&lt;p&gt;In addition to the user rights, the ECC admin can manipulate ECC data.&lt;/p&gt; +&lt;h4 id=&#34;user&#34;&gt;User&lt;/h4&gt; +&lt;p&gt;A user can create, modify and delete all own (=self created) records. A user cannot change records of others&lt;/p&gt; +&lt;h4 id=&#34;summary&#34;&gt;Summary&lt;/h4&gt; +&lt;h3 id=&#34;moderation-requests&#34;&gt;Moderation Requests&lt;/h3&gt; +&lt;p&gt;If a user with user or other access role rights is not entitled to write or change a record, a moderation request will be created. The moderation request contains the changes an will be routed for approval to the users who can write this record.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Configurable Property Keys</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/</guid> + <description> + + + &lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt; +&lt;p&gt;List of all applicable property files in sw360:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;sw360.properties&lt;/li&gt; +&lt;li&gt;fossology.properties&lt;/li&gt; +&lt;li&gt;couchdb.properties&lt;/li&gt; +&lt;li&gt;search.properties&lt;/li&gt; +&lt;li&gt;orgmapping.properties&lt;/li&gt; +&lt;li&gt;databasetest.properties&lt;/li&gt; +&lt;li&gt;authorization/application.yml&lt;/li&gt; +&lt;li&gt;rest/application.yml&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;sw360properties-etcsw360sw360properties&#34;&gt;SW360.properties (/etc/sw360/sw360.properties)&lt;/h3&gt; +&lt;p&gt;The following table shall give an overview about the general sw360 configuration settings.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;licenseinfo.spdxparser.use-license-info-from-files&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;true/false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;mainline.state.enabled.for.user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;true/false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.email&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;EMAIL&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.extid&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;EXTID&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.givenname&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;GIVENNAME&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.surname&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SURNAME&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;key.auth.department&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DEPARTMENT&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;backend.url&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http://127.0.0.1:8080&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;cvesearch.vendor.threshold&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;1&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;cvesearch.product.threshold&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;0&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;cvesearch.cutoff&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;6&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;combined.cli.parser.external.id.correlation.key&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;schedule.cvesearch.firstOffset.seconds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;0&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;schedule.cvesearch.interval.seconds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&amp;ldquo;(24&lt;em&gt;60&lt;/em&gt;60)&amp;rdquo;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;autostart&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.write.access.usergroup&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SW360_ADMIN&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.access.token.validity.seconds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;3600&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.security.client.id&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360-trusted-client&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;rest.security.client.secret&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360-secret&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;programming.languages&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;ActionScript,AppleScript, Asp,Bash,BASIC, C,C++,C#,Cocoa,Clojure, COBOL,ColdFusion,D, Delphi,Erlang,Fortran, Go,Groovy,Haskell, JSP,Java,JavaScript,Objective-C, Ocaml,Lisp,Perl, PHP,Python,Ruby,SQL ,SVG,Scala,SmallTalk Scheme,Tcl,XML, Node.js,JSON&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;software.platforms&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Adobe AIR,Adobe Flash, Adobe Shockwave,Binary Runtime Environment for Wireless,Cocoa (API),Cocoa Touch,Java (software platform)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;operating.systems&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Android,BSD,iOS, Linux,OS X,QNX, Microsoft Windows,Windows Phone,IBM z/OS&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;clearing.teams&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;org1,org2,org3&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;state&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Active,Phase out,Unknown&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;project.type&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Customer Project,Internal Project,Product,Service,Inner Source&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;project.externalkeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;internal.id&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;license.identifiers&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;component.categories&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;framework,SDK,big-data, build-management,cloud,content, database,graphics,http, javaee,library,mail,mobile, security,testing,virtual-machine, web-framework,xml&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;component.externalkeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;com.github.id,com.gitlab.id,purl.id&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.project.roles&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Stakeholder,Analyst,Contributor,Accountant,End user,Quality manager,Test manager,Technical writer,Key user&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.component.roles&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Committer,Contributor,Expert&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.release.roles&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Committer,Contributor,Expert&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;custommap.release.externalIds&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;release.externalkeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;org.maven.id,com.github.id,com.gitlab.id,purl.id&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;projectimport.hosts&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;preferred.country.codes&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DE,AT,CH,US&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_from&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;_&lt;a href=&#34;mailto:No_Reply__@sw360.org&#34;&gt;No_Reply__@sw360.org&lt;/a&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_host&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_port&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;25&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_enableStarttls&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_enableSsl&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_isAuthenticationNecessary&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;true&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_login&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_password&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_enableDebug&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;MailUtil_supportMailAddress&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;defaultBegin&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;defaultEnd&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;unsubscribeNoticeBefore&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;unsubscribeNoticeAfter&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;fossologyproperties-etcsw360fossologyproperties&#34;&gt;fossology.properties (/etc/sw360/fossology.properties)&lt;/h3&gt; +&lt;p&gt;These configuration parameters are necessary to connect to a fossology server.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.host&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;localhost&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.port&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;22&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.key.file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;/fossology.id_rsa&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;fossology.key.pub.file&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;[fossology.key.file] + .pub&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;couchdbproperties-etcsw360couchdbproperties&#34;&gt;couchdb.properties (/etc/sw360/couchdb.properties)&lt;/h3&gt; +&lt;p&gt;CouchDB and Lucene serach configuration properties.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.url&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http://localhost:5984&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.database&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360db&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.user&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.password&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.userdb&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360users&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.attachments&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360attachments&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.fossologyKeys&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360fossologyKeys&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.vulnerability_management&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sw360vm&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;lucenesearch.limit&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;25&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;lucenesearch.leading.wildcard*&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;blockquote&gt; +&lt;p&gt;* If you enable lucene leading wildcards you have to enable this configuration also in couchdb-lucene.ini! Leading wildcard search is disabled as default because its a expensive operation. &lt;em&gt;(couchdb-lucene.ini is part of the couchdb-lucene .war package)&lt;/em&gt; &lt;br&gt; +[lucene] &lt;br&gt; +allowLeadingWildcard=true&lt;/p&gt; +&lt;/blockquote&gt; +&lt;h3 id=&#34;searchproperties-etcsw360searchproperties&#34;&gt;search.properties (/etc/sw360/search.properties)&lt;/h3&gt; +&lt;p&gt;The following table shall give an overview about the specific search properties&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;search.name.max.length&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;64&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;orgmappingproperties-etcsw360orgmappingproperties&#34;&gt;orgmapping.properties (/etc/sw360/orgmapping.properties)&lt;/h3&gt; +&lt;p&gt;This configuration file is used to activate the sw360 orgmapping feature.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;match.prefix&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;enable.custom.mapping&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;false&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;databasetestproperties-etcsw360databasetestproperties&#34;&gt;databasetest.properties (/etc/sw360/databasetest.properties)&lt;/h3&gt; +&lt;p&gt;Just for couchdb database test purpose.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Property Key&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couch_db_url&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http://localhost:5984&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couch_db_database&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;datahandlertestdb&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.username&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;couchdb.password&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;-&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;authorizationapplicationyml-etcsw360authorizationapplicationyml&#34;&gt;authorization/application.yml (/etc/sw360/authorization/application.yml)&lt;/h3&gt; +&lt;p&gt;All of the following built-in properties can be overridden:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Port to open in standalone mode +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; port: 8090 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Connection to the couch databases. Will be used to store client credentials +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;couchdb: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; url: http://localhost:5984 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; database: sw360oauthclients +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # if your couchdb does not use authentication, pls just don&amp;#39;t use the settings for username and password +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; #username: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; #password: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spring: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jackson: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; serialization: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; indent_output: true +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Common SW360 properties +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # The url of the Liferay instance +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sw360-portal-server-url: ${SW360_PORTAL_SERVER_URL:http://127.0.0.1:8080} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # The id of the company in Liferay that sw360 is run for +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sw360-liferay-company-id: ${SW360_LIFERAY_COMPANY_ID:20155} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # Allowed origins that should be set in the header +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; cors: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; allowed-origin: ${SW360_CORS_ALLOWED_ORIGIN:#{null}} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # Configuration for enabling authorization via headers, e.g. when using SSO +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # in combination with a reverse proxy server +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; customheader: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; headername: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # You have to enable authorization by headers explicitly here +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; enabled: false +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # Attention: please make sure that the proxy is removing there headers +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # if they are coming from anywhere else then the authentication server +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; intermediateauthstore: custom-header-auth-marker +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; email: authenticated-email +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; extid: authenticated-extid +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # also available - at least in saml pre auth - are &amp;#34;givenname&amp;#34;, &amp;#34;surname&amp;#34; and &amp;#34;department&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; oauth2: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; resource: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; id: sw360-REST-API +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;restapplicationyml-etcsw360restapplicationyml&#34;&gt;rest/application.yml (/etc/sw360/rest/application.yml)&lt;/h3&gt; +&lt;p&gt;All of the following built-in properties can be overridden:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; port: 8091 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;spring: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; http: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; multipart: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; max-file-size: 500MB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; max-request-size: 600MB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; data: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; rest: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; base-path: /api +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# logging: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# level: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# org.springframework.web: DEBUG +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; oauth2: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; resource: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; id: sw360-REST-API +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; filter-order: 3 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; jwt: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; keyValue: | +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -----BEGIN PUBLIC KEY----- +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApz8Cr1o5yHMv/FUdF5uy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; VptilqdWtNvw5S6Tr4IaQ4XR9QPt8nlRsjOngfG4QCcKMBWJISldFg8PlJWUBeV+ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 6TwQUidxokl2GbO6/+QA+lz1a5Ei1Y1pcnvFeRb2pdYlH3Yg6fXMxS6QwDLk27pZ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 5xbpSDIGISDesyaIMvwaKdhAbFW/tTb/oJY7rCPvmYLT80kJzilijJ/W01jMMSHg +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 9Yi5cCt1eU/s78co+pxHzwNXO0Ul4iRpo/CXprQCsSIsdWkJTo6btal1xzd292Da +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; d+9xq499JEsNbcqLfCq8DBQ7CEz6aJjMvPkvZiCrFIGxC/Gqmw35DQ4688rbkKSJ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; PQIDAQAB +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -----END PUBLIC KEY----- +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; thrift-server-url: ${SW360_THRIFT_SERVER_URL:http://localhost:8080} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; test-user-id: admin@sw360.org +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; test-user-password: sw360-password +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; couchdb-url: ${SW360_COUCHDB_URL:http://localhost:5984} +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; cors: +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; allowed-origin: ${SW360_CORS_ALLOWED_ORIGIN:#{null}} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; + </description> + </item> + + <item> + <title>Docs: Configuring Country Codes</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/</guid> + <description> + + + &lt;p&gt;This feature is available on:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;projects / Owner Country&lt;/li&gt; +&lt;li&gt;components / Owner Country&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;&lt;img src=&#34;https://user-images.githubusercontent.com/29916928/36796378-551cf572-1c9d-11e8-96aa-85ce98e97ff3.jpg&#34; alt=&#34;Country Code List&#34;&gt;&lt;/p&gt; +&lt;p&gt;Its supports preferred country codes, which are shown at the top of the country list. &lt;br&gt; +You can configure them by using the sw360.properties.&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:center&#34;&gt;sw360 properties key&lt;/th&gt; +&lt;th style=&#34;text-align:center&#34;&gt;value&lt;/th&gt; +&lt;th style=&#34;text-align:center&#34;&gt;default&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:center&#34;&gt;preferred.country.codes&lt;/td&gt; +&lt;td style=&#34;text-align:center&#34;&gt;(ISO 3166-1 alpha-2)&lt;/td&gt; +&lt;td style=&#34;text-align:center&#34;&gt;DE,AT,CH,US&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: CVE Scheduler</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/</guid> + <description> + + + &lt;h1 id=&#34;how-to-use-sw360-cve-schedule&#34;&gt;How to use SW360 CVE schedule&lt;/h1&gt; +&lt;p&gt;SW360 gets vulnerability information from Common Vulnerability Enumeration (CVE) data. SW360 can connect to your local cve-search server.&lt;br&gt; +&lt;em&gt;Few years ago, sw360 was able to get vulnerability information from online CVE serverr, but it is not active.&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;install-cve-search&#34;&gt;Install CVE-search&lt;/h2&gt; +&lt;p&gt;cve-search is a tool to import CVE (Common Vulnerabilities and Exposures) and CPE (Common Platform Enumeration) into a MongoDB to facilitate search and processing of CVEs. You can choose Docker install or Native install.&lt;/p&gt; +&lt;h3 id=&#34;docker-installation-github-repohttpsgithubcomcve-searchcve-search-docker&#34;&gt;Docker Installation &lt;a href=&#34;https://github.com/cve-search/CVE-Search-Docker&#34;&gt;Github repo&lt;/a&gt;&lt;/h3&gt; +&lt;p&gt;Only clone and &amp;ldquo;docker-compose up&amp;rdquo;.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ git clone https://github.com/cve-search/CVE-Search-Docker.git +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; CVE-Search-Docker +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ docker-compose up +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;native-installation-github-repohttpsgithubcomcve-searchcve-search&#34;&gt;Native Installation &lt;a href=&#34;https://github.com/cve-search/cve-search&#34;&gt;Github repo&lt;/a&gt;&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;Clone source&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ git clone https://github.com/cve-search/cve-search +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; cve-search +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ git checkout &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt;tag/branch&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt; +&lt;li&gt;Install system requirements&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get install -y &amp;lt; requirements.system +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt; +&lt;li&gt;Install CVE-Search and its Python dependencies&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; pip3 install -r requirements.txt +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt; +&lt;li&gt;Install mongodb&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#033&#34;&gt;codename&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;$(&lt;/span&gt;lsb_release --codename --short&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;)&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu &lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;codename&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt;/mongodb-org/4.4 multiverse&amp;#34;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get update +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get install -y mongodb-org +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl daemon-reload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl start mongod +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Verify status of mongodb&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl status mongod +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# if all is ok, enable mongodb to start on system startup&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl &lt;span style=&#34;color:#366&#34;&gt;enable&lt;/span&gt; mongod +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;5&#34;&gt; +&lt;li&gt;Populating the database&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo apt-get install redis redis-server +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;#modify: stop-writes-on-bgsave-error yes -&amp;gt; no&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo vim /etc/redis/redis.conf +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl daemon-reload +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ sudo systemctl restart redis +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_mgmt_cpe_dictionary.py -p +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_mgmt_json.py -p +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_updater.py -c &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# This will take &amp;gt; 45minutes on a decent machine, please be patient&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;6&#34;&gt; +&lt;li&gt;Updating the database&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ ./sbin/db_updater.py -v +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;7&#34;&gt; +&lt;li&gt;Starting and stopping the web-server&lt;/li&gt; +&lt;/ol&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Install psutil &amp;gt;= 5.7.0&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ pip3 install psutil&amp;gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;5.7.0 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Starting web server&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ python3 web/index.py +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Default Web server: http://localhost:5000&lt;/p&gt; +&lt;p&gt;To stop the server, press the &lt;code&gt;CTRL+C&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: By default CVE-Search takes assumptions on certain configuration aspects of the application, you can adjust&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ &lt;span style=&#34;color:#366&#34;&gt;cd&lt;/span&gt; cve-search +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ cp etc/configuration.ini.sample etc/configuration.ini +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ vim etc/configuration.ini +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;setup-sw360-with-cve-server&#34;&gt;Setup SW360 with CVE server&lt;/h2&gt; +&lt;ol&gt; +&lt;li&gt;Change default CVE server&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;Change &lt;code&gt;cvesearch.host&lt;/code&gt; with CVE server address.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ vim &lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_DIR_INSTALL&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;/backend/src/src-cvesearch/src/main/resources/cvesearch.properties +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt; +&lt;li&gt;Setting for schedule the CVE service&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;The offset (first run of the update) and the interval between updates can also be adjusted.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ vim &lt;span style=&#34;color:#a00&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;SW360_DIR_INSTALL&lt;/span&gt;&lt;span style=&#34;color:#a00&#34;&gt;}&lt;/span&gt;/backend/src/src-schedule/src/main/resources/sw360.properties +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;offset&lt;/code&gt; has to be given in seconds since midnight and also the &lt;code&gt;interval&lt;/code&gt; has to be entered in seconds. The default is to update the vulnerabilities by CVEsearch every night at midnight, which corresponds to an offset of 0 and an interval of 24 hours (= 86400 seconds).&lt;/p&gt; +&lt;p&gt;According to the default settings, cveSearch is not auto-started with the scheduling service. If want to auto start &lt;code&gt;autostart = cvesearchService&lt;/code&gt;&lt;/p&gt; +&lt;ol start=&#34;3&#34;&gt; +&lt;li&gt;Schedule task Adminstration&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;View and start/stop schedule&lt;/p&gt; +&lt;p&gt;Click &lt;code&gt;Admin&lt;/code&gt; &amp;gt; &lt;code&gt;Schedule&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;reference&#34;&gt;Reference&lt;/h2&gt; +&lt;p&gt;CVE guide: [https://cve-search.github.io/cve-search/database/database.html]&lt;/p&gt; +&lt;p&gt;User Scheduling CVE Search by Admins: [https://github.com/eclipse/sw360/wiki/User-Scheduling-CVE-Search-by-Admins]&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: CVE-Search Scheduling</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/</guid> + <description> + + + &lt;p&gt;SW360 gets vulnerability information from an external provider of Common Vulnerability Enumeration (CVE) data. By default SW360 can connect to cve-search [https://www.circl.lu/services/cve-search/] which is either available as an online service [http://cve.circl.lu] or can be installed locally. For security and privacy reasons it is strongly advised to install a local cve-search service.&lt;/p&gt; +&lt;p&gt;In what follows the synchronization between SW360 and the external CVE provider is described.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;CveSearch-updates&lt;/code&gt; can either be scheduled automatically when launching the &lt;code&gt;schedule-service&lt;/code&gt; (e.g. when re/starting SW360) or it can be scheduled or unscheduled manually by an &lt;code&gt;SW360 admin&lt;/code&gt;. +It is automatically scheduled with the start of the scheduling service, if in the &lt;code&gt;/resources/sw360.properties&lt;/code&gt; file of the &lt;code&gt;schedule-service&lt;/code&gt; in the backend, &lt;code&gt;cvesearchService&lt;/code&gt; is mentioned in the &lt;code&gt;autostart&lt;/code&gt;-property:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;autostart = cvesearchService&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;According to the default settings, cveSearch is &lt;em&gt;not&lt;/em&gt; auto-started with the scheduling service.&lt;/p&gt; +&lt;p&gt;For manually scheduling the CVE search service, open the &lt;code&gt;Schedule Portlet&lt;/code&gt; of the &lt;code&gt;Admin&lt;/code&gt; menu. Note that the &lt;code&gt;Admin&lt;/code&gt; menu is only visible to &lt;code&gt;SW360 admins&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCAdminScheduling/01_adminMenu.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In the &lt;code&gt;Schedule Portlet&lt;/code&gt; of the &lt;code&gt;Admin&lt;/code&gt; menu, a user with &lt;code&gt;admin&lt;/code&gt; rights can turn on or off automatic updates of the cve-search service manually. +In the UI of the portlet, the admin can see whether or not the CVE-service is scheduled: if the service is scheduled, the &lt;code&gt;Schedule CveSearch Updates&lt;/code&gt;-button is inactive, whereas the &lt;code&gt;Cancel Scheduled CveSearch Updates&lt;/code&gt;-button is active and vice versa:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCAdminScheduling/scheduleAdminPortlet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;The &lt;code&gt;offset&lt;/code&gt; (first run of the update) and the &lt;code&gt;interval&lt;/code&gt; between updates can also be adjusted in the &lt;code&gt;/resources/sw360.properties&lt;/code&gt; file of the &lt;code&gt;src-schedule&lt;/code&gt; service. +The corresponding properties are &lt;code&gt;schedule.cvesearch.firstOffset.seconds&lt;/code&gt; and &lt;code&gt;schedule.cvesearch.interval.seconds&lt;/code&gt;. +The &lt;code&gt;offset&lt;/code&gt; has to be given in seconds since midnight and also the &lt;code&gt;interval&lt;/code&gt; has to be entered in seconds. +The default is to update the vulnerabilities by CVEsearch every night at midnight, which corresponds to an offset of 0 and an interval of 24 hours (= 86400 seconds).&lt;/p&gt; +&lt;p&gt;&lt;code&gt;schedule.cvesearch.firstOffset.seconds = 0&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;schedule.cvesearch.interval.seconds = 86400&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;With automatic scheduling the next synchronization moment according to the &lt;code&gt;offset&lt;/code&gt; and the &lt;code&gt;interval&lt;/code&gt; is computed. This will be the first moment when a &lt;code&gt;cveSearch-update&lt;/code&gt; is run. +There is nothing like an &lt;code&gt;initial run&lt;/code&gt; when autostarting of manually scheduling the &lt;code&gt;CveSearch-updates&lt;/code&gt;. +Moreover, the configuration, i.e. &lt;code&gt;offset&lt;/code&gt;, &lt;code&gt;interval&lt;/code&gt; and &lt;code&gt;next synchronization&lt;/code&gt; (where the latter is a consequence of &lt;code&gt;offset&lt;/code&gt; and &lt;code&gt; interval&lt;/code&gt;) are shown in the portlet:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCAdminScheduling/scheduleAdminPortletProperties.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h2 id=&#34;setup-of-a-local-instance&#34;&gt;Setup of a local instance&lt;/h2&gt; +&lt;p&gt;It is recommended to set up and use a local instance instead of the public cve-search instance. +The accompanying project sw360-chores contains a Dockerfile that can easily setup this service.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Docker Deployment</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-docker/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-docker/</guid> + <description> + + + &lt;h1 id=&#34;a-quick-how-to-for-testing-sw360&#34;&gt;A quick how-to for testing SW360&lt;/h1&gt; +&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt; +&lt;h3 id=&#34;platform-requirements&#34;&gt;Platform Requirements&lt;/h3&gt; +&lt;p&gt;As you need Apache Thrift 0.11.0 (see &lt;a href=&#34;https://github.com/eclipse/sw360#required-software&#34;&gt;https://github.com/eclipse/sw360#required-software&lt;/a&gt; ), using the latest Ubuntu LTS (18.04) won&amp;rsquo;t work, so we start on Ubuntu 19.10 if you want to install from packages. As an alternative, consider the following script from the sw360 repository:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/scripts/install-thrift.sh&#34;&gt;https://github.com/eclipse/sw360/blob/master/scripts/install-thrift.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;We&amp;rsquo;ll go the Docker way and follow the instructions of the &lt;a href=&#34;https://github.com/sw360/sw360chores&#34;&gt;sw360chores project&lt;/a&gt;. There is a nice diagram there, explaining the rather complex setup.&lt;/p&gt; +&lt;h3 id=&#34;sw360chores-requirements&#34;&gt;sw360chores Requirements&lt;/h3&gt; +&lt;blockquote&gt; +&lt;p&gt;the perl interpreter to run ./sw360chores.pl&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;You should already have it in your default, even if minimal, installation&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ which perl +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/usr/bin/perl +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt; +&lt;p&gt;git which is used in some prepare scripts&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;&lt;code&gt;sudo apt install git&lt;/code&gt;&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;a current version of docker (min 1.30) [https://docs.docker.com/]&lt;/p&gt; +&lt;/blockquote&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install docker.io +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt; +&lt;p&gt;docker-compose (min 1.21) [https://docs.docker.com/compose/install/]&lt;/p&gt; +&lt;/blockquote&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install docker-compose +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And you actually also need curl,&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install curl +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;sw360-requirements&#34;&gt;Sw360 Requirements&lt;/h3&gt; +&lt;p&gt;From the &lt;a href=&#34;https://github.com/eclipse/sw360#required-software&#34;&gt;sw360 Readme&lt;/a&gt;:&lt;/p&gt; +&lt;blockquote&gt; +&lt;p&gt;Java 1.8.X&lt;/p&gt; +&lt;/blockquote&gt; +&lt;p&gt;And when they say &amp;ldquo;1.8.X&amp;rdquo;, they mean it: it won&amp;rsquo;t work with a later version. So it&amp;rsquo;s better to uninstall the potential other versions of Java (/!\ this is expected to break other things on your environment if you depend on Java for anything), and then install the required version&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; sudo apt install openjdk-8-jdk openjdk-8-jre +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt; +&lt;p&gt;In order to build you will need:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;A git client&lt;/li&gt; +&lt;li&gt;Apache Maven 3.6.X&lt;/li&gt; +&lt;li&gt;Apache Thrift 0.11.0&lt;/li&gt; +&lt;/ul&gt; +&lt;/blockquote&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install maven +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That will install maven Apache Maven 3.6.1 but you need to have installed the correct version (8) of Java &lt;em&gt;before hand&lt;/em&gt; otherwise it will install a too recent one.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install thrift-compiler +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That will install Thrift version 0.11.0, if you have not installed thrift using the script above.&lt;/p&gt; +&lt;h2 id=&#34;cloning-the-repos&#34;&gt;Cloning the repos&lt;/h2&gt; +&lt;h3 id=&#34;generating-an-ssh-key-pair-for-your-machine&#34;&gt;Generating an ssh key-pair for your machine&lt;/h3&gt; +&lt;p&gt;If you don&amp;rsquo;t already have one, generate a key pair with no passphrase, in default location:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-keygen -t rsa -b 4096 -C &amp;#34;your_email@example.com&amp;#34; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Not 100% sure, but not having one may create problems, so&amp;hellip;&lt;/p&gt; +&lt;h3 id=&#34;cloning-sw360-chores&#34;&gt;Cloning sw360 chores&lt;/h3&gt; +&lt;p&gt;I created a &lt;code&gt;code&lt;/code&gt; folder at the root of the user&amp;rsquo;s directory, just to make things simple.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~$ cd code +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/code$ git clone https://github.com/sw360/sw360chores.git +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;cloning-eclipsesw360&#34;&gt;Cloning eclipse/sw360&lt;/h3&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/code$ git clone https://github.com/eclipse/sw360.git +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;compiling-and-deploying-sw360-code&#34;&gt;Compiling and deploying SW360 Code&lt;/h2&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;~$&lt;/span&gt; cd code&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;code&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;$&lt;/span&gt; mvn &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;home&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;inno3&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;code&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;sw360chores&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;_deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;DskipTests +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;launching-the-containers&#34;&gt;Launching the containers&lt;/h2&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd ~/code/sw360chores/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/code/sw360chores$ ./sw360chores.pl --build -- up +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And yes, there is a space between &lt;code&gt;--&lt;/code&gt; and &lt;code&gt;up&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;If everything goes fine, you should see a line like&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360_1 | 15-Jan-2020 12:33:38.480 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [144,475] milliseconds +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should be able to login at &lt;a href=&#34;https://localhost:8443&#34;&gt;https://localhost:8443&lt;/a&gt; with the default credentials &lt;code&gt;setup@sw360.org&lt;/code&gt; and the password &lt;code&gt;sw360fossy&lt;/code&gt; (found &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Deploy-Liferay#liferay-administrator-steps&#34;&gt;here&lt;/a&gt;).&lt;/p&gt; +&lt;p&gt;Please go ahead now with the setup of the Liferay - links can be found in the main wiki page.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Enumerations</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/</guid> + <description> + + + &lt;p&gt;SW360 thrift API is comprised of the following methods:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;attachments&lt;/li&gt; +&lt;li&gt;codescoop&lt;/li&gt; +&lt;li&gt;components&lt;/li&gt; +&lt;li&gt;cvesearch&lt;/li&gt; +&lt;li&gt;fossology&lt;/li&gt; +&lt;li&gt;importstatus&lt;/li&gt; +&lt;li&gt;licenseinfo&lt;/li&gt; +&lt;li&gt;licenses&lt;/li&gt; +&lt;li&gt;moderation&lt;/li&gt; +&lt;li&gt;projectimport&lt;/li&gt; +&lt;li&gt;projects&lt;/li&gt; +&lt;li&gt;schedule&lt;/li&gt; +&lt;li&gt;search&lt;/li&gt; +&lt;li&gt;sw360&lt;/li&gt; +&lt;li&gt;users&lt;/li&gt; +&lt;li&gt;vendors&lt;/li&gt; +&lt;li&gt;vulnerabilities&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Reference: &lt;a href=&#34;https://github.com/eclipse/sw360/tree/master/libraries/lib-datahandler/src/main/thrift&#34;&gt;https://github.com/eclipse/sw360/tree/master/libraries/lib-datahandler/src/main/thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;attachments&#34;&gt;Attachments&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/attachments.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/attachments.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h3 id=&#34;attachmenttype&#34;&gt;AttachmentType&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description.&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;DOCUMENT&lt;/td&gt; +&lt;td&gt;justa document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SOURCE&lt;/td&gt; +&lt;td&gt;original course code&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DESIGN&lt;/td&gt; +&lt;td&gt;design document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REQUIREMENT&lt;/td&gt; +&lt;td&gt;requirements document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CLEARING_REPORT&lt;/td&gt; +&lt;td&gt;OSS licensing reporting&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;COMPONENT_LICENSE_INFO_XML&lt;/td&gt; +&lt;td&gt;XML document with licenseing information - e.g. SPDX&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;COMPONENT_LICENSE_INFO_COMBINED&lt;/td&gt; +&lt;td&gt;XML document with licensing information covering multiple componnts at once - e.g. SPDX&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SCAN_RESULT_REPORT&lt;/td&gt; +&lt;td&gt;Output what a scanner for licenses has found&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SCAN_RESULT_REPORT_XML&lt;/td&gt; +&lt;td&gt;Output what a scanner for licenses has found this time in XML&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SOURCE_SELF&lt;/td&gt; +&lt;td&gt;Self assembled source code distribution&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;BINARY&lt;/td&gt; +&lt;td&gt;Binary of component from vendor&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;BINARY_SELF&lt;/td&gt; +&lt;td&gt;Self built binary&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DECISION_REPORT&lt;/td&gt; +&lt;td&gt;documenting importing decisions for using this item&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;LEGAL_EVALUATION&lt;/td&gt; +&lt;td&gt;Some legal evaluation created for this item&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;LICENSE_AGREEMENT&lt;/td&gt; +&lt;td&gt;A ruling license agreement for this item, note that this could be for commercial software for example&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SCREENSHOT&lt;/td&gt; +&lt;td&gt;Screenshot, usually screenshot of the Website with licensing information&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OTHER&lt;/td&gt; +&lt;td&gt;anything that dos not match to the given above&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;checkstatus&#34;&gt;CheckStatus&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description.&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;NOTCHECKED&lt;/td&gt; +&lt;td&gt;Default value after upload.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;ACCEPTED&lt;/td&gt; +&lt;td&gt;Reviewed and confirmed attachment.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REJECTED&lt;/td&gt; +&lt;td&gt;Document or attachment cannot be used.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;codescoop-thrift-file&#34;&gt;CodeScoop Thrift File&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/codescoop.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/codescoop.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;components&#34;&gt;Components&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/components.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/components.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;cvesearch&#34;&gt;cvesearch&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/cvesearch.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/cvesearch.thrift&lt;/a&gt;&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;NEW&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;UPDATED&lt;/td&gt; +&lt;td&gt;New information for a notification message, so it is updated&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OLD&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;FAILED&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;fossology&#34;&gt;Fossology&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/fossology.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/fossology.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;importstatus&#34;&gt;Importstatus&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/importstatus.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/importstatus.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;license-info&#34;&gt;License Info&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenseinfo.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenseinfo.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h3 id=&#34;licenseinforequeststatus&#34;&gt;LicenseInfoRequestStatus&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;SUCCESS&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;NO_APPLICABLE_SOURCE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;FAILURE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;outputformatvariant&#34;&gt;OutputFormatVariant&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;REPORT&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DISCLOSURE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;licenses&#34;&gt;Licenses&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenses.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenses.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;moderation&#34;&gt;Moderation&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/moderation.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/moderation.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h3 id=&#34;documenttype&#34;&gt;DocumentType&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;COMPONENT&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;RELEASE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PROJECT&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;LICENSE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;USER&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;project-import&#34;&gt;Project Import&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projectimport.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projectimport.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;projects&#34;&gt;Projects&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projects.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projects.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h3 id=&#34;project-state&#34;&gt;Project State&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;ACTIVE&lt;/td&gt; +&lt;td&gt;&lt;em&gt;well&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PHASE_OUT&lt;/td&gt; +&lt;td&gt;&lt;em&gt;well&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;UNKNOWN&lt;/td&gt; +&lt;td&gt;&lt;em&gt;well&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;project-type&#34;&gt;Project Type&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;CUSTOMER&lt;/td&gt; +&lt;td&gt;Project that delivers artifacts to customer outside organisation&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INTERNAL&lt;/td&gt; +&lt;td&gt;Project that provides artifacts or service for internal use&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PRODUCT&lt;/td&gt; +&lt;td&gt;Just that it is a product instead of a project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SERVICE&lt;/td&gt; +&lt;td&gt;Project that provides services to customer outside organisation&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INNER_SOURCE&lt;/td&gt; +&lt;td&gt;Inner source project, meaning that everyone inside org can use it&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;project-relationship&#34;&gt;Project Relationship&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;UNKNOWN&lt;/td&gt; +&lt;td&gt;&lt;em&gt;unknown&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REFERRED&lt;/td&gt; +&lt;td&gt;Sister project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CONTAINED&lt;/td&gt; +&lt;td&gt;Sub project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DUPLICATE&lt;/td&gt; +&lt;td&gt;&lt;em&gt;duplicate&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;project-clearing-state&#34;&gt;Project Clearing State&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;OPEN&lt;/td&gt; +&lt;td&gt;not started&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;IN_PROGRESS&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CLOSED&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;schedule&#34;&gt;Schedule&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/schedule.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/schedule.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;search&#34;&gt;Search&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/search.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/search.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;general-sw360-thrift&#34;&gt;General SW360 Thrift&lt;/h2&gt; +&lt;h3 id=&#34;software-mainline-states&#34;&gt;Software Mainline States&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;OPEN&lt;/td&gt; +&lt;td&gt;Not decided so far&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;MAINLINE&lt;/td&gt; +&lt;td&gt;Organisation or person thinks that use of this software is recommended, which included multiple versions.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SPECIFIC&lt;/td&gt; +&lt;td&gt;The software is not recommended in general, but for special use case or for this particular version it is acceptable.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PHASE_OUT&lt;/td&gt; +&lt;td&gt;The software has issues, please consider removing it soon, if in use.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DENIED&lt;/td&gt; +&lt;td&gt;Software which is not allowed for use. For example, software that does not have licensing.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;general-sw360-thrift-1&#34;&gt;General SW360 Thrift&lt;/h2&gt; +&lt;h3 id=&#34;software-mainline-states-1&#34;&gt;Software Mainline States&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description.&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;OPEN&lt;/td&gt; +&lt;td&gt;Not decided so far&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;MAINLINE&lt;/td&gt; +&lt;td&gt;Organisation or person thinks that use of this software is recommended, which included multiple versions.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SPECIFIC&lt;/td&gt; +&lt;td&gt;The software is not recommended in general, but for special use case or for this particular version it is acceptable.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PHASE_OUT&lt;/td&gt; +&lt;td&gt;The software has issues, please consider removing it soon, if in use.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DENIED&lt;/td&gt; +&lt;td&gt;Software which is not allowed for use. For example, software that does not have licensing.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;moderation-states&#34;&gt;Moderation States&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;PENDING&lt;/td&gt; +&lt;td&gt;Not opened so far.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;APPROVED&lt;/td&gt; +&lt;td&gt;A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has approved the moderation request. It could be deleted then.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REJECTED&lt;/td&gt; +&lt;td&gt;A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has rejected the moderation request.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INPROGRESS&lt;/td&gt; +&lt;td&gt;A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has opened / viewed the moderation request, but did not decide.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;visibility&#34;&gt;Visibility&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;PRIVATE&lt;/td&gt; +&lt;td&gt;Only visible by creator (and admin which applies to all visibility levels).&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;ME_AND_MODERATORS&lt;/td&gt; +&lt;td&gt;Visible by creator and moderators.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;BUISNESSUNIT_AND_MODERATORS&lt;/td&gt; +&lt;td&gt;All users of the same group and the moderators.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;EVERYONE&lt;/td&gt; +&lt;td&gt;Every user who is logged into the system.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;verification-state&#34;&gt;Verification State&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;NOT_CHECKED&lt;/td&gt; +&lt;td&gt;No one has yet looked at this and verified it.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CHECKED&lt;/td&gt; +&lt;td&gt;It is verified.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INCORRECT&lt;/td&gt; +&lt;td&gt;It was decided that the verification should be rejected.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;release-relationship&#34;&gt;Release Relationship&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;th&gt;Clearing releav nt&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;CONTAINED&lt;/td&gt; +&lt;td&gt;If you just do not know whether it is dynamically linked.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REFERRED&lt;/td&gt; +&lt;td&gt;Referencing a stand alone used other part.&lt;/td&gt; +&lt;td&gt;No&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;UNKNOWN&lt;/td&gt; +&lt;td&gt;If you just do not know.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DYNAMICALLY_LINKED&lt;/td&gt; +&lt;td&gt;Software dynamically linked - as the name says.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;STATICALLY_LINKED&lt;/td&gt; +&lt;td&gt;Software statically linked - as the name says.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SIDE_BY_SIDE&lt;/td&gt; +&lt;td&gt;Not decided so far.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;STANDALONE&lt;/td&gt; +&lt;td&gt;Software is given as standalone delivery, ie. not technically connected.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INTERNAL_USE&lt;/td&gt; +&lt;td&gt;Used for creating or building or ? the product or projects but not delivered.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OPTIONAL&lt;/td&gt; +&lt;td&gt;Is not mandatory part of the installation.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;TO_BE_REPLACED&lt;/td&gt; +&lt;td&gt;Is there but should be moved out.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;users&#34;&gt;Users&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/users.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/users.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;vendors&#34;&gt;Vendors&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vendors.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vendors.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;vulnerabilities&#34;&gt;Vulnerabilities&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vulnerabilities.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vulnerabilities.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Export and Import</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/</guid> + <description> + + + &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-diff&#34; data-lang=&#34;diff&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- note that only export and import of users is active, +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- everything else is deprecated functionality. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- The export and import functionality has not been +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- updated at some point and thus will not function +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;background-color:#fcc&#34;&gt;- properly anymore. +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;full-export&#34;&gt;Full Export&lt;/h1&gt; +&lt;p&gt;The easiest way to fully export the data is to copy all the .couch files of Couch-DB. Where the files are can be found out from Futon. +e.g.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:5984/_utils/config.html +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;under&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;view_index_dir /var/lib/couchdb +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method of exporting has the advantage that all Ids remain the same. +An equally simple method it to use the Couch-DB replicator from Futon.&lt;/p&gt; +&lt;p&gt;This method might fail when there are changes to the document structure as Ektorp might stumble over unset required or surplus fields. The method of choice here is to repair the DB (after a backup) with&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://github.com/couchapp/couchapp +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and then follows the instructions from&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://harthur.github.io/costco/ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;couchapp push . http://localhost:5984/sw360users +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;then you go to&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://localhost:5984/sw360users/_design/costco/index.html +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and you can run functions like:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;function(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if (doc.type == &amp;#39;user&amp;#39;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if(doc.fullname == &amp;#39;Homer J. Simons&amp;#39;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.fullname = &amp;#39;Homer Jay Simons&amp;#39;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; return doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also change the names of properties, e.g.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;function(doc) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if (doc.type == &amp;#39;user&amp;#39;) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; if(doc.fullname ) { +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; doc.fullname2 = doc.fullname; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; delete doc.fullname; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; return doc; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;csv-export&#34;&gt;CSV Export&lt;/h1&gt; +&lt;h2 id=&#34;users&#34;&gt;Users&lt;/h2&gt; +&lt;p&gt;The export of users was already described, this is very important as this also creates the users in the liferay database. The mere export of the users.couch is not enough.&lt;/p&gt; +&lt;h2 id=&#34;projects&#34;&gt;Projects&lt;/h2&gt; +&lt;p&gt;There is no CSV export or import for projects currently.&lt;/p&gt; +&lt;h2 id=&#34;components-and-releases&#34;&gt;Components and Releases&lt;/h2&gt; +&lt;p&gt;To Export the components and releases you need to do the following: +As Components and Releases are identified by their identifier ([name] or [name(version)]), these identifiers need to be unique. When importing duplicates in the identifiers are ignored and they are also not exported. +Therefore in the admin page you can check the database for such duplicates.&lt;/p&gt; +&lt;p&gt;After that &amp;ldquo;Download Component CSV&amp;rdquo; creates a CSV with components, releases and their source attachments. +The source attachments are created if the &amp;ldquo;DownloadURL&amp;rdquo; is a valid url. +These remote-only attachments will be download once the first download request occurs. +If the URL does not exist you get an error.&lt;/p&gt; +&lt;p&gt;Alternatively you can use&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sw360/src/backend/utils/src/main/java/com/siemens/sw360/attachments/db/RemoteAttachmentDownloader.java +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;to bulk download the source only attachments. +The command line call to use it from the Siemens network looks like this:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; java -jar -Dhttp.proxyHost=proxyfarm.3dns.netz.sbs.de -Dhttps.proxyHost=proxyfarm.3dns.netz.sbs.de -Dhttp.proxyPort=84 -Dhttps.proxyPort=84 /home/siemagrant/.m2/repository/com/siemens/sw360/backend-utils/0.1.1-SNAPSHOT/backend-utils-0.1.1-SNAPSHOT-jar-with-dependencies.jar -d +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;attachments&#34;&gt;Attachments&lt;/h2&gt; +&lt;p&gt;Here we have a mixed strategy, as there is a CSV export for the attachments, which only stores the meta information about the files. The files themselves need to be brought into a new instance via the sw360attachments.couch database.&lt;/p&gt; +&lt;p&gt;The ids of the attachments are also in the CSV, so they are not portable without the sw360attachments.couch. This is meant as a form of recovery, but it should not be used on an instance that has been worked on, so only a fresh set up.&lt;/p&gt; +&lt;p&gt;This will overwrite the auto generated attachments from the component CSV if the have the same URL as one of the imported attachments. This feature is needed to render the procedure idempotent.&lt;/p&gt; +&lt;p&gt;The admin interface provides the possibility to delete attachment contents that do not have a project, component or release with an attachment that references it.&lt;/p&gt; +&lt;p&gt;If you copy the sw360attachments.couch to your instance and then click this before you import than the db should be empty afterwards.&lt;/p&gt; +&lt;p&gt;If there was no error after importing the csv, running this job should yield no deletions if there was no error and the exported attachments where complete.&lt;/p&gt; +&lt;p&gt;In general this should only be necessary if errors have occurred. +It is a good idea to run this before you export the attachments.&lt;/p&gt; +&lt;h2 id=&#34;release-links&#34;&gt;Release links&lt;/h2&gt; +&lt;p&gt;Links between releases can be exported or imported. +Because release links are stored in maps, the procedure is idempotent by construction. +The old links are overwritten with the imported data.&lt;/p&gt; +&lt;h2 id=&#34;suggested-order-for-exports&#34;&gt;Suggested Order for Exports&lt;/h2&gt; +&lt;ol&gt; +&lt;li&gt;Freeze the application, so that others can not change the data at the moment (By external means, like closing a port forwarding)&lt;/li&gt; +&lt;li&gt;Clean up the attachments&lt;/li&gt; +&lt;li&gt;Look for duplicate identifiers and resolve conflicts (Important as duplicates do not get exported or imported)&lt;/li&gt; +&lt;li&gt;Export the Users, Components, Attachment Infos and release links&lt;/li&gt; +&lt;li&gt;copy the sw360attachments.couch, this might be a huge files&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;suggested-order-for-imports&#34;&gt;Suggested Order for Imports&lt;/h2&gt; +&lt;h3 id=&#34;on-a-fresh-installation&#34;&gt;On a fresh installation&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;Copy the sw360attachments.couch in its place&lt;/li&gt; +&lt;li&gt;Start the licenses importer&lt;/li&gt; +&lt;li&gt;restart the backend to make the design documents available and boot the frontend&lt;/li&gt; +&lt;li&gt;Import the users&lt;/li&gt; +&lt;li&gt;Import the component CSV&lt;/li&gt; +&lt;li&gt;Import the Attachment Infos&lt;/li&gt; +&lt;li&gt;Import the Release Link Infos.&lt;/li&gt; +&lt;/ol&gt; +&lt;h3 id=&#34;regular-maintenance-operations&#34;&gt;Regular Maintenance Operations&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;Run the attachments clean up&lt;/li&gt; +&lt;li&gt;Resolve name crashes with the search for duplicate Identifiers&lt;/li&gt; +&lt;/ol&gt; +&lt;h3 id=&#34;imports-on-a-running-instance&#34;&gt;Imports on a running instance&lt;/h3&gt; +&lt;ol&gt; +&lt;li&gt;New components can be imported via the CSV at any time. Duplicates to existing components will be ignored, but there is a log message.&lt;/li&gt; +&lt;li&gt;Users can be added via CSV.&lt;/li&gt; +&lt;li&gt;Release links can be added via CSV, duplicates overwrite existing links&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;Attachments should not be imported on a running instance! +This should not break much, as without the entries in the couchDB there will be no import. +But potentially remote-only Attachments get deleted. +Nevertheless this scenario is not intended and maybe there are unforeseen side effects.&lt;/p&gt; +&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt; +&lt;h4 id=&#34;import-failing-in-the-backend-no-department&#34;&gt;Import failing in the Backend: No Department&lt;/h4&gt; +&lt;p&gt;The import fails with some error message that a user does not have a department?&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;First of all, the importing admin requires a group assignment. Otherwise the adding component action will fail.&lt;/li&gt; +&lt;li&gt;If a group is added to the admin, not that in addition to the Liferay group setting, this information must be also placed into the &amp;ldquo;sw360users&amp;rdquo; database in couchdb.&lt;/li&gt; +&lt;li&gt;Note that changes to groups and similar things will require a restart of the Liferay server (=tomcat). Otherwise the user caching kicks in and might not reflect all updates.&lt;/li&gt; +&lt;/ol&gt; + + </description> + </item> + + <item> + <title>Docs: Importing</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/</guid> + <description> + + + &lt;h1 id=&#34;how-to-import-projects-from-bdp-into-sw360&#34;&gt;How to Import Projects from BDP into SW360&lt;/h1&gt; +&lt;p&gt;This page explains how to import a project from BDP into SW360 via the SW360 UI.&lt;/p&gt; +&lt;h2 id=&#34;the-project-import-portlet&#34;&gt;The Project Import Portlet&lt;/h2&gt; +&lt;p&gt;In SW360, open the &lt;code&gt;Import Portlet&lt;/code&gt; as follows:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/01_OpenImportPortlet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Make sure that you do not leave the &lt;code&gt;Import Portlet&lt;/code&gt; page during the connection, selection an import process.&lt;/p&gt; +&lt;p&gt;On the left hand side, you see a mask to enter connection data for the BDP server:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/02_ImportPortlet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Make sure, that the &lt;code&gt;Selected data source&lt;/code&gt; is &lt;code&gt;BDP&lt;/code&gt;. As &lt;code&gt;Server URL&lt;/code&gt;, enter the domain of the BDP server. +Enter your user credentials for the BDP Server in &lt;code&gt;Server user&lt;/code&gt; and &lt;code&gt;Password&lt;/code&gt;, respectively. +Now, click &lt;code&gt;Connect&lt;/code&gt; and the connection with the BDP Server is established. On the right hand side, you can view the projects +that are available to you on the BDP server.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/03_ConnectionEstablished.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Select the projects that you want to import by clicking on the respective rows and click &lt;code&gt;Import&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/04_SelectProjects.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Click &lt;code&gt;Import&lt;/code&gt; if you are content with the choice. Now, SW360 tries to import your selected projects. If everything went fine, you see:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/05_ImportSuccess.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;The import might fail for some projects. The reason usually is that these projects have been imported earlier and already exist in SW360. +In this case, SW360 does not re-import or overwrite the project. But all new projects are still imported.&lt;/p&gt; +&lt;h2 id=&#34;inspecting-the-results&#34;&gt;Inspecting the Results&lt;/h2&gt; +&lt;p&gt;The imported &lt;code&gt;project&lt;/code&gt;, &lt;code&gt;components&lt;/code&gt; and &lt;code&gt;licenses&lt;/code&gt; can be viewed in the &lt;code&gt;Projects Portlet&lt;/code&gt;, &lt;code&gt;Components Portlet&lt;/code&gt; or &lt;code&gt;License Portlet&lt;/code&gt; respectively. +Note that a &lt;code&gt;component&lt;/code&gt; in BDP becomes a &lt;code&gt;release&lt;/code&gt; in SW360. To view such a release for example, first open the &lt;code&gt;Components Portlet&lt;/code&gt; and click on the name of the component:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/06_SelectComponent.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Select &lt;code&gt;Release Overview&lt;/code&gt; on the left hand side:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/07_SelectReleaseOverview.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Click on the &lt;code&gt;release version&lt;/code&gt; to select a specific release:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/08_SelectRelease.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Now, you can view the release details:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/09_ReleaseDetails.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Liferay 7.3 and Java 11</title> + <link>https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/</guid> + <description> + + + &lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt; +&lt;p&gt;We are covering the update for ubuntu here, because that is our main / agreed base system for running sw360. sw360 may run on a varienty of other linux distributions or OSes such as macosx, but in order to avoid problem we agreed on having a reference OS, which are the ubuntu long term releases.&lt;/p&gt; +&lt;p&gt;With the update to Java 11, we upgraded from Ubuntu 16.04 to Ubuntu 18.04, both LTS version. This OS is used for example by the &lt;a href=&#34;https://github.com/sw360/sw360vagrant&#34;&gt;https://github.com/sw360/sw360vagrant&lt;/a&gt; project.&lt;/p&gt; +&lt;p&gt;So the update covers the following:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;orign&lt;/th&gt; +&lt;th&gt;target&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;Ubuntu 16.04 LTS&lt;/td&gt; +&lt;td&gt;Ubuntu 18.04 LTS&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CoucbdDB 1.X (comes with Ubuntu)&lt;/td&gt; +&lt;td&gt;CouchDB 2.X (not with Ubuntu anymore)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;Postgresql 9.X (comes with Ubuntu)&lt;/td&gt; +&lt;td&gt;Postgresql 10.X (comes with Ubuntu)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OpenJDK 8 (comes with Ubuntu)&lt;/td&gt; +&lt;td&gt;openJDK 11 (comes with Ubuntu)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;Apache Thrift 0.11/0.12&lt;/td&gt; +&lt;td&gt;Apache Thrift 0.13&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt; +&lt;p&gt;The upgrade consists of quite some tasks, as an overview:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Make a backup&lt;/li&gt; +&lt;li&gt;Execute sw360 migration scripts&lt;/li&gt; +&lt;li&gt;Linux release upgrade&lt;/li&gt; +&lt;li&gt;Java 11&lt;/li&gt; +&lt;li&gt;Postgresql&lt;/li&gt; +&lt;li&gt;CouchDB 2.X&lt;/li&gt; +&lt;li&gt;Thrift to 0.13&lt;/li&gt; +&lt;li&gt;Liferay ce 7.3.3&lt;/li&gt; +&lt;li&gt;Copy your existing &lt;code&gt;portal-ext.properties&lt;/code&gt; to now liferay_install location&lt;/li&gt; +&lt;li&gt;copy from old liferay installation the &lt;code&gt;data/document_library&lt;/code&gt; to the new liferay&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;/etc/ini.d/tomcat&lt;/code&gt; with path of new liferay&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;$liferay_install&lt;/code&gt; variable&lt;/li&gt; +&lt;li&gt;add Java prerequisites to OSGi container&lt;/li&gt; +&lt;li&gt;Update couchdb-lucene&lt;/li&gt; +&lt;li&gt;Deploy new version of sw360&lt;/li&gt; +&lt;li&gt;Adjust Liferay&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;initial-steps&#34;&gt;Initial steps&lt;/h2&gt; +&lt;p&gt;In order to &amp;ldquo;calibrate the system&amp;rdquo; just run the update / upgrade cycle once:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt update&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt upgrade&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;keeping-more-settings-files&#34;&gt;Keeping More Settings Files&lt;/h3&gt; +&lt;p&gt;&lt;strong&gt;apache.conf:&lt;/strong&gt; Keep also the mod security conf files that are asked to update during installation&lt;/p&gt; +&lt;p&gt;&lt;strong&gt;sshd:&lt;/strong&gt; Changes on the ssh / sshd conf files should be kept in case you have setup up dome remote public private key login (usually the case for server installation). Otherwise you re locked out maybe.&lt;/p&gt; +&lt;p&gt;&lt;strong&gt;Maven:&lt;/strong&gt; if you change Maven, for example with your proxy settings, keep it too.&lt;/p&gt; +&lt;p&gt;In general, whenever there is functionality you need, consider keeping existing settings files.&lt;/p&gt; +&lt;h2 id=&#34;ubuntu-release-upgrade&#34;&gt;Ubuntu Release Upgrade&lt;/h2&gt; +&lt;p&gt;There is maybe the remark to overwrite the current apache configuration. We propose to keep the currently installed apache files.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo do-release-upgrade&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Answer &amp;ldquo;yes&amp;rdquo; for the download of packages and also confirm the update of the glibc, of course. Update the &lt;code&gt;system.conf&lt;/code&gt;(install maintainer&amp;rsquo;s version), depending on if you actually edited this. Some for &lt;code&gt;sysctl.conf&lt;/code&gt;.&lt;/p&gt; +&lt;h2 id=&#34;migration-of-postgresql&#34;&gt;Migration of PostgreSQL&lt;/h2&gt; +&lt;p&gt;The existing 9.5 will not be upgraded, instead this message comes: After the release upgrade, you can check again if postgresql is installed:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt list postgre* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Postgresql 9.5 should be the only installed. The old postgresql 9.5 must stay in fact, because the migration tool needs to be executing on a running postgresql 9.5 instance. Just having popstgresql 10 and a database only from postgresql 9.5 will not work. You can go ahead install postgresql 10:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt install postgresql-10&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then, apply the instruction to update from 9.5 to 10.0 from this page: &lt;a href=&#34;https://stackoverflow.com/questions/47029055/how-do-i-upgrade-my-postgresql-9-5-to-postgresql-10-on-ubuntu-16-04&#34;&gt;https://stackoverflow.com/questions/47029055/how-do-i-upgrade-my-postgresql-9-5-to-postgresql-10-on-ubuntu-16-04&lt;/a&gt;&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# service postgresql stop +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# pg_dropcluster --stop 10 main +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# pg_upgradecluster -m upgrade 9.5 main +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# pg_dropcluster 9.5 main --stop +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# apt-get autoremove --purge postgresql-9.5 +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;... +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# service postgresql start +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(note that # means you need to be root or execute with sudo)&lt;/p&gt; +&lt;h2 id=&#34;migration-of-couchdb&#34;&gt;Migration of CouchDB&lt;/h2&gt; +&lt;p&gt;CouchDB is not part of the Ubuntu package management anymore. Thus, you need to add the Apache CouchDb package repository to install it, first the key for signing:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The add the repo to the sources:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;echo &amp;quot;deb https://apache.bintray.com/couchdb-deb bionic main&amp;quot; | sudo tee -a /etc/apt/sources.list&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then, add its contents to the package database by updating apt:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get update -y&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Ultimately install CouchDB, we tried with 2.1.2 initiall not to make a too far jump from 1.X, later versions may work as well. Note that for upgrading to CouchDB 3.X you would need an upgrade to 2.X first.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get install -y couchdb=2.1.2~bionic&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The installer will ask a couple of questions:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Bind address: for CouchDB and SW360 &lt;code&gt;127.0.0.1&lt;/code&gt; (localhost) is a good bind address, if you would like to access the server from a remote computer because your sw360 runs as a server in the network, you would need to change accordingly.&lt;/li&gt; +&lt;li&gt;Admin user: &lt;strong&gt;Warning&lt;/strong&gt; The couchdb migration utility does not support authentication! Please do not enter an admin password, but apply it later. You can set the password for CouchDB in &lt;code&gt;couchdb.properties&lt;/code&gt; and place it centrally in &lt;code&gt;/etc/sw360&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;Migration: yes you need to use &lt;code&gt;couchup&lt;/code&gt; for migrating the databases&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;In case you added an admin and need to remove it, try:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;curl -X DELETE http://admin:password@127.0.0.1:5984/_config/admins/admin&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;where the two occurrences &lt;code&gt;admin&lt;/code&gt; is the name of the admin user in the URL, whatever the user was called.&lt;/p&gt; +&lt;h3 id=&#34;migration-of-couchdb-databases&#34;&gt;Migration of CouchDB Databases&lt;/h3&gt; +&lt;p&gt;As a preparation: the CouchDB migration works by copying the databases, so the file system needs at least as much free space as the CouchDB databases use.&lt;/p&gt; +&lt;p&gt;CouchDB offers a migration utility. It is advised that you remove all test databases as they do not seem to work with the migration utility. Important links are:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;a href=&#34;https://docs.couchdb.org/en/2.3.1/install/upgrading.html&#34;&gt;https://docs.couchdb.org/en/2.3.1/install/upgrading.html&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/apache/couchdb/pull/483&#34;&gt;https://github.com/apache/couchdb/pull/483&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;For some reason after installation, the &lt;code&gt;couchup&lt;/code&gt;utility is not part of the path, so execute:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;/opt/couchdb/bin/couchup list&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It lists all DBs found. The go ahead with:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;/opt/couchdb/bin/couchup replicate -a&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It should replicate all databases in &lt;code&gt;/var/lib/couchdb&lt;/code&gt;. Please refer to the couchup documentation, for the subsequent steps. A few remarks from our experience:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;The rebuold of the couchdb does not work for our test databases. Please refer to the documentation how to do this manually if you like.&lt;/li&gt; +&lt;li&gt;The couchup utility crashes for large DB sizes with a time out error. Consider using the timeout option: &lt;code&gt;/opt/couchdb/bin/couchup replicate -a --timeout==10000&lt;/code&gt; (with almost infinite timeout here)&lt;/li&gt; +&lt;li&gt;On very large attachment database sizes (500GB), the couchdb configuration must be changed. We increased almost every related value by factor 10 (timeouts, memory, etc) in &lt;code&gt;/opt/couchdb/etc/default.ini&lt;/code&gt; and good success with this.&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;update-thrift&#34;&gt;Update Thrift&lt;/h2&gt; +&lt;p&gt;For thrift, we need version 0.13. The installation script &lt;code&gt;scripts/install-thrift.sh&lt;/code&gt;allows for uninstalling old versions:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo ./install-thrift.sh --uninstall&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;and then install&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo ./install-thrift.sh&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;from-openjdk-8-to-openjdk-11&#34;&gt;From OpenJDK 8 to OpenJDK 11&lt;/h2&gt; +&lt;p&gt;First check, what is installed.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then you could check what is available:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk*&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It should be that OpenJDK 8 is installed and both OpenJDK 8 and 11 are available. Then, remove the OpenJDK 8 and install 11:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jdk +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jre +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jdk-headless +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt remove openjdk-8-jre-headless +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;check if nothing is installed:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then install the openjdk-11-jdk:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt install openjdk-11-jdk&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then the &lt;code&gt;$JAVA_HOME&lt;/code&gt; needs to be updated, most likely it is defined in &lt;code&gt;/etc/environment&lt;/code&gt;. Please check for your installation how to set the &lt;code&gt;$JAVA_HOME&lt;/code&gt; correctly.&lt;/p&gt; +&lt;h2 id=&#34;updating-liferay&#34;&gt;Updating Liferay&lt;/h2&gt; +&lt;p&gt;Download Liferay from this link&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&#34;&gt;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;and unpack it, ideally in the &lt;code&gt;/opt&lt;/code&gt; directory, so resulting path would look like &lt;code&gt;liferay-ce-portal-7.3.3-ga4&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;Then, you need to update the &lt;code&gt;$LIFERAY_INSTALL&lt;/code&gt; in &lt;code&gt;/etc/environment&lt;/code&gt; from &lt;code&gt;LIFERAY_INSTALL=/opt/liferay-portal-7.2.0-ga1/ &lt;/code&gt; to &lt;code&gt;LIFERAY_INSTALL=/opt/liferay-ce-portal-7.3.3-ga4&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;First, you will need to copy the &lt;code&gt;portal-ext.properties&lt;/code&gt; from the old liferay folder to the new liferay folder (or new &lt;code&gt;$LIFERAY_HOME&lt;/code&gt;):&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# cp /$old-liferay/portal-ext.properties $LIFERAY_INSTALL/portal-ext.properties&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;migration-of-existing-database&#34;&gt;Migration of existing database&lt;/h3&gt; +&lt;p&gt;For a version upgrade from Liferay CE 7.2 to Liferay 7.3, migration scripts must be applied, they are located in &lt;code&gt;$LIFERAY_HOME/ tools/portal-tools-db-upgrade-client&lt;/code&gt;. From there the following files needs to be adapted:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;app-server.properties&lt;/code&gt;: most likely uncomment tomcat, because we re using liferay with tomcat.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;portal-upgrade-database.properties&lt;/code&gt;: uncomment postgresql section and add database user, default from installation is &lt;code&gt;liferay/liferay&lt;/code&gt;, or it is stored in &lt;code&gt;portal-ext.properties&lt;/code&gt; right where the JDBC driver is selected. Please note that your &lt;code&gt;portal-ext.properties&lt;/code&gt; file in &lt;code&gt;$LIFERAY_INSTALL&lt;/code&gt;can have the following line &lt;code&gt;include-and-override=/etc/sw360/portal-ext.properties&lt;/code&gt;. In this case, consider the &lt;code&gt;portal-ext.properties&lt;/code&gt;at that location.&lt;/li&gt; +&lt;li&gt;&lt;code&gt;portal-upgrade-ext.properties&lt;/code&gt;: just the liferay home, you can leave it as it is&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;If everything is done (and the postgresql migration took place), execute:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# ./db_upgrade.sh&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;It should return a battery of &lt;code&gt;INFO&lt;/code&gt; log level messages end with:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Completed Liferay core upgrade process in 96 seconds +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking to see if all upgrades have completed... done. +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;more-migration&#34;&gt;More Migration&lt;/h3&gt; +&lt;p&gt;The liferay migration covers apparently only the database, but not the files in the &lt;code&gt;$LIFERAY_HOME/data&lt;/code&gt; folder. It would have been nicer, if that would have been covered too. Instead these must be copied manually. In fact, for the migration, it is advised to copy only the &lt;code&gt;/old-liferay/data/document_library&lt;/code&gt; to the new location. Something like (different pwd &amp;hellip;):&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# cp -r _attic/liferay-portal-7.2.1-ga2/data/document_library/ liferay-ce-portal-7.3.3-ga4/data/&lt;/code&gt;&lt;/p&gt; +&lt;h3 id=&#34;auto-start&#34;&gt;Auto Start&lt;/h3&gt; +&lt;p&gt;For auto start, you need an according init.d entry. It could be a file like &lt;code&gt;/etc/init.d/tomcat&lt;/code&gt;. The file could be created if not there already, with the following contents:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;#!/bin/bash +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### BEGIN INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Provides: tomcat7&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Start: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Stop: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Start: 2 3 4 5&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Stop: 0 1 6&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Short-Description: Start/Stop Tomcat server&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### END INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;PATH&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;/sbin:/bin:/usr/sbin:/usr/bin +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stop&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/shutdown.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt; in +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; start|stop&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt;;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; restart&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; stop; start;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; *&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#366&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Run as &lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;$0&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;lt;start|stop|restart&amp;gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#366&#34;&gt;exit&lt;/span&gt; 1;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;esac&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Te user &lt;code&gt;siemagrant&lt;/code&gt; is used in the sw360vagrant project. it is the username of the user where the liefray / sw360 server runs under in vagrant. Regardless how the user is named, it is important that liferay runs under an unprivileged user (for security reasons).&lt;/p&gt; +&lt;h3 id=&#34;adjust-memory&#34;&gt;Adjust Memory&lt;/h3&gt; +&lt;p&gt;When you have downloaded the liferay distribution, Tomcat is likely configured with very basic memory settings. For trying sw360, the standard memory settings are OK. But of course, the memory settings in &lt;code&gt;$LIFERAY_HOME/tomcat-X.0.XX/bin/setenv.sh&lt;/code&gt; should be adapted again.&lt;/p&gt; +&lt;h2 id=&#34;install-prerequisites&#34;&gt;Install Prerequisites&lt;/h2&gt; +&lt;p&gt;For old installations, libthrift is not there (which causes an error at container startup), it should be downloaded and deployed:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv libthrift-0.13.0.jar $LIFEARY_HOME/deploy/ +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The the existing prerequisites needs to be copied from the &lt;code&gt;osgi/modules&lt;/code&gt; from the old liferay installation:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-lang-2.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-io-2.6.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-csv-1.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-collections4-4.1.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-codec-1.12.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-logging-1.2.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp gson-2.8.5.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp guava-21.0.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp jackson-annotations-2.9.8.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp jackson-core-2.9.8.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp jackson-databind-2.9.8.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;note that with the &lt;a href=&#34;https://github.com/eclipse/sw360/commit/71348b4fffa6e3e5fd761a3f63590a0a60663827&#34;&gt;commit&lt;/a&gt; to sw360-13.0.0-M1 you need also another dependency for apache poi:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp commons-compress-1.20.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;install-couchdb-lucene&#34;&gt;Install Couchdb Lucene&lt;/h2&gt; +&lt;p&gt;SW360 uses for searching the contents of the couchdb databases a lucene-based server named couchdb-lucene. The main thing is that it requires pathing for the use in the normal SW3360 setups. The reason for the patch is that the developers presume that couchdb-lucene runs as the only component in the application server, while in the sw360 setup, there is a setup in which couchdb-lucene runs along with other components in the same application container.&lt;/p&gt; +&lt;p&gt;Start with downloading the couchdb-lucene and rename the archive so the resulting URL path element will be &lt;code&gt;couchdb-lucene&lt;/code&gt;:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;wget https://github.com/rnewson/couchdb-lucene/archive/v2.1.0.tar.gz ./couchdb-lucene.tar.gz&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Please refer to the script in sw360vagrant how to apply the patch to couchdb-lucene:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&#34;&gt;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;Please note that the patching issue is well known in the project and it is unclear why it is not merged:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/issues/161&#34;&gt;https://github.com/rnewson/couchdb-lucene/issues/161&lt;/a&gt; &amp;ldquo;allow context-root other than &amp;ldquo;/&amp;rdquo; when running in servlet container&amp;rdquo;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/162&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/162&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/152&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/152&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Now, for CouchDB 2.X the hook for integration of a search component has chaned compared to CouchDB 1.X. Accordingly, the old couchdb-lucene component must be replaced with the latest version.&lt;/p&gt; +&lt;h2 id=&#34;deploy-new-sw360&#34;&gt;Deploy New SW360&lt;/h2&gt; +&lt;p&gt;You will need to checkout new Java-11 based version of the SW360, which is either tagged version 11 or some few commits before that. Then build in the sw360 project root using:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;mvn clean install -DskipTests&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;This will install new artfacts, such as lib-datahandler in your maven repostiory. Then apply in the same:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;DskipTests +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Skipping tests has the reason that usually, the sw360 is tested in the CI and thus, local tests are note necessary, if the code has not been changed locally. Note that the REST API documentation framework is based on building test cases and thus for deploying a version with REST API documentation, tests should be executed:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd rest +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;final-steps-in-liferay&#34;&gt;Final Steps in Liferay&lt;/h2&gt; +&lt;p&gt;Liferay CE 7.3 bring some changes that still require manually applied settings to the running liferay server. Thus, you could start the liferay server or just restart the entire machine. The following two things need to be adaptedin liferay after successful startup in order to get the migration done:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt; +&lt;p&gt;The automatic verification of e-mail adresses maybe be needed to be switched off, because it kicks in also for existing users. This can be done in &amp;ldquo;Control Panerl&amp;rdquo; -&amp;gt; &amp;ldquo;Instance Settings&amp;rdquo; -&amp;gt; &amp;ldquo;User Authentication&amp;rdquo; -&amp;gt; &amp;quot;&amp;quot;&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;The JavaScript components jquery and fontawesone (that come with liferay) must be manually enabled now. For this got into &amp;ldquo;Control Panel&amp;rdquo; -&amp;gt; &amp;ldquo;System Settings&amp;rdquo; -&amp;gt; &amp;ldquo;Thrid Party&amp;rdquo;. and from then select the two JavaScript components from the left and enable them accordingly.&lt;/p&gt; +&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;known-issues&#34;&gt;Known Issues&lt;/h2&gt; +&lt;h3 id=&#34;database-availability-right-after-update&#34;&gt;Database Availability Right after Update&lt;/h3&gt; +&lt;p&gt;Right after updating, the sw360 will not show up data at all, but sometimes nothing or &amp;ldquo;portlet unavailable&amp;rdquo;. The problem is the re-indexing of the DB and the search index which takes a while. You can trigger reindexing in the systems. A lazy way is call all (main) views so the database stumbles accross it and starts the indexing tasks (see job view in the couchdb admin interface of Futon). The sam eis for searches, the first searches will fail and the lucene will do some internal updates. leaving the system working for some time and follow the log will help. Could take 30 minutes.&lt;/p&gt; +&lt;h3 id=&#34;e-mail-verification-trap&#34;&gt;E-Mail Verification Trap&lt;/h3&gt; +&lt;p&gt;Liferay has automatically enabled password verification for all accounts right after migration. Not sure what motivates persons to enable such feature by default right after migration from an instance where it was not there? In case you have attached the system to an external login solution, but your liferay is not configured to send mails, then it is a trap, because you cannot verify the e-mail address and thus, cannot login. You need to disable the external login solution and use the original initial setup user to login (which is not asked for verification by e-mail) to disable this feature (see above).&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Search</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-search/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-search/</guid> + <description> + + + &lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/general-search.png&#34; alt=&#34;general-search&#34;&gt;&lt;/p&gt; +&lt;p&gt;The user can use the general Search. He can find that under Search at the navigation bar. There he can choose, for what elements (Projects, Components, Releases, Licences, Users, Vendors) he wants to search. Therefore he toogle the elements which should be included in the search.&lt;/p&gt; +&lt;h3 id=&#34;wildcards&#34;&gt;Wildcards&lt;/h3&gt; +&lt;p&gt;The user can search with wildcards. A wildcard is a character which substitue for zero or more characters in a string. For a single character users can use &amp;lsquo;?&amp;rsquo; and for multiple character wildcard he can use &amp;lsquo;*&amp;rsquo;. The Wildcard can stand in the middle of characters or at the end, but not at the beginning.&lt;/p&gt; +&lt;h2 id=&#34;search-in-projects-components-and-licenses&#34;&gt;Search in Projects, Components and Licenses&lt;/h2&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/navigationbar-search.png&#34; alt=&#34;specific-search&#34;&gt;&lt;/p&gt; +&lt;p&gt;The user can use besides of the general search the specific search at the specific view of projects, components and licenses. There he has a Quickfilter and the Advanced Search where he has the option to search more refined.&lt;/p&gt; +&lt;h2 id=&#34;heading&#34;&gt;&lt;/h2&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/sw360_specific_search.png&#34;/&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/specific-search.png&#34;/&gt;&lt;/p&gt; +&lt;h3 id=&#34;quickfilter&#34;&gt;Quickfilter&lt;/h3&gt; +&lt;p&gt;The Quickfilter let the user see the search result immediately when he starts typing. Therefore the Data has to be loaded. At the specific search for components, the user can choose under &amp;rsquo;loading&amp;rsquo; how much components sw360 should load. He can choose between the &amp;lsquo;200 newest&amp;rsquo; up to &amp;lsquo;all&amp;rsquo;. If the user did not use the quickfilter, it makes sense to set the loading option on 200 newest, so he does not unnecessarily slow down the site. &lt;br&gt; +At the specific search for projects, the user has the option to choose the group for the projects which should get loaded for the quick filter. If the user is just interested in the projects of his group, he should set the group to his group. So he does not load unnecessary projects every time he goes on the project site. Note that you cannot use wildcards for the quick search.&lt;/p&gt; +&lt;h3 id=&#34;advanced-search&#34;&gt;Advanced Search&lt;/h3&gt; +&lt;p&gt;The user has for components and projects the option to use the advanced search if he wants a more refined search. At the advanced search, the user can search for the different attributes projects or components have. For example, the user wants to search for all components which are for Linux; therefore he writes Linux in the field &amp;lsquo;Operating System&amp;rsquo; and click search. For the advanced search, the search result does not depend on the setting the user has chosen at the loading selection.&lt;/p&gt; +&lt;h3 id=&#34;export-spreadsheet&#34;&gt;Export Spreadsheet&lt;/h3&gt; +&lt;p&gt;With the Export Spreadsheet button at the bottom of the site, users can export the search result as a xlsx file (Excel). He can choose between a file with &amp;lsquo;only components&amp;rsquo; or &amp;lsquo;components with releases&amp;rsquo;. If he chooses &amp;lsquo;only components&amp;rsquo; he gets a file with just the Components and its attributes. If the user chooses the option &amp;lsquo;with release&amp;rsquo;, he will get all the release of the components with their attributes, for example the clearing state of releases, in the xlsx file.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/Export-Spreadsheet.png&#34; alt=&#34;Export-Spreadsheet&#34;&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Search Vulnerabilities</title> + <link>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/</guid> + <description> + + + &lt;p&gt;The CVE-Search service of SW360 checks for vulnerabilities that affect releases present in SW360. +The CVE-search service runs automatically at the time that has been scheduled by one of the &lt;code&gt;SW360-admins&lt;/code&gt;. +Typically, this will happen at night. So, in the beginning, SW360 does not know any vulnerabilities for your project.&lt;/p&gt; +&lt;h2 id=&#34;vulnerabilites-in-the-project-portlet&#34;&gt;Vulnerabilites in the Project Portlet&lt;/h2&gt; +&lt;p&gt;After a CVE-search run has been finished, you can see the number of vulnerabilities associated with your project in the &lt;code&gt;Projects Portlet&lt;/code&gt;. +To that end, open the &lt;code&gt;Projects Portlet&lt;/code&gt; and click on your project:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/01_SelectProject.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In the &lt;code&gt;Vulnerabilities tab&lt;/code&gt; on the left hand side, you see the number of vulnerabilites that have been found for the releases that are directly linked +to your project. Actually, you see two numbers. The left number indicates how many vulnerabilities have not been evaluated or &lt;code&gt;rated&lt;/code&gt; for this project yet. +Whenever this number is positive, the bullet surrounding the numbers will be red. Otherwise the bullet is grey.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/02_NumberOfVulnerabilities.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h2 id=&#34;the-vulnerabilities-tab&#34;&gt;The Vulnerabilities Tab&lt;/h2&gt; +&lt;p&gt;To view (and to rate the vulnerabilities for the project), click on the &lt;code&gt;Vulnerabilities Tab&lt;/code&gt;. A list of vulnerabilities occurs. Each vulnerability has been found +for one of the releases that are directly linked to your project. In the first column, you see the name of that release.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/03_VulnerabilityListProject.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;By clicking on the &lt;code&gt;external id&lt;/code&gt; of a vulnerability, you can view the details of the vulnerability in the &lt;code&gt;Vulnerability Portlet&lt;/code&gt;. +More details about the &lt;code&gt;Vulnerability Portlet&lt;/code&gt; can be found &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#the-vulnerability-portlet&#34;&gt;here&lt;/a&gt;. +The column &lt;code&gt;Priority&lt;/code&gt; contains no special information when using &lt;code&gt;CVE-Search&lt;/code&gt;, it is used when importing vulnerability information from different sources. +In the column &lt;code&gt;Matched By&lt;/code&gt;, you see the &lt;code&gt;distance&lt;/code&gt; with which the vulnerability was found, and in the mouse-over the corresponding &lt;code&gt;needle&lt;/code&gt; is displayed. +Below the table, you see a report about how many vulnerabilities in your project were found with which &lt;code&gt;distance&lt;/code&gt; by &lt;code&gt;heuristics&lt;/code&gt; and how many of them have been found by a &lt;code&gt;matching CPE&lt;/code&gt; respectively. +For more details on &lt;code&gt;distances&lt;/code&gt;, &lt;code&gt;matches&lt;/code&gt; and &lt;code&gt;needles&lt;/code&gt;, click &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#heuristics&#34;&gt;here&lt;/a&gt;. +In the column &lt;code&gt;Title&lt;/code&gt;, the &lt;code&gt;External id&lt;/code&gt; is repeated, and in the mouse-over, you can read the &lt;code&gt;description&lt;/code&gt; of the vulnerability.&lt;/p&gt; +&lt;h2 id=&#34;evaluating-vulnerabilities-for-your-project&#34;&gt;Evaluating Vulnerabilities for your Project&lt;/h2&gt; +&lt;p&gt;If you are allowed to edit the project, you can also &lt;code&gt;rate&lt;/code&gt; the relevance of the vulnerability for your project. In this case, the column &lt;code&gt;Relevance for project&lt;/code&gt; contains +drop-down menus, where you can select a &lt;code&gt;rating&lt;/code&gt; for each vulnerability (compare &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#vulnerability-rating-for-projects&#34;&gt;here&lt;/a&gt;). +To change the rating for a project, simply select a different value from the drop-down menu, enter a comment and click &lt;code&gt;OK&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/04_ChangeRating.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In order to update the number of checked and unchecked vulnerabilities in the bullet of the &lt;code&gt;Vulnerability tab&lt;/code&gt;, you have to reload. +After that, you can also view the &lt;code&gt;history of rating changes&lt;/code&gt; in the mouse-over of the corresponding vulnerability, +see also &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#change-history-for-vulnerability-ratings-and-verifications&#34;&gt;here&lt;/a&gt;.&lt;/p&gt; +&lt;p&gt;You can also view the vulnerabilities associated with a &lt;code&gt;component&lt;/code&gt; and those associated with a &lt;code&gt;release&lt;/code&gt; in the &lt;code&gt;Components Portlet&lt;/code&gt;. +CVE Search associates vulnerabilities with a release in SW360 based on the data that SW360 knows for that release. +For a &lt;code&gt;release&lt;/code&gt;, a &lt;code&gt;security admin&lt;/code&gt; or an &lt;code&gt;admin&lt;/code&gt; can judge whether a vulnerability does indeed refer to the &lt;code&gt;release&lt;/code&gt;. +Vulnerabilities that have been classified as &lt;code&gt;INCORRECT&lt;/code&gt; by an &lt;code&gt;admin&lt;/code&gt; or &lt;code&gt;security admin&lt;/code&gt; are not displayed to &lt;code&gt;USERs&lt;/code&gt; any more and therefore do not distort the picture for your project.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Security</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/</guid> + <description> + + + &lt;p&gt;After the basic installation, there are some following steps that should be considered for securing the deployment. The main issue that can be done upfront is the documentation of the involved components:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Lifearay&lt;/li&gt; +&lt;li&gt;Tomcat&lt;/li&gt; +&lt;li&gt;Couchdb&lt;/li&gt; +&lt;li&gt;Vagrant&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;For vagrant it is important to understand how to close the provisioning users and not keep default usernames and passwords open.&lt;/p&gt; +&lt;p&gt;Then for the applications, the following very first line measure should be considered:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt; +&lt;p&gt;Change password of Liferay administrator user or check if that is appropriately secure.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;You should check the permissions of the involved users in the user management in Liferay.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Assign individual passwords for users, also you could force the users to change their passwords at login if you like.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Besides the general advice to check the deployment instructions for the involved components, it is of particular interest to limit couchdb access from localhost only.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Also for Tomcat you limit port access from localhost only.&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Do you need the ssh ports open or can you just go to the machine (physically).&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Fix the admin party on couchdb&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;Add https access to couchdb&lt;/p&gt; +&lt;/li&gt; +&lt;li&gt; +&lt;p&gt;check that sw360 eyecuting user does not have sudo rights and config files for sw360 are &lt;code&gt;600&lt;/code&gt; only for the executing user.&lt;/p&gt; +&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Note that the Linux vagrant scripts applies somesecurity measures already on the OS level.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: System Requirements</title> + <link>https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/</guid> + <description> + + + &lt;p&gt;For deploying the SW360, there are the following hardware requirements below. Please note that the main memory consumer is the tomcat application container. Accordingly, this requires different settings (see &lt;code&gt;$TOMCAT_HOME/bin/setenv.sh&lt;/code&gt;).&lt;/p&gt; +&lt;p&gt;Please note that you can review the current memory situation of the application in the liferay administration section as well (see &lt;code&gt;Configuration&lt;/code&gt;-&amp;gt; &lt;code&gt;Server Administration&lt;/code&gt;).&lt;/p&gt; +&lt;h2 id=&#34;hardware-and-infrastructure&#34;&gt;Hardware and Infrastructure&lt;/h2&gt; +&lt;h3 id=&#34;cd-based-test-instances&#34;&gt;CD-based test instances&lt;/h3&gt; +&lt;p&gt;When there is a continuous deployment and continuous delivery directly deployed to machine the following machine is recommended:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;1 core&lt;/li&gt; +&lt;li&gt;4GB RAM&lt;/li&gt; +&lt;li&gt;40GB normal file system&lt;/li&gt; +&lt;li&gt;10Mbit Ethernet link&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;In this case, the sw360 solution runs fairly well for clicking around and creation of a few data sets. Note that Tomcat should have 2GB.&lt;/p&gt; +&lt;h3 id=&#34;staging-instances&#34;&gt;Staging instances&lt;/h3&gt; +&lt;p&gt;Testing and working with normal data sets for staging and pre-productive testing. Pre productive does not need to have the same execution speed of the machine, however, requires enough RAM and file system to run a clone on the data set.&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;2 cores&lt;/li&gt; +&lt;li&gt;8GB RAM&lt;/li&gt; +&lt;li&gt;500GB normal file system&lt;/li&gt; +&lt;li&gt;100Mbit Ethernet link&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;The tomcat should be adjusted to 4GB RAM&lt;/p&gt; +&lt;h3 id=&#34;productive-instances&#34;&gt;Productive instances&lt;/h3&gt; +&lt;p&gt;Productive with for example: 10K releases, 2k users which deploys the entire solution onto a single larger machine. It does not apply to a docker based setup.&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;4 cores&lt;/li&gt; +&lt;li&gt;16GB RAM&lt;/li&gt; +&lt;li&gt;500GB SSD based file system&lt;/li&gt; +&lt;li&gt;1GBit link Ethernet link&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Tomcat should be adjusted to 10-12GB RAM. Note: normally, you could also run Tomcat with significantly lees RAM, if you put common dependencies in a shared lib folder.&lt;/p&gt; +&lt;h3 id=&#34;network&#34;&gt;Network&lt;/h3&gt; +&lt;p&gt;The following table shall give an overview about the inbound ports&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Port&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Service&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Remarks&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;443&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;https&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Accessing the application&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;22&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;ssh&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Administering the application&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;80&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;if you would like to access the solution over http&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;5984/5985&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;http/https&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;if access to the couchdb (admin) interface is required&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;Overview about the &lt;em&gt;additional&lt;/em&gt; outbound ports:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Port&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Service&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Remarks&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;3269&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sldap&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If you do authentication using secure LDAP&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;443&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;sldap&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If you do consume services over https (e.g. vulnerabilty pulling)&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;53&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;dns&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;22&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;ssh&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;the old way of calling a fossology server&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;p&gt;Outbound ports for http / https may be required for downloading system updates. Ports for ssh may not be required outbound.&lt;/p&gt; +&lt;h2 id=&#34;software&#34;&gt;Software:&lt;/h2&gt; +&lt;p&gt;As for the software, the sw360 can be run on many platforms, even on Windows seven. We have the following reference platform for development:&lt;/p&gt; +&lt;p&gt;until 5:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;OpenJDK 8&lt;/li&gt; +&lt;li&gt;Unbunu 16.04 LTS&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;after 5:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;openjdk 8&lt;/li&gt; +&lt;li&gt;ubuntu 18.04 LTS&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;after 11:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;openjdk 11&lt;/li&gt; +&lt;li&gt;ubuntu 18.04 LTS&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;More information about requirements can be found here: &lt;a href=&#34;https://github.com/sw360/sw360vagrant/wiki&#34;&gt;https://github.com/sw360/sw360vagrant/wiki&lt;/a&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Ubuntu 18.04 LTS, Java 11</title> + <link>https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/</guid> + <description> + + + &lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt; +&lt;p&gt;We are covering the update for ubuntu 18.04 LTS here, because that is our main / agreed base system for running sw360. sw360 may run on a varienty of other linux distributions or OSes such as macosx, but in order to avoid problem we agreed on having a reference OS, which are the ubuntu long term releases. The author of this guide also uses macosx and homebrew which also works fairly well.&lt;/p&gt; +&lt;p&gt;Please note that during the time, the dependencies are updated and the version info might change.&lt;/p&gt; +&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt; +&lt;p&gt;The installation consists of quite some tasks, as an overview:&lt;/p&gt; +&lt;ol start=&#34;5&#34;&gt; +&lt;li&gt;Java 11&lt;/li&gt; +&lt;li&gt;Postgresql, if we want to use it instead of hypersonic db&lt;/li&gt; +&lt;li&gt;CouchDB 2.X at the time of starting this guide, but 3.1.X seems to work well&lt;/li&gt; +&lt;li&gt;Thrift to 0.13, later updated to 0.14&lt;/li&gt; +&lt;li&gt;Liferay CE 7.3.3 and 7.3.4 has been also tested&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;/etc/ini.d/tomcat&lt;/code&gt; with path of new liferay&lt;/li&gt; +&lt;li&gt;Adjust &lt;code&gt;$liferay_install&lt;/code&gt; variable&lt;/li&gt; +&lt;li&gt;add Java prerequisites to OSGi container&lt;/li&gt; +&lt;li&gt;Install couchdb-lucene (2.1)&lt;/li&gt; +&lt;li&gt;Deploy new version of sw360&lt;/li&gt; +&lt;li&gt;Go ahead with Liferay steps&lt;/li&gt; +&lt;/ol&gt; +&lt;h2 id=&#34;initial-steps&#34;&gt;Initial steps&lt;/h2&gt; +&lt;p&gt;In order to &amp;ldquo;calibrate the system&amp;rdquo; just run the update / upgrade cycle once:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt update&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt upgrade&lt;/code&gt;&lt;/p&gt; +&lt;h2 id=&#34;postgresql&#34;&gt;PostgreSQL&lt;/h2&gt; +&lt;p&gt;You can go ahead install postgresql 10:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt install postgresql-10&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;or whatever package version is suitable here, for example version 12 for ubuntu 20.04.&lt;/p&gt; +&lt;p&gt;The configuration for Liferay will come later.&lt;/p&gt; +&lt;h2 id=&#34;couchdb&#34;&gt;CouchDB&lt;/h2&gt; +&lt;p&gt;CouchDB is not part of the Ubuntu package management anymore. Thus, you need to add the Apache CouchDB package repository to install it, first the key for signing:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The add the repo to the sources:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;echo &amp;quot;deb https://apache.bintray.com/couchdb-deb bionic main&amp;quot; | sudo tee -a /etc/apt/sources.list&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then, add its contents to the package database by updating apt:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get update -y&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Ultimately install CouchDB, we tried with 2.1.2 install:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo apt-get install -y couchdb=2.1.2~bionic&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;The installer will ask a couple of questions:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Bind address: for CouchDB and SW360 &lt;code&gt;127.0.0.1&lt;/code&gt; (localhost) is a good bind address, if you would like to access the server from a remote computer because your sw360 runs as a server in the network, you would need to change accordingly.&lt;/li&gt; +&lt;li&gt;Admin user: For fresh installation for sure a very good idea. You can set the password at sw360 for CouchDB in &lt;code&gt;couchdb.properties&lt;/code&gt; and place it centrally in &lt;code&gt;/etc/sw360&lt;/code&gt;&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;In case you added an admin accidentally and would like to remove it,&lt;/p&gt; +&lt;h2 id=&#34;thrift&#34;&gt;Thrift&lt;/h2&gt; +&lt;p&gt;For thrift, we need version 0.13. The installation script in &lt;code&gt;scripts/install-thrift.sh&lt;/code&gt; will help you:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;sudo ./install-thrift.sh&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;In case there is thrift in the package management of the OS you re running on, just make sure, you have version 0.13&lt;/p&gt; +&lt;h2 id=&#34;openjdk-11&#34;&gt;OpenJDK 11&lt;/h2&gt; +&lt;p&gt;First check, what is installed.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk* --installed&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then you could check what is available:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt list openjdk*&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;And install OpenJDK 11&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# sudo apt install openjdk-11-jdk&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Then the &lt;code&gt;$JAVA_HOME&lt;/code&gt; needs to be updated, most likely in &lt;code&gt;/etc/environment&lt;/code&gt;. Please check for your installation how to set the &lt;code&gt;$JAVA_HOME&lt;/code&gt; correctly (most likely: &lt;code&gt;JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64&lt;/code&gt;).&lt;/p&gt; +&lt;h2 id=&#34;liferay-ce-733&#34;&gt;Liferay CE 7.3.3&lt;/h2&gt; +&lt;p&gt;Download Liferay from this link&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&#34;&gt;https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.3.3%20GA4/liferay-ce-portal-tomcat-7.3.3-ga4-20200701015330959.tar.gz&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;and unpack it, ideally in the &lt;code&gt;/opt&lt;/code&gt; directory, so resulting path would look like &lt;code&gt;/opt/liferay-ce-portal-7.3.3-ga4&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;Then, you need to update the &lt;code&gt;$LIFERAY_INSTALL&lt;/code&gt; in &lt;code&gt;/etc/environment&lt;/code&gt; from &lt;code&gt;LIFERAY_INSTALL=/opt/liferay-portal-7.2.0-ga1/ &lt;/code&gt; to `LIFERAY_INSTALL=/opt/liferay-ce-portal-7.3.3-ga4.&lt;/p&gt; +&lt;h3 id=&#34;auto-start&#34;&gt;Auto Start&lt;/h3&gt; +&lt;p&gt;For auto start, you need an according init.d entry. It could be a file like &lt;code&gt;/etc/init.d/tomcat&lt;/code&gt;. The file could be created if not there already, with the following contents:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;#!/bin/bash +&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#099&#34;&gt;&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### BEGIN INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Provides: tomcat7&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Start: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Required-Stop: $network&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Start: 2 3 4 5&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Default-Stop: 0 1 6&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;# Short-Description: Start/Stop Tomcat server&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#09f;font-style:italic&#34;&gt;### END INIT INFO&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#033&#34;&gt;PATH&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;=&lt;/span&gt;/sbin:/bin:/usr/sbin:/usr/bin +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/startup.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stop&lt;span style=&#34;color:#555&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;{&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; su -l siemagrant -c /opt/liferay-ce-portal-7.3.3-ga4/tomcat-9.0.33/bin/shutdown.sh +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;}&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt; in +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; start|stop&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#033&#34;&gt;$1&lt;/span&gt;;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; restart&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; stop; start;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; *&lt;span style=&#34;color:#555&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#366&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#c30&#34;&gt;&amp;#34;Run as &lt;/span&gt;&lt;span style=&#34;color:#033&#34;&gt;$0&lt;/span&gt;&lt;span style=&#34;color:#c30&#34;&gt; &amp;lt;start|stop|restart&amp;gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#366&#34;&gt;exit&lt;/span&gt; 1;; +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;esac&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Te user &lt;code&gt;siemagrant&lt;/code&gt; is used in the sw360vagrant project. it is the username of the user where the liefray / sw360 server should run under. In the ideal case, it is unprivileged user.&lt;/p&gt; +&lt;h3 id=&#34;adjust-memory&#34;&gt;Adjust Memory&lt;/h3&gt; +&lt;p&gt;When you have downloaded the liferay distribution, Tomcat is likely configured with very basic memory settings. For trying sw360, the standard memory settings are OK. But of course, the memory settings in &lt;code&gt;$LIFERAY_HOME/tomcat-X.0.XX/bin/setenv.sh&lt;/code&gt; should be adapted again.&lt;/p&gt; +&lt;h3 id=&#34;postgresql-instead-of-hypersonic&#34;&gt;PostgreSQL instead of Hypersonic&lt;/h3&gt; +&lt;p&gt;Liferay CE comes with the hypersonic database. Just for making a long-term setup in the berginning, we are advising to use postgresql from the start. The settings for postgrsql can be found in &lt;code&gt;portal-ext.properties&lt;/code&gt;. Please do not forget to create the user and the database in the database server first.&lt;/p&gt; +&lt;h2 id=&#34;install-prerequisites&#34;&gt;Install Prerequisites&lt;/h2&gt; +&lt;p&gt;There are some install libraries to be downloaded and installed as OSGi modules. You can check the download script from the sw360vaghrant project for list of URLs that help you.&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh&#34;&gt;https://github.com/sw360/sw360vagrant/blob/master/download-packages.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;An URL for libtrift is:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar&#34;&gt;https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;An URL for commons-compress is:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar&#34;&gt;https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;If you have downloaded every thing, copy them to the &lt;code&gt;deploy&lt;/code&gt; folder of your liferay installation:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp libthrift-0.13.0.jar $LIFEARY_HOME/deploy/ +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-lang-2.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-io-2.6.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-csv-1.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-collections4-4.4.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-codec-1.12.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-compress-1.20.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp commons-logging-1.2.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp gson-2.8.5.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp guava-21.0.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp jackson-annotations-2.11.3.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp jackson-core-2.11.3.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp jackson-databind-2.11.3.jar $LIFERAY_HOME/deploy +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;if you use PostgreSQL as your database, you need to install postgres.jar in Liferay.&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# wget https://jdbc.postgresql.org/download/postgresql-42.2.9.jar postgresql-42.2.9.jar +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# cp postgresql-42.2.9.jar $LIFERAY_HOME/tomcat-9.0.33/lib/ext +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;[Note] In case you use other database with Liferay, you need to set other jar file of corresponding database.&lt;/p&gt; +&lt;h2 id=&#34;install-couchdb-lucene&#34;&gt;Install Couchdb Lucene&lt;/h2&gt; +&lt;p&gt;SW360 uses for searching the contents of the couchdb databases a lucene-based server named couchdb-lucene. The main issue here is that it requires a patch for the use in the normal SW3360 setups. The reason for the patch is that the developers presume that couchdb-lucene runs as the only component in the application server, while in the sw360 setup, there is a setup in which couchdb-lucene runs along with other components in the same application container.&lt;/p&gt; +&lt;p&gt;Start with downloading the couchdb-lucene and rename the archive so the resulting URL path element will be &lt;code&gt;couchdb-lucene&lt;/code&gt;:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;# wget https://github.com/rnewson/couchdb-lucene/archive/v2.1.0.tar.gz ./couchdb-lucene.tar.gz&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;Please refer to the script in sw360vagrant how to apply the patch to couchdb-lucene:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&#34;&gt;https://github.com/sw360/sw360vagrant/blob/master/shared/scripts/install-lucene.sh&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;Please note that the patching issue is well known in the project and it is unclear why it is not merged:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/issues/161&#34;&gt;https://github.com/rnewson/couchdb-lucene/issues/161&lt;/a&gt; &amp;ldquo;allow context-root other than &amp;ldquo;/&amp;rdquo; when running in servlet container&amp;rdquo;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/162&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/162&lt;/a&gt;&lt;/li&gt; +&lt;li&gt;&lt;a href=&#34;https://github.com/rnewson/couchdb-lucene/pull/152&#34;&gt;https://github.com/rnewson/couchdb-lucene/pull/152&lt;/a&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;h2 id=&#34;deploy-new-sw360&#34;&gt;Deploy New SW360&lt;/h2&gt; +&lt;p&gt;You will need to checkout new Java-11 based version of the SW360, which is either tagged version 11 (or later) or some few commits before that. Then build in the sw360 project root using:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;mvn clean install -DskipTests&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;This will install new artfacts, such as lib-datahandler in your maven repostiory. Then apply in the same directory:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;#&lt;/span&gt; mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;DskipTests +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Skipping tests has the reason that usually, the sw360 is tested in the CI and thus, local tests are note necessary, if the code has not been changed locally. Note that the REST API documentation framework is based on building test cases and thus for deploying a version with REST API documentation, tests should be executed:&lt;/p&gt; +&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;#&lt;/span&gt; cd rest +&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a00;background-color:#faa&#34;&gt;#&lt;/span&gt; mvn clean &lt;span style=&#34;color:#069;font-weight:bold&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;P deploy &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbase.deploy.dir=. &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dliferay.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;deploy&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Dbackend.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;Drest.deploy.dir=&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;opt&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;liferay&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ce&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;portal&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;7.3.3&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;ga4&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;tomcat&lt;span style=&#34;color:#555&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f60&#34;&gt;9.0.33&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt;webapps&lt;span style=&#34;color:#555&#34;&gt;/&lt;/span&gt; +&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;final-steps-in-liferay&#34;&gt;Final Steps in Liferay&lt;/h2&gt; +&lt;p&gt;Liferay CE 7.3 will need to have some manual steps applied in order to complete the setup. Unfortunately, these cannot be automated (if you know how, please let us know). For earlier versions of Liferay, please refer to the main wiki page. For Liferay CE 7.3.3 please continue here:&lt;/p&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Deploy-Liferay7.3&#34;&gt;https://github.com/eclipse/sw360/wiki/Deploy-Liferay7.3&lt;/a&gt;&lt;/p&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/userguide/index.html b/docs/userguide/index.html new file mode 100644 index 0000000..8b79a66 --- /dev/null +++ b/docs/userguide/index.html @@ -0,0 +1,681 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/userguide/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>User Guides | Eclipse SW360</title> +<meta name="description" content="SW360 User Guides"> +<meta property="og:title" content="User Guides" /> +<meta property="og:description" content="SW360 User Guides" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="User Guides"> +<meta itemprop="description" content="SW360 User Guides"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="User Guides"/> +<meta name="twitter:description" content="SW360 User Guides"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="td-sidebar-nav-active-item">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=User%20Guides" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>User Guides</h1> + <div class="lead">SW360 User Guides</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/vulnerabilitymanagement/">Vulnerability Management</a> + </h5> + <p>SW360 Vulnerability Portlet</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/workflows/">Workflows</a> + </h5> + <p>SW360 User Workflows</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/user-attachment-file-types/">Attachment File Types</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/">CVE-Search Scheduling</a> + </h5> + <p>How to schedule the CVE-Search Service</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/user-data-model-enumerations/">Enumerations</a> + </h5> + <p>SW360 enumeration values for the internal thrift API</p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/user-bdp-import/">Importing</a> + </h5> + <p></p> + </div> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/user-search/">Search</a> + </h5> + <p>SW360 General Search</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/index.xml b/docs/userguide/index.xml new file mode 100644 index 0000000..b152b6e --- /dev/null +++ b/docs/userguide/index.xml @@ -0,0 +1,986 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – User Guides</title> + <link>https://www.eclipse.org/sw360/docs/userguide/</link> + <description>Recent content in User Guides on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/userguide/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: Vulnerability Management</title> + <link>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/</guid> + <description> + + + &lt;p&gt;In the &lt;code&gt;vulnerability portlet&lt;/code&gt;, you can view the vulnerabilites that are currently present in SW360 in more detail, independent of the release or project they apply to. Clicking on the top level entry &lt;code&gt;Vulnerabilities&lt;/code&gt;, a table listing all vulnerabilities is shown:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/vulnerabilityView.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Clicking on a vulnerability entry in the table, the details view of this vulnerability is shown.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/vulnerabilityDetail.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;The details view is also linked from the &lt;code&gt;vulnerabilities view&lt;/code&gt; in the &lt;code&gt;project portlet&lt;/code&gt; and &lt;code&gt;component and release portlet&lt;/code&gt;, respectively.&lt;/p&gt; +&lt;h1 id=&#34;vulnerability-verification-for-releases&#34;&gt;Vulnerability Verification for Releases&lt;/h1&gt; +&lt;p&gt;Vulnerabilities automatically imported into SW360 - e.g. via the CVE search connection of SW360 - can be applicable for a release or not. The latter can happen, because release data in SW360 is incorrect or not complete. Then the CVE search service uses a more general search pattern yielding a lot of vulnerabilities, only some of which actually apply to the release. Therefore, in SW360 a vulnerability can be marked for a given release with one of the following &lt;code&gt;verification states&lt;/code&gt;:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;NOT CHECKED&lt;/li&gt; +&lt;li&gt;CHECKED&lt;/li&gt; +&lt;li&gt;INCORRECT&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;Only &lt;code&gt;admins&lt;/code&gt; can mark a vulnerability or change the &lt;code&gt;verification state&lt;/code&gt; and enter a comment to give reasons for the change. The verification state and the meta-information (when and by whom the verification state was changed and the comment) are stored as &lt;code&gt;VerificationStateInfo&lt;/code&gt; at the appropriate &lt;code&gt;ReleaseVulnerabilityRelation&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;The &lt;code&gt;verification state&lt;/code&gt; is displayed in the detail mode of a &lt;code&gt;release&lt;/code&gt;, at &lt;code&gt;vulnerabilities&lt;/code&gt; in the column &lt;code&gt;Verification&lt;/code&gt; of the &lt;code&gt;vulnerability table&lt;/code&gt;. User without &lt;code&gt;admin&lt;/code&gt;-rights can only see the vulnerabilities that are &lt;code&gt;NOT CHECKED&lt;/code&gt; or &lt;code&gt;CHECKED&lt;/code&gt; together with a tooltip containing the meta-info. The &lt;code&gt;INCORRECT&lt;/code&gt; vulnerabilities are hidden from users without admin rights in the release detail view and also in the component detail view and in the project detail view.&lt;/p&gt; +&lt;p&gt;Admins see in the same table a dropdown menu, where they can adjust the state. An admin is shown all vulnerabilities belonging to a project, component or release, also those that are marked as &lt;code&gt;INCORRECT&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/releaseVulnerabilities.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h1 id=&#34;vulnerability-rating-for-projects&#34;&gt;Vulnerability Rating for Projects&lt;/h1&gt; +&lt;p&gt;In the detail view of a &lt;code&gt;project&lt;/code&gt;, in the category &lt;code&gt;Vulnerabilites&lt;/code&gt;, the vulnerabilities belonging to the linked releases of the project are shown. Such a vulnerability in the context of a certain project can be assigned one of the following &lt;code&gt;Ratings&lt;/code&gt;:&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;NOT CHECKED&lt;/li&gt; +&lt;li&gt;IRRELEVANT&lt;/li&gt; +&lt;li&gt;RESOLVED&lt;/li&gt; +&lt;li&gt;APPLICABLE&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;Those ratings are shown in the vulnerability table of the project details view. A user that has writing permission for the project can change the rating via a drop-down menu. If he changes the value, he is asked to enter a comment. The &lt;code&gt;VulnerabilityRating&lt;/code&gt; together with the meta-data (who has changed the rating, date of change of the rating and comment) is stored in one database object &lt;code&gt;ProjectVulnerabilityRating&lt;/code&gt; per project.&lt;/p&gt; +&lt;p&gt;A user that has no writing permission on the project is shown the &lt;code&gt;Vulnerability Rating&lt;/code&gt; in the table without the possibility to change the value.&lt;/p&gt; +&lt;p&gt;The number of vulnerabilities for a project with rating &lt;code&gt;NOT CHECKED&lt;/code&gt; is displayed in the bullet of the &lt;code&gt;Vulnerability&lt;/code&gt; tab of the &lt;code&gt;project detail&lt;/code&gt; view. The bullet is red if there are vulnerabilities with status &lt;code&gt;NOT CHECKED&lt;/code&gt; for the project. In the example 7 of the 10 existing vulnerabilities are &lt;code&gt;NOT CHECKED&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/VulnerabilitiesBullet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/projectVulnerabilities.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h1 id=&#34;change-history-for-vulnerability-ratings-and-verifications&#34;&gt;Change History for Vulnerability Ratings and Verifications&lt;/h1&gt; +&lt;p&gt;The complete list of status changes for vulnerability ratings in the project portlet and for vulnerability verifications in the component portlet is shown when hovering with the mouse over the vulnerability rating/verification in the table. This is shown for the project vulnerability table in the picture below.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/modifiedHistoryLayoutProjectVulnerabilities.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;#CVE-Search&lt;/p&gt; +&lt;h2 id=&#34;automatic-update-of-vulnerabilities&#34;&gt;Automatic update of vulnerabilities&lt;/h2&gt; +&lt;p&gt;See this &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Use-Case:-Scheduling-CVE-Search-by-Admins&#34;&gt;use case&lt;/a&gt;.&lt;/p&gt; +&lt;h2 id=&#34;heuristics&#34;&gt;Heuristics&lt;/h2&gt; +&lt;p&gt;All heuristics start by looking at the cpe. If the cpe is valid, i.e. start with the string &amp;ldquo;cpe:&amp;rdquo; and are longer then 10 chars, this is used for the search. If the search fails it falls back to the other search levels.&lt;/p&gt; +&lt;p&gt;There are at the moment two different heuristics implemented which define how and in which order to search the cveSearch DB.&lt;/p&gt; +&lt;p&gt;They can actually be combined, i.e. one could be the fallback of the other.&lt;/p&gt; +&lt;h3 id=&#34;guessing-heuristic-the-new-one&#34;&gt;Guessing heuristic (the new one)&lt;/h3&gt; +&lt;p&gt;The matching of vendor- and product-names is improved by using a lists of actual vendors resp. actual products of an vendor.&lt;/p&gt; +&lt;p&gt;From the information given for a release, which is expected to be either of the form&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;vendor=&lt;code&gt;&amp;quot;VENDOR_NAME&amp;quot;&lt;/code&gt;, name=&lt;code&gt;&amp;quot;PRODUCT_NAME&amp;quot;&lt;/code&gt; and a version or&lt;/li&gt; +&lt;li&gt;vendor=&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;, name=&lt;code&gt;&amp;quot;VENDOR_NAME PRODUCT_NAME&amp;quot;&lt;/code&gt; and a version (as generated by the bdpimport).&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;we try to find the best matches from the vendors list and then for these ones the best matches in their respective product lists. +The first run includes the version, and if no matching product with the correct version is found, a second run is made without the version restriction.&lt;/p&gt; +&lt;h5 id=&#34;modified-levenshtein-distance&#34;&gt;Modified Levenshtein distance&lt;/h5&gt; +&lt;p&gt;For the definition which matches are good we use a variation of the Levenshtein distance with some asymmetric modifications. In the following we will call the left side &lt;strong&gt;needle&lt;/strong&gt; and the right side &lt;strong&gt;haystack&lt;/strong&gt;. The &lt;strong&gt;needles&lt;/strong&gt; will come from the lists and the &lt;strong&gt;haystack&lt;/strong&gt; will be (parts of) the raw information extracted from the release. The defining rules are&lt;/p&gt; +&lt;ol&gt; +&lt;li&gt;Our Levenshtein distance is equal to the regular Levenshtein distance, if the &lt;strong&gt;haystack&lt;/strong&gt; does not contain any spaces.&lt;/li&gt; +&lt;li&gt;Skipping a &lt;strong&gt;prefix ending with a space&lt;/strong&gt; or of the &lt;strong&gt;haystack&lt;/strong&gt; does not cost anything, i.e. does not increase the distance&lt;/li&gt; +&lt;li&gt;Skipping a &lt;strong&gt;postfix starting with a space&lt;/strong&gt; of the &lt;strong&gt;haystack&lt;/strong&gt; does not cost anything, i.e. does not increase the distance&lt;/li&gt; +&lt;li&gt;If either the &lt;strong&gt;needle&lt;/strong&gt; or the &lt;strong&gt;haystack&lt;/strong&gt; is empty, the distance is &lt;code&gt;Integer.MAX_VALUE&lt;/code&gt;&lt;/li&gt; +&lt;/ol&gt; +&lt;p&gt;This means that the string &lt;code&gt;&amp;quot;needle&amp;quot;&lt;/code&gt; has&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;distance 0 to itself, i.e. &lt;code&gt;&amp;quot;needle&amp;quot;&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;distance 0 to itself plus a postfix separated by a space, e.g. &lt;code&gt;&amp;quot;needle postfix&amp;quot;&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;distance 0 to itself plus a prefix separated by a space, e.g. &lt;code&gt;&amp;quot;prefix needle&amp;quot;&lt;/code&gt;&lt;/li&gt; +&lt;li&gt;distance 2 to something which has regular distance of 2 surrounded by a prefix and a postfix which are separated by spaces, e.g. &lt;code&gt;&amp;quot;prefix nedles postfix&amp;quot;&lt;/code&gt;&lt;/li&gt; +&lt;/ul&gt; +&lt;h5 id=&#34;configuration&#34;&gt;Configuration&lt;/h5&gt; +&lt;p&gt;The finetuning parameters can be configured by setting the following properties in &lt;code&gt;/etc/sw360/sw360.properties&lt;/code&gt; or in the &lt;code&gt;configuration.yml&lt;/code&gt;&lt;/p&gt; +&lt;pre&gt;&lt;code&gt;cvesearch.default.vendor.threshold=1 +cvesearch.default.product.threshold=0 +cvesearch.default.cutoff=6 +&lt;/code&gt;&lt;/pre&gt; +&lt;h5 id=&#34;finetuning&#34;&gt;Finetuning&lt;/h5&gt; +&lt;p&gt;There are three variables which can be used for finetuning of the algorithm&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;&lt;code&gt;cutoff&lt;/code&gt; (defaults to &lt;code&gt;Integer.MAX_VALUE&lt;/code&gt;, i.e. no cutoff)&lt;/li&gt; +&lt;li&gt;&lt;code&gt;vendorThreshold&lt;/code&gt; (defaults to &lt;code&gt;0&lt;/code&gt;, i.e. no vendor threshold)&lt;/li&gt; +&lt;li&gt;&lt;code&gt;productThreshold&lt;/code&gt; (defaults to &lt;code&gt;0&lt;/code&gt;, i.e. no product threshold)&lt;/li&gt; +&lt;/ul&gt; +&lt;h4 id=&#34;cons&#34;&gt;Cons&lt;/h4&gt; +&lt;ul&gt; +&lt;li&gt;is not able to find anything if no vendor but a unique product is given&lt;/li&gt; +&lt;li&gt;many search queries&lt;/li&gt; +&lt;li&gt;it will always try find the best match, e.g. also very bad matches, if cutoff is to large&lt;/li&gt; +&lt;/ul&gt; +&lt;h3 id=&#34;display-how-a-vulnerability-was-found&#34;&gt;Display How a Vulnerability was Found&lt;/h3&gt; +&lt;p&gt;In the &lt;code&gt;vulnerability tables&lt;/code&gt; of the &lt;code&gt;projects portlet&lt;/code&gt; and the &lt;code&gt;component and release portlet&lt;/code&gt; you can see, whether a vulnerability was found directly by the &lt;code&gt;CPE&lt;/code&gt; or by &lt;code&gt;heuristics&lt;/code&gt;. In the latter case, also the distance (and therefore the quality of the match with &lt;code&gt;0 = best possible match&lt;/code&gt;) is displayed.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/matchedBy.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In addition, below the &lt;code&gt;vulnerability tables&lt;/code&gt; of the &lt;code&gt;projects portlet&lt;/code&gt; and the &lt;code&gt;component and release portlet&lt;/code&gt;, you can see the number of directly linked releases that was found by &lt;code&gt;CPE&lt;/code&gt; or &lt;code&gt;heuristic&lt;/code&gt;, respectively:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/projectVulnerabilitiesWithStatisticsHighlighted.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h3 id=&#34;example-1-vendorapachenamemavenversion304&#34;&gt;Example 1: &lt;code&gt;{vendor=&amp;quot;Apache&amp;quot;,name=&amp;quot;Maven&amp;quot;,version=&amp;quot;3.0.4&amp;quot;}&lt;/code&gt;&lt;/h3&gt; +&lt;h4 id=&#34;basic-heuristic&#34;&gt;Basic heuristic&lt;/h4&gt; +&lt;p&gt;This heuristic builds in the first step the correct needle +&lt;code&gt;cpe:2.3:.:.*apache.*maven.*3.0.4.*&lt;/code&gt; and finds the cpe &lt;code&gt;cpe:2.3:a:apache:maven:3.0.4&lt;/code&gt;&lt;/p&gt; +&lt;h4 id=&#34;guessing-heuristic&#34;&gt;Guessing heuristic&lt;/h4&gt; +&lt;p&gt;The heuristic guesses the vendor &lt;code&gt;apache&lt;/code&gt; and the product &lt;code&gt;maven&lt;/code&gt;. Together with the version this results in the same cpe-needle &lt;code&gt;cpe:2.3:.:.*apache.*maven.*3.0.4.*&lt;/code&gt;.&lt;/p&gt; +&lt;h3 id=&#34;example-2-vendornameapache-mavenversion304&#34;&gt;Example 2: &lt;code&gt;{vendor=&amp;quot;&amp;quot;,name=&amp;quot;Apache Maven&amp;quot;,version=&amp;quot;3.0.4&amp;quot;}&lt;/code&gt;&lt;/h3&gt; +&lt;h4 id=&#34;basic-heuristic-1&#34;&gt;Basic heuristic&lt;/h4&gt; +&lt;p&gt;The first levels of this heuristic fails until the sixth level which does not use the vendor. The resulting needle is then &lt;code&gt;cpe:2.3:.:.*apache.*maven.*3.0.4.*&lt;/code&gt; and finds the cpe &lt;code&gt;cpe:2.3:a:apache:maven:3.0.4&lt;/code&gt;&lt;/p&gt; +&lt;h4 id=&#34;guessing-heuristic-1&#34;&gt;Guessing heuristic&lt;/h4&gt; +&lt;p&gt;The heuristic guesses the vendor &lt;code&gt;apache&lt;/code&gt; since it is a substring of &lt;code&gt;apache maven&lt;/code&gt; and thus has distance &lt;code&gt;0&lt;/code&gt;, the same is true for the productname &lt;code&gt;maven&lt;/code&gt; which results in the same cpe-needle as above.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Workflows</title> + <link>https://www.eclipse.org/sw360/docs/userguide/workflows/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/workflows/</guid> + <description> + + + &lt;p&gt;This page is one of the basic user workflow documentation pages. It can give orientation how the sw360 can be used - as guidance or orientation. There is no particular need to follow these workflows, it is just one way. Workflows are shown as flow charts.&lt;/p&gt; +&lt;h3 id=&#34;create-component-and-release&#34;&gt;Create Component and Release&lt;/h3&gt; +&lt;p&gt;So, the user would like to create an entry for zlib-1.2.8 for example in sw360. The main thing to know (see page basic concepts)is that sw360 separates releases from components: the release is the zlib-1.2.8 but the component is the zlib. By this approach, components as a kind of container type in sw360, holding several releases.&lt;/p&gt; +&lt;p&gt;Therefore, for a new component the user needs to create a component entry first, and then add a release to it. Just adding a release will not work. If a component with a different release already exists, the users add a release to the existing component.&lt;/p&gt; +&lt;p&gt;The intended roles for this can be a developer that would like to start caring for an OSS component or release. In addition a project owner / project owner can care for the components and releases part of the product or process.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images-workflow/worklfow-adding-component-and-release-to-a-project.png&#34; alt=&#34;worklfow-adding-component-and-release-to-a-project&#34;&gt;&lt;/p&gt; +&lt;h3 id=&#34;create-a-project&#34;&gt;Create a Project&lt;/h3&gt; +&lt;p&gt;A project is a structure to keep track on releases inside project, as well as other projects. Please note that a project can be also a product, depending on the type of business. the use of the term &amp;lsquo;project&amp;rsquo; is used also for subsuming the term &amp;lsquo;product&amp;rsquo;.&lt;/p&gt; +&lt;p&gt;As for the integration case with the OSS software FOSSology, the project view allows for an overview, which of the used components have been analyzed with FOSSology already.&lt;/p&gt; +&lt;p&gt;In the diagram, the &amp;ldquo;clearing process&amp;rdquo; is mentioned, because the clearing process affects the software components of a project. The main approach is the following:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;A project responsible sets up a project with used releases.&lt;/li&gt; +&lt;li&gt;For the releases that were not analyzed before, the project responsible requests a clearing - source files can be transferred to FOSSology.&lt;/li&gt; +&lt;li&gt;Once analyses for all releases are complete, the &amp;ldquo;clearing process&amp;rdquo; is finished for this project.&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;A project it self does not need much information, it is just about the name and the version. Note that some of the information is like to be set at that time:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;Visibility level&lt;/li&gt; +&lt;li&gt;Project contacts&lt;/li&gt; +&lt;li&gt;Important Dates for the project&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images-workflow/workflow-add-project.png&#34; alt=&#34;workflow-add-project&#34;&gt;&lt;/p&gt; +&lt;h3 id=&#34;moderation&#34;&gt;Moderation&lt;/h3&gt; +&lt;p&gt;The moderation is the basic way of applying changes if the document is not created by someone else. In sw360 the following person can edit documents right away (without moderation request):&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;The creator of a document (document is a project entry, a release entry etc)&lt;/li&gt; +&lt;li&gt;Admins&lt;/li&gt; +&lt;li&gt;Clearing admins&lt;/li&gt; +&lt;li&gt;Moderators of this document&lt;/li&gt; +&lt;li&gt;Other special roles, such as project responsible&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Please see the page &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Dev-Role-Authorisation-Model&#34;&gt;about the Role Authorization Model&lt;/a&gt; for more information.&lt;/p&gt; +&lt;p&gt;If the user who wishes to change a document and is not one of these, the moderator workflow kicks in. Then changes applied to the document are not really applied, but are sent to a moderator. Moderators are:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;The creator of a document (document is a project entry, a release entry etc)&lt;/li&gt; +&lt;li&gt;Admins&lt;/li&gt; +&lt;li&gt;Clearing admins&lt;/li&gt; +&lt;li&gt;Moderators of this document&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;The moderator can review, approve or decline the request. Then, the requesting user can delete the request. The moderator request workflow is shown below.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images-workflow/workflow-moderation.png&#34; alt=&#34;workflow-moderation&#34;&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Attachment File Types</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/</guid> + <description> + + + &lt;p&gt;SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that users select the appropriate type accordingly. If not, some functionality will not properly kick of that uses such attachments.&lt;/p&gt; +&lt;p&gt;Also, maybe some of the types are redundant by now and are just legacy ideas that should be reviewed after two years now.&lt;/p&gt; +&lt;p&gt;In summary, the following the types currently are as follows:&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Type name&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Functionality&lt;/th&gt; +&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SOURCE&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;for sending to tools&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Source packages of a release as found on the Internet&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;COMPONENT_LICENSE_INFO_XML&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;for project documentation generation&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;An XML-based description of the licenses and coprights involved&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DESIGN&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just nomenclature to name this not document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;REQUIREMENT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just a general placeholder for an attachment&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DOCUMENT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just a general placeholder for an attachment&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;CLEARING_REPORT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Setting clearing status&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Reporting information for component license state&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;COMPONENT_LICENSE_INFO_COMBINED&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;(should be) for project documentation generation&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Multiple components with component license information&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SCAN_RESULT_REPORT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just description what scanners found without conclusions&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SCAN_RESULT_REPORT_XML&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Just description what scanners found without conclusions in XML&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SOURCE_SELF&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;(should be) for sending to tools&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Source packages build self, because not available in the Internet&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;BINARY&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;future: for sending to tool doing binary analysis&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Binary from the publisher&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;BINARY_SELF&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;future: for sending to tool doing binary analysis&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Self built binary&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;DECISION_REPORT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Decision information ref. the component&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;LEGAL_EVALUATION&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Internally created legal evaluation&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;LICENSE_AGREEMENT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;Document describing the license agreement&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;SCREENSHOT&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If licensing information is captured with screenshot&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td style=&#34;text-align:left&#34;&gt;OTHER&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;n.a.&lt;/td&gt; +&lt;td style=&#34;text-align:left&#34;&gt;If not document&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; + + </description> + </item> + + <item> + <title>Docs: CVE-Search Scheduling</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/</guid> + <description> + + + &lt;p&gt;SW360 gets vulnerability information from an external provider of Common Vulnerability Enumeration (CVE) data. By default SW360 can connect to cve-search [https://www.circl.lu/services/cve-search/] which is either available as an online service [http://cve.circl.lu] or can be installed locally. For security and privacy reasons it is strongly advised to install a local cve-search service.&lt;/p&gt; +&lt;p&gt;In what follows the synchronization between SW360 and the external CVE provider is described.&lt;/p&gt; +&lt;p&gt;&lt;code&gt;CveSearch-updates&lt;/code&gt; can either be scheduled automatically when launching the &lt;code&gt;schedule-service&lt;/code&gt; (e.g. when re/starting SW360) or it can be scheduled or unscheduled manually by an &lt;code&gt;SW360 admin&lt;/code&gt;. +It is automatically scheduled with the start of the scheduling service, if in the &lt;code&gt;/resources/sw360.properties&lt;/code&gt; file of the &lt;code&gt;schedule-service&lt;/code&gt; in the backend, &lt;code&gt;cvesearchService&lt;/code&gt; is mentioned in the &lt;code&gt;autostart&lt;/code&gt;-property:&lt;/p&gt; +&lt;p&gt;&lt;code&gt;autostart = cvesearchService&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;According to the default settings, cveSearch is &lt;em&gt;not&lt;/em&gt; auto-started with the scheduling service.&lt;/p&gt; +&lt;p&gt;For manually scheduling the CVE search service, open the &lt;code&gt;Schedule Portlet&lt;/code&gt; of the &lt;code&gt;Admin&lt;/code&gt; menu. Note that the &lt;code&gt;Admin&lt;/code&gt; menu is only visible to &lt;code&gt;SW360 admins&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCAdminScheduling/01_adminMenu.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In the &lt;code&gt;Schedule Portlet&lt;/code&gt; of the &lt;code&gt;Admin&lt;/code&gt; menu, a user with &lt;code&gt;admin&lt;/code&gt; rights can turn on or off automatic updates of the cve-search service manually. +In the UI of the portlet, the admin can see whether or not the CVE-service is scheduled: if the service is scheduled, the &lt;code&gt;Schedule CveSearch Updates&lt;/code&gt;-button is inactive, whereas the &lt;code&gt;Cancel Scheduled CveSearch Updates&lt;/code&gt;-button is active and vice versa:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCAdminScheduling/scheduleAdminPortlet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;The &lt;code&gt;offset&lt;/code&gt; (first run of the update) and the &lt;code&gt;interval&lt;/code&gt; between updates can also be adjusted in the &lt;code&gt;/resources/sw360.properties&lt;/code&gt; file of the &lt;code&gt;src-schedule&lt;/code&gt; service. +The corresponding properties are &lt;code&gt;schedule.cvesearch.firstOffset.seconds&lt;/code&gt; and &lt;code&gt;schedule.cvesearch.interval.seconds&lt;/code&gt;. +The &lt;code&gt;offset&lt;/code&gt; has to be given in seconds since midnight and also the &lt;code&gt;interval&lt;/code&gt; has to be entered in seconds. +The default is to update the vulnerabilities by CVEsearch every night at midnight, which corresponds to an offset of 0 and an interval of 24 hours (= 86400 seconds).&lt;/p&gt; +&lt;p&gt;&lt;code&gt;schedule.cvesearch.firstOffset.seconds = 0&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;&lt;code&gt;schedule.cvesearch.interval.seconds = 86400&lt;/code&gt;&lt;/p&gt; +&lt;p&gt;With automatic scheduling the next synchronization moment according to the &lt;code&gt;offset&lt;/code&gt; and the &lt;code&gt;interval&lt;/code&gt; is computed. This will be the first moment when a &lt;code&gt;cveSearch-update&lt;/code&gt; is run. +There is nothing like an &lt;code&gt;initial run&lt;/code&gt; when autostarting of manually scheduling the &lt;code&gt;CveSearch-updates&lt;/code&gt;. +Moreover, the configuration, i.e. &lt;code&gt;offset&lt;/code&gt;, &lt;code&gt;interval&lt;/code&gt; and &lt;code&gt;next synchronization&lt;/code&gt; (where the latter is a consequence of &lt;code&gt;offset&lt;/code&gt; and &lt;code&gt; interval&lt;/code&gt;) are shown in the portlet:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCAdminScheduling/scheduleAdminPortletProperties.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h2 id=&#34;setup-of-a-local-instance&#34;&gt;Setup of a local instance&lt;/h2&gt; +&lt;p&gt;It is recommended to set up and use a local instance instead of the public cve-search instance. +The accompanying project sw360-chores contains a Dockerfile that can easily setup this service.&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Enumerations</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/</guid> + <description> + + + &lt;p&gt;SW360 thrift API is comprised of the following methods:&lt;/p&gt; +&lt;ul&gt; +&lt;li&gt;attachments&lt;/li&gt; +&lt;li&gt;codescoop&lt;/li&gt; +&lt;li&gt;components&lt;/li&gt; +&lt;li&gt;cvesearch&lt;/li&gt; +&lt;li&gt;fossology&lt;/li&gt; +&lt;li&gt;importstatus&lt;/li&gt; +&lt;li&gt;licenseinfo&lt;/li&gt; +&lt;li&gt;licenses&lt;/li&gt; +&lt;li&gt;moderation&lt;/li&gt; +&lt;li&gt;projectimport&lt;/li&gt; +&lt;li&gt;projects&lt;/li&gt; +&lt;li&gt;schedule&lt;/li&gt; +&lt;li&gt;search&lt;/li&gt; +&lt;li&gt;sw360&lt;/li&gt; +&lt;li&gt;users&lt;/li&gt; +&lt;li&gt;vendors&lt;/li&gt; +&lt;li&gt;vulnerabilities&lt;/li&gt; +&lt;/ul&gt; +&lt;p&gt;Reference: &lt;a href=&#34;https://github.com/eclipse/sw360/tree/master/libraries/lib-datahandler/src/main/thrift&#34;&gt;https://github.com/eclipse/sw360/tree/master/libraries/lib-datahandler/src/main/thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;attachments&#34;&gt;Attachments&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/attachments.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/attachments.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h3 id=&#34;attachmenttype&#34;&gt;AttachmentType&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description.&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;DOCUMENT&lt;/td&gt; +&lt;td&gt;justa document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SOURCE&lt;/td&gt; +&lt;td&gt;original course code&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DESIGN&lt;/td&gt; +&lt;td&gt;design document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REQUIREMENT&lt;/td&gt; +&lt;td&gt;requirements document&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CLEARING_REPORT&lt;/td&gt; +&lt;td&gt;OSS licensing reporting&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;COMPONENT_LICENSE_INFO_XML&lt;/td&gt; +&lt;td&gt;XML document with licenseing information - e.g. SPDX&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;COMPONENT_LICENSE_INFO_COMBINED&lt;/td&gt; +&lt;td&gt;XML document with licensing information covering multiple componnts at once - e.g. SPDX&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SCAN_RESULT_REPORT&lt;/td&gt; +&lt;td&gt;Output what a scanner for licenses has found&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SCAN_RESULT_REPORT_XML&lt;/td&gt; +&lt;td&gt;Output what a scanner for licenses has found this time in XML&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SOURCE_SELF&lt;/td&gt; +&lt;td&gt;Self assembled source code distribution&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;BINARY&lt;/td&gt; +&lt;td&gt;Binary of component from vendor&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;BINARY_SELF&lt;/td&gt; +&lt;td&gt;Self built binary&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DECISION_REPORT&lt;/td&gt; +&lt;td&gt;documenting importing decisions for using this item&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;LEGAL_EVALUATION&lt;/td&gt; +&lt;td&gt;Some legal evaluation created for this item&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;LICENSE_AGREEMENT&lt;/td&gt; +&lt;td&gt;A ruling license agreement for this item, note that this could be for commercial software for example&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SCREENSHOT&lt;/td&gt; +&lt;td&gt;Screenshot, usually screenshot of the Website with licensing information&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OTHER&lt;/td&gt; +&lt;td&gt;anything that dos not match to the given above&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;checkstatus&#34;&gt;CheckStatus&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description.&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;NOTCHECKED&lt;/td&gt; +&lt;td&gt;Default value after upload.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;ACCEPTED&lt;/td&gt; +&lt;td&gt;Reviewed and confirmed attachment.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REJECTED&lt;/td&gt; +&lt;td&gt;Document or attachment cannot be used.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;codescoop-thrift-file&#34;&gt;CodeScoop Thrift File&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/codescoop.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/codescoop.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;components&#34;&gt;Components&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/components.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/components.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;cvesearch&#34;&gt;cvesearch&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/cvesearch.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/cvesearch.thrift&lt;/a&gt;&lt;/p&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;NEW&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;UPDATED&lt;/td&gt; +&lt;td&gt;New information for a notification message, so it is updated&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OLD&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;FAILED&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;fossology&#34;&gt;Fossology&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/fossology.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/fossology.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;importstatus&#34;&gt;Importstatus&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/importstatus.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/importstatus.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;license-info&#34;&gt;License Info&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenseinfo.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenseinfo.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h3 id=&#34;licenseinforequeststatus&#34;&gt;LicenseInfoRequestStatus&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;SUCCESS&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;NO_APPLICABLE_SOURCE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;FAILURE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;outputformatvariant&#34;&gt;OutputFormatVariant&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;REPORT&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DISCLOSURE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;licenses&#34;&gt;Licenses&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenses.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenses.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;moderation&#34;&gt;Moderation&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/moderation.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/moderation.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h3 id=&#34;documenttype&#34;&gt;DocumentType&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;COMPONENT&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;RELEASE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PROJECT&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;LICENSE&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;USER&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;project-import&#34;&gt;Project Import&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projectimport.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projectimport.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;projects&#34;&gt;Projects&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projects.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projects.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h3 id=&#34;project-state&#34;&gt;Project State&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;ACTIVE&lt;/td&gt; +&lt;td&gt;&lt;em&gt;well&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PHASE_OUT&lt;/td&gt; +&lt;td&gt;&lt;em&gt;well&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;UNKNOWN&lt;/td&gt; +&lt;td&gt;&lt;em&gt;well&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;project-type&#34;&gt;Project Type&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;CUSTOMER&lt;/td&gt; +&lt;td&gt;Project that delivers artifacts to customer outside organisation&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INTERNAL&lt;/td&gt; +&lt;td&gt;Project that provides artifacts or service for internal use&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PRODUCT&lt;/td&gt; +&lt;td&gt;Just that it is a product instead of a project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SERVICE&lt;/td&gt; +&lt;td&gt;Project that provides services to customer outside organisation&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INNER_SOURCE&lt;/td&gt; +&lt;td&gt;Inner source project, meaning that everyone inside org can use it&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;project-relationship&#34;&gt;Project Relationship&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;UNKNOWN&lt;/td&gt; +&lt;td&gt;&lt;em&gt;unknown&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REFERRED&lt;/td&gt; +&lt;td&gt;Sister project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CONTAINED&lt;/td&gt; +&lt;td&gt;Sub project&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DUPLICATE&lt;/td&gt; +&lt;td&gt;&lt;em&gt;duplicate&lt;/em&gt;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;project-clearing-state&#34;&gt;Project Clearing State&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;OPEN&lt;/td&gt; +&lt;td&gt;not started&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;IN_PROGRESS&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CLOSED&lt;/td&gt; +&lt;td&gt;&amp;hellip;&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;schedule&#34;&gt;Schedule&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/schedule.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/schedule.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;search&#34;&gt;Search&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/search.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/search.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;general-sw360-thrift&#34;&gt;General SW360 Thrift&lt;/h2&gt; +&lt;h3 id=&#34;software-mainline-states&#34;&gt;Software Mainline States&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;OPEN&lt;/td&gt; +&lt;td&gt;Not decided so far&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;MAINLINE&lt;/td&gt; +&lt;td&gt;Organisation or person thinks that use of this software is recommended, which included multiple versions.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SPECIFIC&lt;/td&gt; +&lt;td&gt;The software is not recommended in general, but for special use case or for this particular version it is acceptable.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PHASE_OUT&lt;/td&gt; +&lt;td&gt;The software has issues, please consider removing it soon, if in use.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DENIED&lt;/td&gt; +&lt;td&gt;Software which is not allowed for use. For example, software that does not have licensing.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;general-sw360-thrift-1&#34;&gt;General SW360 Thrift&lt;/h2&gt; +&lt;h3 id=&#34;software-mainline-states-1&#34;&gt;Software Mainline States&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description.&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;OPEN&lt;/td&gt; +&lt;td&gt;Not decided so far&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;MAINLINE&lt;/td&gt; +&lt;td&gt;Organisation or person thinks that use of this software is recommended, which included multiple versions.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SPECIFIC&lt;/td&gt; +&lt;td&gt;The software is not recommended in general, but for special use case or for this particular version it is acceptable.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;PHASE_OUT&lt;/td&gt; +&lt;td&gt;The software has issues, please consider removing it soon, if in use.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DENIED&lt;/td&gt; +&lt;td&gt;Software which is not allowed for use. For example, software that does not have licensing.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;moderation-states&#34;&gt;Moderation States&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;PENDING&lt;/td&gt; +&lt;td&gt;Not opened so far.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;APPROVED&lt;/td&gt; +&lt;td&gt;A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has approved the moderation request. It could be deleted then.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REJECTED&lt;/td&gt; +&lt;td&gt;A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has rejected the moderation request.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INPROGRESS&lt;/td&gt; +&lt;td&gt;A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has opened / viewed the moderation request, but did not decide.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;visibility&#34;&gt;Visibility&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;PRIVATE&lt;/td&gt; +&lt;td&gt;Only visible by creator (and admin which applies to all visibility levels).&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;ME_AND_MODERATORS&lt;/td&gt; +&lt;td&gt;Visible by creator and moderators.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;BUISNESSUNIT_AND_MODERATORS&lt;/td&gt; +&lt;td&gt;All users of the same group and the moderators.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;EVERYONE&lt;/td&gt; +&lt;td&gt;Every user who is logged into the system.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;verification-state&#34;&gt;Verification State&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;NOT_CHECKED&lt;/td&gt; +&lt;td&gt;No one has yet looked at this and verified it.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;CHECKED&lt;/td&gt; +&lt;td&gt;It is verified.&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INCORRECT&lt;/td&gt; +&lt;td&gt;It was decided that the verification should be rejected.&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h3 id=&#34;release-relationship&#34;&gt;Release Relationship&lt;/h3&gt; +&lt;table&gt; +&lt;thead&gt; +&lt;tr&gt; +&lt;th&gt;Value&lt;/th&gt; +&lt;th&gt;Description&lt;/th&gt; +&lt;th&gt;Clearing releav nt&lt;/th&gt; +&lt;/tr&gt; +&lt;/thead&gt; +&lt;tbody&gt; +&lt;tr&gt; +&lt;td&gt;CONTAINED&lt;/td&gt; +&lt;td&gt;If you just do not know whether it is dynamically linked.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;REFERRED&lt;/td&gt; +&lt;td&gt;Referencing a stand alone used other part.&lt;/td&gt; +&lt;td&gt;No&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;UNKNOWN&lt;/td&gt; +&lt;td&gt;If you just do not know.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;DYNAMICALLY_LINKED&lt;/td&gt; +&lt;td&gt;Software dynamically linked - as the name says.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;STATICALLY_LINKED&lt;/td&gt; +&lt;td&gt;Software statically linked - as the name says.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;SIDE_BY_SIDE&lt;/td&gt; +&lt;td&gt;Not decided so far.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;STANDALONE&lt;/td&gt; +&lt;td&gt;Software is given as standalone delivery, ie. not technically connected.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;INTERNAL_USE&lt;/td&gt; +&lt;td&gt;Used for creating or building or ? the product or projects but not delivered.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;OPTIONAL&lt;/td&gt; +&lt;td&gt;Is not mandatory part of the installation.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;tr&gt; +&lt;td&gt;TO_BE_REPLACED&lt;/td&gt; +&lt;td&gt;Is there but should be moved out.&lt;/td&gt; +&lt;td&gt;Yes&lt;/td&gt; +&lt;/tr&gt; +&lt;/tbody&gt; +&lt;/table&gt; +&lt;h2 id=&#34;users&#34;&gt;Users&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/users.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/users.thrift&lt;/a&gt;&lt;/p&gt; +&lt;h2 id=&#34;vendors&#34;&gt;Vendors&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vendors.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vendors.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; +&lt;h2 id=&#34;vulnerabilities&#34;&gt;Vulnerabilities&lt;/h2&gt; +&lt;p&gt;&lt;a href=&#34;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vulnerabilities.thrift&#34;&gt;https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vulnerabilities.thrift&lt;/a&gt;&lt;/p&gt; +&lt;p&gt;&lt;em&gt;No enumerations provided&lt;/em&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Importing</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/</guid> + <description> + + + &lt;h1 id=&#34;how-to-import-projects-from-bdp-into-sw360&#34;&gt;How to Import Projects from BDP into SW360&lt;/h1&gt; +&lt;p&gt;This page explains how to import a project from BDP into SW360 via the SW360 UI.&lt;/p&gt; +&lt;h2 id=&#34;the-project-import-portlet&#34;&gt;The Project Import Portlet&lt;/h2&gt; +&lt;p&gt;In SW360, open the &lt;code&gt;Import Portlet&lt;/code&gt; as follows:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/01_OpenImportPortlet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Make sure that you do not leave the &lt;code&gt;Import Portlet&lt;/code&gt; page during the connection, selection an import process.&lt;/p&gt; +&lt;p&gt;On the left hand side, you see a mask to enter connection data for the BDP server:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/02_ImportPortlet.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Make sure, that the &lt;code&gt;Selected data source&lt;/code&gt; is &lt;code&gt;BDP&lt;/code&gt;. As &lt;code&gt;Server URL&lt;/code&gt;, enter the domain of the BDP server. +Enter your user credentials for the BDP Server in &lt;code&gt;Server user&lt;/code&gt; and &lt;code&gt;Password&lt;/code&gt;, respectively. +Now, click &lt;code&gt;Connect&lt;/code&gt; and the connection with the BDP Server is established. On the right hand side, you can view the projects +that are available to you on the BDP server.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/03_ConnectionEstablished.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Select the projects that you want to import by clicking on the respective rows and click &lt;code&gt;Import&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/04_SelectProjects.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Click &lt;code&gt;Import&lt;/code&gt; if you are content with the choice. Now, SW360 tries to import your selected projects. If everything went fine, you see:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/05_ImportSuccess.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;The import might fail for some projects. The reason usually is that these projects have been imported earlier and already exist in SW360. +In this case, SW360 does not re-import or overwrite the project. But all new projects are still imported.&lt;/p&gt; +&lt;h2 id=&#34;inspecting-the-results&#34;&gt;Inspecting the Results&lt;/h2&gt; +&lt;p&gt;The imported &lt;code&gt;project&lt;/code&gt;, &lt;code&gt;components&lt;/code&gt; and &lt;code&gt;licenses&lt;/code&gt; can be viewed in the &lt;code&gt;Projects Portlet&lt;/code&gt;, &lt;code&gt;Components Portlet&lt;/code&gt; or &lt;code&gt;License Portlet&lt;/code&gt; respectively. +Note that a &lt;code&gt;component&lt;/code&gt; in BDP becomes a &lt;code&gt;release&lt;/code&gt; in SW360. To view such a release for example, first open the &lt;code&gt;Components Portlet&lt;/code&gt; and click on the name of the component:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/06_SelectComponent.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Select &lt;code&gt;Release Overview&lt;/code&gt; on the left hand side:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/07_SelectReleaseOverview.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Click on the &lt;code&gt;release version&lt;/code&gt; to select a specific release:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/08_SelectRelease.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;Now, you can view the release details:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/UCBDPImport/09_ReleaseDetails.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; + + </description> + </item> + + <item> + <title>Docs: Search</title> + <link>https://www.eclipse.org/sw360/docs/userguide/user-search/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/user-search/</guid> + <description> + + + &lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/general-search.png&#34; alt=&#34;general-search&#34;&gt;&lt;/p&gt; +&lt;p&gt;The user can use the general Search. He can find that under Search at the navigation bar. There he can choose, for what elements (Projects, Components, Releases, Licences, Users, Vendors) he wants to search. Therefore he toogle the elements which should be included in the search.&lt;/p&gt; +&lt;h3 id=&#34;wildcards&#34;&gt;Wildcards&lt;/h3&gt; +&lt;p&gt;The user can search with wildcards. A wildcard is a character which substitue for zero or more characters in a string. For a single character users can use &amp;lsquo;?&amp;rsquo; and for multiple character wildcard he can use &amp;lsquo;*&amp;rsquo;. The Wildcard can stand in the middle of characters or at the end, but not at the beginning.&lt;/p&gt; +&lt;h2 id=&#34;search-in-projects-components-and-licenses&#34;&gt;Search in Projects, Components and Licenses&lt;/h2&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/navigationbar-search.png&#34; alt=&#34;specific-search&#34;&gt;&lt;/p&gt; +&lt;p&gt;The user can use besides of the general search the specific search at the specific view of projects, components and licenses. There he has a Quickfilter and the Advanced Search where he has the option to search more refined.&lt;/p&gt; +&lt;h2 id=&#34;heading&#34;&gt;&lt;/h2&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/sw360_specific_search.png&#34;/&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/specific-search.png&#34;/&gt;&lt;/p&gt; +&lt;h3 id=&#34;quickfilter&#34;&gt;Quickfilter&lt;/h3&gt; +&lt;p&gt;The Quickfilter let the user see the search result immediately when he starts typing. Therefore the Data has to be loaded. At the specific search for components, the user can choose under &amp;rsquo;loading&amp;rsquo; how much components sw360 should load. He can choose between the &amp;lsquo;200 newest&amp;rsquo; up to &amp;lsquo;all&amp;rsquo;. If the user did not use the quickfilter, it makes sense to set the loading option on 200 newest, so he does not unnecessarily slow down the site. &lt;br&gt; +At the specific search for projects, the user has the option to choose the group for the projects which should get loaded for the quick filter. If the user is just interested in the projects of his group, he should set the group to his group. So he does not load unnecessary projects every time he goes on the project site. Note that you cannot use wildcards for the quick search.&lt;/p&gt; +&lt;h3 id=&#34;advanced-search&#34;&gt;Advanced Search&lt;/h3&gt; +&lt;p&gt;The user has for components and projects the option to use the advanced search if he wants a more refined search. At the advanced search, the user can search for the different attributes projects or components have. For example, the user wants to search for all components which are for Linux; therefore he writes Linux in the field &amp;lsquo;Operating System&amp;rsquo; and click search. For the advanced search, the search result does not depend on the setting the user has chosen at the loading selection.&lt;/p&gt; +&lt;h3 id=&#34;export-spreadsheet&#34;&gt;Export Spreadsheet&lt;/h3&gt; +&lt;p&gt;With the Export Spreadsheet button at the bottom of the site, users can export the search result as a xlsx file (Excel). He can choose between a file with &amp;lsquo;only components&amp;rsquo; or &amp;lsquo;components with releases&amp;rsquo;. If he chooses &amp;lsquo;only components&amp;rsquo; he gets a file with just the Components and its attributes. If the user chooses the option &amp;lsquo;with release&amp;rsquo;, he will get all the release of the components with their attributes, for example the clearing state of releases, in the xlsx file.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;https://github.com/eclipse/sw360/wiki/images/Export-Spreadsheet.png&#34; alt=&#34;Export-Spreadsheet&#34;&gt;&lt;/p&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/userguide/user-attachment-file-types/index.html b/docs/userguide/user-attachment-file-types/index.html new file mode 100644 index 0000000..d8e3e2c --- /dev/null +++ b/docs/userguide/user-attachment-file-types/index.html @@ -0,0 +1,724 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Attachment File Types | Eclipse SW360</title> +<meta name="description" content="SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that …"> +<meta property="og:title" content="Attachment File Types" /> +<meta property="og:description" content="SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that users select the appropriate type accordingly. If not, some functionality will not properly kick of that uses such attachments. +Also, maybe some of the types are redundant by now and are just legacy ideas that should be reviewed after two years now. +In summary, the following the types currently are as follows:" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Attachment File Types"> +<meta itemprop="description" content="SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that users select the appropriate type accordingly. If not, some functionality will not properly kick of that uses such attachments. +Also, maybe some of the types are redundant by now and are just legacy ideas that should be reviewed after two years now. +In summary, the following the types currently are as follows:"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="251"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Attachment File Types"/> +<meta name="twitter:description" content="SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that users select the appropriate type accordingly. If not, some functionality will not properly kick of that uses such attachments. +Also, maybe some of the types are redundant by now and are just legacy ideas that should be reviewed after two years now. +In summary, the following the types currently are as follows:"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check" checked/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="td-sidebar-nav-active-item">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/User-Attachment-File-Types.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/User-Attachment-File-Types.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/User-Attachment-File-Types.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Attachment%20File%20Types" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/">Attachment File Types</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Attachment File Types</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>SW360 maintains attachments for projects, components and releases. Currently, SW360 cannot automatically detect these types and is dependent on that users select the appropriate type accordingly. If not, some functionality will not properly kick of that uses such attachments.</p> +<p>Also, maybe some of the types are redundant by now and are just legacy ideas that should be reviewed after two years now.</p> +<p>In summary, the following the types currently are as follows:</p> +<table> +<thead> +<tr> +<th style="text-align:left">Type name</th> +<th style="text-align:left">Functionality</th> +<th style="text-align:left">Description</th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:left">SOURCE</td> +<td style="text-align:left">for sending to tools</td> +<td style="text-align:left">Source packages of a release as found on the Internet</td> +</tr> +<tr> +<td style="text-align:left">COMPONENT_LICENSE_INFO_XML</td> +<td style="text-align:left">for project documentation generation</td> +<td style="text-align:left">An XML-based description of the licenses and coprights involved</td> +</tr> +<tr> +<td style="text-align:left">DESIGN</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Just nomenclature to name this not document</td> +</tr> +<tr> +<td style="text-align:left">REQUIREMENT</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Just a general placeholder for an attachment</td> +</tr> +<tr> +<td style="text-align:left">DOCUMENT</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Just a general placeholder for an attachment</td> +</tr> +<tr> +<td style="text-align:left">CLEARING_REPORT</td> +<td style="text-align:left">Setting clearing status</td> +<td style="text-align:left">Reporting information for component license state</td> +</tr> +<tr> +<td style="text-align:left">COMPONENT_LICENSE_INFO_COMBINED</td> +<td style="text-align:left">(should be) for project documentation generation</td> +<td style="text-align:left">Multiple components with component license information</td> +</tr> +<tr> +<td style="text-align:left">SCAN_RESULT_REPORT</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Just description what scanners found without conclusions</td> +</tr> +<tr> +<td style="text-align:left">SCAN_RESULT_REPORT_XML</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Just description what scanners found without conclusions in XML</td> +</tr> +<tr> +<td style="text-align:left">SOURCE_SELF</td> +<td style="text-align:left">(should be) for sending to tools</td> +<td style="text-align:left">Source packages build self, because not available in the Internet</td> +</tr> +<tr> +<td style="text-align:left">BINARY</td> +<td style="text-align:left">future: for sending to tool doing binary analysis</td> +<td style="text-align:left">Binary from the publisher</td> +</tr> +<tr> +<td style="text-align:left">BINARY_SELF</td> +<td style="text-align:left">future: for sending to tool doing binary analysis</td> +<td style="text-align:left">Self built binary</td> +</tr> +<tr> +<td style="text-align:left">DECISION_REPORT</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Decision information ref. the component</td> +</tr> +<tr> +<td style="text-align:left">LEGAL_EVALUATION</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Internally created legal evaluation</td> +</tr> +<tr> +<td style="text-align:left">LICENSE_AGREEMENT</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">Document describing the license agreement</td> +</tr> +<tr> +<td style="text-align:left">SCREENSHOT</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">If licensing information is captured with screenshot</td> +</tr> +<tr> +<td style="text-align:left">OTHER</td> +<td style="text-align:left">n.a.</td> +<td style="text-align:left">If not document</td> +</tr> +</tbody> +</table> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/user-bdp-import/index.html b/docs/userguide/user-bdp-import/index.html new file mode 100644 index 0000000..fcf94f3 --- /dev/null +++ b/docs/userguide/user-bdp-import/index.html @@ -0,0 +1,666 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Importing | Eclipse SW360</title> +<meta name="description" content="How to Import Projects from BDP into SW360 +This page explains how to import a project from BDP into SW360 via the SW360 UI. +The Project Import Portlet …"> +<meta property="og:title" content="Importing" /> +<meta property="og:description" content="How to Import Projects from BDP into SW360 This page explains how to import a project from BDP into SW360 via the SW360 UI. +The Project Import Portlet In SW360, open the Import Portlet as follows: +Make sure that you do not leave the Import Portlet page during the connection, selection an import process. +On the left hand side, you see a mask to enter connection data for the BDP server:" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Importing"> +<meta itemprop="description" content="How to Import Projects from BDP into SW360 This page explains how to import a project from BDP into SW360 via the SW360 UI. +The Project Import Portlet In SW360, open the Import Portlet as follows: +Make sure that you do not leave the Import Portlet page during the connection, selection an import process. +On the left hand side, you see a mask to enter connection data for the BDP server:"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="294"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Importing"/> +<meta name="twitter:description" content="How to Import Projects from BDP into SW360 This page explains how to import a project from BDP into SW360 via the SW360 UI. +The Project Import Portlet In SW360, open the Import Portlet as follows: +Make sure that you do not leave the Import Portlet page during the connection, selection an import process. +On the left hand side, you see a mask to enter connection data for the BDP server:"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check" checked/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="td-sidebar-nav-active-item">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/User-BDP-Import.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/User-BDP-Import.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/User-BDP-Import.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Importing" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#the-project-import-portlet">The Project Import Portlet</a></li> + <li><a href="#inspecting-the-results">Inspecting the Results</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/">Importing</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Importing</h1> + + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <h1 id="how-to-import-projects-from-bdp-into-sw360">How to Import Projects from BDP into SW360</h1> +<p>This page explains how to import a project from BDP into SW360 via the SW360 UI.</p> +<h2 id="the-project-import-portlet">The Project Import Portlet</h2> +<p>In SW360, open the <code>Import Portlet</code> as follows:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/01_OpenImportPortlet.png" alt=""></p> +<p>Make sure that you do not leave the <code>Import Portlet</code> page during the connection, selection an import process.</p> +<p>On the left hand side, you see a mask to enter connection data for the BDP server:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/02_ImportPortlet.png" alt=""></p> +<p>Make sure, that the <code>Selected data source</code> is <code>BDP</code>. As <code>Server URL</code>, enter the domain of the BDP server. +Enter your user credentials for the BDP Server in <code>Server user</code> and <code>Password</code>, respectively. +Now, click <code>Connect</code> and the connection with the BDP Server is established. On the right hand side, you can view the projects +that are available to you on the BDP server.</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/03_ConnectionEstablished.png" alt=""></p> +<p>Select the projects that you want to import by clicking on the respective rows and click <code>Import</code>.</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/04_SelectProjects.png" alt=""></p> +<p>Click <code>Import</code> if you are content with the choice. Now, SW360 tries to import your selected projects. If everything went fine, you see:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/05_ImportSuccess.png" alt=""></p> +<p>The import might fail for some projects. The reason usually is that these projects have been imported earlier and already exist in SW360. +In this case, SW360 does not re-import or overwrite the project. But all new projects are still imported.</p> +<h2 id="inspecting-the-results">Inspecting the Results</h2> +<p>The imported <code>project</code>, <code>components</code> and <code>licenses</code> can be viewed in the <code>Projects Portlet</code>, <code>Components Portlet</code> or <code>License Portlet</code> respectively. +Note that a <code>component</code> in BDP becomes a <code>release</code> in SW360. To view such a release for example, first open the <code>Components Portlet</code> and click on the name of the component:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/06_SelectComponent.png" alt=""></p> +<p>Select <code>Release Overview</code> on the left hand side:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/07_SelectReleaseOverview.png" alt=""></p> +<p>Click on the <code>release version</code> to select a specific release:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/08_SelectRelease.png" alt=""></p> +<p>Now, you can view the release details:</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/UCBDPImport/09_ReleaseDetails.png" alt=""></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/user-data-model-enumerations/index.html b/docs/userguide/user-data-model-enumerations/index.html new file mode 100644 index 0000000..27ee011 --- /dev/null +++ b/docs/userguide/user-data-model-enumerations/index.html @@ -0,0 +1,1245 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Enumerations | Eclipse SW360</title> +<meta name="description" content="SW360 enumeration values for the internal thrift API"> +<meta property="og:title" content="Enumerations" /> +<meta property="og:description" content="SW360 enumeration values for the internal thrift API" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Enumerations"> +<meta itemprop="description" content="SW360 enumeration values for the internal thrift API"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="823"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Enumerations"/> +<meta name="twitter:description" content="SW360 enumeration values for the internal thrift API"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check" checked/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="td-sidebar-nav-active-item">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/User-Data-Model-Enumerations.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/User-Data-Model-Enumerations.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/User-Data-Model-Enumerations.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Enumerations" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#attachments">Attachments</a> + <ul> + <li><a href="#attachmenttype">AttachmentType</a></li> + <li><a href="#checkstatus">CheckStatus</a></li> + </ul> + </li> + <li><a href="#codescoop-thrift-file">CodeScoop Thrift File</a></li> + <li><a href="#components">Components</a></li> + <li><a href="#cvesearch">cvesearch</a></li> + <li><a href="#fossology">Fossology</a></li> + <li><a href="#importstatus">Importstatus</a></li> + <li><a href="#license-info">License Info</a> + <ul> + <li><a href="#licenseinforequeststatus">LicenseInfoRequestStatus</a></li> + <li><a href="#outputformatvariant">OutputFormatVariant</a></li> + </ul> + </li> + <li><a href="#licenses">Licenses</a></li> + <li><a href="#moderation">Moderation</a> + <ul> + <li><a href="#documenttype">DocumentType</a></li> + </ul> + </li> + <li><a href="#project-import">Project Import</a></li> + <li><a href="#projects">Projects</a> + <ul> + <li><a href="#project-state">Project State</a></li> + <li><a href="#project-type">Project Type</a></li> + <li><a href="#project-relationship">Project Relationship</a></li> + <li><a href="#project-clearing-state">Project Clearing State</a></li> + </ul> + </li> + <li><a href="#schedule">Schedule</a></li> + <li><a href="#search">Search</a></li> + <li><a href="#general-sw360-thrift">General SW360 Thrift</a> + <ul> + <li><a href="#software-mainline-states">Software Mainline States</a></li> + </ul> + </li> + <li><a href="#general-sw360-thrift-1">General SW360 Thrift</a> + <ul> + <li><a href="#software-mainline-states-1">Software Mainline States</a></li> + <li><a href="#moderation-states">Moderation States</a></li> + <li><a href="#visibility">Visibility</a></li> + <li><a href="#verification-state">Verification State</a></li> + <li><a href="#release-relationship">Release Relationship</a></li> + </ul> + </li> + <li><a href="#users">Users</a></li> + <li><a href="#vendors">Vendors</a></li> + <li><a href="#vulnerabilities">Vulnerabilities</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/">Enumerations</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Enumerations</h1> + <div class="lead">SW360 enumeration values for the internal thrift API</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>SW360 thrift API is comprised of the following methods:</p> +<ul> +<li>attachments</li> +<li>codescoop</li> +<li>components</li> +<li>cvesearch</li> +<li>fossology</li> +<li>importstatus</li> +<li>licenseinfo</li> +<li>licenses</li> +<li>moderation</li> +<li>projectimport</li> +<li>projects</li> +<li>schedule</li> +<li>search</li> +<li>sw360</li> +<li>users</li> +<li>vendors</li> +<li>vulnerabilities</li> +</ul> +<p>Reference: <a href="https://github.com/eclipse/sw360/tree/master/libraries/lib-datahandler/src/main/thrift">https://github.com/eclipse/sw360/tree/master/libraries/lib-datahandler/src/main/thrift</a></p> +<h2 id="attachments">Attachments</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/attachments.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/attachments.thrift</a></p> +<h3 id="attachmenttype">AttachmentType</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description.</th> +</tr> +</thead> +<tbody> +<tr> +<td>DOCUMENT</td> +<td>justa document</td> +</tr> +<tr> +<td>SOURCE</td> +<td>original course code</td> +</tr> +<tr> +<td>DESIGN</td> +<td>design document</td> +</tr> +<tr> +<td>REQUIREMENT</td> +<td>requirements document</td> +</tr> +<tr> +<td>CLEARING_REPORT</td> +<td>OSS licensing reporting</td> +</tr> +<tr> +<td>COMPONENT_LICENSE_INFO_XML</td> +<td>XML document with licenseing information - e.g. SPDX</td> +</tr> +<tr> +<td>COMPONENT_LICENSE_INFO_COMBINED</td> +<td>XML document with licensing information covering multiple componnts at once - e.g. SPDX</td> +</tr> +<tr> +<td>SCAN_RESULT_REPORT</td> +<td>Output what a scanner for licenses has found</td> +</tr> +<tr> +<td>SCAN_RESULT_REPORT_XML</td> +<td>Output what a scanner for licenses has found this time in XML</td> +</tr> +<tr> +<td>SOURCE_SELF</td> +<td>Self assembled source code distribution</td> +</tr> +<tr> +<td>BINARY</td> +<td>Binary of component from vendor</td> +</tr> +<tr> +<td>BINARY_SELF</td> +<td>Self built binary</td> +</tr> +<tr> +<td>DECISION_REPORT</td> +<td>documenting importing decisions for using this item</td> +</tr> +<tr> +<td>LEGAL_EVALUATION</td> +<td>Some legal evaluation created for this item</td> +</tr> +<tr> +<td>LICENSE_AGREEMENT</td> +<td>A ruling license agreement for this item, note that this could be for commercial software for example</td> +</tr> +<tr> +<td>SCREENSHOT</td> +<td>Screenshot, usually screenshot of the Website with licensing information</td> +</tr> +<tr> +<td>OTHER</td> +<td>anything that dos not match to the given above</td> +</tr> +</tbody> +</table> +<h3 id="checkstatus">CheckStatus</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description.</th> +</tr> +</thead> +<tbody> +<tr> +<td>NOTCHECKED</td> +<td>Default value after upload.</td> +</tr> +<tr> +<td>ACCEPTED</td> +<td>Reviewed and confirmed attachment.</td> +</tr> +<tr> +<td>REJECTED</td> +<td>Document or attachment cannot be used.</td> +</tr> +</tbody> +</table> +<h2 id="codescoop-thrift-file">CodeScoop Thrift File</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/codescoop.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/codescoop.thrift</a></p> +<h2 id="components">Components</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/components.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/components.thrift</a></p> +<h2 id="cvesearch">cvesearch</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/cvesearch.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/cvesearch.thrift</a></p> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>NEW</td> +<td>&hellip;</td> +</tr> +<tr> +<td>UPDATED</td> +<td>New information for a notification message, so it is updated</td> +</tr> +<tr> +<td>OLD</td> +<td>&hellip;</td> +</tr> +<tr> +<td>FAILED</td> +<td>&hellip;</td> +</tr> +</tbody> +</table> +<h2 id="fossology">Fossology</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/fossology.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/fossology.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="importstatus">Importstatus</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/importstatus.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/importstatus.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="license-info">License Info</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenseinfo.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenseinfo.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h3 id="licenseinforequeststatus">LicenseInfoRequestStatus</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>SUCCESS</td> +<td>&hellip;</td> +</tr> +<tr> +<td>NO_APPLICABLE_SOURCE</td> +<td>&hellip;</td> +</tr> +<tr> +<td>FAILURE</td> +<td>&hellip;</td> +</tr> +</tbody> +</table> +<h3 id="outputformatvariant">OutputFormatVariant</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>REPORT</td> +<td>&hellip;</td> +</tr> +<tr> +<td>DISCLOSURE</td> +<td>&hellip;</td> +</tr> +</tbody> +</table> +<h2 id="licenses">Licenses</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenses.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/licenses.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="moderation">Moderation</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/moderation.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/moderation.thrift</a></p> +<h3 id="documenttype">DocumentType</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>COMPONENT</td> +<td>&hellip;</td> +</tr> +<tr> +<td>RELEASE</td> +<td>&hellip;</td> +</tr> +<tr> +<td>PROJECT</td> +<td>&hellip;</td> +</tr> +<tr> +<td>LICENSE</td> +<td>&hellip;</td> +</tr> +<tr> +<td>USER</td> +<td>&hellip;</td> +</tr> +</tbody> +</table> +<h2 id="project-import">Project Import</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projectimport.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projectimport.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="projects">Projects</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projects.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/projects.thrift</a></p> +<h3 id="project-state">Project State</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>ACTIVE</td> +<td><em>well</em></td> +</tr> +<tr> +<td>PHASE_OUT</td> +<td><em>well</em></td> +</tr> +<tr> +<td>UNKNOWN</td> +<td><em>well</em></td> +</tr> +</tbody> +</table> +<h3 id="project-type">Project Type</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>CUSTOMER</td> +<td>Project that delivers artifacts to customer outside organisation</td> +</tr> +<tr> +<td>INTERNAL</td> +<td>Project that provides artifacts or service for internal use</td> +</tr> +<tr> +<td>PRODUCT</td> +<td>Just that it is a product instead of a project</td> +</tr> +<tr> +<td>SERVICE</td> +<td>Project that provides services to customer outside organisation</td> +</tr> +<tr> +<td>INNER_SOURCE</td> +<td>Inner source project, meaning that everyone inside org can use it</td> +</tr> +</tbody> +</table> +<h3 id="project-relationship">Project Relationship</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>UNKNOWN</td> +<td><em>unknown</em></td> +</tr> +<tr> +<td>REFERRED</td> +<td>Sister project</td> +</tr> +<tr> +<td>CONTAINED</td> +<td>Sub project</td> +</tr> +<tr> +<td>DUPLICATE</td> +<td><em>duplicate</em></td> +</tr> +</tbody> +</table> +<h3 id="project-clearing-state">Project Clearing State</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>OPEN</td> +<td>not started</td> +</tr> +<tr> +<td>IN_PROGRESS</td> +<td>&hellip;</td> +</tr> +<tr> +<td>CLOSED</td> +<td>&hellip;</td> +</tr> +</tbody> +</table> +<h2 id="schedule">Schedule</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/schedule.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/schedule.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="search">Search</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/search.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/search.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="general-sw360-thrift">General SW360 Thrift</h2> +<h3 id="software-mainline-states">Software Mainline States</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>OPEN</td> +<td>Not decided so far</td> +</tr> +<tr> +<td>MAINLINE</td> +<td>Organisation or person thinks that use of this software is recommended, which included multiple versions.</td> +</tr> +<tr> +<td>SPECIFIC</td> +<td>The software is not recommended in general, but for special use case or for this particular version it is acceptable.</td> +</tr> +<tr> +<td>PHASE_OUT</td> +<td>The software has issues, please consider removing it soon, if in use.</td> +</tr> +<tr> +<td>DENIED</td> +<td>Software which is not allowed for use. For example, software that does not have licensing.</td> +</tr> +</tbody> +</table> +<h2 id="general-sw360-thrift-1">General SW360 Thrift</h2> +<h3 id="software-mainline-states-1">Software Mainline States</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description.</th> +</tr> +</thead> +<tbody> +<tr> +<td>OPEN</td> +<td>Not decided so far</td> +</tr> +<tr> +<td>MAINLINE</td> +<td>Organisation or person thinks that use of this software is recommended, which included multiple versions.</td> +</tr> +<tr> +<td>SPECIFIC</td> +<td>The software is not recommended in general, but for special use case or for this particular version it is acceptable.</td> +</tr> +<tr> +<td>PHASE_OUT</td> +<td>The software has issues, please consider removing it soon, if in use.</td> +</tr> +<tr> +<td>DENIED</td> +<td>Software which is not allowed for use. For example, software that does not have licensing.</td> +</tr> +</tbody> +</table> +<h3 id="moderation-states">Moderation States</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>PENDING</td> +<td>Not opened so far.</td> +</tr> +<tr> +<td>APPROVED</td> +<td>A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has approved the moderation request. It could be deleted then.</td> +</tr> +<tr> +<td>REJECTED</td> +<td>A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has rejected the moderation request.</td> +</tr> +<tr> +<td>INPROGRESS</td> +<td>A person who has received the moderation request (which could be creator of the document, a clearing admin, a moderator, etc.) has opened / viewed the moderation request, but did not decide.</td> +</tr> +</tbody> +</table> +<h3 id="visibility">Visibility</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>PRIVATE</td> +<td>Only visible by creator (and admin which applies to all visibility levels).</td> +</tr> +<tr> +<td>ME_AND_MODERATORS</td> +<td>Visible by creator and moderators.</td> +</tr> +<tr> +<td>BUISNESSUNIT_AND_MODERATORS</td> +<td>All users of the same group and the moderators.</td> +</tr> +<tr> +<td>EVERYONE</td> +<td>Every user who is logged into the system.</td> +</tr> +</tbody> +</table> +<h3 id="verification-state">Verification State</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +</tr> +</thead> +<tbody> +<tr> +<td>NOT_CHECKED</td> +<td>No one has yet looked at this and verified it.</td> +</tr> +<tr> +<td>CHECKED</td> +<td>It is verified.</td> +</tr> +<tr> +<td>INCORRECT</td> +<td>It was decided that the verification should be rejected.</td> +</tr> +</tbody> +</table> +<h3 id="release-relationship">Release Relationship</h3> +<table> +<thead> +<tr> +<th>Value</th> +<th>Description</th> +<th>Clearing releav nt</th> +</tr> +</thead> +<tbody> +<tr> +<td>CONTAINED</td> +<td>If you just do not know whether it is dynamically linked.</td> +<td>Yes</td> +</tr> +<tr> +<td>REFERRED</td> +<td>Referencing a stand alone used other part.</td> +<td>No</td> +</tr> +<tr> +<td>UNKNOWN</td> +<td>If you just do not know.</td> +<td>Yes</td> +</tr> +<tr> +<td>DYNAMICALLY_LINKED</td> +<td>Software dynamically linked - as the name says.</td> +<td>Yes</td> +</tr> +<tr> +<td>STATICALLY_LINKED</td> +<td>Software statically linked - as the name says.</td> +<td>Yes</td> +</tr> +<tr> +<td>SIDE_BY_SIDE</td> +<td>Not decided so far.</td> +<td>Yes</td> +</tr> +<tr> +<td>STANDALONE</td> +<td>Software is given as standalone delivery, ie. not technically connected.</td> +<td>Yes</td> +</tr> +<tr> +<td>INTERNAL_USE</td> +<td>Used for creating or building or ? the product or projects but not delivered.</td> +<td>Yes</td> +</tr> +<tr> +<td>OPTIONAL</td> +<td>Is not mandatory part of the installation.</td> +<td>Yes</td> +</tr> +<tr> +<td>TO_BE_REPLACED</td> +<td>Is there but should be moved out.</td> +<td>Yes</td> +</tr> +</tbody> +</table> +<h2 id="users">Users</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/users.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/users.thrift</a></p> +<h2 id="vendors">Vendors</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vendors.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vendors.thrift</a></p> +<p><em>No enumerations provided</em></p> +<h2 id="vulnerabilities">Vulnerabilities</h2> +<p><a href="https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vulnerabilities.thrift">https://github.com/eclipse/sw360/blob/master/libraries/lib-datahandler/src/main/thrift/vulnerabilities.thrift</a></p> +<p><em>No enumerations provided</em></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/user-scheduling-cve-search-by-admins/index.html b/docs/userguide/user-scheduling-cve-search-by-admins/index.html new file mode 100644 index 0000000..52fd7f4 --- /dev/null +++ b/docs/userguide/user-scheduling-cve-search-by-admins/index.html @@ -0,0 +1,643 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>CVE-Search Scheduling | Eclipse SW360</title> +<meta name="description" content="How to schedule the CVE-Search Service"> +<meta property="og:title" content="CVE-Search Scheduling" /> +<meta property="og:description" content="How to schedule the CVE-Search Service" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="CVE-Search Scheduling"> +<meta itemprop="description" content="How to schedule the CVE-Search Service"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="411"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="CVE-Search Scheduling"/> +<meta name="twitter:description" content="How to schedule the CVE-Search Service"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check" checked/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="td-sidebar-nav-active-item">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/User-Scheduling-CVE-Search-by-Admins.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/User-Scheduling-CVE-Search-by-Admins.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/User-Scheduling-CVE-Search-by-Admins.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=CVE-Search%20Scheduling" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/">CVE-Search Scheduling</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>CVE-Search Scheduling</h1> + <div class="lead">How to schedule the CVE-Search Service</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>SW360 gets vulnerability information from an external provider of Common Vulnerability Enumeration (CVE) data. By default SW360 can connect to cve-search [https://www.circl.lu/services/cve-search/] which is either available as an online service [http://cve.circl.lu] or can be installed locally. For security and privacy reasons it is strongly advised to install a local cve-search service.</p> +<p>In what follows the synchronization between SW360 and the external CVE provider is described.</p> +<p><code>CveSearch-updates</code> can either be scheduled automatically when launching the <code>schedule-service</code> (e.g. when re/starting SW360) or it can be scheduled or unscheduled manually by an <code>SW360 admin</code>. +It is automatically scheduled with the start of the scheduling service, if in the <code>/resources/sw360.properties</code> file of the <code>schedule-service</code> in the backend, <code>cvesearchService</code> is mentioned in the <code>autostart</code>-property:</p> +<p><code>autostart = cvesearchService</code></p> +<p>According to the default settings, cveSearch is <em>not</em> auto-started with the scheduling service.</p> +<p>For manually scheduling the CVE search service, open the <code>Schedule Portlet</code> of the <code>Admin</code> menu. Note that the <code>Admin</code> menu is only visible to <code>SW360 admins</code>.</p> +<p><img src="./images/UCAdminScheduling/01_adminMenu.png" alt=""></p> +<p>In the <code>Schedule Portlet</code> of the <code>Admin</code> menu, a user with <code>admin</code> rights can turn on or off automatic updates of the cve-search service manually. +In the UI of the portlet, the admin can see whether or not the CVE-service is scheduled: if the service is scheduled, the <code>Schedule CveSearch Updates</code>-button is inactive, whereas the <code>Cancel Scheduled CveSearch Updates</code>-button is active and vice versa:</p> +<p><img src="./images/UCAdminScheduling/scheduleAdminPortlet.png" alt=""></p> +<p>The <code>offset</code> (first run of the update) and the <code>interval</code> between updates can also be adjusted in the <code>/resources/sw360.properties</code> file of the <code>src-schedule</code> service. +The corresponding properties are <code>schedule.cvesearch.firstOffset.seconds</code> and <code>schedule.cvesearch.interval.seconds</code>. +The <code>offset</code> has to be given in seconds since midnight and also the <code>interval</code> has to be entered in seconds. +The default is to update the vulnerabilities by CVEsearch every night at midnight, which corresponds to an offset of 0 and an interval of 24 hours (= 86400 seconds).</p> +<p><code>schedule.cvesearch.firstOffset.seconds = 0</code></p> +<p><code>schedule.cvesearch.interval.seconds = 86400</code></p> +<p>With automatic scheduling the next synchronization moment according to the <code>offset</code> and the <code>interval</code> is computed. This will be the first moment when a <code>cveSearch-update</code> is run. +There is nothing like an <code>initial run</code> when autostarting of manually scheduling the <code>CveSearch-updates</code>. +Moreover, the configuration, i.e. <code>offset</code>, <code>interval</code> and <code>next synchronization</code> (where the latter is a consequence of <code>offset</code> and <code> interval</code>) are shown in the portlet:</p> +<p><img src="./images/UCAdminScheduling/scheduleAdminPortletProperties.png" alt=""></p> +<h2 id="setup-of-a-local-instance">Setup of a local instance</h2> +<p>It is recommended to set up and use a local instance instead of the public cve-search instance. +The accompanying project sw360-chores contains a Dockerfile that can easily setup this service.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/user-search/index.html b/docs/userguide/user-search/index.html new file mode 100644 index 0000000..3e11671 --- /dev/null +++ b/docs/userguide/user-search/index.html @@ -0,0 +1,654 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Search | Eclipse SW360</title> +<meta name="description" content="SW360 General Search"> +<meta property="og:title" content="Search" /> +<meta property="og:description" content="SW360 General Search" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/user-search/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Search"> +<meta itemprop="description" content="SW360 General Search"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="467"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Search"/> +<meta name="twitter:description" content="SW360 General Search"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check" checked/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="td-sidebar-nav-active-item">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/User-Search.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/User-Search.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/User-Search.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Search" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#wildcards">Wildcards</a></li> + </ul> + </li> + <li><a href="#search-in-projects-components-and-licenses">Search in Projects, Components and Licenses</a></li> + <li><a href="#heading"></a> + <ul> + <li><a href="#quickfilter">Quickfilter</a></li> + <li><a href="#advanced-search">Advanced Search</a></li> + <li><a href="#export-spreadsheet">Export Spreadsheet</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/user-search/">Search</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Search</h1> + <div class="lead">SW360 General Search</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p><img src="https://github.com/eclipse/sw360/wiki/images/general-search.png" alt="general-search"></p> +<p>The user can use the general Search. He can find that under Search at the navigation bar. There he can choose, for what elements (Projects, Components, Releases, Licences, Users, Vendors) he wants to search. Therefore he toogle the elements which should be included in the search.</p> +<h3 id="wildcards">Wildcards</h3> +<p>The user can search with wildcards. A wildcard is a character which substitue for zero or more characters in a string. For a single character users can use &lsquo;?&rsquo; and for multiple character wildcard he can use &lsquo;*&rsquo;. The Wildcard can stand in the middle of characters or at the end, but not at the beginning.</p> +<h2 id="search-in-projects-components-and-licenses">Search in Projects, Components and Licenses</h2> +<p><img src="https://github.com/eclipse/sw360/wiki/images/navigationbar-search.png" alt="specific-search"></p> +<p>The user can use besides of the general search the specific search at the specific view of projects, components and licenses. There he has a Quickfilter and the Advanced Search where he has the option to search more refined.</p> +<h2 id="heading"></h2> +<p><img src="https://github.com/eclipse/sw360/wiki/images/sw360_specific_search.png"/><img src="https://github.com/eclipse/sw360/wiki/images/specific-search.png"/></p> +<h3 id="quickfilter">Quickfilter</h3> +<p>The Quickfilter let the user see the search result immediately when he starts typing. Therefore the Data has to be loaded. At the specific search for components, the user can choose under &rsquo;loading&rsquo; how much components sw360 should load. He can choose between the &lsquo;200 newest&rsquo; up to &lsquo;all&rsquo;. If the user did not use the quickfilter, it makes sense to set the loading option on 200 newest, so he does not unnecessarily slow down the site. <br> +At the specific search for projects, the user has the option to choose the group for the projects which should get loaded for the quick filter. If the user is just interested in the projects of his group, he should set the group to his group. So he does not load unnecessary projects every time he goes on the project site. Note that you cannot use wildcards for the quick search.</p> +<h3 id="advanced-search">Advanced Search</h3> +<p>The user has for components and projects the option to use the advanced search if he wants a more refined search. At the advanced search, the user can search for the different attributes projects or components have. For example, the user wants to search for all components which are for Linux; therefore he writes Linux in the field &lsquo;Operating System&rsquo; and click search. For the advanced search, the search result does not depend on the setting the user has chosen at the loading selection.</p> +<h3 id="export-spreadsheet">Export Spreadsheet</h3> +<p>With the Export Spreadsheet button at the bottom of the site, users can export the search result as a xlsx file (Excel). He can choose between a file with &lsquo;only components&rsquo; or &lsquo;components with releases&rsquo;. If he chooses &lsquo;only components&rsquo; he gets a file with just the Components and its attributes. If the user chooses the option &lsquo;with release&rsquo;, he will get all the release of the components with their attributes, for example the clearing state of releases, in the xlsx file.</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images/Export-Spreadsheet.png" alt="Export-Spreadsheet"></p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/vulnerabilitymanagement/index.html b/docs/userguide/vulnerabilitymanagement/index.html new file mode 100644 index 0000000..f4f3b54 --- /dev/null +++ b/docs/userguide/vulnerabilitymanagement/index.html @@ -0,0 +1,748 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Vulnerability Management | Eclipse SW360</title> +<meta name="description" content="SW360 Vulnerability Portlet"> +<meta property="og:title" content="Vulnerability Management" /> +<meta property="og:description" content="SW360 Vulnerability Portlet" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Vulnerability Management"> +<meta itemprop="description" content="SW360 Vulnerability Portlet"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Vulnerability Management"/> +<meta name="twitter:description" content="SW360 Vulnerability Portlet"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check" checked/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="td-sidebar-nav-active-item">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/VulnerabilityManagement/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/VulnerabilityManagement/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/VulnerabilityManagement/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Vulnerability%20Management" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#automatic-update-of-vulnerabilities">Automatic update of vulnerabilities</a></li> + <li><a href="#heuristics">Heuristics</a> + <ul> + <li><a href="#guessing-heuristic-the-new-one">Guessing heuristic (the new one)</a></li> + <li><a href="#display-how-a-vulnerability-was-found">Display How a Vulnerability was Found</a></li> + <li><a href="#example-1-vendorapachenamemavenversion304">Example 1: <code>{vendor=&quot;Apache&quot;,name=&quot;Maven&quot;,version=&quot;3.0.4&quot;}</code></a></li> + <li><a href="#example-2-vendornameapache-mavenversion304">Example 2: <code>{vendor=&quot;&quot;,name=&quot;Apache Maven&quot;,version=&quot;3.0.4&quot;}</code></a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/">Vulnerability Management</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Vulnerability Management</h1> + <div class="lead">SW360 Vulnerability Portlet</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>In the <code>vulnerability portlet</code>, you can view the vulnerabilites that are currently present in SW360 in more detail, independent of the release or project they apply to. Clicking on the top level entry <code>Vulnerabilities</code>, a table listing all vulnerabilities is shown:</p> +<p><img src="./images/vulnerabilityView.png" alt=""></p> +<p>Clicking on a vulnerability entry in the table, the details view of this vulnerability is shown.</p> +<p><img src="./images/vulnerabilityDetail.png" alt=""></p> +<p>The details view is also linked from the <code>vulnerabilities view</code> in the <code>project portlet</code> and <code>component and release portlet</code>, respectively.</p> +<h1 id="vulnerability-verification-for-releases">Vulnerability Verification for Releases</h1> +<p>Vulnerabilities automatically imported into SW360 - e.g. via the CVE search connection of SW360 - can be applicable for a release or not. The latter can happen, because release data in SW360 is incorrect or not complete. Then the CVE search service uses a more general search pattern yielding a lot of vulnerabilities, only some of which actually apply to the release. Therefore, in SW360 a vulnerability can be marked for a given release with one of the following <code>verification states</code>:</p> +<ol> +<li>NOT CHECKED</li> +<li>CHECKED</li> +<li>INCORRECT</li> +</ol> +<p>Only <code>admins</code> can mark a vulnerability or change the <code>verification state</code> and enter a comment to give reasons for the change. The verification state and the meta-information (when and by whom the verification state was changed and the comment) are stored as <code>VerificationStateInfo</code> at the appropriate <code>ReleaseVulnerabilityRelation</code>.</p> +<p>The <code>verification state</code> is displayed in the detail mode of a <code>release</code>, at <code>vulnerabilities</code> in the column <code>Verification</code> of the <code>vulnerability table</code>. User without <code>admin</code>-rights can only see the vulnerabilities that are <code>NOT CHECKED</code> or <code>CHECKED</code> together with a tooltip containing the meta-info. The <code>INCORRECT</code> vulnerabilities are hidden from users without admin rights in the release detail view and also in the component detail view and in the project detail view.</p> +<p>Admins see in the same table a dropdown menu, where they can adjust the state. An admin is shown all vulnerabilities belonging to a project, component or release, also those that are marked as <code>INCORRECT</code>.</p> +<p><img src="./images/releaseVulnerabilities.png" alt=""></p> +<h1 id="vulnerability-rating-for-projects">Vulnerability Rating for Projects</h1> +<p>In the detail view of a <code>project</code>, in the category <code>Vulnerabilites</code>, the vulnerabilities belonging to the linked releases of the project are shown. Such a vulnerability in the context of a certain project can be assigned one of the following <code>Ratings</code>:</p> +<ol> +<li>NOT CHECKED</li> +<li>IRRELEVANT</li> +<li>RESOLVED</li> +<li>APPLICABLE</li> +</ol> +<p>Those ratings are shown in the vulnerability table of the project details view. A user that has writing permission for the project can change the rating via a drop-down menu. If he changes the value, he is asked to enter a comment. The <code>VulnerabilityRating</code> together with the meta-data (who has changed the rating, date of change of the rating and comment) is stored in one database object <code>ProjectVulnerabilityRating</code> per project.</p> +<p>A user that has no writing permission on the project is shown the <code>Vulnerability Rating</code> in the table without the possibility to change the value.</p> +<p>The number of vulnerabilities for a project with rating <code>NOT CHECKED</code> is displayed in the bullet of the <code>Vulnerability</code> tab of the <code>project detail</code> view. The bullet is red if there are vulnerabilities with status <code>NOT CHECKED</code> for the project. In the example 7 of the 10 existing vulnerabilities are <code>NOT CHECKED</code>.</p> +<p><img src="./images/VulnerabilitiesBullet.png" alt=""></p> +<p><img src="./images/projectVulnerabilities.png" alt=""></p> +<h1 id="change-history-for-vulnerability-ratings-and-verifications">Change History for Vulnerability Ratings and Verifications</h1> +<p>The complete list of status changes for vulnerability ratings in the project portlet and for vulnerability verifications in the component portlet is shown when hovering with the mouse over the vulnerability rating/verification in the table. This is shown for the project vulnerability table in the picture below.</p> +<p><img src="./images/modifiedHistoryLayoutProjectVulnerabilities.png" alt=""></p> +<p>#CVE-Search</p> +<h2 id="automatic-update-of-vulnerabilities">Automatic update of vulnerabilities</h2> +<p>See this <a href="https://github.com/eclipse/sw360/wiki/Doc-Use-Case:-Scheduling-CVE-Search-by-Admins">use case</a>.</p> +<h2 id="heuristics">Heuristics</h2> +<p>All heuristics start by looking at the cpe. If the cpe is valid, i.e. start with the string &ldquo;cpe:&rdquo; and are longer then 10 chars, this is used for the search. If the search fails it falls back to the other search levels.</p> +<p>There are at the moment two different heuristics implemented which define how and in which order to search the cveSearch DB.</p> +<p>They can actually be combined, i.e. one could be the fallback of the other.</p> +<h3 id="guessing-heuristic-the-new-one">Guessing heuristic (the new one)</h3> +<p>The matching of vendor- and product-names is improved by using a lists of actual vendors resp. actual products of an vendor.</p> +<p>From the information given for a release, which is expected to be either of the form</p> +<ol> +<li>vendor=<code>&quot;VENDOR_NAME&quot;</code>, name=<code>&quot;PRODUCT_NAME&quot;</code> and a version or</li> +<li>vendor=<code>&quot;&quot;</code>, name=<code>&quot;VENDOR_NAME PRODUCT_NAME&quot;</code> and a version (as generated by the bdpimport).</li> +</ol> +<p>we try to find the best matches from the vendors list and then for these ones the best matches in their respective product lists. +The first run includes the version, and if no matching product with the correct version is found, a second run is made without the version restriction.</p> +<h5 id="modified-levenshtein-distance">Modified Levenshtein distance</h5> +<p>For the definition which matches are good we use a variation of the Levenshtein distance with some asymmetric modifications. In the following we will call the left side <strong>needle</strong> and the right side <strong>haystack</strong>. The <strong>needles</strong> will come from the lists and the <strong>haystack</strong> will be (parts of) the raw information extracted from the release. The defining rules are</p> +<ol> +<li>Our Levenshtein distance is equal to the regular Levenshtein distance, if the <strong>haystack</strong> does not contain any spaces.</li> +<li>Skipping a <strong>prefix ending with a space</strong> or of the <strong>haystack</strong> does not cost anything, i.e. does not increase the distance</li> +<li>Skipping a <strong>postfix starting with a space</strong> of the <strong>haystack</strong> does not cost anything, i.e. does not increase the distance</li> +<li>If either the <strong>needle</strong> or the <strong>haystack</strong> is empty, the distance is <code>Integer.MAX_VALUE</code></li> +</ol> +<p>This means that the string <code>&quot;needle&quot;</code> has</p> +<ul> +<li>distance 0 to itself, i.e. <code>&quot;needle&quot;</code></li> +<li>distance 0 to itself plus a postfix separated by a space, e.g. <code>&quot;needle postfix&quot;</code></li> +<li>distance 0 to itself plus a prefix separated by a space, e.g. <code>&quot;prefix needle&quot;</code></li> +<li>distance 2 to something which has regular distance of 2 surrounded by a prefix and a postfix which are separated by spaces, e.g. <code>&quot;prefix nedles postfix&quot;</code></li> +</ul> +<h5 id="configuration">Configuration</h5> +<p>The finetuning parameters can be configured by setting the following properties in <code>/etc/sw360/sw360.properties</code> or in the <code>configuration.yml</code></p> +<pre><code>cvesearch.default.vendor.threshold=1 +cvesearch.default.product.threshold=0 +cvesearch.default.cutoff=6 +</code></pre> +<h5 id="finetuning">Finetuning</h5> +<p>There are three variables which can be used for finetuning of the algorithm</p> +<ul> +<li><code>cutoff</code> (defaults to <code>Integer.MAX_VALUE</code>, i.e. no cutoff)</li> +<li><code>vendorThreshold</code> (defaults to <code>0</code>, i.e. no vendor threshold)</li> +<li><code>productThreshold</code> (defaults to <code>0</code>, i.e. no product threshold)</li> +</ul> +<h4 id="cons">Cons</h4> +<ul> +<li>is not able to find anything if no vendor but a unique product is given</li> +<li>many search queries</li> +<li>it will always try find the best match, e.g. also very bad matches, if cutoff is to large</li> +</ul> +<h3 id="display-how-a-vulnerability-was-found">Display How a Vulnerability was Found</h3> +<p>In the <code>vulnerability tables</code> of the <code>projects portlet</code> and the <code>component and release portlet</code> you can see, whether a vulnerability was found directly by the <code>CPE</code> or by <code>heuristics</code>. In the latter case, also the distance (and therefore the quality of the match with <code>0 = best possible match</code>) is displayed.</p> +<p><img src="./images/matchedBy.png" alt=""></p> +<p>In addition, below the <code>vulnerability tables</code> of the <code>projects portlet</code> and the <code>component and release portlet</code>, you can see the number of directly linked releases that was found by <code>CPE</code> or <code>heuristic</code>, respectively:</p> +<p><img src="./images/projectVulnerabilitiesWithStatisticsHighlighted.png" alt=""></p> +<h3 id="example-1-vendorapachenamemavenversion304">Example 1: <code>{vendor=&quot;Apache&quot;,name=&quot;Maven&quot;,version=&quot;3.0.4&quot;}</code></h3> +<h4 id="basic-heuristic">Basic heuristic</h4> +<p>This heuristic builds in the first step the correct needle +<code>cpe:2.3:.:.*apache.*maven.*3.0.4.*</code> and finds the cpe <code>cpe:2.3:a:apache:maven:3.0.4</code></p> +<h4 id="guessing-heuristic">Guessing heuristic</h4> +<p>The heuristic guesses the vendor <code>apache</code> and the product <code>maven</code>. Together with the version this results in the same cpe-needle <code>cpe:2.3:.:.*apache.*maven.*3.0.4.*</code>.</p> +<h3 id="example-2-vendornameapache-mavenversion304">Example 2: <code>{vendor=&quot;&quot;,name=&quot;Apache Maven&quot;,version=&quot;3.0.4&quot;}</code></h3> +<h4 id="basic-heuristic-1">Basic heuristic</h4> +<p>The first levels of this heuristic fails until the sixth level which does not use the vendor. The resulting needle is then <code>cpe:2.3:.:.*apache.*maven.*3.0.4.*</code> and finds the cpe <code>cpe:2.3:a:apache:maven:3.0.4</code></p> +<h4 id="guessing-heuristic-1">Guessing heuristic</h4> +<p>The heuristic guesses the vendor <code>apache</code> since it is a substring of <code>apache maven</code> and thus has distance <code>0</code>, the same is true for the productname <code>maven</code> which results in the same cpe-needle as above.</p> + + <div class="section-index"> + + + + + + + + + <hr class="panel-line"> + + + <div class="entry"> + <h5> + <a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/">Search Vulnerabilities</a> + </h5> + <p>How to Check for Vulnerabilities Affecting Your Project</p> + </div> + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/vulnerabilitymanagement/index.xml b/docs/userguide/vulnerabilitymanagement/index.xml new file mode 100644 index 0000000..3ba7b86 --- /dev/null +++ b/docs/userguide/vulnerabilitymanagement/index.xml @@ -0,0 +1,64 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Vulnerability Management</title> + <link>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/</link> + <description>Recent content in Vulnerability Management on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + <item> + <title>Docs: Search Vulnerabilities</title> + <link>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/</link> + <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> + + <guid>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/</guid> + <description> + + + &lt;p&gt;The CVE-Search service of SW360 checks for vulnerabilities that affect releases present in SW360. +The CVE-search service runs automatically at the time that has been scheduled by one of the &lt;code&gt;SW360-admins&lt;/code&gt;. +Typically, this will happen at night. So, in the beginning, SW360 does not know any vulnerabilities for your project.&lt;/p&gt; +&lt;h2 id=&#34;vulnerabilites-in-the-project-portlet&#34;&gt;Vulnerabilites in the Project Portlet&lt;/h2&gt; +&lt;p&gt;After a CVE-search run has been finished, you can see the number of vulnerabilities associated with your project in the &lt;code&gt;Projects Portlet&lt;/code&gt;. +To that end, open the &lt;code&gt;Projects Portlet&lt;/code&gt; and click on your project:&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/01_SelectProject.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In the &lt;code&gt;Vulnerabilities tab&lt;/code&gt; on the left hand side, you see the number of vulnerabilites that have been found for the releases that are directly linked +to your project. Actually, you see two numbers. The left number indicates how many vulnerabilities have not been evaluated or &lt;code&gt;rated&lt;/code&gt; for this project yet. +Whenever this number is positive, the bullet surrounding the numbers will be red. Otherwise the bullet is grey.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/02_NumberOfVulnerabilities.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;h2 id=&#34;the-vulnerabilities-tab&#34;&gt;The Vulnerabilities Tab&lt;/h2&gt; +&lt;p&gt;To view (and to rate the vulnerabilities for the project), click on the &lt;code&gt;Vulnerabilities Tab&lt;/code&gt;. A list of vulnerabilities occurs. Each vulnerability has been found +for one of the releases that are directly linked to your project. In the first column, you see the name of that release.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/03_VulnerabilityListProject.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;By clicking on the &lt;code&gt;external id&lt;/code&gt; of a vulnerability, you can view the details of the vulnerability in the &lt;code&gt;Vulnerability Portlet&lt;/code&gt;. +More details about the &lt;code&gt;Vulnerability Portlet&lt;/code&gt; can be found &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#the-vulnerability-portlet&#34;&gt;here&lt;/a&gt;. +The column &lt;code&gt;Priority&lt;/code&gt; contains no special information when using &lt;code&gt;CVE-Search&lt;/code&gt;, it is used when importing vulnerability information from different sources. +In the column &lt;code&gt;Matched By&lt;/code&gt;, you see the &lt;code&gt;distance&lt;/code&gt; with which the vulnerability was found, and in the mouse-over the corresponding &lt;code&gt;needle&lt;/code&gt; is displayed. +Below the table, you see a report about how many vulnerabilities in your project were found with which &lt;code&gt;distance&lt;/code&gt; by &lt;code&gt;heuristics&lt;/code&gt; and how many of them have been found by a &lt;code&gt;matching CPE&lt;/code&gt; respectively. +For more details on &lt;code&gt;distances&lt;/code&gt;, &lt;code&gt;matches&lt;/code&gt; and &lt;code&gt;needles&lt;/code&gt;, click &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#heuristics&#34;&gt;here&lt;/a&gt;. +In the column &lt;code&gt;Title&lt;/code&gt;, the &lt;code&gt;External id&lt;/code&gt; is repeated, and in the mouse-over, you can read the &lt;code&gt;description&lt;/code&gt; of the vulnerability.&lt;/p&gt; +&lt;h2 id=&#34;evaluating-vulnerabilities-for-your-project&#34;&gt;Evaluating Vulnerabilities for your Project&lt;/h2&gt; +&lt;p&gt;If you are allowed to edit the project, you can also &lt;code&gt;rate&lt;/code&gt; the relevance of the vulnerability for your project. In this case, the column &lt;code&gt;Relevance for project&lt;/code&gt; contains +drop-down menus, where you can select a &lt;code&gt;rating&lt;/code&gt; for each vulnerability (compare &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#vulnerability-rating-for-projects&#34;&gt;here&lt;/a&gt;). +To change the rating for a project, simply select a different value from the drop-down menu, enter a comment and click &lt;code&gt;OK&lt;/code&gt;.&lt;/p&gt; +&lt;p&gt;&lt;img src=&#34;./images/UCVulnerabilitiesProject/04_ChangeRating.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt; +&lt;p&gt;In order to update the number of checked and unchecked vulnerabilities in the bullet of the &lt;code&gt;Vulnerability tab&lt;/code&gt;, you have to reload. +After that, you can also view the &lt;code&gt;history of rating changes&lt;/code&gt; in the mouse-over of the corresponding vulnerability, +see also &lt;a href=&#34;https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#change-history-for-vulnerability-ratings-and-verifications&#34;&gt;here&lt;/a&gt;.&lt;/p&gt; +&lt;p&gt;You can also view the vulnerabilities associated with a &lt;code&gt;component&lt;/code&gt; and those associated with a &lt;code&gt;release&lt;/code&gt; in the &lt;code&gt;Components Portlet&lt;/code&gt;. +CVE Search associates vulnerabilities with a release in SW360 based on the data that SW360 knows for that release. +For a &lt;code&gt;release&lt;/code&gt;, a &lt;code&gt;security admin&lt;/code&gt; or an &lt;code&gt;admin&lt;/code&gt; can judge whether a vulnerability does indeed refer to the &lt;code&gt;release&lt;/code&gt;. +Vulnerabilities that have been classified as &lt;code&gt;INCORRECT&lt;/code&gt; by an &lt;code&gt;admin&lt;/code&gt; or &lt;code&gt;security admin&lt;/code&gt; are not displayed to &lt;code&gt;USERs&lt;/code&gt; any more and therefore do not distort the picture for your project.&lt;/p&gt; + + </description> + </item> + + </channel> +</rss> diff --git a/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/index.html b/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/index.html new file mode 100644 index 0000000..ff849ea --- /dev/null +++ b/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/index.html @@ -0,0 +1,664 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Search Vulnerabilities | Eclipse SW360</title> +<meta name="description" content="How to Check for Vulnerabilities Affecting Your Project"> +<meta property="og:title" content="Search Vulnerabilities" /> +<meta property="og:description" content="How to Check for Vulnerabilities Affecting Your Project" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" /><meta property="article:section" content="docs" /> + +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Search Vulnerabilities"> +<meta itemprop="description" content="How to Check for Vulnerabilities Affecting Your Project"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="550"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Search Vulnerabilities"/> +<meta name="twitter:description" content="How to Check for Vulnerabilities Affecting Your Project"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check" checked/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check" checked/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="td-sidebar-nav-active-item">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check"/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/VulnerabilityManagement/User-Check-Vulnerabilities-for-Your-Project.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/VulnerabilityManagement/User-Check-Vulnerabilities-for-Your-Project.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/VulnerabilityManagement/User-Check-Vulnerabilities-for-Your-Project.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Search%20Vulnerabilities" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li><a href="#vulnerabilites-in-the-project-portlet">Vulnerabilites in the Project Portlet</a></li> + <li><a href="#the-vulnerabilities-tab">The Vulnerabilities Tab</a></li> + <li><a href="#evaluating-vulnerabilities-for-your-project">Evaluating Vulnerabilities for your Project</a></li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/">Vulnerability Management</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/">Search Vulnerabilities</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Search Vulnerabilities</h1> + <div class="lead">How to Check for Vulnerabilities Affecting Your Project</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>The CVE-Search service of SW360 checks for vulnerabilities that affect releases present in SW360. +The CVE-search service runs automatically at the time that has been scheduled by one of the <code>SW360-admins</code>. +Typically, this will happen at night. So, in the beginning, SW360 does not know any vulnerabilities for your project.</p> +<h2 id="vulnerabilites-in-the-project-portlet">Vulnerabilites in the Project Portlet</h2> +<p>After a CVE-search run has been finished, you can see the number of vulnerabilities associated with your project in the <code>Projects Portlet</code>. +To that end, open the <code>Projects Portlet</code> and click on your project:</p> +<p><img src="./images/UCVulnerabilitiesProject/01_SelectProject.png" alt=""></p> +<p>In the <code>Vulnerabilities tab</code> on the left hand side, you see the number of vulnerabilites that have been found for the releases that are directly linked +to your project. Actually, you see two numbers. The left number indicates how many vulnerabilities have not been evaluated or <code>rated</code> for this project yet. +Whenever this number is positive, the bullet surrounding the numbers will be red. Otherwise the bullet is grey.</p> +<p><img src="./images/UCVulnerabilitiesProject/02_NumberOfVulnerabilities.png" alt=""></p> +<h2 id="the-vulnerabilities-tab">The Vulnerabilities Tab</h2> +<p>To view (and to rate the vulnerabilities for the project), click on the <code>Vulnerabilities Tab</code>. A list of vulnerabilities occurs. Each vulnerability has been found +for one of the releases that are directly linked to your project. In the first column, you see the name of that release.</p> +<p><img src="./images/UCVulnerabilitiesProject/03_VulnerabilityListProject.png" alt=""></p> +<p>By clicking on the <code>external id</code> of a vulnerability, you can view the details of the vulnerability in the <code>Vulnerability Portlet</code>. +More details about the <code>Vulnerability Portlet</code> can be found <a href="https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#the-vulnerability-portlet">here</a>. +The column <code>Priority</code> contains no special information when using <code>CVE-Search</code>, it is used when importing vulnerability information from different sources. +In the column <code>Matched By</code>, you see the <code>distance</code> with which the vulnerability was found, and in the mouse-over the corresponding <code>needle</code> is displayed. +Below the table, you see a report about how many vulnerabilities in your project were found with which <code>distance</code> by <code>heuristics</code> and how many of them have been found by a <code>matching CPE</code> respectively. +For more details on <code>distances</code>, <code>matches</code> and <code>needles</code>, click <a href="https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#heuristics">here</a>. +In the column <code>Title</code>, the <code>External id</code> is repeated, and in the mouse-over, you can read the <code>description</code> of the vulnerability.</p> +<h2 id="evaluating-vulnerabilities-for-your-project">Evaluating Vulnerabilities for your Project</h2> +<p>If you are allowed to edit the project, you can also <code>rate</code> the relevance of the vulnerability for your project. In this case, the column <code>Relevance for project</code> contains +drop-down menus, where you can select a <code>rating</code> for each vulnerability (compare <a href="https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#vulnerability-rating-for-projects">here</a>). +To change the rating for a project, simply select a different value from the drop-down menu, enter a comment and click <code>OK</code>.</p> +<p><img src="./images/UCVulnerabilitiesProject/04_ChangeRating.png" alt=""></p> +<p>In order to update the number of checked and unchecked vulnerabilities in the bullet of the <code>Vulnerability tab</code>, you have to reload. +After that, you can also view the <code>history of rating changes</code> in the mouse-over of the corresponding vulnerability, +see also <a href="https://github.com/eclipse/sw360/wiki/Doc-Vulnerability-Management#change-history-for-vulnerability-ratings-and-verifications">here</a>.</p> +<p>You can also view the vulnerabilities associated with a <code>component</code> and those associated with a <code>release</code> in the <code>Components Portlet</code>. +CVE Search associates vulnerabilities with a release in SW360 based on the data that SW360 knows for that release. +For a <code>release</code>, a <code>security admin</code> or an <code>admin</code> can judge whether a vulnerability does indeed refer to the <code>release</code>. +Vulnerabilities that have been classified as <code>INCORRECT</code> by an <code>admin</code> or <code>security admin</code> are not displayed to <code>USERs</code> any more and therefore do not distort the picture for your project.</p> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/workflows/index.html b/docs/userguide/workflows/index.html new file mode 100644 index 0000000..0f1cf69 --- /dev/null +++ b/docs/userguide/workflows/index.html @@ -0,0 +1,679 @@ +<!doctype html> +<html lang="en" class="no-js"> + <head> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/docs/userguide/workflows/index.xml"> +<meta name="robots" content="noindex, nofollow"> + + +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Workflows | Eclipse SW360</title> +<meta name="description" content="SW360 User Workflows"> +<meta property="og:title" content="Workflows" /> +<meta property="og:description" content="SW360 User Workflows" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/docs/userguide/workflows/" /><meta property="og:site_name" content="Eclipse SW360" /> + +<meta itemprop="name" content="Workflows"> +<meta itemprop="description" content="SW360 User Workflows"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Workflows"/> +<meta name="twitter:description" content="SW360 User Workflows"/> + + + + + +<link href="/sw360/scss/main.css" rel="stylesheet"> + +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> + + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/docs/" ><span class="active">Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-outer"> + <div class="td-main"> + <div class="row flex-xl-nowrap"> + <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"> + +<div id="td-sidebar-menu" class="td-sidebar__inner"> + <form class="td-sidebar__search d-flex align-items-center"> + + <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> + </button> + </form> + <nav class="collapse td-sidebar-nav foldable-nav" id="td-section-nav"> + <ul class="td-sidebar-nav__section pr-md-3 ul-0"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docs-li"> + <a href="/sw360/docs/" title="SW360 Documentation" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-sw360docs"><span class="">Documentation</span></a> + <ul class="ul-1"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-sw360docsuserguide-li"> + <input type="checkbox" id="m-sw360docsuserguide-check" checked/> + <label for="m-sw360docsuserguide-check"><a href="/sw360/docs/userguide/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguide"><i class="fas fa-users"></i><span class="">User Guides</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsuserguidevulnerabilitymanagement-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagement-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagement-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguidevulnerabilitymanagement"><span class="">Vulnerability Management</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-li"> + <input type="checkbox" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"/> + <label for="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project-check"><a href="/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguidevulnerabilitymanagementuser-check-vulnerabilities-for-your-project"><span class="">Search Vulnerabilities</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-sw360docsuserguideworkflows-li"> + <input type="checkbox" id="m-sw360docsuserguideworkflows-check" checked/> + <label for="m-sw360docsuserguideworkflows-check"><a href="/sw360/docs/userguide/workflows/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__section" id="m-sw360docsuserguideworkflows"><span class="td-sidebar-nav-active-item">Workflows</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-attachment-file-types-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-attachment-file-types-check"/> + <label for="m-sw360docsuserguideuser-attachment-file-types-check"><a href="/sw360/docs/userguide/user-attachment-file-types/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-attachment-file-types"><span class="">Attachment File Types</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"/> + <label for="m-sw360docsuserguideuser-scheduling-cve-search-by-admins-check"><a href="/sw360/docs/userguide/user-scheduling-cve-search-by-admins/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-scheduling-cve-search-by-admins"><span class="">CVE-Search Scheduling</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-data-model-enumerations-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-data-model-enumerations-check"/> + <label for="m-sw360docsuserguideuser-data-model-enumerations-check"><a href="/sw360/docs/userguide/user-data-model-enumerations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-data-model-enumerations"><span class="">Enumerations</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-bdp-import-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-bdp-import-check"/> + <label for="m-sw360docsuserguideuser-bdp-import-check"><a href="/sw360/docs/userguide/user-bdp-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-bdp-import"><span class="">Importing</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsuserguideuser-search-li"> + <input type="checkbox" id="m-sw360docsuserguideuser-search-check"/> + <label for="m-sw360docsuserguideuser-search-check"><a href="/sw360/docs/userguide/user-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsuserguideuser-search"><span class="">Search</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeployment-li"> + <input type="checkbox" id="m-sw360docsdeployment-check"/> + <label for="m-sw360docsdeployment-check"><a href="/sw360/docs/deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeployment"><i class="fas fa-tools"></i><span class="">Deployment</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentbaremetal-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetal-check"/> + <label for="m-sw360docsdeploymentbaremetal-check"><a href="/sw360/docs/deployment/baremetal/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentbaremetal"><span class="">Bare Metal</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"/> + <label for="m-sw360docsdeploymentbaremetaldeploy-natively-11-check"><a href="/sw360/docs/deployment/baremetal/deploy-natively-11/" title="Ubuntu 18.04 LTS, Java 11" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentbaremetaldeploy-natively-11"><span class="">Ubuntu 18.04 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeploymentupgrading-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgrading-check"/> + <label for="m-sw360docsdeploymentupgrading-check"><a href="/sw360/docs/deployment/upgrading/" title="Upgrade from previous instances" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeploymentupgrading"><span class="">Upgrade</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-li"> + <input type="checkbox" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"/> + <label for="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11-check"><a href="/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentupgradingdeploy-upgrade-to-liferay-73-and-java-11"><span class="">Liferay 7.3 and Java 11</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-authorization-concept-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-authorization-concept-check"/> + <label for="m-sw360docsdeploymentdeploy-authorization-concept-check"><a href="/sw360/docs/deployment/deploy-authorization-concept/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-authorization-concept"><span class="">Authorization Concept</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-files-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-files-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-files-check"><a href="/sw360/docs/deployment/deploy-configuration-files/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-files"><span class="">Configurable Property Keys</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-configuration-country-codes-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-configuration-country-codes-check"/> + <label for="m-sw360docsdeploymentdeploy-configuration-country-codes-check"><a href="/sw360/docs/deployment/deploy-configuration-country-codes/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-configuration-country-codes"><span class="">Configuring Country Codes</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-cve-search-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-cve-search-check"/> + <label for="m-sw360docsdeploymentdeploy-cve-search-check"><a href="/sw360/docs/deployment/deploy-cve-search/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-cve-search"><span class="">CVE Scheduler</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-docker-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-docker-check"/> + <label for="m-sw360docsdeploymentdeploy-docker-check"><a href="/sw360/docs/deployment/deploy-docker/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-docker"><span class="">Docker Deployment</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-export-and-import-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-export-and-import-check"/> + <label for="m-sw360docsdeploymentdeploy-export-and-import-check"><a href="/sw360/docs/deployment/deploy-export-and-import/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-export-and-import"><span class="">Export and Import</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-secure-deployment-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-secure-deployment-check"/> + <label for="m-sw360docsdeploymentdeploy-secure-deployment-check"><a href="/sw360/docs/deployment/deploy-secure-deployment/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-secure-deployment"><span class="">Security</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeploymentdeploy-requirements-li"> + <input type="checkbox" id="m-sw360docsdeploymentdeploy-requirements-check"/> + <label for="m-sw360docsdeploymentdeploy-requirements-check"><a href="/sw360/docs/deployment/deploy-requirements/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeploymentdeploy-requirements"><span class="">System Requirements</span></a></label> + +</li> + </ul> +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdevelopers-li"> + <input type="checkbox" id="m-sw360docsdevelopers-check"/> + <label for="m-sw360docsdevelopers-check"><a href="/sw360/docs/developers/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdevelopers"><i class="fab fa-github"></i><span class="">Development</span></a></label> + + <ul class="ul-2 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-backend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-backend/" title="How to add a backend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-backend"><span class="">Add backend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"/> + <label for="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend-check"><a href="/sw360/docs/developers/dev-adding-a-new-portlet-frontend/" title="How to add a frontend portlet to sw360" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-a-new-portlet-frontend"><span class="">Add frontend portlet</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-branches-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-branches-check"/> + <label for="m-sw360docsdevelopersdev-branches-check"><a href="/sw360/docs/developers/dev-branches/" title="SW360 Development Branches" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-branches"><span class="">Branches</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"/> + <label for="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes-check"><a href="/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/" title="How to add fields to an existing class" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-adding-new-fields-to-existing-classes"><span class="">Class new fields</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"/> + <label for="m-sw360docsdevelopersdev-external-documents-with-couchdb-check"><a href="/sw360/docs/developers/dev-external-documents-with-couchdb/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-external-documents-with-couchdb"><span class="">CouchDB External Documents</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-database-migration-using-costco-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-database-migration-using-costco-check"/> + <label for="m-sw360docsdevelopersdev-database-migration-using-costco-check"><a href="/sw360/docs/developers/dev-database-migration-using-costco/" title="Database migration using Costco" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-database-migration-using-costco"><span class="">Database Migration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-dod-and-style-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-dod-and-style-check"/> + <label for="m-sw360docsdevelopersdev-dod-and-style-check"><a href="/sw360/docs/developers/dev-dod-and-style/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-dod-and-style"><span class="">Definition of Done</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-filtering-in-portlets-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-filtering-in-portlets-check"/> + <label for="m-sw360docsdevelopersdev-filtering-in-portlets-check"><a href="/sw360/docs/developers/dev-filtering-in-portlets/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-filtering-in-portlets"><span class="">Filtering in Portlets</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-fossology-integration-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-fossology-integration-check"/> + <label for="m-sw360docsdevelopersdev-fossology-integration-check"><a href="/sw360/docs/developers/dev-fossology-integration/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-fossology-integration"><span class="">Fossology Integration</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-liferay-friendly-url-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-liferay-friendly-url-check"/> + <label for="m-sw360docsdevelopersdev-liferay-friendly-url-check"><a href="/sw360/docs/developers/dev-liferay-friendly-url/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-liferay-friendly-url"><span class="">Liferay Friendly</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-moderation-requests-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-moderation-requests-check"/> + <label for="m-sw360docsdevelopersdev-moderation-requests-check"><a href="/sw360/docs/developers/dev-moderation-requests/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-moderation-requests"><span class="">Moderation Requests</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-releasing-sw360-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-releasing-sw360-check"/> + <label for="m-sw360docsdevelopersdev-releasing-sw360-check"><a href="/sw360/docs/developers/dev-releasing-sw360/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-releasing-sw360"><span class="">Release and Versioning</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-rest-api-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-rest-api-check"/> + <label for="m-sw360docsdevelopersdev-rest-api-check"><a href="/sw360/docs/developers/dev-rest-api/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-rest-api"><span class="">REST API</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-role-authorisation-model-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-role-authorisation-model-check"/> + <label for="m-sw360docsdevelopersdev-role-authorisation-model-check"><a href="/sw360/docs/developers/dev-role-authorisation-model/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-role-authorisation-model"><span class="">Roles and Authorization</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-semantic-commits-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-semantic-commits-check"/> + <label for="m-sw360docsdevelopersdev-semantic-commits-check"><a href="/sw360/docs/developers/dev-semantic-commits/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-semantic-commits"><span class="">Semantic Commits</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-testing-frameworks-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-testing-frameworks-check"/> + <label for="m-sw360docsdevelopersdev-testing-frameworks-check"><a href="/sw360/docs/developers/dev-testing-frameworks/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-testing-frameworks"><span class="">Testing Frameworks</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-troubleshooting-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-troubleshooting-check"/> + <label for="m-sw360docsdevelopersdev-troubleshooting-check"><a href="/sw360/docs/developers/dev-troubleshooting/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-troubleshooting"><span class="">Troubleshooting</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-li"> + <input type="checkbox" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"/> + <label for="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules-check"><a href="/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/" title="Using RequireJS fro Javascript Modules" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdevelopersdev-using-requirejs-for-javascript-modules"><span class="">Using RequireJS</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-sw360docsdeveloperstestcases-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcases-check"/> + <label for="m-sw360docsdeveloperstestcases-check"><a href="/sw360/docs/developers/testcases/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-sw360docsdeveloperstestcases"><span class="">Test Cases</span></a></label> + + <ul class="ul-3 foldable"> + <li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-components-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-components-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-components-check"><a href="/sw360/docs/developers/testcases/test-cases-components/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-components"><span class="">Component / Release</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-licenses-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-licenses-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-licenses-check"><a href="/sw360/docs/developers/testcases/test-cases-licenses/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-licenses"><span class="">Licenses</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-moderations-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-moderations-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-moderations-check"><a href="/sw360/docs/developers/testcases/test-cases-moderations/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-moderations"><span class="">Moderation</span></a></label> + +</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-sw360docsdeveloperstestcasestest-cases-projects-li"> + <input type="checkbox" id="m-sw360docsdeveloperstestcasestest-cases-projects-check"/> + <label for="m-sw360docsdeveloperstestcasestest-cases-projects-check"><a href="/sw360/docs/developers/testcases/test-cases-projects/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-sw360docsdeveloperstestcasestest-cases-projects"><span class="">Projects</span></a></label> + +</li> + </ul> +</li> + </ul> +</li> + </ul> +</li> + </ul> + </nav> +</div> + + </aside> + <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"> + +<div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> +<a href="https://github.com/eclipse/sw360.website/tree/master/content/en/docs/Userguide/Workflows/_index.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a> + <a href="https://github.com/eclipse/sw360.website/edit/master/content/en/docs/Userguide/Workflows/_index.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a> + <a href="https://github.com/eclipse/sw360.website/new/master/content/en/docs/Userguide/Workflows/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A&#43;%22Long&#43;Page&#43;Title%22%0AlinkTitle%3A&#43;%22Short&#43;Nav&#43;Title%22%0Aweight%3A&#43;100%0Adescription%3A&#43;%3E-%0A&#43;&#43;&#43;&#43;&#43;Page&#43;description&#43;for&#43;heading&#43;and&#43;indexes.%0A---%0A%0A%23%23&#43;Heading%0A%0AEdit&#43;this&#43;template&#43;to&#43;create&#43;your&#43;new&#43;page.%0A%0A%2A&#43;Give&#43;it&#43;a&#43;good&#43;name%2C&#43;ending&#43;in&#43;%60.md%60&#43;-&#43;e.g.&#43;%60getting-started.md%60%0A%2A&#43;Edit&#43;the&#43;%22front&#43;matter%22&#43;section&#43;at&#43;the&#43;top&#43;of&#43;the&#43;page&#43;%28weight&#43;controls&#43;how&#43;its&#43;ordered&#43;amongst&#43;other&#43;pages&#43;in&#43;the&#43;same&#43;directory%3B&#43;lowest&#43;number&#43;first%29.%0A%2A&#43;Add&#43;a&#43;good&#43;commit&#43;message&#43;at&#43;the&#43;bottom&#43;of&#43;the&#43;page&#43;%28%3C80&#43;characters%3B&#43;use&#43;the&#43;extended&#43;description&#43;field&#43;for&#43;more&#43;detail%29.%0A%2A&#43;Create&#43;a&#43;new&#43;branch&#43;so&#43;you&#43;can&#43;preview&#43;your&#43;new&#43;file&#43;and&#43;request&#43;a&#43;review&#43;via&#43;Pull&#43;Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a> + <a href="https://github.com/eclipse/sw360.website/issues/new?title=Workflows" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a> + <a href="https://github.com/eclipse/sw360/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a> + +</div> + + + + +<div class="td-toc"><nav id="TableOfContents"> + <ul> + <li> + <ul> + <li><a href="#create-component-and-release">Create Component and Release</a></li> + <li><a href="#create-a-project">Create a Project</a></li> + <li><a href="#moderation">Moderation</a></li> + </ul> + </li> + </ul> +</nav></div> + + + + + + + + + + + + + + + + + + + + + + + + </aside> + <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> + + + + <nav aria-label="breadcrumb" class="td-breadcrumbs"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/">Documentation</a> + </li> + <li class="breadcrumb-item"> + <a href="https://www.eclipse.org/sw360/docs/userguide/">User Guides</a> + </li> + <li class="breadcrumb-item active" aria-current="page"> + <a href="https://www.eclipse.org/sw360/docs/userguide/workflows/">Workflows</a> + </li> + </ol> +</nav> + +<div class="td-content"> + <h1>Workflows</h1> + <div class="lead">SW360 User Workflows</div> + <header class="article-meta"> + + + + + + + + + + + + + + </header> + <p>This page is one of the basic user workflow documentation pages. It can give orientation how the sw360 can be used - as guidance or orientation. There is no particular need to follow these workflows, it is just one way. Workflows are shown as flow charts.</p> +<h3 id="create-component-and-release">Create Component and Release</h3> +<p>So, the user would like to create an entry for zlib-1.2.8 for example in sw360. The main thing to know (see page basic concepts)is that sw360 separates releases from components: the release is the zlib-1.2.8 but the component is the zlib. By this approach, components as a kind of container type in sw360, holding several releases.</p> +<p>Therefore, for a new component the user needs to create a component entry first, and then add a release to it. Just adding a release will not work. If a component with a different release already exists, the users add a release to the existing component.</p> +<p>The intended roles for this can be a developer that would like to start caring for an OSS component or release. In addition a project owner / project owner can care for the components and releases part of the product or process.</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images-workflow/worklfow-adding-component-and-release-to-a-project.png" alt="worklfow-adding-component-and-release-to-a-project"></p> +<h3 id="create-a-project">Create a Project</h3> +<p>A project is a structure to keep track on releases inside project, as well as other projects. Please note that a project can be also a product, depending on the type of business. the use of the term &lsquo;project&rsquo; is used also for subsuming the term &lsquo;product&rsquo;.</p> +<p>As for the integration case with the OSS software FOSSology, the project view allows for an overview, which of the used components have been analyzed with FOSSology already.</p> +<p>In the diagram, the &ldquo;clearing process&rdquo; is mentioned, because the clearing process affects the software components of a project. The main approach is the following:</p> +<ul> +<li>A project responsible sets up a project with used releases.</li> +<li>For the releases that were not analyzed before, the project responsible requests a clearing - source files can be transferred to FOSSology.</li> +<li>Once analyses for all releases are complete, the &ldquo;clearing process&rdquo; is finished for this project.</li> +</ul> +<p>A project it self does not need much information, it is just about the name and the version. Note that some of the information is like to be set at that time:</p> +<ul> +<li>Visibility level</li> +<li>Project contacts</li> +<li>Important Dates for the project</li> +</ul> +<p><img src="https://github.com/eclipse/sw360/wiki/images-workflow/workflow-add-project.png" alt="workflow-add-project"></p> +<h3 id="moderation">Moderation</h3> +<p>The moderation is the basic way of applying changes if the document is not created by someone else. In sw360 the following person can edit documents right away (without moderation request):</p> +<ul> +<li>The creator of a document (document is a project entry, a release entry etc)</li> +<li>Admins</li> +<li>Clearing admins</li> +<li>Moderators of this document</li> +<li>Other special roles, such as project responsible</li> +</ul> +<p>Please see the page <a href="https://github.com/eclipse/sw360/wiki/Dev-Role-Authorisation-Model">about the Role Authorization Model</a> for more information.</p> +<p>If the user who wishes to change a document and is not one of these, the moderator workflow kicks in. Then changes applied to the document are not really applied, but are sent to a moderator. Moderators are:</p> +<ul> +<li>The creator of a document (document is a project entry, a release entry etc)</li> +<li>Admins</li> +<li>Clearing admins</li> +<li>Moderators of this document</li> +</ul> +<p>The moderator can review, approve or decline the request. Then, the requesting user can delete the request. The moderator request workflow is shown below.</p> +<p><img src="https://github.com/eclipse/sw360/wiki/images-workflow/workflow-moderation.png" alt="workflow-moderation"></p> + + <div class="section-index"> + + + + + + + + + +</div> + + + + <div class="text-muted mt-5 pt-3 border-top"> + Last modified June 22, 2022: <a href="https://github.com/eclipse/sw360.website/commit/032e0f60817fa17b0036ac6db37d09342a714890">SW360 website remodeling (#9) (032e0f6)</a> +</div> + +</div> + + </main> + </div> + </div> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + + + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> + + + + + +<script src='/sw360/js/tabpane-persist.js'></script> + + + + + + + + + + + + + + + + + +<script src="/sw360/js/main.js"></script> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/userguide/workflows/index.xml b/docs/userguide/workflows/index.xml new file mode 100644 index 0000000..b6257d3 --- /dev/null +++ b/docs/userguide/workflows/index.xml @@ -0,0 +1,17 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Workflows</title> + <link>https://www.eclipse.org/sw360/docs/userguide/workflows/</link> + <description>Recent content in Workflows on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/docs/userguide/workflows/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + </channel> +</rss> diff --git a/favicons/android-144x144.png b/favicons/android-144x144.png new file mode 100644 index 0000000..3c59520 Binary files /dev/null and b/favicons/android-144x144.png differ diff --git a/favicons/android-192x192.png b/favicons/android-192x192.png new file mode 100644 index 0000000..304478e Binary files /dev/null and b/favicons/android-192x192.png differ diff --git a/favicons/android-36x36.png b/favicons/android-36x36.png new file mode 100644 index 0000000..556c58f Binary files /dev/null and b/favicons/android-36x36.png differ diff --git a/favicons/android-48x48.png b/favicons/android-48x48.png new file mode 100644 index 0000000..9ba2273 Binary files /dev/null and b/favicons/android-48x48.png differ diff --git a/favicons/android-72x72.png b/favicons/android-72x72.png new file mode 100644 index 0000000..8e7561f Binary files /dev/null and b/favicons/android-72x72.png differ diff --git a/favicons/android-96x96.png b/favicons/android-96x96.png new file mode 100644 index 0000000..fac53cd Binary files /dev/null and b/favicons/android-96x96.png differ diff --git a/favicons/android-chrome-192x192.png b/favicons/android-chrome-192x192.png new file mode 100644 index 0000000..304478e Binary files /dev/null and b/favicons/android-chrome-192x192.png differ diff --git a/favicons/android-chrome-512x512.png b/favicons/android-chrome-512x512.png new file mode 100644 index 0000000..b52b779 Binary files /dev/null and b/favicons/android-chrome-512x512.png differ diff --git a/favicons/android-chrome-maskable-192x192.png b/favicons/android-chrome-maskable-192x192.png new file mode 100644 index 0000000..5a5de36 Binary files /dev/null and b/favicons/android-chrome-maskable-192x192.png differ diff --git a/favicons/android-chrome-maskable-512x512.png b/favicons/android-chrome-maskable-512x512.png new file mode 100644 index 0000000..f52e86c Binary files /dev/null and b/favicons/android-chrome-maskable-512x512.png differ diff --git a/favicons/apple-touch-icon-120x120.png b/favicons/apple-touch-icon-120x120.png new file mode 100644 index 0000000..7f87882 Binary files /dev/null and b/favicons/apple-touch-icon-120x120.png differ diff --git a/favicons/apple-touch-icon-152x152.png b/favicons/apple-touch-icon-152x152.png new file mode 100644 index 0000000..7e74a5c Binary files /dev/null and b/favicons/apple-touch-icon-152x152.png differ diff --git a/favicons/apple-touch-icon-167x167.png b/favicons/apple-touch-icon-167x167.png new file mode 100644 index 0000000..6e8f592 Binary files /dev/null and b/favicons/apple-touch-icon-167x167.png differ diff --git a/favicons/apple-touch-icon-180x180.png b/favicons/apple-touch-icon-180x180.png new file mode 100644 index 0000000..03d0b51 Binary files /dev/null and b/favicons/apple-touch-icon-180x180.png differ diff --git a/favicons/apple-touch-icon-60x60.png b/favicons/apple-touch-icon-60x60.png new file mode 100644 index 0000000..0b8eabd Binary files /dev/null and b/favicons/apple-touch-icon-60x60.png differ diff --git a/favicons/apple-touch-icon-76x76.png b/favicons/apple-touch-icon-76x76.png new file mode 100644 index 0000000..65cce89 Binary files /dev/null and b/favicons/apple-touch-icon-76x76.png differ diff --git a/favicons/apple-touch-icon.png b/favicons/apple-touch-icon.png new file mode 100644 index 0000000..e1a00ba Binary files /dev/null and b/favicons/apple-touch-icon.png differ diff --git a/favicons/coast-228x228.png b/favicons/coast-228x228.png new file mode 100644 index 0000000..072cac2 Binary files /dev/null and b/favicons/coast-228x228.png differ diff --git a/favicons/favicon-1024.png b/favicons/favicon-1024.png new file mode 100644 index 0000000..920f107 Binary files /dev/null and b/favicons/favicon-1024.png differ diff --git a/favicons/favicon-128x128.png b/favicons/favicon-128x128.png new file mode 100644 index 0000000..7096f99 Binary files /dev/null and b/favicons/favicon-128x128.png differ diff --git a/favicons/favicon-16x16.png b/favicons/favicon-16x16.png new file mode 100644 index 0000000..097e069 Binary files /dev/null and b/favicons/favicon-16x16.png differ diff --git a/favicons/favicon-256.png b/favicons/favicon-256.png new file mode 100644 index 0000000..ebd3f8c Binary files /dev/null and b/favicons/favicon-256.png differ diff --git a/favicons/favicon-256x256.png b/favicons/favicon-256x256.png new file mode 100644 index 0000000..1a383ad Binary files /dev/null and b/favicons/favicon-256x256.png differ diff --git a/favicons/favicon-32x32.png b/favicons/favicon-32x32.png new file mode 100644 index 0000000..442d059 Binary files /dev/null and b/favicons/favicon-32x32.png differ diff --git a/favicons/favicon-48x48.png b/favicons/favicon-48x48.png new file mode 100644 index 0000000..9ba2273 Binary files /dev/null and b/favicons/favicon-48x48.png differ diff --git a/favicons/favicon-64x64.png b/favicons/favicon-64x64.png new file mode 100644 index 0000000..11c0c57 Binary files /dev/null and b/favicons/favicon-64x64.png differ diff --git a/favicons/favicon-96x96.png b/favicons/favicon-96x96.png new file mode 100644 index 0000000..fac53cd Binary files /dev/null and b/favicons/favicon-96x96.png differ diff --git a/favicons/favicon.ico b/favicons/favicon.ico new file mode 100644 index 0000000..78ae422 Binary files /dev/null and b/favicons/favicon.ico differ diff --git a/favicons/msapplication-icon-144x144.png b/favicons/msapplication-icon-144x144.png new file mode 100644 index 0000000..3c59520 Binary files /dev/null and b/favicons/msapplication-icon-144x144.png differ diff --git a/favicons/mstile-150x150.png b/favicons/mstile-150x150.png new file mode 100644 index 0000000..796e2d8 Binary files /dev/null and b/favicons/mstile-150x150.png differ diff --git a/favicons/pwa-192x192.png b/favicons/pwa-192x192.png new file mode 100644 index 0000000..94b2ad2 Binary files /dev/null and b/favicons/pwa-192x192.png differ diff --git a/favicons/pwa-512x512.png b/favicons/pwa-512x512.png new file mode 100644 index 0000000..89258a4 Binary files /dev/null and b/favicons/pwa-512x512.png differ diff --git a/favicons/tile150x150.png b/favicons/tile150x150.png new file mode 100644 index 0000000..f9e8c97 Binary files /dev/null and b/favicons/tile150x150.png differ diff --git a/favicons/tile310x150.png b/favicons/tile310x150.png new file mode 100644 index 0000000..ec2cac5 Binary files /dev/null and b/favicons/tile310x150.png differ diff --git a/favicons/tile310x310.png b/favicons/tile310x310.png new file mode 100644 index 0000000..c98fad1 Binary files /dev/null and b/favicons/tile310x310.png differ diff --git a/favicons/tile70x70.png b/favicons/tile70x70.png new file mode 100644 index 0000000..7096f99 Binary files /dev/null and b/favicons/tile70x70.png differ diff --git a/img/cyber-bg.jpg b/img/cyber-bg.jpg deleted file mode 100644 index 2136ee6..0000000 Binary files a/img/cyber-bg.jpg and /dev/null differ diff --git a/img/favicons.zip b/img/favicons.zip deleted file mode 100644 index 6bc1544..0000000 Binary files a/img/favicons.zip and /dev/null differ diff --git a/img/favicons/android-chrome-192x192.png b/img/favicons/android-chrome-192x192.png deleted file mode 100644 index 40481f5..0000000 Binary files a/img/favicons/android-chrome-192x192.png and /dev/null differ diff --git a/img/favicons/android-chrome-512x512.png b/img/favicons/android-chrome-512x512.png deleted file mode 100644 index 867e1b0..0000000 Binary files a/img/favicons/android-chrome-512x512.png and /dev/null differ diff --git a/img/favicons/apple-touch-icon.png b/img/favicons/apple-touch-icon.png deleted file mode 100644 index 9c8770a..0000000 Binary files a/img/favicons/apple-touch-icon.png and /dev/null differ diff --git a/img/favicons/browserconfig.xml b/img/favicons/browserconfig.xml deleted file mode 100644 index b3930d0..0000000 --- a/img/favicons/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<browserconfig> - <msapplication> - <tile> - <square150x150logo src="/mstile-150x150.png"/> - <TileColor>#da532c</TileColor> - </tile> - </msapplication> -</browserconfig> diff --git a/img/favicons/favicon-16x16.png b/img/favicons/favicon-16x16.png deleted file mode 100644 index 41eee1b..0000000 Binary files a/img/favicons/favicon-16x16.png and /dev/null differ diff --git a/img/favicons/favicon-32x32.png b/img/favicons/favicon-32x32.png deleted file mode 100644 index ac0b69f..0000000 Binary files a/img/favicons/favicon-32x32.png and /dev/null differ diff --git a/img/favicons/manifest.json b/img/favicons/manifest.json deleted file mode 100644 index 4fbe181..0000000 --- a/img/favicons/manifest.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "", - "icons": [ - { - "src": "/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} \ No newline at end of file diff --git a/img/favicons/mstile-150x150.png b/img/favicons/mstile-150x150.png deleted file mode 100644 index 3e77d4f..0000000 Binary files a/img/favicons/mstile-150x150.png and /dev/null differ diff --git a/img/favicons/safari-pinned-tab.svg b/img/favicons/safari-pinned-tab.svg deleted file mode 100644 index 299cf6a..0000000 --- a/img/favicons/safari-pinned-tab.svg +++ /dev/null @@ -1 +0,0 @@ -<svg version="1" xmlns="http://www.w3.org/2000/svg" width="1058.667" height="1058.667" viewBox="0 0 794.000000 794.000000"><path d="M187.8 2.7L0 3v789h792V3H614.3c-97.8 0-191.5-.2-208.3-.3-16.8-.2-115-.2-218.2 0z"/></svg> \ No newline at end of file diff --git a/img/featured-background.jpg b/img/featured-background.jpg new file mode 100644 index 0000000..8317024 Binary files /dev/null and b/img/featured-background.jpg differ diff --git a/img/fixed-background-2.jpg b/img/fixed-background-2.jpg deleted file mode 100644 index 5d41ebb..0000000 Binary files a/img/fixed-background-2.jpg and /dev/null differ diff --git a/img/logos/logo_full.svg b/img/logos/logo_full.svg new file mode 100644 index 0000000..782095e --- /dev/null +++ b/img/logos/logo_full.svg @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="634.57513mm" + height="202.94498mm" + viewBox="0 0 634.57513 202.94498" + version="1.1" + id="svg830" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + sodipodi:docname="sw360_full_logo.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview832" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:pageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:document-units="mm" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="0.52025814" + inkscape:cx="1229.1975" + inkscape:cy="402.68471" + inkscape:window-width="3440" + inkscape:window-height="1367" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer1"> + <sodipodi:guide + position="56.537804,145.64258" + orientation="0,-1" + id="guide15260" /> + <sodipodi:guide + position="238.01927,19.404216" + orientation="0,-1" + id="guide15262" /> + </sodipodi:namedview> + <defs + id="defs827" /> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(753.67751,110.61872)"> + <g + id="g945"> + <g + id="g6420" + transform="translate(-693.20447,-111.97594)"> + <path + style="fill:#ffffff;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 1.8459941,62.242935 4.4223516,-20.705162 72.6669963,-0.452154 12.238303,12.63334 38.161595,-0.378038 1.24028,2.021144 0.82,1.733729 0.97536,2.062235 20.51378,4.031117 -1.87991,113.157204 -137.793099,1.98596 -27.941636,-14.37987 -0.742992,-99.702466 z" + id="path2237" + sodipodi:nodetypes="cccccccccccccc" /> + <path + style="fill:#f49523;stroke-width:0.282222" + d="m 33.176975,204.12248 c -7.85984,-0.64495 -16.91964,-2.50948 -24.55334,-5.05317 -13.466587,-4.4873 -27.073941,-12.65571 -37.102367,-22.27232 -9.381841,-8.99658 -15.949067,-17.81888 -21.479107,-28.85466 -5.032511,-10.04292 -8.224178,-20.52836 -9.866784,-32.41493 -0.623537,-4.51217 -0.85969,-16.167151 -0.429987,-21.221461 2.090161,-24.585182 12.781181,-47.16505 30.481452,-64.378064 C -13.741233,14.337282 6.612455,4.6634107 29.225865,1.8863339 c 6.19217,-0.7604402 18.04619,-0.6909356 24.27111,0.1423106 26.95543,3.6081602 50.054515,16.6389655 66.868135,37.7220865 4.1342,5.183999 9.33375,13.234337 8.85621,13.711872 -0.1574,0.157406 -9.29432,0.232751 -22.9516,0.189263 L 83.646853,53.768735 82.857715,51.46295 c -1.229209,-3.591627 -2.90963,-5.525475 -6.01095,-6.897024 -3.05957,-1.353092 -4.0069,-1.428747 -17.84646,-1.425276 -14.15144,0.0036 -15.03808,0.08612 -18.21599,1.696489 -3.90308,1.977842 -6.04782,5.9436 -6.25438,11.5647 l -0.083,2.257778 60.97243,0.141111 c 57.580795,0.133262 61.014585,0.168732 61.730245,0.637658 1.74546,1.143703 1.62705,-3.631159 1.54759,62.410224 l -0.0725,60.24621 -0.83062,0.86697 c -0.45684,0.47683 -1.28234,0.99246 -1.83444,1.14583 -0.62865,0.17464 -11.04973,0.27945 -27.88234,0.28043 l -26.87852,0.002 -1.672375,1.27185 c -4.05524,3.08392 -11.40046,7.25707 -17.60595,10.00261 -9.12592,4.03764 -19.52182,6.87238 -29.55242,8.05832 -4.65381,0.55023 -14.78621,0.76139 -19.19111,0.39995 z m 117.899055,-82.5102 c 0.0568,-43.600999 -5.7e-4,-54.77967 -0.28223,-54.95846 -0.40781,-0.258936 -130.325855,-0.320207 -130.999305,-0.06178 -0.40494,0.155392 -0.44641,5.250104 -0.44641,54.84519 0,30.07063 0.0849,54.75882 0.18874,54.86262 0.10381,0.10381 29.72656,0.15673 65.82834,0.1176 l 65.639585,-0.0711 z m -78.952385,30.1835 c -7.05468,-1.46976 -11.08677,-5.22223 -12.89126,-11.99726 -0.38109,-1.43079 -0.49143,-3.04544 -0.50145,-7.33778 l -0.0128,-5.50334 h 28.36333 28.363335 l -0.008,5.50334 c -0.008,6.16268 -0.26489,7.6256 -1.96949,11.23484 -1.77213,3.75221 -5.28206,6.49693 -10.01741,7.83347 -1.64939,0.46554 -3.22948,0.52438 -15.663325,0.58334 -10.74675,0.051 -14.23775,-0.0196 -15.66334,-0.31661 z m -60.39556,-31.41415 c 0,-41.066477 -0.0776,-53.361215 -0.33867,-53.622231 -0.48655,-0.486551 -22.825005,-0.486551 -23.311557,0 -0.260705,0.260706 -0.338666,11.197639 -0.338666,47.510711 0,44.57348 0.02721,47.19577 0.493889,47.60286 0.773503,0.67473 22.447854,11.78236 23.001114,11.78757 0.46864,0.004 0.49389,-2.71905 0.49389,-53.27891 z m -0.22462,-63.415343 c 0.79724,-6.702849 1.37258,-8.927036 3.08209,-11.91494 l 0.9041,-1.580216 -1.49551,0.177123 c -1.81727,0.215228 -4.59864,1.475364 -6.02966,2.731818 -2.11683,1.8586 -3.43464,5.058311 -3.827569,9.293533 C 3.998949,57.16069 3.945815,58.476371 4.01884,58.597334 4.09187,58.7183 5.760465,58.7818 7.726835,58.738445 l 3.57523,-0.07882 z m 15.36793,-1.514656 c 0.44272,-4.248666 1.05149,-6.616133 2.38261,-9.265816 0.60541,-1.205103 1.10075,-2.306004 1.10075,-2.446449 0,-0.459119 -2.62687,0.09103 -4.40279,0.922088 -0.95405,0.446453 -2.23978,1.268101 -2.85718,1.825885 -1.24613,1.125804 -2.66992,3.599657 -3.18431,5.532772 -0.39593,1.487949 -0.87547,6.220156 -0.66485,6.560945 0.0803,0.129918 1.75373,0.200744 3.71874,0.157389 l 3.57275,-0.07882 z" + id="path1998" + sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs" /> + <path + style="fill:#5c8da7;stroke-width:0.282222" + d="m 33.176975,204.12248 c -7.85984,-0.64495 -16.91964,-2.50948 -24.55334,-5.05317 -13.466587,-4.4873 -27.073941,-12.65571 -37.102367,-22.27232 -9.381841,-8.99658 -15.949067,-17.81888 -21.479107,-28.85466 -5.032511,-10.04292 -8.224178,-20.52836 -9.866784,-32.41493 -0.623537,-4.51217 -0.85969,-16.167151 -0.429987,-21.221461 2.090161,-24.585182 12.781181,-47.16505 30.481452,-64.378064 C -13.741233,14.337282 6.612455,4.6634107 29.225865,1.8863339 c 6.19217,-0.7604402 18.04619,-0.6909356 24.27111,0.1423106 26.95543,3.6081602 50.054515,16.6389655 66.868135,37.7220865 3.91563,4.90993 9.2604,13.118448 8.91044,13.684696 -0.11601,0.187692 -6.6641,0.284988 -19.13912,0.284379 l -18.962785,-8.47e-4 -0.47802,-2.464074 c -0.60096,-3.097872 -2.47231,-6.949432 -4.45025,-9.159461 -2.70181,-3.018835 -6.41755,-5.008183 -11.33459,-6.068359 -2.19116,-0.472443 -4.44575,-0.509668 -30.86826,-0.509668 -30.95311,0 -30.56147,-0.01772 -34.97188,1.582886 -6.917178,2.510361 -11.36541,8.335092 -12.330139,16.145674 -0.156873,1.270071 -0.373094,3.007719 -0.480491,3.861441 l -0.195267,1.552223 -6.773334,0.141111 c -7.522989,0.156729 -7.835734,0.232195 -8.724576,2.10529 -0.403645,0.850621 -0.447647,6.018542 -0.447647,52.576188 v 51.63283 l 0.639093,0.94836 c 0.798652,1.18511 1.112113,1.35942 18.943778,10.53395 l 14.643983,7.53444 42.78824,0.005 c 23.53354,0.003 43.034445,0.10232 43.335345,0.22182 0.47409,0.1883 0.32383,0.38222 -1.126255,1.45346 -4.32417,3.19444 -11.33529,7.15921 -17.42287,9.85259 -9.12592,4.03764 -19.52182,6.87238 -29.55242,8.05832 -4.65381,0.55023 -14.78621,0.76139 -19.19111,0.39995 z" + id="path1996" /> + <path + style="fill:#305e7c;stroke-width:0.287592" + d="m 34.094199,204.09613 c -4.90274,-0.2941 -5.851578,-0.31957 -13.836339,-1.79966 C 13.133291,200.97583 4.8525671,198.07041 0.16057245,195.84612 -2.8249008,190.4424 -10.10013,177.69478 -14.474916,169.25443 l 29.942445,14.77436 42.85689,0.14654 c 39.43972,0.13484 42.815151,0.18416 42.333341,0.61852 -1.056251,0.95222 -5.694201,4.03952 -8.990231,5.98443 -11.34385,6.69377 -24.80609,11.26496 -37.95889,12.88922 -4.49801,0.55547 -15.597035,0.66962 -19.61444,0.42863 z" + id="path1994" + sodipodi:nodetypes="sscccsssss" /> + </g> + <g + aria-label="S" + transform="scale(1.0330982,0.96796221)" + id="text2479" + style="font-weight:bold;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0px;word-spacing:0px;fill:#f49523;stroke-width:0.737771"> + <path + d="m -480.05316,31.80206 q 0,4.426625 0.27666,8.645752 0.27667,4.149961 1.24499,7.469929 1.03749,3.319969 2.90497,5.394949 1.93665,2.074981 5.18745,2.282479 7.46993,0 7.46993,-9.54491 0,-13.00321 -14.73236,-26.006421 l -7.81576,-6.639937 q -3.31997,-2.76664 -6.84743,-5.8791108 -3.52747,-3.1816366 -6.43244,-7.26243131 -2.90497,-4.14996069 -4.84162,-9.54490969 -1.86748,-5.3949492 -1.86748,-12.6573802 0,-7.539095 2.55914,-13.625704 2.55914,-6.086609 7.1241,-10.305736 4.63412,-4.288293 11.06656,-6.570771 6.5016,-2.282479 14.38653,-2.282479 6.57077,0 12.31155,2.559143 5.80994,2.559142 10.09824,6.916601 4.35746,4.357459 6.84743,10.23657 2.48998,5.809945 2.48998,12.380716 l -0.0692,2.974138 -26.00642,3.596633 q 0,-0.414996 0,-1.03749 0.0692,-0.622494 0.0692,-1.314154 0.0692,-0.760827 0.0692,-1.452487 0.0692,-0.69166 0.0692,-1.244988 0,-2.282478 -0.34583,-4.772455 -0.34583,-2.559142 -1.24499,-4.634122 -0.82999,-2.144147 -2.42081,-3.527467 -1.52165,-1.38332 -3.94246,-1.38332 -2.07498,0 -3.6658,0.899158 -1.52165,0.899158 -2.55914,2.42081 -1.03749,1.521652 -1.59082,3.527467 -0.48416,1.936648 -0.48416,4.080795 0,3.11247 0.69166,5.740779 0.69166,2.559142 2.07498,4.910786 1.38332,2.351645 3.31997,4.4957912 2.00581,2.1441464 4.56495,4.2882928 l 9.19908,7.8849253 q 4.97996,4.3574588 9.06075,8.9224157 4.14996,4.564957 7.1241,9.683242 2.97414,5.118284 4.56496,10.997396 1.65998,5.809945 1.65998,12.726546 0,6.501605 -2.55914,11.96572 -2.48998,5.464115 -6.84744,9.406577 -4.28829,3.942463 -10.1674,6.155776 -5.80995,2.213312 -12.44988,2.213312 -8.78409,0 -15.21653,-3.112471 -6.43243,-3.11247 -10.78989,-8.369087 -4.2883,-5.325783 -6.50161,-12.173218 -2.21331,-6.916601 -2.55914,-14.524863 z" + id="path871" /> + </g> + <g + aria-label="W" + transform="scale(1.0056781,0.99435395)" + id="text2479-6" + style="font-weight:bold;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0px;word-spacing:0px;fill:#f49523;stroke-width:0.755582"> + <path + d="m -445.9168,-54.090165 h 21.95899 l 7.93357,84.435855 10.90866,-84.435855 h 18.91306 l 10.69616,83.940007 8.28775,-83.940007 h 22.02982 l -17.85053,127.503808 h -22.02983 l -10.69615,-83.444159 -10.48365,83.444159 h -22.02982 z" + id="path892" /> + </g> + <g + aria-label="360" + transform="scale(0.99303949,1.0070093)" + id="text12214" + style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0px;word-spacing:0px;fill:#5c8da7;stroke-width:0.350408"> + <path + d="m -306.09117,72.145338 q -8.21267,0 -14.02998,-2.532241 -5.81731,-2.532242 -9.51302,-6.843897 -3.6957,-4.311654 -5.40668,-10.128966 -1.71097,-5.817312 -1.71097,-12.387452 v -4.380094 h 17.52037 q 0,6.570141 0.82127,10.813356 0.82127,4.243216 2.4638,6.707019 1.64254,2.463802 4.10634,3.421948 2.4638,0.958145 5.74887,0.958145 3.28508,0 5.74888,-0.958145 2.4638,-0.958146 4.10634,-3.421948 1.64253,-2.463803 2.4638,-6.707019 0.82127,-4.243215 0.82127,-10.813356 0,-4.927605 -0.88971,-8.965504 -0.88971,-4.037899 -2.94288,-6.912335 -2.05317,-2.874436 -5.40667,-4.448532 -3.35351,-1.574097 -8.28112,-1.574097 V -3.5481539 q 4.92761,0 8.28112,-0.8897065 3.3535,-0.8897065 5.40667,-2.9428754 2.05317,-2.0531688 2.94288,-5.4066782 0.88971,-3.353509 0.88971,-8.281114 0,-4.927605 -0.82127,-8.281115 -0.82127,-3.353509 -2.4638,-5.406678 -1.64254,-2.053168 -4.10634,-2.942875 -2.4638,-0.889706 -5.74888,-0.889706 -3.28507,0 -5.74887,0.958145 -2.4638,0.958145 -4.10634,3.421948 -1.64253,2.463803 -2.4638,6.707018 -0.82127,4.243216 -0.82127,10.813356 h -17.52037 v -4.380093 q 0,-6.570141 1.71097,-12.387452 1.71098,-5.817312 5.40668,-10.128967 3.69571,-4.311654 9.51302,-6.843896 5.81731,-2.532242 14.02998,-2.532242 8.21268,0 14.02999,2.532242 5.81731,2.532242 9.51302,6.843896 3.6957,4.311655 5.40668,10.128967 1.71097,5.817311 1.71097,12.387452 0,6.57014 -1.77941,11.2239896 -1.71098,4.5854105 -4.3801,7.6651638 -2.60068,3.07975326 -5.68043,4.8591663 -3.01131,1.710974 -5.68043,2.5322416 2.66912,0.8897065 5.68043,2.8744364 3.07975,1.9162913 5.68043,5.4751173 2.66912,3.490387 4.3801,8.965504 1.77941,5.475117 1.77941,13.345597 0,8.212676 -1.71097,14.919694 -1.71098,6.707018 -5.40668,11.429307 -3.69571,4.722288 -9.51302,7.322969 -5.81731,2.60068 -14.02999,2.60068 z" + id="path846" /> + <path + d="m -229.43952,72.145338 q -6.57015,0 -12.18214,-2.669119 -5.61199,-2.66912 -9.71833,-7.802042 -4.10634,-5.132922 -6.43326,-12.729647 -2.32693,-7.596725 -2.32693,-17.451935 V -7.9282475 q 0,-9.8552105 1.71097,-18.1363245 1.71098,-8.281115 5.40668,-14.235305 3.69571,-5.954189 9.51302,-9.307698 5.81731,-3.35351 14.02999,-3.35351 6.57014,0 12.18213,1.916291 5.612,1.916291 9.71833,5.817312 4.10634,3.901021 6.43327,9.92365 2.32692,6.022628 2.32692,14.235304 h -17.52037 q 0,-4.927605 -0.82127,-8.281115 -0.75283,-3.353509 -2.39537,-5.406678 -1.64253,-2.053168 -4.10633,-2.942875 -2.46381,-0.889706 -5.81731,-0.889706 -13.14029,0 -13.14029,26.280561 V 5.2120333 q 0.75283,-1.3003403 2.05317,-2.8059975 1.36878,-1.5740961 3.49039,-2.87443638 2.12161,-1.36877922 5.06448,-2.19004682 2.94288,-0.8897065 6.91234,-0.8897065 8.21267,0 13.3456,3.01131436 5.13292,3.01131434 8.00736,7.93891964 2.87443,4.9276049 3.90102,11.2239899 1.02658,6.296384 1.02658,12.866525 0,8.212675 -1.71097,15.604083 -1.71098,7.391408 -5.40668,12.934964 -3.69571,5.543556 -9.51302,8.828626 -5.81731,3.28507 -14.02998,3.28507 z m -13.14029,-36.27265 q 0,4.927606 0.82127,8.965504 0.82127,4.037899 2.4638,6.912336 1.64254,2.874436 4.10634,4.448532 2.46381,1.574096 5.74888,1.574096 3.28507,0 5.74887,-1.574096 2.4638,-1.574096 4.10634,-4.448532 1.64253,-2.874437 2.4638,-6.912336 0.82127,-4.037898 0.82127,-8.965504 0,-4.927605 -0.20532,-9.649893 -0.20532,-4.722289 -1.43722,-8.417993 -1.2319,-3.695704 -3.90102,-5.954189 -2.66912,-2.2584862 -7.59672,-2.2584862 -2.66912,0 -4.79073,0.8897062 -2.05317,0.821268 -3.69571,2.190047 -1.64253,1.30034 -2.80599,2.874437 -1.16347,1.505657 -1.84786,2.805997 z" + id="path848" /> + <path + d="m -150.59783,72.145338 q -5.88576,0 -11.42931,-1.98473 -5.54356,-2.053169 -9.85521,-6.433262 -4.24322,-4.380094 -6.8439,-11.22399 -2.53224,-6.912335 -2.53224,-16.630668 v -52.561123 q 0,-8.281114 1.64254,-14.166865 1.71097,-5.88575 4.38009,-9.923649 2.66912,-4.037899 6.02263,-6.433263 3.35351,-2.395363 6.77545,-3.695704 3.42195,-1.30034 6.50171,-1.642535 3.14819,-0.410634 5.33824,-0.410634 2.19004,0 5.2698,0.410634 3.14819,0.342195 6.57014,1.642535 3.42194,1.300341 6.77545,3.695704 3.35351,2.395364 6.02263,6.433263 2.66912,4.037899 4.31166,9.923649 1.71097,5.885751 1.71097,14.166865 v 52.561123 q 0,9.718333 -2.60068,16.630668 -2.53224,6.843896 -6.8439,11.22399 -4.24321,4.380093 -9.78677,6.433262 -5.54355,1.98473 -11.4293,1.98473 z m 0,-14.372182 q 2.87443,0 4.99604,-1.095023 2.12161,-1.095024 3.55883,-2.874437 1.43721,-1.779413 2.32692,-4.106337 0.95815,-2.326925 1.43722,-4.722289 0.47907,-2.463802 0.61595,-4.790727 0.20532,-2.395364 0.20532,-4.311655 v -52.561123 q 0,-1.98473 -0.13688,-4.380093 -0.0684,-2.395364 -0.54751,-4.790728 -0.41064,-2.463802 -1.2319,-4.722288 -0.82127,-2.326925 -2.32693,-4.106338 -1.43722,-1.779413 -3.62726,-2.805997 -2.19005,-1.095023 -5.2698,-1.095023 -3.07976,0 -5.2698,1.095023 -2.19005,1.026584 -3.69571,2.805997 -1.43722,1.779413 -2.25848,4.106338 -0.82127,2.258486 -1.30034,4.722288 -0.41064,2.395364 -0.54752,4.790728 -0.0684,2.395363 -0.0684,4.380093 v 52.561123 q 0,1.916291 0.13688,4.311655 0.20532,2.326925 0.68439,4.790727 0.47907,2.395364 1.36878,4.722289 0.95815,2.326924 2.39537,4.106337 1.43721,1.779413 3.55882,2.874437 2.12161,1.095023 4.99605,1.095023 z" + id="path850" /> + </g> + </g> + </g> +</svg> diff --git a/img/photogrid.jpg b/img/photogrid.jpg deleted file mode 100644 index 137e111..0000000 Binary files a/img/photogrid.jpg and /dev/null differ diff --git a/img/sw360-h-208x79.png b/img/sw360-h-208x79.png deleted file mode 100644 index 438ad12..0000000 Binary files a/img/sw360-h-208x79.png and /dev/null differ diff --git a/img/sw360-icon.png b/img/sw360-icon.png deleted file mode 100644 index 5a3a4a6..0000000 Binary files a/img/sw360-icon.png and /dev/null differ diff --git a/img/sw360-logo-icon.png b/img/sw360-logo-icon.png deleted file mode 100644 index 5c9eca0..0000000 Binary files a/img/sw360-logo-icon.png and /dev/null differ diff --git a/img/sw360.png b/img/sw360.png deleted file mode 100644 index 87eb27a..0000000 Binary files a/img/sw360.png and /dev/null differ diff --git a/img/texture-green.png b/img/texture-green.png deleted file mode 100644 index 21b9231..0000000 Binary files a/img/texture-green.png and /dev/null differ diff --git a/img/texture-turquoise.png b/img/texture-turquoise.png deleted file mode 100644 index 8da5351..0000000 Binary files a/img/texture-turquoise.png and /dev/null differ diff --git a/img/texture-violet.png b/img/texture-violet.png deleted file mode 100644 index 81a4e1a..0000000 Binary files a/img/texture-violet.png and /dev/null differ diff --git a/index.html b/index.html index 41b603e..8850c09 100644 --- a/index.html +++ b/index.html @@ -1,406 +1,464 @@ -<!DOCTYPE html> -<html lang="en-us"> - +<!doctype html> +<html lang="en" class="no-js"> <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Eclipse SW360</title> - <meta name="author" content="" /> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/index.xml"> +<meta name="robots" content="noindex, nofollow"> - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - <meta name="description" content="Eclipse SW360 community website"> - +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> + +<title>Eclipse SW360</title> +<meta name="description" content=" - <meta name="generator" content="Hugo 0.42.1" /> - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - <meta property="og:title" content="Eclipse SW360" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - + + + + + + + + + - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> + + + - <body> - <div id="all"> + + Software …"> +<meta property="og:title" content="SW360" /> +<meta property="og:description" content="Eclipse SW360 official website" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/" /><meta property="og:site_name" content="Eclipse SW360" /> - <div> - <header> +<meta itemprop="name" content="SW360"> +<meta itemprop="description" content="Eclipse SW360 official website"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="SW360"/> +<meta name="twitter:description" content="Eclipse SW360 official website"/> - -<div id="top"> - <div class="container"> - <div class="row"> - <div class="col-xs-5"> - <p class="hidden-sm hidden-xs">Contact us on <a href="mailto:sw360-dev@eclipse.org">sw360-dev@eclipse.org</a></p> - <p class="hidden-md hidden-lg"><a href="#" data-animate-hover="pulse"><i class="fa fa-phone"></i></a> - <a href="#" data-animate-hover="pulse"><i class="fa fa-envelope"></i></a> - </p> - - </div> - <div class="col-xs-7"> - <div class="social"> - - <a href="https://github.com/eclipse/sw360" target="_blank" style="opacity: 1;"><i class='fa fa-2x fa-github'></i></a> - - <a href="mailto:sw360-dev@eclipse.org" target="_blank" style="opacity: 1;"><i class='fa fa-2x fa-envelope'></i></a> - - </div> - </div> - </div> - </div> -</div> - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> +<link href="/sw360/scss/main.css" rel="stylesheet"> - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 logo" class="visible-xs visible-sm"> - <span class="sr-only">Eclipse SW360 - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - + </head> + <body class="td-home"> + <header> + - <div class="collapse clearfix" id="search"> +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark td-navbar-cover flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + + style="display: none;" + + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/docs/" ><span>Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-default td-outer"> + <main role="main" class="td-main"> + - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> - - </div> - </div> - -</div> - </header> - </div> - <div id="content"> - -<section> - <div class="home-carousel"> - <div class="dark-mask"></div> - <div class="container"> - <div class="homepage owl-carousel"> - - <div class="item"> - <div class="row"> - <div class="col-sm-5 right"> - <h1>Eclipse SW360</h1> - <p>provides a central hub</p> - </div> - <div class="col-sm-7"> - <img class="img-responsive" src="img/carousel/sw360-slide-01.jpg" alt=""> - </div> - </div> - </div> - - <div class="item"> - <div class="row"> - <div class="col-sm-5 right"> - <h1>Eclipse SW360</h1> - <p>helps with keeping track of software components </p> - </div> - <div class="col-sm-7"> - <img class="img-responsive" src="img/carousel/sw360-slide-02.jpg" alt=""> - </div> - </div> - </div> - - <div class="item"> - <div class="row"> - <div class="col-sm-5 right"> - <h1>Eclipse SW360</h1> - <p>helps your company to manage software component insights</p> - </div> - <div class="col-sm-7"> - <img class="img-responsive" src="img/carousel/sw360-slide-03.jpg" alt=""> - </div> - </div> - </div> - - </div> +<section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-full js-td-cover td-overlay td-overlay--dark -bg-orange"> + <div class="container td-overlay__inner"> + <div class="row"> + <div class="col-12"> + <div class="text-center"> + + + <div class="pt-3 lead"> - </div> - </div> -</section> - + +<div class="row align-items-center"> + <div class="col-lg-6"> + <h4> + +<figure> + <img src="../img/logos/logo_full.svg" width="400"/> +</figure> + <p class="display-2 mb-0"> + Software supply chain management done right ! + </p> + </h4> + </div> + <div class="col-lg-6 mt-5 mt-lg-3 d-sm-block" style="display: none"> + +<figure> + <img src="../img/sw360screenshots/sw360screenshot-home.png" width="500"/> +</figure> + </div> +</div> - - +<div class="display-cover mt-5"> + <p> + SW360 is an open source software project licensed under the EPL-1.0 that + provides both a web application and a repository to collect, organize and + make available information about software components. It establishes a + central hub for software components in an organization. + </p> +</div> +<div class="mx-auto mt-5"> + <a class="btn btn-lg btn-primary mr-3 mb-4" href="#vision-section"> + <span style="font-size: larger; font-weight: bolder;">Our Vision</span> + </a> +</div> + -<section class="bar background-image-fixed-2 no-mb color-white text-center"> - <div class="dark-mask"></div> - <div class="container"> - <div class="col-md-12"> - - <div class="heading text-center"> - <h2>Eclipse SW360 - About</h2> - </div> - <p class="lead">In most cases, software today is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges: - Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc. Sharing knowledge about software components and their qualities. For example, which software components should be recommended, which should be phased out based on which criteria?</p> - <p class="read-more"> - <a href="https://www.eclipse.org/sw360/about/" class="btn btn-template-main">Continue reading</a> - </p> - + + </div> </div> + </div> </div> - + </div> + </section> +<a id="vision-section" class="td-offset-anchor"></a> +<section class="row td-box td-box--secondary td-box--gradient td-box--height-auto"> + <div class="col"> + <div class="row"> + <div class="col-lg-6 mb-5 mb-lg-0 text-center"> +<div class="mb-4 h1"> + <i class="fas fa-lightbulb"></i> +</div> +<h3 class="vision-title">Central SW Component Database</h3> +<div class="vision-description mb-5"> +360 degree coverage for SW development beside the ‚Coding‘ as the Central SW + component database - +</div> +</div> - +<div class="col-lg-6 mb-5 mb-lg-0 text-center"> +<div class="mb-4 h1"> + <i class="fas fa-lightbulb"></i> +</div> +<h3 class="vision-title">E2E Integration for Software Compliance</h3> +<div class="vision-description mb-5"> - +Having a stable, precise, transparent, controllable and easy extendable OSS toolchain for + long term running +</div> - +</div> -<section class="bar background-white no-mb"> - <div class="container"> - <div class="col-md-12"> - <div class="heading text-center"> - <h2>Our latest news</h2> - </div> + </div> + <div class="row"> +<div class="col-lg-6 mb-5 mb-lg-0 text-center"> +<div class="mb-4 h1"> + <i class="fas fa-lightbulb"></i> +</div> +<h3 class="vision-title">Long Term Controlled OSS Toolchain</h3> +<div class="vision-description mb-5"> - <p class="lead"> - - </p> +As automated + as possible, end-to-end compliance (Legal, Security/SBOM, Export Control) + tool-chain, seamlessly integrated in the SW development process (e.g. + DevOps) - +</div> - <div class="row"> +</div> - - - <div class="col-md-3 col-sm-6"> - <div class="box-image-text blog"> - <div class="top"> - <div class="image" style="overflow:hidden"> - - <img src="https://www.eclipse.org/sw360/img/banners/banner-1.jpg" class="img-responsive" alt="" > - - </div> - <div class="bg"></div> - <div class="text"> - <p class="buttons"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-transparent-primary"><i class="fa fa-link"></i> Read more</a> - </p> - </div> - </div> - - <div class="content"> - <h4><a href="https://www.eclipse.org/sw360/blog/ecf2017/">Eclipse Con France 2017 Talk</a></h4> - <p class="author-category"> - - on July 11, 2017 - </p> - <p class="intro"> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </p> - <p class="read-more"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-main">Continue reading</a> - </p> - </div> - </div> - - - </div> - - </div> - +<div class="col-lg-6 mb-5 mb-lg-0 text-center"> +<div class="mb-4 h1"> + <i class="fas fa-lightbulb"></i> +</div> +<h3 class="vision-title">Embracing New Technologies</h3> +<div class="vision-description mb-5"> - +Enable easy onboarding of + new technolgies and new tools (e.g. container, new kind of packages) + +</div> + +</div> - </div> </div> - + </div> </section> + </main> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> - </div> - - <div id="bottom"> - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - </div> - -</footer> +<script src='/sw360/js/tabpane-persist.js'></script> -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - @@ -412,29 +470,15 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - </div> - </div> - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> +<script src="/sw360/js/main.js"></script> -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> </body> -</html> +</html> \ No newline at end of file diff --git a/index.xml b/index.xml index 7e7f965..b44cd76 100644 --- a/index.xml +++ b/index.xml @@ -1,63 +1,16 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> - <title>Eclipse SW360</title> + <title>Eclipse SW360 – SW360</title> <link>https://www.eclipse.org/sw360/</link> - <description>Recent content on Eclipse SW360</description> + <description>Recent content in SW360 on Eclipse SW360</description> <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Wed, 29 May 2019 14:38:06 +0200</lastBuildDate> - <atom:link href="https://www.eclipse.org/sw360/index.xml" rel="self" type="application/rss+xml" /> + <atom:link href="https://www.eclipse.org/sw360/index.xml" rel="self" type="application/rss+xml" /> - <item> - <title>Eclipse SW360 - Screenshots</title> - <link>https://www.eclipse.org/sw360/screenshots/</link> - <pubDate>Wed, 29 May 2019 14:38:06 +0200</pubDate> - <guid>https://www.eclipse.org/sw360/screenshots/</guid> - <description>A picture is worth a thousand words The SW360 application is divided into several sections around managing a catalogue of software components and the software bill-of-material of your software projects, products or services. The menu bar as shown on home screen cover the following main sections. -Home A dashboard listing the components and projects created by the user logged in. With this overview, the own projects and components can be directly accessed.</description> - </item> - - <item> - <title>Eclipse SW360 - Presentations</title> - <link>https://www.eclipse.org/sw360/presentations/</link> - <pubDate>Mon, 10 Sep 2018 16:06:41 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/presentations/</guid> - <description>Events and Presentations 2018 Bitkom Forum Open Source 2018: &amp;ldquo;Eclipse SW360 – Lessons Learned From Automated License Compliance&amp;rdquo; (Johannes Kristan, Bosch Software Innovations GmbH &amp;amp; Michael C. Jaeger, Siemens AG) Inner Source Commons 2018: &amp;ldquo;Committing to Change: Inner Source at Siemens&amp;rdquo; (Karsten Gerloff, Siemens AG) The Free Software Legal and Licensing Workshop 2018: &amp;ldquo;Eclipse SW360: Generating License Information for Products with SDPX Docs&amp;rdquo; (Michael C. Jaeger, Siemens AG) Yanking the Chain: Open Source Software Compliance in the Supply Chain: &amp;ldquo;Eclipse SW360 – Open Source Management with Open Source&amp;rdquo; (Michael C.</description> - </item> - - <item> - <title>Eclipse SW360 - Resources</title> - <link>https://www.eclipse.org/sw360/resources/</link> - <pubDate>Thu, 06 Sep 2018 14:38:06 +0200</pubDate> - <guid>https://www.eclipse.org/sw360/resources/</guid> - <description>GitHub Repository Eclipse SW360: https://github.com/eclipse/sw360 Eclipse SW360antenna: https://github.com/eclipse/antenna Eclipse SW360 Website: https://github.com/eclipse/sw360.website More SW360-Related Projects on Github sw360chores, a docker-compose-based deployment environment: https://github.com/sw360/sw360chores sw360vagrant, deploying sw360 using puppet and vagrant: https://github.com/sw360/sw360vagrant sw360bdpimporter, a import implementation for importing proejcts from other applications: https://github.com/sw360/sw360bdpImportService ldapOrganizationMappingExt, small module to perform a mapping between (maybe more detailed) LDAP groups and (maybe less detailed) groups in SW360: https://github.com/sw360/ldapOrganizationMappingExt Documentation sw360slides, a collection powerpoint of slides for various presentations: https://github.</description> - </item> - <item> - <title>Eclipse SW360 - About</title> - <link>https://www.eclipse.org/sw360/about/</link> - <pubDate>Thu, 06 Sep 2018 14:29:18 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/about/</guid> - <description>In most cases, software today is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges: - Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc. Sharing knowledge about software components and their qualities. For example, which software components should be recommended, which should be phased out based on which criteria?</description> - </item> - - <item> - <title>Eclipse Con France 2017 Talk</title> - <link>https://www.eclipse.org/sw360/blog/ecf2017/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/blog/ecf2017/</guid> - <description> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </description> - </item> </channel> -</rss> \ No newline at end of file +</rss> diff --git a/js/deflate.js b/js/deflate.js new file mode 100644 index 0000000..b452c84 --- /dev/null +++ b/js/deflate.js @@ -0,0 +1,1652 @@ +/* Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp> +* Version: 1.0.1 +* LastModified: Dec 25 1999 +*/ + +/* Interface: +* data = deflate(src); +*/ +const deflate = (function () { + /* constant parameters */ + var zip_WSIZE = 32768; // Sliding Window size + var zip_STORED_BLOCK = 0; + var zip_STATIC_TREES = 1; + var zip_DYN_TREES = 2; + + /* for deflate */ + var zip_DEFAULT_LEVEL = 6; + var zip_FULL_SEARCH = true; + var zip_INBUFSIZ = 32768; // Input buffer size + var zip_INBUF_EXTRA = 64; // Extra buffer + var zip_OUTBUFSIZ = 1024 * 8; + var zip_window_size = 2 * zip_WSIZE; + var zip_MIN_MATCH = 3; + var zip_MAX_MATCH = 258; + var zip_BITS = 16; + // for SMALL_MEM + var zip_LIT_BUFSIZE = 0x2000; + var zip_HASH_BITS = 13; + // for MEDIUM_MEM + // var zip_LIT_BUFSIZE = 0x4000; + // var zip_HASH_BITS = 14; + // for BIG_MEM + // var zip_LIT_BUFSIZE = 0x8000; + // var zip_HASH_BITS = 15; + //if(zip_LIT_BUFSIZE > zip_INBUFSIZ) + // alert("error: zip_INBUFSIZ is too small"); + //if((zip_WSIZE<<1) > (1<<zip_BITS)) + // alert("error: zip_WSIZE is too large"); + //if(zip_HASH_BITS > zip_BITS-1) + // alert("error: zip_HASH_BITS is too large"); + //if(zip_HASH_BITS < 8 || zip_MAX_MATCH != 258) + // alert("error: Code too clever"); + var zip_DIST_BUFSIZE = zip_LIT_BUFSIZE; + var zip_HASH_SIZE = 1 << zip_HASH_BITS; + var zip_HASH_MASK = zip_HASH_SIZE - 1; + var zip_WMASK = zip_WSIZE - 1; + var zip_NIL = 0; // Tail of hash chains + var zip_TOO_FAR = 4096; + var zip_MIN_LOOKAHEAD = zip_MAX_MATCH + zip_MIN_MATCH + 1; + var zip_MAX_DIST = zip_WSIZE - zip_MIN_LOOKAHEAD; + var zip_SMALLEST = 1; + var zip_MAX_BITS = 15; + var zip_MAX_BL_BITS = 7; + var zip_LENGTH_CODES = 29; + var zip_LITERALS = 256; + var zip_END_BLOCK = 256; + var zip_L_CODES = zip_LITERALS + 1 + zip_LENGTH_CODES; + var zip_D_CODES = 30; + var zip_BL_CODES = 19; + var zip_REP_3_6 = 16; + var zip_REPZ_3_10 = 17; + var zip_REPZ_11_138 = 18; + var zip_HEAP_SIZE = 2 * zip_L_CODES + 1; + var zip_H_SHIFT = parseInt((zip_HASH_BITS + zip_MIN_MATCH - 1) / + zip_MIN_MATCH); + + /* variables */ + var zip_free_queue; + var zip_qhead, zip_qtail; + var zip_initflag; + var zip_outbuf = null; + var zip_outcnt, zip_outoff; + var zip_complete; + var zip_window; + var zip_d_buf; + var zip_l_buf; + var zip_prev; + var zip_bi_buf; + var zip_bi_valid; + var zip_block_start; + var zip_ins_h; + var zip_hash_head; + var zip_prev_match; + var zip_match_available; + var zip_match_length; + var zip_prev_length; + var zip_strstart; + var zip_match_start; + var zip_eofile; + var zip_lookahead; + var zip_max_chain_length; + var zip_max_lazy_match; + var zip_compr_level; + var zip_good_match; + var zip_nice_match; + var zip_dyn_ltree; + var zip_dyn_dtree; + var zip_static_ltree; + var zip_static_dtree; + var zip_bl_tree; + var zip_l_desc; + var zip_d_desc; + var zip_bl_desc; + var zip_bl_count; + var zip_heap; + var zip_heap_len; + var zip_heap_max; + var zip_depth; + var zip_length_code; + var zip_dist_code; + var zip_base_length; + var zip_base_dist; + var zip_flag_buf; + var zip_last_lit; + var zip_last_dist; + var zip_last_flags; + var zip_flags; + var zip_flag_bit; + var zip_opt_len; + var zip_static_len; + var zip_deflate_data; + var zip_deflate_pos; + + /* objects (deflate) */ + + function zip_DeflateCT() { + this.fc = 0; // frequency count or bit string + this.dl = 0; // father node in Huffman tree or length of bit string + } + + function zip_DeflateTreeDesc() { + this.dyn_tree = null; // the dynamic tree + this.static_tree = null; // corresponding static tree or NULL + this.extra_bits = null; // extra bits for each code or NULL + this.extra_base = 0; // base index for extra_bits + this.elems = 0; // max number of elements in the tree + this.max_length = 0; // max bit length for the codes + this.max_code = 0; // largest code with non zero frequency + } + + /* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ + function zip_DeflateConfiguration(a, b, c, d) { + this.good_length = a; // reduce lazy search above this match length + this.max_lazy = b; // do not perform lazy search above this match length + this.nice_length = c; // quit search above this match length + this.max_chain = d; + } + + function zip_DeflateBuffer() { + this.next = null; + this.len = 0; + this.ptr = new Array(zip_OUTBUFSIZ); + this.off = 0; + } + + /* constant tables */ + var zip_extra_lbits = [ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]; + var zip_extra_dbits = [ + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]; + var zip_extra_blbits = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]; + var zip_bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; + var zip_configuration_table = [ + new zip_DeflateConfiguration(0, 0, 0, 0), + new zip_DeflateConfiguration(4, 4, 8, 4), + new zip_DeflateConfiguration(4, 5, 16, 8), + new zip_DeflateConfiguration(4, 6, 32, 32), + new zip_DeflateConfiguration(4, 4, 16, 16), + new zip_DeflateConfiguration(8, 16, 32, 32), + new zip_DeflateConfiguration(8, 16, 128, 128), + new zip_DeflateConfiguration(8, 32, 128, 256), + new zip_DeflateConfiguration(32, 128, 258, 1024), + new zip_DeflateConfiguration(32, 258, 258, 4096)]; + + + /* routines (deflate) */ + + function zip_deflate_start(level) { + var i; + + if (!level) + level = zip_DEFAULT_LEVEL; + else if (level < 1) + level = 1; + else if (level > 9) + level = 9; + + zip_compr_level = level; + zip_initflag = false; + zip_eofile = false; + if (zip_outbuf != null) + return; + + zip_free_queue = zip_qhead = zip_qtail = null; + zip_outbuf = new Array(zip_OUTBUFSIZ); + zip_window = new Array(zip_window_size); + zip_d_buf = new Array(zip_DIST_BUFSIZE); + zip_l_buf = new Array(zip_INBUFSIZ + zip_INBUF_EXTRA); + zip_prev = new Array(1 << zip_BITS); + zip_dyn_ltree = new Array(zip_HEAP_SIZE); + for (i = 0; i < zip_HEAP_SIZE; i++) + zip_dyn_ltree[i] = new zip_DeflateCT(); + zip_dyn_dtree = new Array(2 * zip_D_CODES + 1); + for (i = 0; i < 2 * zip_D_CODES + 1; i++) + zip_dyn_dtree[i] = new zip_DeflateCT(); + zip_static_ltree = new Array(zip_L_CODES + 2); + for (i = 0; i < zip_L_CODES + 2; i++) + zip_static_ltree[i] = new zip_DeflateCT(); + zip_static_dtree = new Array(zip_D_CODES); + for (i = 0; i < zip_D_CODES; i++) + zip_static_dtree[i] = new zip_DeflateCT(); + zip_bl_tree = new Array(2 * zip_BL_CODES + 1); + for (i = 0; i < 2 * zip_BL_CODES + 1; i++) + zip_bl_tree[i] = new zip_DeflateCT(); + zip_l_desc = new zip_DeflateTreeDesc(); + zip_d_desc = new zip_DeflateTreeDesc(); + zip_bl_desc = new zip_DeflateTreeDesc(); + zip_bl_count = new Array(zip_MAX_BITS + 1); + zip_heap = new Array(2 * zip_L_CODES + 1); + zip_depth = new Array(2 * zip_L_CODES + 1); + zip_length_code = new Array(zip_MAX_MATCH - zip_MIN_MATCH + 1); + zip_dist_code = new Array(512); + zip_base_length = new Array(zip_LENGTH_CODES); + zip_base_dist = new Array(zip_D_CODES); + zip_flag_buf = new Array(parseInt(zip_LIT_BUFSIZE / 8)); + } + + function zip_deflate_end() { + zip_free_queue = zip_qhead = zip_qtail = null; + zip_outbuf = null; + zip_window = null; + zip_d_buf = null; + zip_l_buf = null; + zip_prev = null; + zip_dyn_ltree = null; + zip_dyn_dtree = null; + zip_static_ltree = null; + zip_static_dtree = null; + zip_bl_tree = null; + zip_l_desc = null; + zip_d_desc = null; + zip_bl_desc = null; + zip_bl_count = null; + zip_heap = null; + zip_depth = null; + zip_length_code = null; + zip_dist_code = null; + zip_base_length = null; + zip_base_dist = null; + zip_flag_buf = null; + } + + function zip_reuse_queue(p) { + p.next = zip_free_queue; + zip_free_queue = p; + } + + function zip_new_queue() { + var p; + + if (zip_free_queue != null) { + p = zip_free_queue; + zip_free_queue = zip_free_queue.next; + } + else + p = new zip_DeflateBuffer(); + p.next = null; + p.len = p.off = 0; + + return p; + } + + function zip_head1(i) { + return zip_prev[zip_WSIZE + i]; + } + + function zip_head2(i, val) { + return zip_prev[zip_WSIZE + i] = val; + } + + /* put_byte is used for the compressed output, put_ubyte for the + * uncompressed output. However unlzw() uses window for its + * suffix table instead of its output buffer, so it does not use put_ubyte + * (to be cleaned up). + */ + function zip_put_byte(c) { + zip_outbuf[zip_outoff + zip_outcnt++] = c; + if (zip_outoff + zip_outcnt == zip_OUTBUFSIZ) + zip_qoutbuf(); + } + + /* Output a 16 bit value, lsb first */ + function zip_put_short(w) { + w &= 0xffff; + if (zip_outoff + zip_outcnt < zip_OUTBUFSIZ - 2) { + zip_outbuf[zip_outoff + zip_outcnt++] = (w & 0xff); + zip_outbuf[zip_outoff + zip_outcnt++] = (w >>> 8); + } else { + zip_put_byte(w & 0xff); + zip_put_byte(w >>> 8); + } + } + + /* ========================================================================== + * Insert string s in the dictionary and set match_head to the previous head + * of the hash chain (the most recent string with same hash key). Return + * the previous length of the hash chain. + * IN assertion: all calls to to INSERT_STRING are made with consecutive + * input characters and the first MIN_MATCH bytes of s are valid + * (except for the last MIN_MATCH-1 bytes of the input file). + */ + function zip_INSERT_STRING() { + zip_ins_h = ((zip_ins_h << zip_H_SHIFT) + ^ (zip_window[zip_strstart + zip_MIN_MATCH - 1] & 0xff)) + & zip_HASH_MASK; + zip_hash_head = zip_head1(zip_ins_h); + zip_prev[zip_strstart & zip_WMASK] = zip_hash_head; + zip_head2(zip_ins_h, zip_strstart); + } + + /* Send a code of the given tree. c and tree must not have side effects */ + function zip_SEND_CODE(c, tree) { + zip_send_bits(tree[c].fc, tree[c].dl); + } + + /* Mapping from a distance to a distance code. dist is the distance - 1 and + * must not have side effects. dist_code[256] and dist_code[257] are never + * used. + */ + function zip_D_CODE(dist) { + return (dist < 256 ? zip_dist_code[dist] + : zip_dist_code[256 + (dist >> 7)]) & 0xff; + } + + /* ========================================================================== + * Compares to subtrees, using the tree depth as tie breaker when + * the subtrees have equal frequency. This minimizes the worst case length. + */ + function zip_SMALLER(tree, n, m) { + return tree[n].fc < tree[m].fc || + (tree[n].fc == tree[m].fc && zip_depth[n] <= zip_depth[m]); + } + + /* ========================================================================== + * read string data + */ + function zip_read_buff(buff, offset, n) { + var i; + for (i = 0; i < n && zip_deflate_pos < zip_deflate_data.length; i++) + buff[offset + i] = + zip_deflate_data.charCodeAt(zip_deflate_pos++) & 0xff; + return i; + } + + /* ========================================================================== + * Initialize the "longest match" routines for a new file + */ + function zip_lm_init() { + var j; + + /* Initialize the hash table. */ + for (j = 0; j < zip_HASH_SIZE; j++) + // zip_head2(j, zip_NIL); + zip_prev[zip_WSIZE + j] = 0; + /* prev will be initialized on the fly */ + + /* Set the default configuration parameters: + */ + zip_max_lazy_match = zip_configuration_table[zip_compr_level].max_lazy; + zip_good_match = zip_configuration_table[zip_compr_level].good_length; + if (!zip_FULL_SEARCH) + zip_nice_match = zip_configuration_table[zip_compr_level].nice_length; + zip_max_chain_length = zip_configuration_table[zip_compr_level].max_chain; + + zip_strstart = 0; + zip_block_start = 0; + + zip_lookahead = zip_read_buff(zip_window, 0, 2 * zip_WSIZE); + if (zip_lookahead <= 0) { + zip_eofile = true; + zip_lookahead = 0; + return; + } + zip_eofile = false; + /* Make sure that we always have enough lookahead. This is important + * if input comes from a device such as a tty. + */ + while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile) + zip_fill_window(); + + /* If lookahead < MIN_MATCH, ins_h is garbage, but this is + * not important since only literal bytes will be emitted. + */ + zip_ins_h = 0; + for (j = 0; j < zip_MIN_MATCH - 1; j++) { + // UPDATE_HASH(ins_h, window[j]); + zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[j] & 0xff)) & zip_HASH_MASK; + } + } + + /* ========================================================================== + * Set match_start to the longest match starting at the given string and + * return its length. Matches shorter or equal to prev_length are discarded, + * in which case the result is equal to prev_length and match_start is + * garbage. + * IN assertions: cur_match is the head of the hash chain for the current + * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 + */ + function zip_longest_match(cur_match) { + var chain_length = zip_max_chain_length; // max hash chain length + var scanp = zip_strstart; // current string + var matchp; // matched string + var len; // length of current match + var best_len = zip_prev_length; // best match length so far + + /* Stop when cur_match becomes <= limit. To simplify the code, + * we prevent matches with the string of window index 0. + */ + var limit = (zip_strstart > zip_MAX_DIST ? zip_strstart - zip_MAX_DIST : zip_NIL); + + var strendp = zip_strstart + zip_MAX_MATCH; + var scan_end1 = zip_window[scanp + best_len - 1]; + var scan_end = zip_window[scanp + best_len]; + + /* Do not waste too much time if we already have a good match: */ + if (zip_prev_length >= zip_good_match) + chain_length >>= 2; + + // Assert(encoder->strstart <= window_size-MIN_LOOKAHEAD, "insufficient lookahead"); + + do { + // Assert(cur_match < encoder->strstart, "no future"); + matchp = cur_match; + + /* Skip to next match if the match length cannot increase + * or if the match length is less than 2: + */ + if (zip_window[matchp + best_len] != scan_end || + zip_window[matchp + best_len - 1] != scan_end1 || + zip_window[matchp] != zip_window[scanp] || + zip_window[++matchp] != zip_window[scanp + 1]) { + continue; + } + + /* The check at best_len-1 can be removed because it will be made + * again later. (This heuristic is not always a win.) + * It is not necessary to compare scan[2] and match[2] since they + * are always equal when the other bytes match, given that + * the hash keys are equal and that HASH_BITS >= 8. + */ + scanp += 2; + matchp++; + + /* We check for insufficient lookahead only every 8th comparison; + * the 256th check will be made at strstart+258. + */ + do { + } while (zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + zip_window[++scanp] == zip_window[++matchp] && + scanp < strendp); + + len = zip_MAX_MATCH - (strendp - scanp); + scanp = strendp - zip_MAX_MATCH; + + if (len > best_len) { + zip_match_start = cur_match; + best_len = len; + if (zip_FULL_SEARCH) { + if (len >= zip_MAX_MATCH) break; + } else { + if (len >= zip_nice_match) break; + } + + scan_end1 = zip_window[scanp + best_len - 1]; + scan_end = zip_window[scanp + best_len]; + } + } while ((cur_match = zip_prev[cur_match & zip_WMASK]) > limit + && --chain_length != 0); + + return best_len; + } + + /* ========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead, and sets eofile if end of input file. + * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0 + * OUT assertions: at least one byte has been read, or eofile is set; + * file reads are performed for at least two bytes (required for the + * translate_eol option). + */ + function zip_fill_window() { + var n, m; + + // Amount of free space at the end of the window. + var more = zip_window_size - zip_lookahead - zip_strstart; + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if (more == -1) { + /* Very unlikely, but possible on 16 bit machine if strstart == 0 + * and lookahead == 1 (input done one byte at time) + */ + more--; + } else if (zip_strstart >= zip_WSIZE + zip_MAX_DIST) { + /* By the IN assertion, the window is not empty so we can't confuse + * more == 0 with more == 64K on a 16 bit machine. + */ + // Assert(window_size == (ulg)2*WSIZE, "no sliding with BIG_MEM"); + + // System.arraycopy(window, WSIZE, window, 0, WSIZE); + for (n = 0; n < zip_WSIZE; n++) + zip_window[n] = zip_window[n + zip_WSIZE]; + + zip_match_start -= zip_WSIZE; + zip_strstart -= zip_WSIZE; /* we now have strstart >= MAX_DIST: */ + zip_block_start -= zip_WSIZE; + + for (n = 0; n < zip_HASH_SIZE; n++) { + m = zip_head1(n); + zip_head2(n, m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL); + } + for (n = 0; n < zip_WSIZE; n++) { + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + m = zip_prev[n]; + zip_prev[n] = (m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL); + } + more += zip_WSIZE; + } + // At this point, more >= 2 + if (!zip_eofile) { + n = zip_read_buff(zip_window, zip_strstart + zip_lookahead, more); + if (n <= 0) + zip_eofile = true; + else + zip_lookahead += n; + } + } + + /* ========================================================================== + * Processes a new input file and return its compressed length. This + * function does not perform lazy evaluationof matches and inserts + * new strings in the dictionary only for unmatched strings or for short + * matches. It is used only for the fast compression options. + */ + function zip_deflate_fast() { + while (zip_lookahead != 0 && zip_qhead == null) { + var flush; // set if current block must be flushed + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + zip_INSERT_STRING(); + + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ + if (zip_hash_head != zip_NIL && + zip_strstart - zip_hash_head <= zip_MAX_DIST) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + zip_match_length = zip_longest_match(zip_hash_head); + /* longest_match() sets match_start */ + if (zip_match_length > zip_lookahead) + zip_match_length = zip_lookahead; + } + if (zip_match_length >= zip_MIN_MATCH) { + // check_match(strstart, match_start, match_length); + + flush = zip_ct_tally(zip_strstart - zip_match_start, + zip_match_length - zip_MIN_MATCH); + zip_lookahead -= zip_match_length; + + /* Insert new strings in the hash table only if the match length + * is not too large. This saves time but degrades compression. + */ + if (zip_match_length <= zip_max_lazy_match) { + zip_match_length--; // string at strstart already in hash table + do { + zip_strstart++; + zip_INSERT_STRING(); + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH + * these bytes are garbage, but it does not matter since + * the next lookahead bytes will be emitted as literals. + */ + } while (--zip_match_length != 0); + zip_strstart++; + } else { + zip_strstart += zip_match_length; + zip_match_length = 0; + zip_ins_h = zip_window[zip_strstart] & 0xff; + // UPDATE_HASH(ins_h, window[strstart + 1]); + zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[zip_strstart + 1] & 0xff)) & zip_HASH_MASK; + + //#if MIN_MATCH != 3 + // Call UPDATE_HASH() MIN_MATCH-3 more times + //#endif + + } + } else { + /* No match, output a literal byte */ + flush = zip_ct_tally(0, zip_window[zip_strstart] & 0xff); + zip_lookahead--; + zip_strstart++; + } + if (flush) { + zip_flush_block(0); + zip_block_start = zip_strstart; + } + + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile) + zip_fill_window(); + } + } + + function zip_deflate_better() { + /* Process the input block. */ + while (zip_lookahead != 0 && zip_qhead == null) { + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + zip_INSERT_STRING(); + + /* Find the longest match, discarding those <= prev_length. + */ + zip_prev_length = zip_match_length; + zip_prev_match = zip_match_start; + zip_match_length = zip_MIN_MATCH - 1; + + if (zip_hash_head != zip_NIL && + zip_prev_length < zip_max_lazy_match && + zip_strstart - zip_hash_head <= zip_MAX_DIST) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + zip_match_length = zip_longest_match(zip_hash_head); + /* longest_match() sets match_start */ + if (zip_match_length > zip_lookahead) + zip_match_length = zip_lookahead; + + /* Ignore a length 3 match if it is too distant: */ + if (zip_match_length == zip_MIN_MATCH && + zip_strstart - zip_match_start > zip_TOO_FAR) { + /* If prev_match is also MIN_MATCH, match_start is garbage + * but we will ignore the current match anyway. + */ + zip_match_length--; + } + } + /* If there was a match at the previous step and the current + * match is not better, output the previous match: + */ + if (zip_prev_length >= zip_MIN_MATCH && + zip_match_length <= zip_prev_length) { + var flush; // set if current block must be flushed + + // check_match(strstart - 1, prev_match, prev_length); + flush = zip_ct_tally(zip_strstart - 1 - zip_prev_match, + zip_prev_length - zip_MIN_MATCH); + + /* Insert in hash table all strings up to the end of the match. + * strstart-1 and strstart are already inserted. + */ + zip_lookahead -= zip_prev_length - 1; + zip_prev_length -= 2; + do { + zip_strstart++; + zip_INSERT_STRING(); + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH + * these bytes are garbage, but it does not matter since the + * next lookahead bytes will always be emitted as literals. + */ + } while (--zip_prev_length != 0); + zip_match_available = 0; + zip_match_length = zip_MIN_MATCH - 1; + zip_strstart++; + if (flush) { + zip_flush_block(0); + zip_block_start = zip_strstart; + } + } else if (zip_match_available != 0) { + /* If there was no match at the previous position, output a + * single literal. If there was a match but the current match + * is longer, truncate the previous match to a single literal. + */ + if (zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff)) { + zip_flush_block(0); + zip_block_start = zip_strstart; + } + zip_strstart++; + zip_lookahead--; + } else { + /* There is no previous match to compare with, wait for + * the next step to decide. + */ + zip_match_available = 1; + zip_strstart++; + zip_lookahead--; + } + + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile) + zip_fill_window(); + } + } + + function zip_init_deflate() { + if (zip_eofile) + return; + zip_bi_buf = 0; + zip_bi_valid = 0; + zip_ct_init(); + zip_lm_init(); + + zip_qhead = null; + zip_outcnt = 0; + zip_outoff = 0; + + if (zip_compr_level <= 3) { + zip_prev_length = zip_MIN_MATCH - 1; + zip_match_length = 0; + } + else { + zip_match_length = zip_MIN_MATCH - 1; + zip_match_available = 0; + } + + zip_complete = false; + } + + /* ========================================================================== + * Same as above, but achieves better compression. We use a lazy + * evaluation for matches: a match is finally adopted only if there is + * no better match at the next window position. + */ + function zip_deflate_internal(buff, off, buff_size) { + var n; + + if (!zip_initflag) { + zip_init_deflate(); + zip_initflag = true; + if (zip_lookahead == 0) { // empty + zip_complete = true; + return 0; + } + } + + if ((n = zip_qcopy(buff, off, buff_size)) == buff_size) + return buff_size; + + if (zip_complete) + return n; + + if (zip_compr_level <= 3) // optimized for speed + zip_deflate_fast(); + else + zip_deflate_better(); + if (zip_lookahead == 0) { + if (zip_match_available != 0) + zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff); + zip_flush_block(1); + zip_complete = true; + } + return n + zip_qcopy(buff, n + off, buff_size - n); + } + + function zip_qcopy(buff, off, buff_size) { + var n, i, j; + + n = 0; + while (zip_qhead != null && n < buff_size) { + i = buff_size - n; + if (i > zip_qhead.len) + i = zip_qhead.len; + // System.arraycopy(qhead.ptr, qhead.off, buff, off + n, i); + for (j = 0; j < i; j++) + buff[off + n + j] = zip_qhead.ptr[zip_qhead.off + j]; + + zip_qhead.off += i; + zip_qhead.len -= i; + n += i; + if (zip_qhead.len == 0) { + var p; + p = zip_qhead; + zip_qhead = zip_qhead.next; + zip_reuse_queue(p); + } + } + + if (n == buff_size) + return n; + + if (zip_outoff < zip_outcnt) { + i = buff_size - n; + if (i > zip_outcnt - zip_outoff) + i = zip_outcnt - zip_outoff; + // System.arraycopy(outbuf, outoff, buff, off + n, i); + for (j = 0; j < i; j++) + buff[off + n + j] = zip_outbuf[zip_outoff + j]; + zip_outoff += i; + n += i; + if (zip_outcnt == zip_outoff) + zip_outcnt = zip_outoff = 0; + } + return n; + } + + /* ========================================================================== + * Allocate the match buffer, initialize the various tables and save the + * location of the internal file attribute (ascii/binary) and method + * (DEFLATE/STORE). + */ + function zip_ct_init() { + var n; // iterates over tree elements + var bits; // bit counter + var length; // length value + var code; // code value + var dist; // distance index + + if (zip_static_dtree[0].dl != 0) return; // ct_init already called + + zip_l_desc.dyn_tree = zip_dyn_ltree; + zip_l_desc.static_tree = zip_static_ltree; + zip_l_desc.extra_bits = zip_extra_lbits; + zip_l_desc.extra_base = zip_LITERALS + 1; + zip_l_desc.elems = zip_L_CODES; + zip_l_desc.max_length = zip_MAX_BITS; + zip_l_desc.max_code = 0; + + zip_d_desc.dyn_tree = zip_dyn_dtree; + zip_d_desc.static_tree = zip_static_dtree; + zip_d_desc.extra_bits = zip_extra_dbits; + zip_d_desc.extra_base = 0; + zip_d_desc.elems = zip_D_CODES; + zip_d_desc.max_length = zip_MAX_BITS; + zip_d_desc.max_code = 0; + + zip_bl_desc.dyn_tree = zip_bl_tree; + zip_bl_desc.static_tree = null; + zip_bl_desc.extra_bits = zip_extra_blbits; + zip_bl_desc.extra_base = 0; + zip_bl_desc.elems = zip_BL_CODES; + zip_bl_desc.max_length = zip_MAX_BL_BITS; + zip_bl_desc.max_code = 0; + + // Initialize the mapping length (0..255) -> length code (0..28) + length = 0; + for (code = 0; code < zip_LENGTH_CODES - 1; code++) { + zip_base_length[code] = length; + for (n = 0; n < (1 << zip_extra_lbits[code]); n++) + zip_length_code[length++] = code; + } + // Assert (length == 256, "ct_init: length != 256"); + + /* Note that the length 255 (match length 258) can be represented + * in two different ways: code 284 + 5 bits or code 285, so we + * overwrite length_code[255] to use the best encoding: + */ + zip_length_code[length - 1] = code; + + /* Initialize the mapping dist (0..32K) -> dist code (0..29) */ + dist = 0; + for (code = 0; code < 16; code++) { + zip_base_dist[code] = dist; + for (n = 0; n < (1 << zip_extra_dbits[code]); n++) { + zip_dist_code[dist++] = code; + } + } + // Assert (dist == 256, "ct_init: dist != 256"); + dist >>= 7; // from now on, all distances are divided by 128 + for (; code < zip_D_CODES; code++) { + zip_base_dist[code] = dist << 7; + for (n = 0; n < (1 << (zip_extra_dbits[code] - 7)); n++) + zip_dist_code[256 + dist++] = code; + } + // Assert (dist == 256, "ct_init: 256+dist != 512"); + + // Construct the codes of the static literal tree + for (bits = 0; bits <= zip_MAX_BITS; bits++) + zip_bl_count[bits] = 0; + n = 0; + while (n <= 143) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; } + while (n <= 255) { zip_static_ltree[n++].dl = 9; zip_bl_count[9]++; } + while (n <= 279) { zip_static_ltree[n++].dl = 7; zip_bl_count[7]++; } + while (n <= 287) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; } + /* Codes 286 and 287 do not exist, but we must include them in the + * tree construction to get a canonical Huffman tree (longest code + * all ones) + */ + zip_gen_codes(zip_static_ltree, zip_L_CODES + 1); + + /* The static distance tree is trivial: */ + for (n = 0; n < zip_D_CODES; n++) { + zip_static_dtree[n].dl = 5; + zip_static_dtree[n].fc = zip_bi_reverse(n, 5); + } + + // Initialize the first block of the first file: + zip_init_block(); + } + + /* ========================================================================== + * Initialize a new block. + */ + function zip_init_block() { + var n; // iterates over tree elements + + // Initialize the trees. + for (n = 0; n < zip_L_CODES; n++) zip_dyn_ltree[n].fc = 0; + for (n = 0; n < zip_D_CODES; n++) zip_dyn_dtree[n].fc = 0; + for (n = 0; n < zip_BL_CODES; n++) zip_bl_tree[n].fc = 0; + + zip_dyn_ltree[zip_END_BLOCK].fc = 1; + zip_opt_len = zip_static_len = 0; + zip_last_lit = zip_last_dist = zip_last_flags = 0; + zip_flags = 0; + zip_flag_bit = 1; + } + + /* ========================================================================== + * Restore the heap property by moving down the tree starting at node k, + * exchanging a node with the smallest of its two sons if necessary, stopping + * when the heap property is re-established (each father smaller than its + * two sons). + */ + function zip_pqdownheap( + tree, // the tree to restore + k) { // node to move down + var v = zip_heap[k]; + var j = k << 1; // left son of k + + while (j <= zip_heap_len) { + // Set j to the smallest of the two sons: + if (j < zip_heap_len && + zip_SMALLER(tree, zip_heap[j + 1], zip_heap[j])) + j++; + + // Exit if v is smaller than both sons + if (zip_SMALLER(tree, v, zip_heap[j])) + break; + + // Exchange v with the smallest son + zip_heap[k] = zip_heap[j]; + k = j; + + // And continue down the tree, setting j to the left son of k + j <<= 1; + } + zip_heap[k] = v; + } + + /* ========================================================================== + * Compute the optimal bit lengths for a tree and update the total bit length + * for the current block. + * IN assertion: the fields freq and dad are set, heap[heap_max] and + * above are the tree nodes sorted by increasing frequency. + * OUT assertions: the field len is set to the optimal bit length, the + * array bl_count contains the frequencies for each bit length. + * The length opt_len is updated; static_len is also updated if stree is + * not null. + */ + function zip_gen_bitlen(desc) { // the tree descriptor + var tree = desc.dyn_tree; + var extra = desc.extra_bits; + var base = desc.extra_base; + var max_code = desc.max_code; + var max_length = desc.max_length; + var stree = desc.static_tree; + var h; // heap index + var n, m; // iterate over the tree elements + var bits; // bit length + var xbits; // extra bits + var f; // frequency + var overflow = 0; // number of elements with bit length too large + + for (bits = 0; bits <= zip_MAX_BITS; bits++) + zip_bl_count[bits] = 0; + + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ + tree[zip_heap[zip_heap_max]].dl = 0; // root of the heap + + for (h = zip_heap_max + 1; h < zip_HEAP_SIZE; h++) { + n = zip_heap[h]; + bits = tree[tree[n].dl].dl + 1; + if (bits > max_length) { + bits = max_length; + overflow++; + } + tree[n].dl = bits; + // We overwrite tree[n].dl which is no longer needed + + if (n > max_code) + continue; // not a leaf node + + zip_bl_count[bits]++; + xbits = 0; + if (n >= base) + xbits = extra[n - base]; + f = tree[n].fc; + zip_opt_len += f * (bits + xbits); + if (stree != null) + zip_static_len += f * (stree[n].dl + xbits); + } + if (overflow == 0) + return; + + // This happens for example on obj2 and pic of the Calgary corpus + + // Find the first bit length which could increase: + do { + bits = max_length - 1; + while (zip_bl_count[bits] == 0) + bits--; + zip_bl_count[bits]--; // move one leaf down the tree + zip_bl_count[bits + 1] += 2; // move one overflow item as its brother + zip_bl_count[max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ + overflow -= 2; + } while (overflow > 0); + + /* Now recompute all bit lengths, scanning in increasing frequency. + * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all + * lengths instead of fixing only the wrong ones. This idea is taken + * from 'ar' written by Haruhiko Okumura.) + */ + for (bits = max_length; bits != 0; bits--) { + n = zip_bl_count[bits]; + while (n != 0) { + m = zip_heap[--h]; + if (m > max_code) + continue; + if (tree[m].dl != bits) { + zip_opt_len += (bits - tree[m].dl) * tree[m].fc; + tree[m].fc = bits; + } + n--; + } + } + } + + /* ========================================================================== + * Generate the codes for a given tree and bit counts (which need not be + * optimal). + * IN assertion: the array bl_count contains the bit length statistics for + * the given tree and the field len is set for all tree elements. + * OUT assertion: the field code is set for all tree elements of non + * zero code length. + */ + function zip_gen_codes(tree, // the tree to decorate + max_code) { // largest code with non zero frequency + var next_code = new Array(zip_MAX_BITS + 1); // next code value for each bit length + var code = 0; // running code value + var bits; // bit index + var n; // code index + + /* The distribution counts are first used to generate the code values + * without bit reversal. + */ + for (bits = 1; bits <= zip_MAX_BITS; bits++) { + code = ((code + zip_bl_count[bits - 1]) << 1); + next_code[bits] = code; + } + + /* Check that the bit counts in bl_count are consistent. The last code + * must be all ones. + */ + // Assert (code + encoder->bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1, + // "inconsistent bit counts"); + // Tracev((stderr,"\ngen_codes: max_code %d ", max_code)); + + for (n = 0; n <= max_code; n++) { + var len = tree[n].dl; + if (len == 0) + continue; + // Now reverse the bits + tree[n].fc = zip_bi_reverse(next_code[len]++, len); + + // Tracec(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ", + // n, (isgraph(n) ? n : ' '), len, tree[n].fc, next_code[len]-1)); + } + } + + /* ========================================================================== + * Construct one Huffman tree and assigns the code bit strings and lengths. + * Update the total bit length for the current block. + * IN assertion: the field freq is set for all tree elements. + * OUT assertions: the fields len and code are set to the optimal bit length + * and corresponding code. The length opt_len is updated; static_len is + * also updated if stree is not null. The field max_code is set. + */ + function zip_build_tree(desc) { // the tree descriptor + var tree = desc.dyn_tree; + var stree = desc.static_tree; + var elems = desc.elems; + var n, m; // iterate over heap elements + var max_code = -1; // largest code with non zero frequency + var node = elems; // next internal node of the tree + + /* Construct the initial heap, with least frequent element in + * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. + * heap[0] is not used. + */ + zip_heap_len = 0; + zip_heap_max = zip_HEAP_SIZE; + + for (n = 0; n < elems; n++) { + if (tree[n].fc != 0) { + zip_heap[++zip_heap_len] = max_code = n; + zip_depth[n] = 0; + } else + tree[n].dl = 0; + } + + /* The pkzip format requires that at least one distance code exists, + * and that at least one bit should be sent even if there is only one + * possible code. So to avoid special checks later on we force at least + * two codes of non zero frequency. + */ + while (zip_heap_len < 2) { + var xnew = zip_heap[++zip_heap_len] = (max_code < 2 ? ++max_code : 0); + tree[xnew].fc = 1; + zip_depth[xnew] = 0; + zip_opt_len--; + if (stree != null) + zip_static_len -= stree[xnew].dl; + // new is 0 or 1 so it does not have extra bits + } + desc.max_code = max_code; + + /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, + * establish sub-heaps of increasing lengths: + */ + for (n = zip_heap_len >> 1; n >= 1; n--) + zip_pqdownheap(tree, n); + + /* Construct the Huffman tree by repeatedly combining the least two + * frequent nodes. + */ + do { + n = zip_heap[zip_SMALLEST]; + zip_heap[zip_SMALLEST] = zip_heap[zip_heap_len--]; + zip_pqdownheap(tree, zip_SMALLEST); + + m = zip_heap[zip_SMALLEST]; // m = node of next least frequency + + // keep the nodes sorted by frequency + zip_heap[--zip_heap_max] = n; + zip_heap[--zip_heap_max] = m; + + // Create a new node father of n and m + tree[node].fc = tree[n].fc + tree[m].fc; + // depth[node] = (char)(MAX(depth[n], depth[m]) + 1); + if (zip_depth[n] > zip_depth[m] + 1) + zip_depth[node] = zip_depth[n]; + else + zip_depth[node] = zip_depth[m] + 1; + tree[n].dl = tree[m].dl = node; + + // and insert the new node in the heap + zip_heap[zip_SMALLEST] = node++; + zip_pqdownheap(tree, zip_SMALLEST); + + } while (zip_heap_len >= 2); + + zip_heap[--zip_heap_max] = zip_heap[zip_SMALLEST]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. + */ + zip_gen_bitlen(desc); + + // The field len is now set, we can generate the bit codes + zip_gen_codes(tree, max_code); + } + + /* ========================================================================== + * Scan a literal or distance tree to determine the frequencies of the codes + * in the bit length tree. Updates opt_len to take into account the repeat + * counts. (The contribution of the bit length codes will be added later + * during the construction of bl_tree.) + */ + function zip_scan_tree(tree,// the tree to be scanned + max_code) { // and its largest code of non zero frequency + var n; // iterates over all tree elements + var prevlen = -1; // last emitted length + var curlen; // length of current code + var nextlen = tree[0].dl; // length of next code + var count = 0; // repeat count of the current code + var max_count = 7; // max repeat count + var min_count = 4; // min repeat count + + if (nextlen == 0) { + max_count = 138; + min_count = 3; + } + tree[max_code + 1].dl = 0xffff; // guard + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[n + 1].dl; + if (++count < max_count && curlen == nextlen) + continue; + else if (count < min_count) + zip_bl_tree[curlen].fc += count; + else if (curlen != 0) { + if (curlen != prevlen) + zip_bl_tree[curlen].fc++; + zip_bl_tree[zip_REP_3_6].fc++; + } else if (count <= 10) + zip_bl_tree[zip_REPZ_3_10].fc++; + else + zip_bl_tree[zip_REPZ_11_138].fc++; + count = 0; prevlen = curlen; + if (nextlen == 0) { + max_count = 138; + min_count = 3; + } else if (curlen == nextlen) { + max_count = 6; + min_count = 3; + } else { + max_count = 7; + min_count = 4; + } + } + } + + /* ========================================================================== + * Send a literal or distance tree in compressed form, using the codes in + * bl_tree. + */ + function zip_send_tree(tree, // the tree to be scanned + max_code) { // and its largest code of non zero frequency + var n; // iterates over all tree elements + var prevlen = -1; // last emitted length + var curlen; // length of current code + var nextlen = tree[0].dl; // length of next code + var count = 0; // repeat count of the current code + var max_count = 7; // max repeat count + var min_count = 4; // min repeat count + + /* tree[max_code+1].dl = -1; */ /* guard already set */ + if (nextlen == 0) { + max_count = 138; + min_count = 3; + } + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[n + 1].dl; + if (++count < max_count && curlen == nextlen) { + continue; + } else if (count < min_count) { + do { zip_SEND_CODE(curlen, zip_bl_tree); } while (--count != 0); + } else if (curlen != 0) { + if (curlen != prevlen) { + zip_SEND_CODE(curlen, zip_bl_tree); + count--; + } + // Assert(count >= 3 && count <= 6, " 3_6?"); + zip_SEND_CODE(zip_REP_3_6, zip_bl_tree); + zip_send_bits(count - 3, 2); + } else if (count <= 10) { + zip_SEND_CODE(zip_REPZ_3_10, zip_bl_tree); + zip_send_bits(count - 3, 3); + } else { + zip_SEND_CODE(zip_REPZ_11_138, zip_bl_tree); + zip_send_bits(count - 11, 7); + } + count = 0; + prevlen = curlen; + if (nextlen == 0) { + max_count = 138; + min_count = 3; + } else if (curlen == nextlen) { + max_count = 6; + min_count = 3; + } else { + max_count = 7; + min_count = 4; + } + } + } + + /* ========================================================================== + * Construct the Huffman tree for the bit lengths and return the index in + * bl_order of the last bit length code to send. + */ + function zip_build_bl_tree() { + var max_blindex; // index of last bit length code of non zero freq + + // Determine the bit length frequencies for literal and distance trees + zip_scan_tree(zip_dyn_ltree, zip_l_desc.max_code); + zip_scan_tree(zip_dyn_dtree, zip_d_desc.max_code); + + // Build the bit length tree: + zip_build_tree(zip_bl_desc); + /* opt_len now includes the length of the tree representations, except + * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. + */ + + /* Determine the number of bit length codes to send. The pkzip format + * requires that at least 4 bit length codes be sent. (appnote.txt says + * 3 but the actual value used is 4.) + */ + for (max_blindex = zip_BL_CODES - 1; max_blindex >= 3; max_blindex--) { + if (zip_bl_tree[zip_bl_order[max_blindex]].dl != 0) break; + } + /* Update opt_len to include the bit length tree and counts */ + zip_opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; + // Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", + // encoder->opt_len, encoder->static_len)); + + return max_blindex; + } + + /* ========================================================================== + * Send the header for a block using dynamic Huffman trees: the counts, the + * lengths of the bit length codes, the literal tree and the distance tree. + * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. + */ + function zip_send_all_trees(lcodes, dcodes, blcodes) { // number of codes for each tree + var rank; // index in bl_order + + // Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); + // Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, + // "too many codes"); + // Tracev((stderr, "\nbl counts: ")); + zip_send_bits(lcodes - 257, 5); // not +255 as stated in appnote.txt + zip_send_bits(dcodes - 1, 5); + zip_send_bits(blcodes - 4, 4); // not -3 as stated in appnote.txt + for (rank = 0; rank < blcodes; rank++) { + // Tracev((stderr, "\nbl code %2d ", bl_order[rank])); + zip_send_bits(zip_bl_tree[zip_bl_order[rank]].dl, 3); + } + + // send the literal tree + zip_send_tree(zip_dyn_ltree, lcodes - 1); + + // send the distance tree + zip_send_tree(zip_dyn_dtree, dcodes - 1); + } + + /* ========================================================================== + * Determine the best encoding for the current block: dynamic trees, static + * trees or store, and output the encoded block to the zip file. + */ + function zip_flush_block(eof) { // true if this is the last block for a file + var opt_lenb, static_lenb; // opt_len and static_len in bytes + var max_blindex; // index of last bit length code of non zero freq + var stored_len; // length of input block + + stored_len = zip_strstart - zip_block_start; + zip_flag_buf[zip_last_flags] = zip_flags; // Save the flags for the last 8 items + + // Construct the literal and distance trees + zip_build_tree(zip_l_desc); + // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", + // encoder->opt_len, encoder->static_len)); + + zip_build_tree(zip_d_desc); + // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", + // encoder->opt_len, encoder->static_len)); + /* At this point, opt_len and static_len are the total bit lengths of + * the compressed block data, excluding the tree representations. + */ + + /* Build the bit length tree for the above two trees, and get the index + * in bl_order of the last bit length code to send. + */ + max_blindex = zip_build_bl_tree(); + + // Determine the best encoding. Compute first the block length in bytes + opt_lenb = (zip_opt_len + 3 + 7) >> 3; + static_lenb = (zip_static_len + 3 + 7) >> 3; + + // Trace((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u dist %u ", + // opt_lenb, encoder->opt_len, + // static_lenb, encoder->static_len, stored_len, + // encoder->last_lit, encoder->last_dist)); + + if (static_lenb <= opt_lenb) + opt_lenb = static_lenb; + if (stored_len + 4 <= opt_lenb // 4: two words for the lengths + && zip_block_start >= 0) { + var i; + + /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. + * Otherwise we can't have processed more than WSIZE input bytes since + * the last block flush, because compression would have been + * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to + * transform a block into a stored block. + */ + zip_send_bits((zip_STORED_BLOCK << 1) + eof, 3); /* send block type */ + zip_bi_windup(); /* align on byte boundary */ + zip_put_short(stored_len); + zip_put_short(~stored_len); + + // copy block + /* + p = &window[block_start]; + for(i = 0; i < stored_len; i++) + put_byte(p[i]); + */ + for (i = 0; i < stored_len; i++) + zip_put_byte(zip_window[zip_block_start + i]); + + } else if (static_lenb == opt_lenb) { + zip_send_bits((zip_STATIC_TREES << 1) + eof, 3); + zip_compress_block(zip_static_ltree, zip_static_dtree); + } else { + zip_send_bits((zip_DYN_TREES << 1) + eof, 3); + zip_send_all_trees(zip_l_desc.max_code + 1, + zip_d_desc.max_code + 1, + max_blindex + 1); + zip_compress_block(zip_dyn_ltree, zip_dyn_dtree); + } + + zip_init_block(); + + if (eof != 0) + zip_bi_windup(); + } + + /* ========================================================================== + * Save the match info and tally the frequency counts. Return true if + * the current block must be flushed. + */ + function zip_ct_tally( + dist, // distance of matched string + lc) { // match length-MIN_MATCH or unmatched char (if dist==0) + zip_l_buf[zip_last_lit++] = lc; + if (dist == 0) { + // lc is the unmatched char + zip_dyn_ltree[lc].fc++; + } else { + // Here, lc is the match length - MIN_MATCH + dist--; // dist = match distance - 1 + // Assert((ush)dist < (ush)MAX_DIST && + // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && + // (ush)D_CODE(dist) < (ush)D_CODES, "ct_tally: bad match"); + + zip_dyn_ltree[zip_length_code[lc] + zip_LITERALS + 1].fc++; + zip_dyn_dtree[zip_D_CODE(dist)].fc++; + + zip_d_buf[zip_last_dist++] = dist; + zip_flags |= zip_flag_bit; + } + zip_flag_bit <<= 1; + + // Output the flags if they fill a byte + if ((zip_last_lit & 7) == 0) { + zip_flag_buf[zip_last_flags++] = zip_flags; + zip_flags = 0; + zip_flag_bit = 1; + } + // Try to guess if it is profitable to stop the current block here + if (zip_compr_level > 2 && (zip_last_lit & 0xfff) == 0) { + // Compute an upper bound for the compressed length + var out_length = zip_last_lit * 8; + var in_length = zip_strstart - zip_block_start; + var dcode; + + for (dcode = 0; dcode < zip_D_CODES; dcode++) { + out_length += zip_dyn_dtree[dcode].fc * (5 + zip_extra_dbits[dcode]); + } + out_length >>= 3; + // Trace((stderr,"\nlast_lit %u, last_dist %u, in %ld, out ~%ld(%ld%%) ", + // encoder->last_lit, encoder->last_dist, in_length, out_length, + // 100L - out_length*100L/in_length)); + if (zip_last_dist < parseInt(zip_last_lit / 2) && + out_length < parseInt(in_length / 2)) + return true; + } + return (zip_last_lit == zip_LIT_BUFSIZE - 1 || + zip_last_dist == zip_DIST_BUFSIZE); + /* We avoid equality with LIT_BUFSIZE because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ + } + + /* ========================================================================== + * Send the block data compressed using the given Huffman trees + */ + function zip_compress_block( + ltree, // literal tree + dtree) { // distance tree + var dist; // distance of matched string + var lc; // match length or unmatched char (if dist == 0) + var lx = 0; // running index in l_buf + var dx = 0; // running index in d_buf + var fx = 0; // running index in flag_buf + var flag = 0; // current flags + var code; // the code to send + var extra; // number of extra bits to send + + if (zip_last_lit != 0) do { + if ((lx & 7) == 0) + flag = zip_flag_buf[fx++]; + lc = zip_l_buf[lx++] & 0xff; + if ((flag & 1) == 0) { + zip_SEND_CODE(lc, ltree); /* send a literal byte */ + // Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + // Here, lc is the match length - MIN_MATCH + code = zip_length_code[lc]; + zip_SEND_CODE(code + zip_LITERALS + 1, ltree); // send the length code + extra = zip_extra_lbits[code]; + if (extra != 0) { + lc -= zip_base_length[code]; + zip_send_bits(lc, extra); // send the extra length bits + } + dist = zip_d_buf[dx++]; + // Here, dist is the match distance - 1 + code = zip_D_CODE(dist); + // Assert (code < D_CODES, "bad d_code"); + + zip_SEND_CODE(code, dtree); // send the distance code + extra = zip_extra_dbits[code]; + if (extra != 0) { + dist -= zip_base_dist[code]; + zip_send_bits(dist, extra); // send the extra distance bits + } + } // literal or match pair ? + flag >>= 1; + } while (lx < zip_last_lit); + + zip_SEND_CODE(zip_END_BLOCK, ltree); + } + + /* ========================================================================== + * Send a value on a given number of bits. + * IN assertion: length <= 16 and value fits in length bits. + */ + var zip_Buf_size = 16; // bit size of bi_buf + function zip_send_bits( + value, // value to send + length) { // number of bits + /* If not enough room in bi_buf, use (valid) bits from bi_buf and + * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid)) + * unused bits in value. + */ + if (zip_bi_valid > zip_Buf_size - length) { + zip_bi_buf |= (value << zip_bi_valid); + zip_put_short(zip_bi_buf); + zip_bi_buf = (value >> (zip_Buf_size - zip_bi_valid)); + zip_bi_valid += length - zip_Buf_size; + } else { + zip_bi_buf |= value << zip_bi_valid; + zip_bi_valid += length; + } + } + + /* ========================================================================== + * Reverse the first len bits of a code, using straightforward code (a faster + * method would use a table) + * IN assertion: 1 <= len <= 15 + */ + function zip_bi_reverse( + code, // the value to invert + len) { // its bit length + var res = 0; + do { + res |= code & 1; + code >>= 1; + res <<= 1; + } while (--len > 0); + return res >> 1; + } + + /* ========================================================================== + * Write out any remaining bits in an incomplete byte. + */ + function zip_bi_windup() { + if (zip_bi_valid > 8) { + zip_put_short(zip_bi_buf); + } else if (zip_bi_valid > 0) { + zip_put_byte(zip_bi_buf); + } + zip_bi_buf = 0; + zip_bi_valid = 0; + } + + function zip_qoutbuf() { + if (zip_outcnt != 0) { + var q, i; + q = zip_new_queue(); + if (zip_qhead == null) + zip_qhead = zip_qtail = q; + else + zip_qtail = zip_qtail.next = q; + q.len = zip_outcnt - zip_outoff; + // System.arraycopy(zip_outbuf, zip_outoff, q.ptr, 0, q.len); + for (i = 0; i < q.len; i++) + q.ptr[i] = zip_outbuf[zip_outoff + i]; + zip_outcnt = zip_outoff = 0; + } + } + + return function deflate(str, level) { + var i, j; + + zip_deflate_data = str; + zip_deflate_pos = 0; + if (typeof level == "undefined") + level = zip_DEFAULT_LEVEL; + zip_deflate_start(level); + + var buff = new Array(1024); + var aout = []; + while ((i = zip_deflate_internal(buff, 0, buff.length)) > 0) { + var cbuf = new Array(i); + for (j = 0; j < i; j++) { + cbuf[j] = String.fromCharCode(buff[j]); + } + aout[aout.length] = cbuf.join(""); + } + zip_deflate_data = null; // G.C. + return aout.join(""); + }; +})(); \ No newline at end of file diff --git a/js/front.js b/js/front.js deleted file mode 100644 index 45c0cf1..0000000 --- a/js/front.js +++ /dev/null @@ -1,384 +0,0 @@ -/* global $this: true */ -/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "animationsSlider" }] */ - -if ($.cookie('themeCSSpath')) { - $('link#theme-stylesheet').attr('href', $.cookie('themeCSSpath')) -} -if ($.cookie('themeLayout')) { - $('body').addClass($.cookie('themeLayout')) -} - -$(function () { - sliderHomepage() - sliders() - fullScreenContainer() - productDetailGallery(4000) - menuSliding() - productDetailSizes() - utils() - animations() - counters() - demo() - contactForm() -}) - -// Ajax contact -function contactForm () { - var form = $('.contact-form') - form.submit(function () { - $this = $(this) - $.post($(this).attr('action'), - $this.serialize(), - function () { - $this[0].reset() // clear form - - $('#contact-message') - .html('<div class="alert alert-success" role="alert"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>Thank you for getting in touch. We will get back to you soon!</div>') - .fadeIn() - } - , 'json') - return false - }) -} - -/* for demo purpose only - can be deleted */ -function demo () { - if ($.cookie('themeCSSpath')) { - $('link#theme-stylesheet').attr('href', $.cookie('themeCSSpath')) - } - - $('#colour').change(function () { - if ($(this).val() !== '') { - var themeCSSpath = 'css/style.' + $(this).val() + '.css' - - $('link#theme-stylesheet').attr('href', themeCSSpath) - - $.cookie('themeCSSpath', themeCSSpath, {expires: 365, path: '/'}) - } - - return false - }) - - $('#layout').change(function () { - if ($(this).val() !== '') { - var themeLayout = $(this).val() - - $('body').removeClass('wide') - $('body').removeClass('boxed') - - $('body').addClass(themeLayout) - - $.cookie('themeLayout', themeLayout, {expires: 365, path: '/'}) - } - - return false - }) -} - -/* slider homepage */ -function sliderHomepage () { - if ($('#slider').length) { - // var owl = $('#slider') - - $('#slider').owlCarousel({ - autoPlay: 3000, - items: 4, - itemsDesktopSmall: [900, 3], - itemsTablet: [600, 3], - itemsMobile: [500, 2] - }) - } -} - -/* sliders */ -function sliders () { - if ($('.owl-carousel').length) { - $('.customers').owlCarousel({ - items: 6, - itemsDesktopSmall: [990, 4], - itemsTablet: [768, 2], - itemsMobile: [480, 1] - }) - - $('.testimonials').owlCarousel({ - items: 4, - itemsDesktopSmall: [990, 3], - itemsTablet: [768, 2], - itemsMobile: [480, 1] - }) - - $('.project').owlCarousel({ - navigation: true, // Show next and prev buttons - navigationText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'], - slideSpeed: 300, - paginationSpeed: 400, - autoPlay: true, - stopOnHover: true, - singleItem: true, - afterInit: '', - lazyLoad: true - }) - - $('.homepage').owlCarousel({ - navigation: false, // Show next and prev buttons - navigationText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'], - slideSpeed: 2000, - paginationSpeed: 1000, - autoPlay: true, - stopOnHover: true, - singleItem: true, - lazyLoad: false, - addClassActive: true, - afterInit: function () { - // animationsSlider() - }, - afterMove: function () { - // animationsSlider() - } - }) - } -} - -/* menu sliding */ -function menuSliding () { - $('.dropdown').on('show.bs.dropdown', function () { - if ($(window).width() > 750) { - $(this).find('.dropdown-menu').first().stop(true, true).slideDown() - } else { - $(this).find('.dropdown-menu').first().stop(true, true).show() - } - }) - - $('.dropdown').on('hide.bs.dropdown', function () { - if ($(window).width() > 750) { - $(this).find('.dropdown-menu').first().stop(true, true).slideUp() - } else { - $(this).find('.dropdown-menu').first().stop(true, true).hide() - } - }) -} - -/* animations */ -function animations () { - var delayTime = 0 - $('[data-animate]').css({opacity: '0'}) - $('[data-animate]').waypoint(function () { - delayTime += 150 - $(this).delay(delayTime).queue(function (next) { - $(this).toggleClass('animated') - $(this).toggleClass($(this).data('animate')) - delayTime = 0 - next() - // $(this).removeClass('animated') - // $(this).toggleClass($(this).data('animate')) - }) - }, { - offset: '90%', - triggerOnce: true - }) - - $('[data-animate-hover]').hover(function () { - $(this).css({opacity: 1}) - $(this).addClass('animated') - $(this).removeClass($(this).data('animate')) - $(this).addClass($(this).data('animate-hover')) - }, function () { - $(this).removeClass('animated') - $(this).removeClass($(this).data('animate-hover')) - }) -} - -function animationsSlider () { - var delayTimeSlider = 400 - - $('.owl-item:not(.active) [data-animate-always]').each(function () { - $(this).removeClass('animated') - $(this).removeClass($(this).data('animate-always')) - $(this).stop(true, true, true).css({opacity: 0}) - }) - - $('.owl-item.active [data-animate-always]').each(function () { - delayTimeSlider += 500 - - $(this).delay(delayTimeSlider).queue(function () { - $(this).addClass('animated') - $(this).addClass($(this).data('animate-always')) - - console.log($(this).data('animate-always')) - }) - }) -} - -/* counters */ -function counters () { - $('.counter').counterUp({ - delay: 10, - time: 1000 - }) -} - -/* picture zoom */ -function pictureZoom () { - $('.product .image, .post .image, .photostream div').each(function () { - var imgHeight = $(this).find('img').height() - if (imgHeight) { - $(this).height(imgHeight) - } - }) -} - -/* full screen intro */ -function fullScreenContainer () { - var screenWidth = $(window).width() + 'px' - var screenHeight = '500px' - - if ($(window).height() > 500) { - screenHeight = $(window).height() + 'px' - } - - $('#intro, #intro .item').css({ - width: screenWidth, - height: screenHeight - }) -} - -function utils () { - /* tooltips */ - $('[data-toggle="tooltip"]').tooltip() - - /* click on the box activates the radio */ - $('#checkout').on('click', '.box.shipping-method, .box.payment-method', function () { - var radio = $(this).find(':radio') - radio.prop('checked', true) - }) - - /* click on the box activates the link in it */ - $('.box.clickable').on('click', function () { - window.location = $(this).find('a').attr('href') - }) - - /* external links in new window */ - $('.external').on('click', function (e) { - e.preventDefault() - window.open($(this).attr('href')) - }) - - /* animated scrolling */ - $('.scroll-to, .scroll-to-top').click(function (event) { - var fullUrl = this.href - var parts = fullUrl.split('#') - - if (parts.length > 1) { - scrollTo(fullUrl) - event.preventDefault() - } - }) - - function scrollTo (fullUrl) { - var parts = fullUrl.split('#') - var trgt = parts[1] - var targetOffset = $('#' + trgt).offset() - var targetTop = targetOffset.top - 100 - - if (targetTop < 0) { - targetTop = 0 - } - - $('html, body').animate({ - scrollTop: targetTop - }, 1000) - } -} - -/* product detail gallery */ -function productDetailGallery (confDetailSwitch) { - $('.thumb:first').addClass('active') - var timer = setInterval(autoSwitch, confDetailSwitch) - - $('.thumb').click(function (e) { - switchImage($(this)) - clearInterval(timer) - timer = setInterval(autoSwitch, confDetailSwitch) - e.preventDefault() - }) - - $('#mainImage').hover(function () { - clearInterval(timer) - }, function () { - timer = setInterval(autoSwitch, confDetailSwitch) - }) - - function autoSwitch () { - var nextThumb = $('.thumb.active').closest('div').next('div').find('.thumb') - if (nextThumb.length === 0) { - nextThumb = $('.thumb:first') - } - switchImage(nextThumb) - } - - function switchImage (thumb) { - $('.thumb').removeClass('active') - var bigUrl = thumb.attr('href') - thumb.addClass('active') - $('#mainImage img').attr('src', bigUrl) - } -} - -/* product detail sizes */ -function productDetailSizes () { - $('.sizes a').click(function (e) { - e.preventDefault() - $('.sizes a').removeClass('active') - $('.size-input').prop('checked', false) - $(this).addClass('active') - $(this).next('input').prop('checked', true) - }) -} - -$.fn.alignElementsSameHeight = function () { - $('.same-height-row').each(function () { - var maxHeight = 0 - var children = $(this).find('.same-height') - children.height('auto') - - if ($(window).width() > 768) { - children.each(function () { - if ($(this).innerHeight() > maxHeight) { - maxHeight = $(this).innerHeight() - } - }) - children.innerHeight(maxHeight) - } - - maxHeight = 0 - children = $(this).find('.same-height-always') - children.height('auto') - children.each(function () { - if ($(this).height() > maxHeight) { - maxHeight = $(this).innerHeight() - } - }) - children.innerHeight(maxHeight) - }) -} - -var windowWidth -$(function () { - windowWidth = $(window).width() - - $(this).alignElementsSameHeight() - pictureZoom() -}) - -$(window).resize(function () { - var newWindowWidth = $(window).width() - - if (windowWidth !== newWindowWidth) { - setTimeout(function () { - $(this).alignElementsSameHeight() - fullScreenContainer() - pictureZoom() - }, 205) - windowWidth = newWindowWidth - } -}) diff --git a/js/gmaps.init.js b/js/gmaps.init.js deleted file mode 100644 index 2227dda..0000000 --- a/js/gmaps.init.js +++ /dev/null @@ -1,71 +0,0 @@ -/* global GMaps: true */ - -$(document).ready(function () { - map() -}) - -function map () { - if ($('#map').length) { - var lat = $('#gmap-lat').val() - var lng = $('#gmap-lng').val() - var direction = $('#gmap-dir').val() - var image = $('#gmap-marker').val() - - var styles = - [ - { - 'featureType': 'landscape', 'stylers': [{'saturation': -100}, {'lightness': 65}, {'visibility': 'on'}] - }, { - 'featureType': 'poi', 'stylers': [{'saturation': -100}, {'lightness': 51}, {'visibility': 'simplified'}] - }, { - 'featureType': 'road.highway', 'stylers': [{'saturation': -100}, {'visibility': 'simplified'}] - }, { - 'featureType': 'road.arterial', 'stylers': [{'saturation': -100}, {'lightness': 30}, {'visibility': 'on'}] - }, { - 'featureType': 'road.local', 'stylers': [{'saturation': -100}, {'lightness': 40}, {'visibility': 'on'}] - }, { - 'featureType': 'transit', 'stylers': [{'saturation': -100}, {'visibility': 'simplified'}] - }, { - 'featureType': 'administrative.province', 'stylers': [{'visibility': 'off'}] - }, { - 'featureType': 'water', 'elementType': 'labels', 'stylers': [{'visibility': 'on'}, {'lightness': -25}, {'saturation': -100}] - }, { - 'featureType': 'water', 'elementType': 'geometry', 'stylers': [{'hue': '#ffff00'}, {'lightness': -25}, {'saturation': -97}] - } - ] - - var map = new GMaps({ - el: '#map', - lat: lat, - lng: lng, - zoomControl: true, - zoomControlOpt: { - style: 'SMALL', - position: 'TOP_LEFT' - }, - panControl: false, - streetViewControl: false, - mapTypeControl: false, - overviewMapControl: false, - scrollwheel: false, - draggable: false, - styles: styles - }) - - map.addMarker({ - lat: lat, - lng: lng, - icon: image, - click: function (e) { - // when we get an address with spaces ... - var url = 'https://maps.google.com?daddr=' + direction.split('match').join('replace') - window.open(url, '_blank') - }, - title: direction - /* , - infoWindow: { - content: '<p>HTML Content</p>' - } */ - }) - } -} diff --git a/js/hpneo.gmaps.js b/js/hpneo.gmaps.js deleted file mode 100644 index 66b4959..0000000 --- a/js/hpneo.gmaps.js +++ /dev/null @@ -1,2132 +0,0 @@ -(function(root, factory) { - if(typeof exports === 'object') { - module.exports = factory(); - } - else if(typeof define === 'function' && define.amd) { - define('GMaps', [], factory); - } - - root.GMaps = factory(); - -}(this, function() { - -/*! - * GMaps.js v0.4.15 - * http://hpneo.github.com/gmaps/ - * - * Copyright 2014, Gustavo Leon - * Released under the MIT License. - */ - -if (!(typeof window.google === 'object' && window.google.maps)) { - throw 'Google Maps API is required. Please register the following JavaScript library http://maps.google.com/maps/api/js?sensor=true.' -} - -var extend_object = function(obj, new_obj) { - var name; - - if (obj === new_obj) { - return obj; - } - - for (name in new_obj) { - obj[name] = new_obj[name]; - } - - return obj; -}; - -var replace_object = function(obj, replace) { - var name; - - if (obj === replace) { - return obj; - } - - for (name in replace) { - if (obj[name] != undefined) { - obj[name] = replace[name]; - } - } - - return obj; -}; - -var array_map = function(array, callback) { - var original_callback_params = Array.prototype.slice.call(arguments, 2), - array_return = [], - array_length = array.length, - i; - - if (Array.prototype.map && array.map === Array.prototype.map) { - array_return = Array.prototype.map.call(array, function(item) { - callback_params = original_callback_params; - callback_params.splice(0, 0, item); - - return callback.apply(this, callback_params); - }); - } - else { - for (i = 0; i < array_length; i++) { - callback_params = original_callback_params; - callback_params.splice(0, 0, array[i]); - array_return.push(callback.apply(this, callback_params)); - } - } - - return array_return; -}; - -var array_flat = function(array) { - var new_array = [], - i; - - for (i = 0; i < array.length; i++) { - new_array = new_array.concat(array[i]); - } - - return new_array; -}; - -var coordsToLatLngs = function(coords, useGeoJSON) { - var first_coord = coords[0], - second_coord = coords[1]; - - if (useGeoJSON) { - first_coord = coords[1]; - second_coord = coords[0]; - } - - return new google.maps.LatLng(first_coord, second_coord); -}; - -var arrayToLatLng = function(coords, useGeoJSON) { - var i; - - for (i = 0; i < coords.length; i++) { - if (!(coords[i] instanceof google.maps.LatLng)) { - if (coords[i].length > 0 && typeof(coords[i][0]) == "object") { - coords[i] = arrayToLatLng(coords[i], useGeoJSON); - } - else { - coords[i] = coordsToLatLngs(coords[i], useGeoJSON); - } - } - } - - return coords; -}; - -var getElementById = function(id, context) { - var element, - id = id.replace('#', ''); - - if ('jQuery' in this && context) { - element = $("#" + id, context)[0]; - } else { - element = document.getElementById(id); - }; - - return element; -}; - -var findAbsolutePosition = function(obj) { - var curleft = 0, - curtop = 0; - - if (obj.offsetParent) { - do { - curleft += obj.offsetLeft; - curtop += obj.offsetTop; - } while (obj = obj.offsetParent); - } - - return [curleft, curtop]; -}; - -var GMaps = (function(global) { - "use strict"; - - var doc = document; - - var GMaps = function(options) { - if (!this) return new GMaps(options); - - options.zoom = options.zoom || 15; - options.mapType = options.mapType || 'roadmap'; - - var self = this, - i, - events_that_hide_context_menu = ['bounds_changed', 'center_changed', 'click', 'dblclick', 'drag', 'dragend', 'dragstart', 'idle', 'maptypeid_changed', 'projection_changed', 'resize', 'tilesloaded', 'zoom_changed'], - events_that_doesnt_hide_context_menu = ['mousemove', 'mouseout', 'mouseover'], - options_to_be_deleted = ['el', 'lat', 'lng', 'mapType', 'width', 'height', 'markerClusterer', 'enableNewStyle'], - container_id = options.el || options.div, - markerClustererFunction = options.markerClusterer, - mapType = google.maps.MapTypeId[options.mapType.toUpperCase()], - map_center = new google.maps.LatLng(options.lat, options.lng), - zoomControl = options.zoomControl || true, - zoomControlOpt = options.zoomControlOpt || { - style: 'DEFAULT', - position: 'TOP_LEFT' - }, - zoomControlStyle = zoomControlOpt.style || 'DEFAULT', - zoomControlPosition = zoomControlOpt.position || 'TOP_LEFT', - panControl = options.panControl || true, - mapTypeControl = options.mapTypeControl || true, - scaleControl = options.scaleControl || true, - streetViewControl = options.streetViewControl || true, - overviewMapControl = overviewMapControl || true, - map_options = {}, - map_base_options = { - zoom: this.zoom, - center: map_center, - mapTypeId: mapType - }, - map_controls_options = { - panControl: panControl, - zoomControl: zoomControl, - zoomControlOptions: { - style: google.maps.ZoomControlStyle[zoomControlStyle], - position: google.maps.ControlPosition[zoomControlPosition] - }, - mapTypeControl: mapTypeControl, - scaleControl: scaleControl, - streetViewControl: streetViewControl, - overviewMapControl: overviewMapControl - }; - - if (typeof(options.el) === 'string' || typeof(options.div) === 'string') { - this.el = getElementById(container_id, options.context); - } else { - this.el = container_id; - } - - if (typeof(this.el) === 'undefined' || this.el === null) { - throw 'No element defined.'; - } - - window.context_menu = window.context_menu || {}; - window.context_menu[self.el.id] = {}; - - this.controls = []; - this.overlays = []; - this.layers = []; // array with kml/georss and fusiontables layers, can be as many - this.singleLayers = {}; // object with the other layers, only one per layer - this.markers = []; - this.polylines = []; - this.routes = []; - this.polygons = []; - this.infoWindow = null; - this.overlay_el = null; - this.zoom = options.zoom; - this.registered_events = {}; - - this.el.style.width = options.width || this.el.scrollWidth || this.el.offsetWidth; - this.el.style.height = options.height || this.el.scrollHeight || this.el.offsetHeight; - - google.maps.visualRefresh = options.enableNewStyle; - - for (i = 0; i < options_to_be_deleted.length; i++) { - delete options[options_to_be_deleted[i]]; - } - - if(options.disableDefaultUI != true) { - map_base_options = extend_object(map_base_options, map_controls_options); - } - - map_options = extend_object(map_base_options, options); - - for (i = 0; i < events_that_hide_context_menu.length; i++) { - delete map_options[events_that_hide_context_menu[i]]; - } - - for (i = 0; i < events_that_doesnt_hide_context_menu.length; i++) { - delete map_options[events_that_doesnt_hide_context_menu[i]]; - } - - this.map = new google.maps.Map(this.el, map_options); - - if (markerClustererFunction) { - this.markerClusterer = markerClustererFunction.apply(this, [this.map]); - } - - var buildContextMenuHTML = function(control, e) { - var html = '', - options = window.context_menu[self.el.id][control]; - - for (var i in options){ - if (options.hasOwnProperty(i)) { - var option = options[i]; - - html += '<li><a id="' + control + '_' + i + '" href="#">' + option.title + '</a></li>'; - } - } - - if (!getElementById('gmaps_context_menu')) return; - - var context_menu_element = getElementById('gmaps_context_menu'); - - context_menu_element.innerHTML = html; - - var context_menu_items = context_menu_element.getElementsByTagName('a'), - context_menu_items_count = context_menu_items.length, - i; - - for (i = 0; i < context_menu_items_count; i++) { - var context_menu_item = context_menu_items[i]; - - var assign_menu_item_action = function(ev){ - ev.preventDefault(); - - options[this.id.replace(control + '_', '')].action.apply(self, [e]); - self.hideContextMenu(); - }; - - google.maps.event.clearListeners(context_menu_item, 'click'); - google.maps.event.addDomListenerOnce(context_menu_item, 'click', assign_menu_item_action, false); - } - - var position = findAbsolutePosition.apply(this, [self.el]), - left = position[0] + e.pixel.x - 15, - top = position[1] + e.pixel.y- 15; - - context_menu_element.style.left = left + "px"; - context_menu_element.style.top = top + "px"; - - context_menu_element.style.display = 'block'; - }; - - this.buildContextMenu = function(control, e) { - if (control === 'marker') { - e.pixel = {}; - - var overlay = new google.maps.OverlayView(); - overlay.setMap(self.map); - - overlay.draw = function() { - var projection = overlay.getProjection(), - position = e.marker.getPosition(); - - e.pixel = projection.fromLatLngToContainerPixel(position); - - buildContextMenuHTML(control, e); - }; - } - else { - buildContextMenuHTML(control, e); - } - }; - - this.setContextMenu = function(options) { - window.context_menu[self.el.id][options.control] = {}; - - var i, - ul = doc.createElement('ul'); - - for (i in options.options) { - if (options.options.hasOwnProperty(i)) { - var option = options.options[i]; - - window.context_menu[self.el.id][options.control][option.name] = { - title: option.title, - action: option.action - }; - } - } - - ul.id = 'gmaps_context_menu'; - ul.style.display = 'none'; - ul.style.position = 'absolute'; - ul.style.minWidth = '100px'; - ul.style.background = 'white'; - ul.style.listStyle = 'none'; - ul.style.padding = '8px'; - ul.style.boxShadow = '2px 2px 6px #ccc'; - - doc.body.appendChild(ul); - - var context_menu_element = getElementById('gmaps_context_menu') - - google.maps.event.addDomListener(context_menu_element, 'mouseout', function(ev) { - if (!ev.relatedTarget || !this.contains(ev.relatedTarget)) { - window.setTimeout(function(){ - context_menu_element.style.display = 'none'; - }, 400); - } - }, false); - }; - - this.hideContextMenu = function() { - var context_menu_element = getElementById('gmaps_context_menu'); - - if (context_menu_element) { - context_menu_element.style.display = 'none'; - } - }; - - var setupListener = function(object, name) { - google.maps.event.addListener(object, name, function(e){ - if (e == undefined) { - e = this; - } - - options[name].apply(this, [e]); - - self.hideContextMenu(); - }); - }; - - //google.maps.event.addListener(this.map, 'idle', this.hideContextMenu); - google.maps.event.addListener(this.map, 'zoom_changed', this.hideContextMenu); - - for (var ev = 0; ev < events_that_hide_context_menu.length; ev++) { - var name = events_that_hide_context_menu[ev]; - - if (name in options) { - setupListener(this.map, name); - } - } - - for (var ev = 0; ev < events_that_doesnt_hide_context_menu.length; ev++) { - var name = events_that_doesnt_hide_context_menu[ev]; - - if (name in options) { - setupListener(this.map, name); - } - } - - google.maps.event.addListener(this.map, 'rightclick', function(e) { - if (options.rightclick) { - options.rightclick.apply(this, [e]); - } - - if(window.context_menu[self.el.id]['map'] != undefined) { - self.buildContextMenu('map', e); - } - }); - - this.refresh = function() { - google.maps.event.trigger(this.map, 'resize'); - }; - - this.fitZoom = function() { - var latLngs = [], - markers_length = this.markers.length, - i; - - for (i = 0; i < markers_length; i++) { - if(typeof(this.markers[i].visible) === 'boolean' && this.markers[i].visible) { - latLngs.push(this.markers[i].getPosition()); - } - } - - this.fitLatLngBounds(latLngs); - }; - - this.fitLatLngBounds = function(latLngs) { - var total = latLngs.length; - var bounds = new google.maps.LatLngBounds(); - - for(var i=0; i < total; i++) { - bounds.extend(latLngs[i]); - } - - this.map.fitBounds(bounds); - }; - - this.setCenter = function(lat, lng, callback) { - this.map.panTo(new google.maps.LatLng(lat, lng)); - - if (callback) { - callback(); - } - }; - - this.getElement = function() { - return this.el; - }; - - this.zoomIn = function(value) { - value = value || 1; - - this.zoom = this.map.getZoom() + value; - this.map.setZoom(this.zoom); - }; - - this.zoomOut = function(value) { - value = value || 1; - - this.zoom = this.map.getZoom() - value; - this.map.setZoom(this.zoom); - }; - - var native_methods = [], - method; - - for (method in this.map) { - if (typeof(this.map[method]) == 'function' && !this[method]) { - native_methods.push(method); - } - } - - for (i=0; i < native_methods.length; i++) { - (function(gmaps, scope, method_name) { - gmaps[method_name] = function(){ - return scope[method_name].apply(scope, arguments); - }; - })(this, this.map, native_methods[i]); - } - }; - - return GMaps; -})(this); - -GMaps.prototype.createControl = function(options) { - var control = document.createElement('div'); - - control.style.cursor = 'pointer'; - - if (options.disableDefaultStyles !== true) { - control.style.fontFamily = 'Roboto, Arial, sans-serif'; - control.style.fontSize = '11px'; - control.style.boxShadow = 'rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px'; - } - - for (var option in options.style) { - control.style[option] = options.style[option]; - } - - if (options.id) { - control.id = options.id; - } - - if (options.classes) { - control.className = options.classes; - } - - if (options.content) { - if (typeof options.content === 'string') { - control.innerHTML = options.content; - } - else if (options.content instanceof HTMLElement) { - control.appendChild(options.content); - } - } - - if (options.position) { - control.position = google.maps.ControlPosition[options.position.toUpperCase()]; - } - - for (var ev in options.events) { - (function(object, name) { - google.maps.event.addDomListener(object, name, function(){ - options.events[name].apply(this, [this]); - }); - })(control, ev); - } - - control.index = 1; - - return control; -}; - -GMaps.prototype.addControl = function(options) { - var control = this.createControl(options); - this.controls.push(control); - this.map.controls[control.position].push(control); - - return control; -}; - -GMaps.prototype.removeControl = function(control) { - var position = null; - - for (var i = 0; i < this.controls.length; i++) { - if (this.controls[i] == control) { - position = this.controls[i].position; - this.controls.splice(i, 1); - } - } - - if (position) { - for (i = 0; i < this.map.controls.length; i++) { - var controlsForPosition = this.map.controls[control.position] - if (controlsForPosition.getAt(i) == control) { - controlsForPosition.removeAt(i); - break; - } - } - } - - return control; -}; - -GMaps.prototype.createMarker = function(options) { - if (options.lat == undefined && options.lng == undefined && options.position == undefined) { - throw 'No latitude or longitude defined.'; - } - - var self = this, - details = options.details, - fences = options.fences, - outside = options.outside, - base_options = { - position: new google.maps.LatLng(options.lat, options.lng), - map: null - }, - marker_options = extend_object(base_options, options); - - delete marker_options.lat; - delete marker_options.lng; - delete marker_options.fences; - delete marker_options.outside; - - var marker = new google.maps.Marker(marker_options); - - marker.fences = fences; - - if (options.infoWindow) { - marker.infoWindow = new google.maps.InfoWindow(options.infoWindow); - - var info_window_events = ['closeclick', 'content_changed', 'domready', 'position_changed', 'zindex_changed']; - - for (var ev = 0; ev < info_window_events.length; ev++) { - (function(object, name) { - if (options.infoWindow[name]) { - google.maps.event.addListener(object, name, function(e){ - options.infoWindow[name].apply(this, [e]); - }); - } - })(marker.infoWindow, info_window_events[ev]); - } - } - - var marker_events = ['animation_changed', 'clickable_changed', 'cursor_changed', 'draggable_changed', 'flat_changed', 'icon_changed', 'position_changed', 'shadow_changed', 'shape_changed', 'title_changed', 'visible_changed', 'zindex_changed']; - - var marker_events_with_mouse = ['dblclick', 'drag', 'dragend', 'dragstart', 'mousedown', 'mouseout', 'mouseover', 'mouseup']; - - for (var ev = 0; ev < marker_events.length; ev++) { - (function(object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(){ - options[name].apply(this, [this]); - }); - } - })(marker, marker_events[ev]); - } - - for (var ev = 0; ev < marker_events_with_mouse.length; ev++) { - (function(map, object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(me){ - if(!me.pixel){ - me.pixel = map.getProjection().fromLatLngToPoint(me.latLng) - } - - options[name].apply(this, [me]); - }); - } - })(this.map, marker, marker_events_with_mouse[ev]); - } - - google.maps.event.addListener(marker, 'click', function() { - this.details = details; - - if (options.click) { - options.click.apply(this, [this]); - } - - if (marker.infoWindow) { - self.hideInfoWindows(); - marker.infoWindow.open(self.map, marker); - } - }); - - google.maps.event.addListener(marker, 'rightclick', function(e) { - e.marker = this; - - if (options.rightclick) { - options.rightclick.apply(this, [e]); - } - - if (window.context_menu[self.el.id]['marker'] != undefined) { - self.buildContextMenu('marker', e); - } - }); - - if (marker.fences) { - google.maps.event.addListener(marker, 'dragend', function() { - self.checkMarkerGeofence(marker, function(m, f) { - outside(m, f); - }); - }); - } - - return marker; -}; - -GMaps.prototype.addMarker = function(options) { - var marker; - if(options.hasOwnProperty('gm_accessors_')) { - // Native google.maps.Marker object - marker = options; - } - else { - if ((options.hasOwnProperty('lat') && options.hasOwnProperty('lng')) || options.position) { - marker = this.createMarker(options); - } - else { - throw 'No latitude or longitude defined.'; - } - } - - marker.setMap(this.map); - - if(this.markerClusterer) { - this.markerClusterer.addMarker(marker); - } - - this.markers.push(marker); - - GMaps.fire('marker_added', marker, this); - - return marker; -}; - -GMaps.prototype.addMarkers = function(array) { - for (var i = 0, marker; marker=array[i]; i++) { - this.addMarker(marker); - } - - return this.markers; -}; - -GMaps.prototype.hideInfoWindows = function() { - for (var i = 0, marker; marker = this.markers[i]; i++){ - if (marker.infoWindow) { - marker.infoWindow.close(); - } - } -}; - -GMaps.prototype.removeMarker = function(marker) { - for (var i = 0; i < this.markers.length; i++) { - if (this.markers[i] === marker) { - this.markers[i].setMap(null); - this.markers.splice(i, 1); - - if(this.markerClusterer) { - this.markerClusterer.removeMarker(marker); - } - - GMaps.fire('marker_removed', marker, this); - - break; - } - } - - return marker; -}; - -GMaps.prototype.removeMarkers = function (collection) { - var new_markers = []; - - if (typeof collection == 'undefined') { - for (var i = 0; i < this.markers.length; i++) { - this.markers[i].setMap(null); - } - - this.markers = new_markers; - } - else { - for (var i = 0; i < collection.length; i++) { - if (this.markers.indexOf(collection[i]) > -1) { - this.markers[i].setMap(null); - } - } - - for (var i = 0; i < this.markers.length; i++) { - if (this.markers[i].getMap() != null) { - new_markers.push(this.markers[i]); - } - } - - this.markers = new_markers; - } -}; - -GMaps.prototype.drawOverlay = function(options) { - var overlay = new google.maps.OverlayView(), - auto_show = true; - - overlay.setMap(this.map); - - if (options.auto_show != null) { - auto_show = options.auto_show; - } - - overlay.onAdd = function() { - var el = document.createElement('div'); - - el.style.borderStyle = "none"; - el.style.borderWidth = "0px"; - el.style.position = "absolute"; - el.style.zIndex = 100; - el.innerHTML = options.content; - - overlay.el = el; - - if (!options.layer) { - options.layer = 'overlayLayer'; - } - - var panes = this.getPanes(), - overlayLayer = panes[options.layer], - stop_overlay_events = ['contextmenu', 'DOMMouseScroll', 'dblclick', 'mousedown']; - - overlayLayer.appendChild(el); - - for (var ev = 0; ev < stop_overlay_events.length; ev++) { - (function(object, name) { - google.maps.event.addDomListener(object, name, function(e){ - if (navigator.userAgent.toLowerCase().indexOf('msie') != -1 && document.all) { - e.cancelBubble = true; - e.returnValue = false; - } - else { - e.stopPropagation(); - } - }); - })(el, stop_overlay_events[ev]); - } - - if (options.click) { - panes.overlayMouseTarget.appendChild(overlay.el); - google.maps.event.addDomListener(overlay.el, 'click', function() { - options.click.apply(overlay, [overlay]); - }); - } - - google.maps.event.trigger(this, 'ready'); - }; - - overlay.draw = function() { - var projection = this.getProjection(), - pixel = projection.fromLatLngToDivPixel(new google.maps.LatLng(options.lat, options.lng)); - - options.horizontalOffset = options.horizontalOffset || 0; - options.verticalOffset = options.verticalOffset || 0; - - var el = overlay.el, - content = el.children[0], - content_height = content.clientHeight, - content_width = content.clientWidth; - - switch (options.verticalAlign) { - case 'top': - el.style.top = (pixel.y - content_height + options.verticalOffset) + 'px'; - break; - default: - case 'middle': - el.style.top = (pixel.y - (content_height / 2) + options.verticalOffset) + 'px'; - break; - case 'bottom': - el.style.top = (pixel.y + options.verticalOffset) + 'px'; - break; - } - - switch (options.horizontalAlign) { - case 'left': - el.style.left = (pixel.x - content_width + options.horizontalOffset) + 'px'; - break; - default: - case 'center': - el.style.left = (pixel.x - (content_width / 2) + options.horizontalOffset) + 'px'; - break; - case 'right': - el.style.left = (pixel.x + options.horizontalOffset) + 'px'; - break; - } - - el.style.display = auto_show ? 'block' : 'none'; - - if (!auto_show) { - options.show.apply(this, [el]); - } - }; - - overlay.onRemove = function() { - var el = overlay.el; - - if (options.remove) { - options.remove.apply(this, [el]); - } - else { - overlay.el.parentNode.removeChild(overlay.el); - overlay.el = null; - } - }; - - this.overlays.push(overlay); - return overlay; -}; - -GMaps.prototype.removeOverlay = function(overlay) { - for (var i = 0; i < this.overlays.length; i++) { - if (this.overlays[i] === overlay) { - this.overlays[i].setMap(null); - this.overlays.splice(i, 1); - - break; - } - } -}; - -GMaps.prototype.removeOverlays = function() { - for (var i = 0, item; item = this.overlays[i]; i++) { - item.setMap(null); - } - - this.overlays = []; -}; - -GMaps.prototype.drawPolyline = function(options) { - var path = [], - points = options.path; - - if (points.length) { - if (points[0][0] === undefined) { - path = points; - } - else { - for (var i=0, latlng; latlng=points[i]; i++) { - path.push(new google.maps.LatLng(latlng[0], latlng[1])); - } - } - } - - var polyline_options = { - map: this.map, - path: path, - strokeColor: options.strokeColor, - strokeOpacity: options.strokeOpacity, - strokeWeight: options.strokeWeight, - geodesic: options.geodesic, - clickable: true, - editable: false, - visible: true - }; - - if (options.hasOwnProperty("clickable")) { - polyline_options.clickable = options.clickable; - } - - if (options.hasOwnProperty("editable")) { - polyline_options.editable = options.editable; - } - - if (options.hasOwnProperty("icons")) { - polyline_options.icons = options.icons; - } - - if (options.hasOwnProperty("zIndex")) { - polyline_options.zIndex = options.zIndex; - } - - var polyline = new google.maps.Polyline(polyline_options); - - var polyline_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; - - for (var ev = 0; ev < polyline_events.length; ev++) { - (function(object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(e){ - options[name].apply(this, [e]); - }); - } - })(polyline, polyline_events[ev]); - } - - this.polylines.push(polyline); - - GMaps.fire('polyline_added', polyline, this); - - return polyline; -}; - -GMaps.prototype.removePolyline = function(polyline) { - for (var i = 0; i < this.polylines.length; i++) { - if (this.polylines[i] === polyline) { - this.polylines[i].setMap(null); - this.polylines.splice(i, 1); - - GMaps.fire('polyline_removed', polyline, this); - - break; - } - } -}; - -GMaps.prototype.removePolylines = function() { - for (var i = 0, item; item = this.polylines[i]; i++) { - item.setMap(null); - } - - this.polylines = []; -}; - -GMaps.prototype.drawCircle = function(options) { - options = extend_object({ - map: this.map, - center: new google.maps.LatLng(options.lat, options.lng) - }, options); - - delete options.lat; - delete options.lng; - - var polygon = new google.maps.Circle(options), - polygon_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; - - for (var ev = 0; ev < polygon_events.length; ev++) { - (function(object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(e){ - options[name].apply(this, [e]); - }); - } - })(polygon, polygon_events[ev]); - } - - this.polygons.push(polygon); - - return polygon; -}; - -GMaps.prototype.drawRectangle = function(options) { - options = extend_object({ - map: this.map - }, options); - - var latLngBounds = new google.maps.LatLngBounds( - new google.maps.LatLng(options.bounds[0][0], options.bounds[0][1]), - new google.maps.LatLng(options.bounds[1][0], options.bounds[1][1]) - ); - - options.bounds = latLngBounds; - - var polygon = new google.maps.Rectangle(options), - polygon_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; - - for (var ev = 0; ev < polygon_events.length; ev++) { - (function(object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(e){ - options[name].apply(this, [e]); - }); - } - })(polygon, polygon_events[ev]); - } - - this.polygons.push(polygon); - - return polygon; -}; - -GMaps.prototype.drawPolygon = function(options) { - var useGeoJSON = false; - - if(options.hasOwnProperty("useGeoJSON")) { - useGeoJSON = options.useGeoJSON; - } - - delete options.useGeoJSON; - - options = extend_object({ - map: this.map - }, options); - - if (useGeoJSON == false) { - options.paths = [options.paths.slice(0)]; - } - - if (options.paths.length > 0) { - if (options.paths[0].length > 0) { - options.paths = array_flat(array_map(options.paths, arrayToLatLng, useGeoJSON)); - } - } - - var polygon = new google.maps.Polygon(options), - polygon_events = ['click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'rightclick']; - - for (var ev = 0; ev < polygon_events.length; ev++) { - (function(object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(e){ - options[name].apply(this, [e]); - }); - } - })(polygon, polygon_events[ev]); - } - - this.polygons.push(polygon); - - GMaps.fire('polygon_added', polygon, this); - - return polygon; -}; - -GMaps.prototype.removePolygon = function(polygon) { - for (var i = 0; i < this.polygons.length; i++) { - if (this.polygons[i] === polygon) { - this.polygons[i].setMap(null); - this.polygons.splice(i, 1); - - GMaps.fire('polygon_removed', polygon, this); - - break; - } - } -}; - -GMaps.prototype.removePolygons = function() { - for (var i = 0, item; item = this.polygons[i]; i++) { - item.setMap(null); - } - - this.polygons = []; -}; - -GMaps.prototype.getFromFusionTables = function(options) { - var events = options.events; - - delete options.events; - - var fusion_tables_options = options, - layer = new google.maps.FusionTablesLayer(fusion_tables_options); - - for (var ev in events) { - (function(object, name) { - google.maps.event.addListener(object, name, function(e) { - events[name].apply(this, [e]); - }); - })(layer, ev); - } - - this.layers.push(layer); - - return layer; -}; - -GMaps.prototype.loadFromFusionTables = function(options) { - var layer = this.getFromFusionTables(options); - layer.setMap(this.map); - - return layer; -}; - -GMaps.prototype.getFromKML = function(options) { - var url = options.url, - events = options.events; - - delete options.url; - delete options.events; - - var kml_options = options, - layer = new google.maps.KmlLayer(url, kml_options); - - for (var ev in events) { - (function(object, name) { - google.maps.event.addListener(object, name, function(e) { - events[name].apply(this, [e]); - }); - })(layer, ev); - } - - this.layers.push(layer); - - return layer; -}; - -GMaps.prototype.loadFromKML = function(options) { - var layer = this.getFromKML(options); - layer.setMap(this.map); - - return layer; -}; - -GMaps.prototype.addLayer = function(layerName, options) { - //var default_layers = ['weather', 'clouds', 'traffic', 'transit', 'bicycling', 'panoramio', 'places']; - options = options || {}; - var layer; - - switch(layerName) { - case 'weather': this.singleLayers.weather = layer = new google.maps.weather.WeatherLayer(); - break; - case 'clouds': this.singleLayers.clouds = layer = new google.maps.weather.CloudLayer(); - break; - case 'traffic': this.singleLayers.traffic = layer = new google.maps.TrafficLayer(); - break; - case 'transit': this.singleLayers.transit = layer = new google.maps.TransitLayer(); - break; - case 'bicycling': this.singleLayers.bicycling = layer = new google.maps.BicyclingLayer(); - break; - case 'panoramio': - this.singleLayers.panoramio = layer = new google.maps.panoramio.PanoramioLayer(); - layer.setTag(options.filter); - delete options.filter; - - //click event - if (options.click) { - google.maps.event.addListener(layer, 'click', function(event) { - options.click(event); - delete options.click; - }); - } - break; - case 'places': - this.singleLayers.places = layer = new google.maps.places.PlacesService(this.map); - - //search, nearbySearch, radarSearch callback, Both are the same - if (options.search || options.nearbySearch || options.radarSearch) { - var placeSearchRequest = { - bounds : options.bounds || null, - keyword : options.keyword || null, - location : options.location || null, - name : options.name || null, - radius : options.radius || null, - rankBy : options.rankBy || null, - types : options.types || null - }; - - if (options.radarSearch) { - layer.radarSearch(placeSearchRequest, options.radarSearch); - } - - if (options.search) { - layer.search(placeSearchRequest, options.search); - } - - if (options.nearbySearch) { - layer.nearbySearch(placeSearchRequest, options.nearbySearch); - } - } - - //textSearch callback - if (options.textSearch) { - var textSearchRequest = { - bounds : options.bounds || null, - location : options.location || null, - query : options.query || null, - radius : options.radius || null - }; - - layer.textSearch(textSearchRequest, options.textSearch); - } - break; - } - - if (layer !== undefined) { - if (typeof layer.setOptions == 'function') { - layer.setOptions(options); - } - if (typeof layer.setMap == 'function') { - layer.setMap(this.map); - } - - return layer; - } -}; - -GMaps.prototype.removeLayer = function(layer) { - if (typeof(layer) == "string" && this.singleLayers[layer] !== undefined) { - this.singleLayers[layer].setMap(null); - - delete this.singleLayers[layer]; - } - else { - for (var i = 0; i < this.layers.length; i++) { - if (this.layers[i] === layer) { - this.layers[i].setMap(null); - this.layers.splice(i, 1); - - break; - } - } - } -}; - -var travelMode, unitSystem; - -GMaps.prototype.getRoutes = function(options) { - switch (options.travelMode) { - case 'bicycling': - travelMode = google.maps.TravelMode.BICYCLING; - break; - case 'transit': - travelMode = google.maps.TravelMode.TRANSIT; - break; - case 'driving': - travelMode = google.maps.TravelMode.DRIVING; - break; - default: - travelMode = google.maps.TravelMode.WALKING; - break; - } - - if (options.unitSystem === 'imperial') { - unitSystem = google.maps.UnitSystem.IMPERIAL; - } - else { - unitSystem = google.maps.UnitSystem.METRIC; - } - - var base_options = { - avoidHighways: false, - avoidTolls: false, - optimizeWaypoints: false, - waypoints: [] - }, - request_options = extend_object(base_options, options); - - request_options.origin = /string/.test(typeof options.origin) ? options.origin : new google.maps.LatLng(options.origin[0], options.origin[1]); - request_options.destination = /string/.test(typeof options.destination) ? options.destination : new google.maps.LatLng(options.destination[0], options.destination[1]); - request_options.travelMode = travelMode; - request_options.unitSystem = unitSystem; - - delete request_options.callback; - delete request_options.error; - - var self = this, - service = new google.maps.DirectionsService(); - - service.route(request_options, function(result, status) { - if (status === google.maps.DirectionsStatus.OK) { - for (var r in result.routes) { - if (result.routes.hasOwnProperty(r)) { - self.routes.push(result.routes[r]); - } - } - - if (options.callback) { - options.callback(self.routes); - } - } - else { - if (options.error) { - options.error(result, status); - } - } - }); -}; - -GMaps.prototype.removeRoutes = function() { - this.routes = []; -}; - -GMaps.prototype.getElevations = function(options) { - options = extend_object({ - locations: [], - path : false, - samples : 256 - }, options); - - if (options.locations.length > 0) { - if (options.locations[0].length > 0) { - options.locations = array_flat(array_map([options.locations], arrayToLatLng, false)); - } - } - - var callback = options.callback; - delete options.callback; - - var service = new google.maps.ElevationService(); - - //location request - if (!options.path) { - delete options.path; - delete options.samples; - - service.getElevationForLocations(options, function(result, status) { - if (callback && typeof(callback) === "function") { - callback(result, status); - } - }); - //path request - } else { - var pathRequest = { - path : options.locations, - samples : options.samples - }; - - service.getElevationAlongPath(pathRequest, function(result, status) { - if (callback && typeof(callback) === "function") { - callback(result, status); - } - }); - } -}; - -GMaps.prototype.cleanRoute = GMaps.prototype.removePolylines; - -GMaps.prototype.drawRoute = function(options) { - var self = this; - - this.getRoutes({ - origin: options.origin, - destination: options.destination, - travelMode: options.travelMode, - waypoints: options.waypoints, - unitSystem: options.unitSystem, - error: options.error, - callback: function(e) { - if (e.length > 0) { - self.drawPolyline({ - path: e[e.length - 1].overview_path, - strokeColor: options.strokeColor, - strokeOpacity: options.strokeOpacity, - strokeWeight: options.strokeWeight - }); - - if (options.callback) { - options.callback(e[e.length - 1]); - } - } - } - }); -}; - -GMaps.prototype.travelRoute = function(options) { - if (options.origin && options.destination) { - this.getRoutes({ - origin: options.origin, - destination: options.destination, - travelMode: options.travelMode, - waypoints : options.waypoints, - unitSystem: options.unitSystem, - error: options.error, - callback: function(e) { - //start callback - if (e.length > 0 && options.start) { - options.start(e[e.length - 1]); - } - - //step callback - if (e.length > 0 && options.step) { - var route = e[e.length - 1]; - if (route.legs.length > 0) { - var steps = route.legs[0].steps; - for (var i=0, step; step=steps[i]; i++) { - step.step_number = i; - options.step(step, (route.legs[0].steps.length - 1)); - } - } - } - - //end callback - if (e.length > 0 && options.end) { - options.end(e[e.length - 1]); - } - } - }); - } - else if (options.route) { - if (options.route.legs.length > 0) { - var steps = options.route.legs[0].steps; - for (var i=0, step; step=steps[i]; i++) { - step.step_number = i; - options.step(step); - } - } - } -}; - -GMaps.prototype.drawSteppedRoute = function(options) { - var self = this; - - if (options.origin && options.destination) { - this.getRoutes({ - origin: options.origin, - destination: options.destination, - travelMode: options.travelMode, - waypoints : options.waypoints, - error: options.error, - callback: function(e) { - //start callback - if (e.length > 0 && options.start) { - options.start(e[e.length - 1]); - } - - //step callback - if (e.length > 0 && options.step) { - var route = e[e.length - 1]; - if (route.legs.length > 0) { - var steps = route.legs[0].steps; - for (var i=0, step; step=steps[i]; i++) { - step.step_number = i; - self.drawPolyline({ - path: step.path, - strokeColor: options.strokeColor, - strokeOpacity: options.strokeOpacity, - strokeWeight: options.strokeWeight - }); - options.step(step, (route.legs[0].steps.length - 1)); - } - } - } - - //end callback - if (e.length > 0 && options.end) { - options.end(e[e.length - 1]); - } - } - }); - } - else if (options.route) { - if (options.route.legs.length > 0) { - var steps = options.route.legs[0].steps; - for (var i=0, step; step=steps[i]; i++) { - step.step_number = i; - self.drawPolyline({ - path: step.path, - strokeColor: options.strokeColor, - strokeOpacity: options.strokeOpacity, - strokeWeight: options.strokeWeight - }); - options.step(step); - } - } - } -}; - -GMaps.Route = function(options) { - this.origin = options.origin; - this.destination = options.destination; - this.waypoints = options.waypoints; - - this.map = options.map; - this.route = options.route; - this.step_count = 0; - this.steps = this.route.legs[0].steps; - this.steps_length = this.steps.length; - - this.polyline = this.map.drawPolyline({ - path: new google.maps.MVCArray(), - strokeColor: options.strokeColor, - strokeOpacity: options.strokeOpacity, - strokeWeight: options.strokeWeight - }).getPath(); -}; - -GMaps.Route.prototype.getRoute = function(options) { - var self = this; - - this.map.getRoutes({ - origin : this.origin, - destination : this.destination, - travelMode : options.travelMode, - waypoints : this.waypoints || [], - error: options.error, - callback : function() { - self.route = e[0]; - - if (options.callback) { - options.callback.call(self); - } - } - }); -}; - -GMaps.Route.prototype.back = function() { - if (this.step_count > 0) { - this.step_count--; - var path = this.route.legs[0].steps[this.step_count].path; - - for (var p in path){ - if (path.hasOwnProperty(p)){ - this.polyline.pop(); - } - } - } -}; - -GMaps.Route.prototype.forward = function() { - if (this.step_count < this.steps_length) { - var path = this.route.legs[0].steps[this.step_count].path; - - for (var p in path){ - if (path.hasOwnProperty(p)){ - this.polyline.push(path[p]); - } - } - this.step_count++; - } -}; - -GMaps.prototype.checkGeofence = function(lat, lng, fence) { - return fence.containsLatLng(new google.maps.LatLng(lat, lng)); -}; - -GMaps.prototype.checkMarkerGeofence = function(marker, outside_callback) { - if (marker.fences) { - for (var i = 0, fence; fence = marker.fences[i]; i++) { - var pos = marker.getPosition(); - if (!this.checkGeofence(pos.lat(), pos.lng(), fence)) { - outside_callback(marker, fence); - } - } - } -}; - -GMaps.prototype.toImage = function(options) { - var options = options || {}, - static_map_options = {}; - - static_map_options['size'] = options['size'] || [this.el.clientWidth, this.el.clientHeight]; - static_map_options['lat'] = this.getCenter().lat(); - static_map_options['lng'] = this.getCenter().lng(); - - if (this.markers.length > 0) { - static_map_options['markers'] = []; - - for (var i = 0; i < this.markers.length; i++) { - static_map_options['markers'].push({ - lat: this.markers[i].getPosition().lat(), - lng: this.markers[i].getPosition().lng() - }); - } - } - - if (this.polylines.length > 0) { - var polyline = this.polylines[0]; - - static_map_options['polyline'] = {}; - static_map_options['polyline']['path'] = google.maps.geometry.encoding.encodePath(polyline.getPath()); - static_map_options['polyline']['strokeColor'] = polyline.strokeColor - static_map_options['polyline']['strokeOpacity'] = polyline.strokeOpacity - static_map_options['polyline']['strokeWeight'] = polyline.strokeWeight - } - - return GMaps.staticMapURL(static_map_options); -}; - -GMaps.staticMapURL = function(options){ - var parameters = [], - data, - static_root = 'https://maps.googleapis.com/maps/api/staticmap'; - - if (options.url) { - static_root = options.url; - delete options.url; - } - - static_root += '?'; - - var markers = options.markers; - - delete options.markers; - - if (!markers && options.marker) { - markers = [options.marker]; - delete options.marker; - } - - var styles = options.styles; - - delete options.styles; - - var polyline = options.polyline; - delete options.polyline; - - /** Map options **/ - if (options.center) { - parameters.push('center=' + options.center); - delete options.center; - } - else if (options.address) { - parameters.push('center=' + options.address); - delete options.address; - } - else if (options.lat) { - parameters.push(['center=', options.lat, ',', options.lng].join('')); - delete options.lat; - delete options.lng; - } - else if (options.visible) { - var visible = encodeURI(options.visible.join('|')); - parameters.push('visible=' + visible); - } - - var size = options.size; - if (size) { - if (size.join) { - size = size.join('x'); - } - delete options.size; - } - else { - size = '630x300'; - } - parameters.push('size=' + size); - - if (!options.zoom && options.zoom !== false) { - options.zoom = 15; - } - - var sensor = options.hasOwnProperty('sensor') ? !!options.sensor : true; - delete options.sensor; - parameters.push('sensor=' + sensor); - - for (var param in options) { - if (options.hasOwnProperty(param)) { - parameters.push(param + '=' + options[param]); - } - } - - /** Markers **/ - if (markers) { - var marker, loc; - - for (var i=0; data=markers[i]; i++) { - marker = []; - - if (data.size && data.size !== 'normal') { - marker.push('size:' + data.size); - delete data.size; - } - else if (data.icon) { - marker.push('icon:' + encodeURI(data.icon)); - delete data.icon; - } - - if (data.color) { - marker.push('color:' + data.color.replace('#', '0x')); - delete data.color; - } - - if (data.label) { - marker.push('label:' + data.label[0].toUpperCase()); - delete data.label; - } - - loc = (data.address ? data.address : data.lat + ',' + data.lng); - delete data.address; - delete data.lat; - delete data.lng; - - for(var param in data){ - if (data.hasOwnProperty(param)) { - marker.push(param + ':' + data[param]); - } - } - - if (marker.length || i === 0) { - marker.push(loc); - marker = marker.join('|'); - parameters.push('markers=' + encodeURI(marker)); - } - // New marker without styles - else { - marker = parameters.pop() + encodeURI('|' + loc); - parameters.push(marker); - } - } - } - - /** Map Styles **/ - if (styles) { - for (var i = 0; i < styles.length; i++) { - var styleRule = []; - if (styles[i].featureType){ - styleRule.push('feature:' + styles[i].featureType.toLowerCase()); - } - - if (styles[i].elementType) { - styleRule.push('element:' + styles[i].elementType.toLowerCase()); - } - - for (var j = 0; j < styles[i].stylers.length; j++) { - for (var p in styles[i].stylers[j]) { - var ruleArg = styles[i].stylers[j][p]; - if (p == 'hue' || p == 'color') { - ruleArg = '0x' + ruleArg.substring(1); - } - styleRule.push(p + ':' + ruleArg); - } - } - - var rule = styleRule.join('|'); - if (rule != '') { - parameters.push('style=' + rule); - } - } - } - - /** Polylines **/ - function parseColor(color, opacity) { - if (color[0] === '#'){ - color = color.replace('#', '0x'); - - if (opacity) { - opacity = parseFloat(opacity); - opacity = Math.min(1, Math.max(opacity, 0)); - if (opacity === 0) { - return '0x00000000'; - } - opacity = (opacity * 255).toString(16); - if (opacity.length === 1) { - opacity += opacity; - } - - color = color.slice(0,8) + opacity; - } - } - return color; - } - - if (polyline) { - data = polyline; - polyline = []; - - if (data.strokeWeight) { - polyline.push('weight:' + parseInt(data.strokeWeight, 10)); - } - - if (data.strokeColor) { - var color = parseColor(data.strokeColor, data.strokeOpacity); - polyline.push('color:' + color); - } - - if (data.fillColor) { - var fillcolor = parseColor(data.fillColor, data.fillOpacity); - polyline.push('fillcolor:' + fillcolor); - } - - var path = data.path; - if (path.join) { - for (var j=0, pos; pos=path[j]; j++) { - polyline.push(pos.join(',')); - } - } - else { - polyline.push('enc:' + path); - } - - polyline = polyline.join('|'); - parameters.push('path=' + encodeURI(polyline)); - } - - /** Retina support **/ - var dpi = window.devicePixelRatio || 1; - parameters.push('scale=' + dpi); - - parameters = parameters.join('&'); - return static_root + parameters; -}; - -GMaps.prototype.addMapType = function(mapTypeId, options) { - if (options.hasOwnProperty("getTileUrl") && typeof(options["getTileUrl"]) == "function") { - options.tileSize = options.tileSize || new google.maps.Size(256, 256); - - var mapType = new google.maps.ImageMapType(options); - - this.map.mapTypes.set(mapTypeId, mapType); - } - else { - throw "'getTileUrl' function required."; - } -}; - -GMaps.prototype.addOverlayMapType = function(options) { - if (options.hasOwnProperty("getTile") && typeof(options["getTile"]) == "function") { - var overlayMapTypeIndex = options.index; - - delete options.index; - - this.map.overlayMapTypes.insertAt(overlayMapTypeIndex, options); - } - else { - throw "'getTile' function required."; - } -}; - -GMaps.prototype.removeOverlayMapType = function(overlayMapTypeIndex) { - this.map.overlayMapTypes.removeAt(overlayMapTypeIndex); -}; - -GMaps.prototype.addStyle = function(options) { - var styledMapType = new google.maps.StyledMapType(options.styles, { name: options.styledMapName }); - - this.map.mapTypes.set(options.mapTypeId, styledMapType); -}; - -GMaps.prototype.setStyle = function(mapTypeId) { - this.map.setMapTypeId(mapTypeId); -}; - -GMaps.prototype.createPanorama = function(streetview_options) { - if (!streetview_options.hasOwnProperty('lat') || !streetview_options.hasOwnProperty('lng')) { - streetview_options.lat = this.getCenter().lat(); - streetview_options.lng = this.getCenter().lng(); - } - - this.panorama = GMaps.createPanorama(streetview_options); - - this.map.setStreetView(this.panorama); - - return this.panorama; -}; - -GMaps.createPanorama = function(options) { - var el = getElementById(options.el, options.context); - - options.position = new google.maps.LatLng(options.lat, options.lng); - - delete options.el; - delete options.context; - delete options.lat; - delete options.lng; - - var streetview_events = ['closeclick', 'links_changed', 'pano_changed', 'position_changed', 'pov_changed', 'resize', 'visible_changed'], - streetview_options = extend_object({visible : true}, options); - - for (var i = 0; i < streetview_events.length; i++) { - delete streetview_options[streetview_events[i]]; - } - - var panorama = new google.maps.StreetViewPanorama(el, streetview_options); - - for (var i = 0; i < streetview_events.length; i++) { - (function(object, name) { - if (options[name]) { - google.maps.event.addListener(object, name, function(){ - options[name].apply(this); - }); - } - })(panorama, streetview_events[i]); - } - - return panorama; -}; - -GMaps.prototype.on = function(event_name, handler) { - return GMaps.on(event_name, this, handler); -}; - -GMaps.prototype.off = function(event_name) { - GMaps.off(event_name, this); -}; - -GMaps.custom_events = ['marker_added', 'marker_removed', 'polyline_added', 'polyline_removed', 'polygon_added', 'polygon_removed', 'geolocated', 'geolocation_failed']; - -GMaps.on = function(event_name, object, handler) { - if (GMaps.custom_events.indexOf(event_name) == -1) { - if(object instanceof GMaps) object = object.map; - return google.maps.event.addListener(object, event_name, handler); - } - else { - var registered_event = { - handler : handler, - eventName : event_name - }; - - object.registered_events[event_name] = object.registered_events[event_name] || []; - object.registered_events[event_name].push(registered_event); - - return registered_event; - } -}; - -GMaps.off = function(event_name, object) { - if (GMaps.custom_events.indexOf(event_name) == -1) { - if(object instanceof GMaps) object = object.map; - google.maps.event.clearListeners(object, event_name); - } - else { - object.registered_events[event_name] = []; - } -}; - -GMaps.fire = function(event_name, object, scope) { - if (GMaps.custom_events.indexOf(event_name) == -1) { - google.maps.event.trigger(object, event_name, Array.prototype.slice.apply(arguments).slice(2)); - } - else { - if(event_name in scope.registered_events) { - var firing_events = scope.registered_events[event_name]; - - for(var i = 0; i < firing_events.length; i++) { - (function(handler, scope, object) { - handler.apply(scope, [object]); - })(firing_events[i]['handler'], scope, object); - } - } - } -}; - -GMaps.geolocate = function(options) { - var complete_callback = options.always || options.complete; - - if (navigator.geolocation) { - navigator.geolocation.getCurrentPosition(function(position) { - options.success(position); - - if (complete_callback) { - complete_callback(); - } - }, function(error) { - options.error(error); - - if (complete_callback) { - complete_callback(); - } - }, options.options); - } - else { - options.not_supported(); - - if (complete_callback) { - complete_callback(); - } - } -}; - -GMaps.geocode = function(options) { - this.geocoder = new google.maps.Geocoder(); - var callback = options.callback; - if (options.hasOwnProperty('lat') && options.hasOwnProperty('lng')) { - options.latLng = new google.maps.LatLng(options.lat, options.lng); - } - - delete options.lat; - delete options.lng; - delete options.callback; - - this.geocoder.geocode(options, function(results, status) { - callback(results, status); - }); -}; - -//========================== -// Polygon containsLatLng -// https://github.com/tparkin/Google-Maps-Point-in-Polygon -// Poygon getBounds extension - google-maps-extensions -// http://code.google.com/p/google-maps-extensions/source/browse/google.maps.Polygon.getBounds.js -if (!google.maps.Polygon.prototype.getBounds) { - google.maps.Polygon.prototype.getBounds = function(latLng) { - var bounds = new google.maps.LatLngBounds(); - var paths = this.getPaths(); - var path; - - for (var p = 0; p < paths.getLength(); p++) { - path = paths.getAt(p); - for (var i = 0; i < path.getLength(); i++) { - bounds.extend(path.getAt(i)); - } - } - - return bounds; - }; -} - -if (!google.maps.Polygon.prototype.containsLatLng) { - // Polygon containsLatLng - method to determine if a latLng is within a polygon - google.maps.Polygon.prototype.containsLatLng = function(latLng) { - // Exclude points outside of bounds as there is no way they are in the poly - var bounds = this.getBounds(); - - if (bounds !== null && !bounds.contains(latLng)) { - return false; - } - - // Raycast point in polygon method - var inPoly = false; - - var numPaths = this.getPaths().getLength(); - for (var p = 0; p < numPaths; p++) { - var path = this.getPaths().getAt(p); - var numPoints = path.getLength(); - var j = numPoints - 1; - - for (var i = 0; i < numPoints; i++) { - var vertex1 = path.getAt(i); - var vertex2 = path.getAt(j); - - if (vertex1.lng() < latLng.lng() && vertex2.lng() >= latLng.lng() || vertex2.lng() < latLng.lng() && vertex1.lng() >= latLng.lng()) { - if (vertex1.lat() + (latLng.lng() - vertex1.lng()) / (vertex2.lng() - vertex1.lng()) * (vertex2.lat() - vertex1.lat()) < latLng.lat()) { - inPoly = !inPoly; - } - } - - j = i; - } - } - - return inPoly; - }; -} - -if (!google.maps.Circle.prototype.containsLatLng) { - google.maps.Circle.prototype.containsLatLng = function(latLng) { - if (google.maps.geometry) { - return google.maps.geometry.spherical.computeDistanceBetween(this.getCenter(), latLng) <= this.getRadius(); - } - else { - return true; - } - }; -} - -google.maps.LatLngBounds.prototype.containsLatLng = function(latLng) { - return this.contains(latLng); -}; - -google.maps.Marker.prototype.setFences = function(fences) { - this.fences = fences; -}; - -google.maps.Marker.prototype.addFence = function(fence) { - this.fences.push(fence); -}; - -google.maps.Marker.prototype.getId = function() { - return this['__gm_id']; -}; - -//========================== -// Array indexOf -// https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf -if (!Array.prototype.indexOf) { - Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { - "use strict"; - if (this == null) { - throw new TypeError(); - } - var t = Object(this); - var len = t.length >>> 0; - if (len === 0) { - return -1; - } - var n = 0; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n != n) { // shortcut for verifying if it's NaN - n = 0; - } else if (n != 0 && n != Infinity && n != -Infinity) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - } - if (n >= len) { - return -1; - } - var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); - for (; k < len; k++) { - if (k in t && t[k] === searchElement) { - return k; - } - } - return -1; - } -} - -return GMaps; -})); diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..101a305 --- /dev/null +++ b/js/main.js @@ -0,0 +1,278 @@ +/* + * Copyright 2018 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +(function($) { + + 'use strict'; + + $(function() { + $('[data-toggle="tooltip"]').tooltip(); + $('[data-toggle="popover"]').popover(); + + $('.popover-dismiss').popover({ + trigger: 'focus' + }) + }); + + + function bottomPos(element) { + return element.offset().top + element.outerHeight(); + } + + // Bootstrap Fixed Header + $(function() { + var promo = $(".js-td-cover"); + if (!promo.length) { + return + } + + var promoOffset = bottomPos(promo); + var navbarOffset = $('.js-navbar-scroll').offset().top; + + var threshold = Math.ceil($('.js-navbar-scroll').outerHeight()); + if ((promoOffset - navbarOffset) < threshold) { + $('.js-navbar-scroll').addClass('navbar-bg-onscroll'); + } + + + $(window).on('scroll', function() { + var navtop = $('.js-navbar-scroll').offset().top - $(window).scrollTop(); + var promoOffset = bottomPos($('.js-td-cover')); + var navbarOffset = $('.js-navbar-scroll').offset().top; + if ((promoOffset - navbarOffset) < threshold) { + $('.js-navbar-scroll').addClass('navbar-bg-onscroll'); + } else { + $('.js-navbar-scroll').removeClass('navbar-bg-onscroll'); + $('.js-navbar-scroll').addClass('navbar-bg-onscroll--fade'); + } + }); + }); + + +}(jQuery)); + +; +/* + * Copyright 2018 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +(function ($) { + 'use strict'; + + // Headers' anchor link that shows on hover + $(function () { + // append anchor links to headings in markdown. + var article = document.getElementsByTagName('main')[0]; + if (!article) { + return; + } + var headings = article.querySelectorAll('h1, h2, h3, h4, h5, h6'); + headings.forEach(function (heading) { + if (heading.id) { + var a = document.createElement('a'); + // set visibility: hidden, not display: none to avoid layout change + a.style.visibility = 'hidden'; + // [a11y] hide this from screen readers, etc.. + a.setAttribute('aria-hidden', 'true'); + // material insert_link icon in svg format + a.innerHTML = ' <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>'; + a.href = '#' + heading.id; + heading.insertAdjacentElement('beforeend', a); + heading.addEventListener('mouseenter', function () { + a.style.visibility = 'initial'; + }); + heading.addEventListener('mouseleave', function () { + a.style.visibility = 'hidden'; + }); + } + }); + }); + +}(jQuery)); + +; +/* +Copyright 2018 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +(function($) { + + 'use strict'; + + var Search = { + init: function() { + $(document).ready(function() { + $(document).on('keypress', '.td-search-input', function(e) { + if (e.keyCode !== 13) { + return + } + + var query = $(this).val(); + var searchPage = "https://www.eclipse.org/sw360/search/?q=" + query; + document.location = searchPage; + + return false; + }); + + }); + }, + }; + + Search.init(); + + +}(jQuery)); + +; + + +; + + +; + + +; + + +(function () { + var shade; + var iframe; + + var insertFrame = function () { + shade = document.createElement('div'); + shade.classList.add('drawioframe'); + iframe = document.createElement('iframe'); + shade.appendChild(iframe); + document.body.appendChild(shade); + } + + var closeFrame = function () { + if (shade) { + document.body.removeChild(shade); + shade = undefined; + iframe = undefined; + } + } + + var imghandler = function (img, imgdata) { + var url = "https://embed.diagrams.net/"; + url += '?embed=1&ui=atlas&spin=1&modified=unsavedChanges&proto=json&saveAndEdit=1&noSaveBtn=1'; + + var wrapper = document.createElement('div'); + wrapper.classList.add('drawio'); + img.parentNode.insertBefore(wrapper, img); + wrapper.appendChild(img); + + var btn = document.createElement('button'); + btn.classList.add('drawiobtn'); + btn.insertAdjacentHTML('beforeend', '<i class="fas fa-edit"></i>'); + wrapper.appendChild(btn); + + btn.addEventListener('click', function (evt) { + if (iframe) return; + insertFrame(); + var handler = function (evt) { + var wind = iframe.contentWindow; + if (evt.data.length > 0 && evt.source == wind) { + var msg = JSON.parse(evt.data); + + if (msg.event == 'init') { + wind.postMessage(JSON.stringify({action: 'load', xml: imgdata}), '*'); + + } else if (msg.event == 'save') { + var fmt = imgdata.indexOf('data:image/png') == 0 ? 'xmlpng' : 'xmlsvg'; + wind.postMessage(JSON.stringify({action: 'export', format: fmt}), '*'); + + } else if (msg.event == 'export') { + const fn = img.src.replace(/^.*?([^/]+)$/, '$1'); + const dl = document.createElement('a'); + dl.setAttribute('href', msg.data); + dl.setAttribute('download', fn); + document.body.appendChild(dl); + dl.click(); + dl.parentNode.removeChild(dl); + } + + if (msg.event == 'exit' || msg.event == 'export') { + window.removeEventListener('message', handler); + closeFrame(); + } + } + }; + + window.addEventListener('message', handler); + iframe.setAttribute('src', url); + }); + }; + + +document.addEventListener('DOMContentLoaded', function () { + // find all the png and svg images that may have embedded xml diagrams + for (const el of document.getElementsByTagName('img')) { + const img = el; + const src = img.getAttribute('src'); + if (!src.endsWith('.svg') && !src.endsWith('.png')) { + continue; + } + + const xhr = new XMLHttpRequest(); + xhr.responseType = 'blob'; + xhr.open("GET", src); + xhr.addEventListener("load", function () { + const fr = new FileReader(); + fr.addEventListener('load', function () { + if (fr.result.indexOf('mxfile') != -1) { + const fr = new FileReader(); + fr.addEventListener('load', function () { + const imgdata = fr.result; + imghandler(img, imgdata); + }); + fr.readAsDataURL(xhr.response); + } + }); + fr.readAsBinaryString(xhr.response); + }); + xhr.send(); + }; +}); +}()); + + diff --git a/js/owl.carousel.min.js b/js/owl.carousel.min.js deleted file mode 100644 index 98ae16e..0000000 --- a/js/owl.carousel.min.js +++ /dev/null @@ -1 +0,0 @@ -eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7(A 3c.3q!=="9"){3c.3q=9(e){9 t(){}t.5S=e;p 5R t}}(9(e,t,n){h r={1N:9(t,n){h r=c;r.$k=e(n);r.6=e.4M({},e.37.2B.6,r.$k.v(),t);r.2A=t;r.4L()},4L:9(){9 r(e){h n,r="";7(A t.6.33==="9"){t.6.33.R(c,[e])}l{1A(n 38 e.d){7(e.d.5M(n)){r+=e.d[n].1K}}t.$k.2y(r)}t.3t()}h t=c,n;7(A t.6.2H==="9"){t.6.2H.R(c,[t.$k])}7(A t.6.2O==="2Y"){n=t.6.2O;e.5K(n,r)}l{t.3t()}},3t:9(){h e=c;e.$k.v("d-4I",e.$k.2x("2w")).v("d-4F",e.$k.2x("H"));e.$k.z({2u:0});e.2t=e.6.q;e.4E();e.5v=0;e.1X=14;e.23()},23:9(){h e=c;7(e.$k.25().N===0){p b}e.1M();e.4C();e.$S=e.$k.25();e.E=e.$S.N;e.4B();e.$G=e.$k.17(".d-1K");e.$K=e.$k.17(".d-1p");e.3u="U";e.13=0;e.26=[0];e.m=0;e.4A();e.4z()},4z:9(){h e=c;e.2V();e.2W();e.4t();e.30();e.4r();e.4q();e.2p();e.4o();7(e.6.2o!==b){e.4n(e.6.2o)}7(e.6.O===j){e.6.O=4Q}e.19();e.$k.17(".d-1p").z("4i","4h");7(!e.$k.2m(":3n")){e.3o()}l{e.$k.z("2u",1)}e.5O=b;e.2l();7(A e.6.3s==="9"){e.6.3s.R(c,[e.$k])}},2l:9(){h e=c;7(e.6.1Z===j){e.1Z()}7(e.6.1B===j){e.1B()}e.4g();7(A e.6.3w==="9"){e.6.3w.R(c,[e.$k])}},3x:9(){h e=c;7(A e.6.3B==="9"){e.6.3B.R(c,[e.$k])}e.3o();e.2V();e.2W();e.4f();e.30();e.2l();7(A e.6.3D==="9"){e.6.3D.R(c,[e.$k])}},3F:9(){h e=c;t.1c(9(){e.3x()},0)},3o:9(){h e=c;7(e.$k.2m(":3n")===b){e.$k.z({2u:0});t.18(e.1C);t.18(e.1X)}l{p b}e.1X=t.4d(9(){7(e.$k.2m(":3n")){e.3F();e.$k.4b({2u:1},2M);t.18(e.1X)}},5x)},4B:9(){h e=c;e.$S.5n(\'<L H="d-1p">\').4a(\'<L H="d-1K"></L>\');e.$k.17(".d-1p").4a(\'<L H="d-1p-49">\');e.1H=e.$k.17(".d-1p-49");e.$k.z("4i","4h")},1M:9(){h e=c,t=e.$k.1I(e.6.1M),n=e.$k.1I(e.6.2i);7(!t){e.$k.I(e.6.1M)}7(!n){e.$k.I(e.6.2i)}},2V:9(){h t=c,n,r;7(t.6.2Z===b){p b}7(t.6.48===j){t.6.q=t.2t=1;t.6.1h=b;t.6.1s=b;t.6.1O=b;t.6.22=b;t.6.1Q=b;t.6.1R=b;p b}n=e(t.6.47).1f();7(n>(t.6.1s[0]||t.2t)){t.6.q=t.2t}7(t.6.1h!==b){t.6.1h.5g(9(e,t){p e[0]-t[0]});1A(r=0;r<t.6.1h.N;r+=1){7(t.6.1h[r][0]<=n){t.6.q=t.6.1h[r][1]}}}l{7(n<=t.6.1s[0]&&t.6.1s!==b){t.6.q=t.6.1s[1]}7(n<=t.6.1O[0]&&t.6.1O!==b){t.6.q=t.6.1O[1]}7(n<=t.6.22[0]&&t.6.22!==b){t.6.q=t.6.22[1]}7(n<=t.6.1Q[0]&&t.6.1Q!==b){t.6.q=t.6.1Q[1]}7(n<=t.6.1R[0]&&t.6.1R!==b){t.6.q=t.6.1R[1]}}7(t.6.q>t.E&&t.6.46===j){t.6.q=t.E}},4r:9(){h n=c,r,i;7(n.6.2Z!==j){p b}i=e(t).1f();n.3d=9(){7(e(t).1f()!==i){7(n.6.O!==b){t.18(n.1C)}t.5d(r);r=t.1c(9(){i=e(t).1f();n.3x()},n.6.45)}};e(t).44(n.3d)},4f:9(){h e=c;e.2g(e.m);7(e.6.O!==b){e.3j()}},43:9(){h t=c,n=0,r=t.E-t.6.q;t.$G.2f(9(i){h s=e(c);s.z({1f:t.M}).v("d-1K",3p(i));7(i%t.6.q===0||i===r){7(!(i>r)){n+=1}}s.v("d-24",n)})},42:9(){h e=c,t=e.$G.N*e.M;e.$K.z({1f:t*2,T:0});e.43()},2W:9(){h e=c;e.40();e.42();e.3Z();e.3v()},40:9(){h e=c;e.M=1F.4O(e.$k.1f()/e.6.q)},3v:9(){h e=c,t=(e.E*e.M-e.6.q*e.M)*-1;7(e.6.q>e.E){e.D=0;t=0;e.3z=0}l{e.D=e.E-e.6.q;e.3z=t}p t},3Y:9(){p 0},3Z:9(){h t=c,n=0,r=0,i,s,o;t.J=[0];t.3E=[];1A(i=0;i<t.E;i+=1){r+=t.M;t.J.2D(-r);7(t.6.12===j){s=e(t.$G[i]);o=s.v("d-24");7(o!==n){t.3E[n]=t.J[i];n=o}}}},4t:9(){h t=c;7(t.6.2a===j||t.6.1v===j){t.B=e(\'<L H="d-5A"/>\').5m("5l",!t.F.15).5c(t.$k)}7(t.6.1v===j){t.3T()}7(t.6.2a===j){t.3S()}},3S:9(){h t=c,n=e(\'<L H="d-4U"/>\');t.B.1o(n);t.1u=e("<L/>",{"H":"d-1n",2y:t.6.2U[0]||""});t.1q=e("<L/>",{"H":"d-U",2y:t.6.2U[1]||""});n.1o(t.1u).1o(t.1q);n.w("2X.B 21.B",\'L[H^="d"]\',9(e){e.1l()});n.w("2n.B 28.B",\'L[H^="d"]\',9(n){n.1l();7(e(c).1I("d-U")){t.U()}l{t.1n()}})},3T:9(){h t=c;t.1k=e(\'<L H="d-1v"/>\');t.B.1o(t.1k);t.1k.w("2n.B 28.B",".d-1j",9(n){n.1l();7(3p(e(c).v("d-1j"))!==t.m){t.1g(3p(e(c).v("d-1j")),j)}})},3P:9(){h t=c,n,r,i,s,o,u;7(t.6.1v===b){p b}t.1k.2y("");n=0;r=t.E-t.E%t.6.q;1A(s=0;s<t.E;s+=1){7(s%t.6.q===0){n+=1;7(r===s){i=t.E-t.6.q}o=e("<L/>",{"H":"d-1j"});u=e("<3N></3N>",{4R:t.6.39===j?n:"","H":t.6.39===j?"d-59":""});o.1o(u);o.v("d-1j",r===s?i:s);o.v("d-24",n);t.1k.1o(o)}}t.35()},35:9(){h t=c;7(t.6.1v===b){p b}t.1k.17(".d-1j").2f(9(){7(e(c).v("d-24")===e(t.$G[t.m]).v("d-24")){t.1k.17(".d-1j").Z("2d");e(c).I("2d")}})},3e:9(){h e=c;7(e.6.2a===b){p b}7(e.6.2e===b){7(e.m===0&&e.D===0){e.1u.I("1b");e.1q.I("1b")}l 7(e.m===0&&e.D!==0){e.1u.I("1b");e.1q.Z("1b")}l 7(e.m===e.D){e.1u.Z("1b");e.1q.I("1b")}l 7(e.m!==0&&e.m!==e.D){e.1u.Z("1b");e.1q.Z("1b")}}},30:9(){h e=c;e.3P();e.3e();7(e.B){7(e.6.q>=e.E){e.B.3K()}l{e.B.3J()}}},55:9(){h e=c;7(e.B){e.B.3k()}},U:9(e){h t=c;7(t.1E){p b}t.m+=t.6.12===j?t.6.q:1;7(t.m>t.D+(t.6.12===j?t.6.q-1:0)){7(t.6.2e===j){t.m=0;e="2k"}l{t.m=t.D;p b}}t.1g(t.m,e)},1n:9(e){h t=c;7(t.1E){p b}7(t.6.12===j&&t.m>0&&t.m<t.6.q){t.m=0}l{t.m-=t.6.12===j?t.6.q:1}7(t.m<0){7(t.6.2e===j){t.m=t.D;e="2k"}l{t.m=0;p b}}t.1g(t.m,e)},1g:9(e,n,r){h i=c,s;7(i.1E){p b}7(A i.6.1Y==="9"){i.6.1Y.R(c,[i.$k])}7(e>=i.D){e=i.D}l 7(e<=0){e=0}i.m=i.d.m=e;7(i.6.2o!==b&&r!=="4e"&&i.6.q===1&&i.F.1x===j){i.1t(0);7(i.F.1x===j){i.1L(i.J[e])}l{i.1r(i.J[e],1)}i.2r();i.4l();p b}s=i.J[e];7(i.F.1x===j){i.1T=b;7(n===j){i.1t("1w");t.1c(9(){i.1T=j},i.6.1w)}l 7(n==="2k"){i.1t(i.6.2v);t.1c(9(){i.1T=j},i.6.2v)}l{i.1t("1m");t.1c(9(){i.1T=j},i.6.1m)}i.1L(s)}l{7(n===j){i.1r(s,i.6.1w)}l 7(n==="2k"){i.1r(s,i.6.2v)}l{i.1r(s,i.6.1m)}}i.2r()},2g:9(e){h t=c;7(A t.6.1Y==="9"){t.6.1Y.R(c,[t.$k])}7(e>=t.D||e===-1){e=t.D}l 7(e<=0){e=0}t.1t(0);7(t.F.1x===j){t.1L(t.J[e])}l{t.1r(t.J[e],1)}t.m=t.d.m=e;t.2r()},2r:9(){h e=c;e.26.2D(e.m);e.13=e.d.13=e.26[e.26.N-2];e.26.5f(0);7(e.13!==e.m){e.35();e.3e();e.2l();7(e.6.O!==b){e.3j()}}7(A e.6.3y==="9"&&e.13!==e.m){e.6.3y.R(c,[e.$k])}},X:9(){h e=c;e.3A="X";t.18(e.1C)},3j:9(){h e=c;7(e.3A!=="X"){e.19()}},19:9(){h e=c;e.3A="19";7(e.6.O===b){p b}t.18(e.1C);e.1C=t.4d(9(){e.U(j)},e.6.O)},1t:9(e){h t=c;7(e==="1m"){t.$K.z(t.2z(t.6.1m))}l 7(e==="1w"){t.$K.z(t.2z(t.6.1w))}l 7(A e!=="2Y"){t.$K.z(t.2z(e))}},2z:9(e){p{"-1G-1a":"2C "+e+"1z 2s","-1W-1a":"2C "+e+"1z 2s","-o-1a":"2C "+e+"1z 2s",1a:"2C "+e+"1z 2s"}},3H:9(){p{"-1G-1a":"","-1W-1a":"","-o-1a":"",1a:""}},3I:9(e){p{"-1G-P":"1i("+e+"V, C, C)","-1W-P":"1i("+e+"V, C, C)","-o-P":"1i("+e+"V, C, C)","-1z-P":"1i("+e+"V, C, C)",P:"1i("+e+"V, C,C)"}},1L:9(e){h t=c;t.$K.z(t.3I(e))},3L:9(e){h t=c;t.$K.z({T:e})},1r:9(e,t){h n=c;n.29=b;n.$K.X(j,j).4b({T:e},{54:t||n.6.1m,3M:9(){n.29=j}})},4E:9(){h e=c,r="1i(C, C, C)",i=n.56("L"),s,o,u,a;i.2w.3O=" -1W-P:"+r+"; -1z-P:"+r+"; -o-P:"+r+"; -1G-P:"+r+"; P:"+r;s=/1i\\(C, C, C\\)/g;o=i.2w.3O.5i(s);u=o!==14&&o.N===1;a="5z"38 t||t.5Q.4P;e.F={1x:u,15:a}},4q:9(){h e=c;7(e.6.27!==b||e.6.1U!==b){e.3Q();e.3R()}},4C:9(){h e=c,t=["s","e","x"];e.16={};7(e.6.27===j&&e.6.1U===j){t=["2X.d 21.d","2N.d 3U.d","2n.d 3V.d 28.d"]}l 7(e.6.27===b&&e.6.1U===j){t=["2X.d","2N.d","2n.d 3V.d"]}l 7(e.6.27===j&&e.6.1U===b){t=["21.d","3U.d","28.d"]}e.16.3W=t[0];e.16.2K=t[1];e.16.2J=t[2]},3R:9(){h t=c;t.$k.w("5y.d",9(e){e.1l()});t.$k.w("21.3X",9(t){p e(t.1d).2m("5C, 5E, 5F, 5N")})},3Q:9(){9 s(e){7(e.2b!==W){p{x:e.2b[0].2c,y:e.2b[0].41}}7(e.2b===W){7(e.2c!==W){p{x:e.2c,y:e.41}}7(e.2c===W){p{x:e.52,y:e.53}}}}9 o(t){7(t==="w"){e(n).w(r.16.2K,a);e(n).w(r.16.2J,f)}l 7(t==="Q"){e(n).Q(r.16.2K);e(n).Q(r.16.2J)}}9 u(n){h u=n.3h||n||t.3g,a;7(u.5a===3){p b}7(r.E<=r.6.q){p}7(r.29===b&&!r.6.3f){p b}7(r.1T===b&&!r.6.3f){p b}7(r.6.O!==b){t.18(r.1C)}7(r.F.15!==j&&!r.$K.1I("3b")){r.$K.I("3b")}r.11=0;r.Y=0;e(c).z(r.3H());a=e(c).2h();i.2S=a.T;i.2R=s(u).x-a.T;i.2P=s(u).y-a.5o;o("w");i.2j=b;i.2L=u.1d||u.4c}9 a(o){h u=o.3h||o||t.3g,a,f;r.11=s(u).x-i.2R;r.2I=s(u).y-i.2P;r.Y=r.11-i.2S;7(A r.6.2E==="9"&&i.3C!==j&&r.Y!==0){i.3C=j;r.6.2E.R(r,[r.$k])}7((r.Y>8||r.Y<-8)&&r.F.15===j){7(u.1l!==W){u.1l()}l{u.5L=b}i.2j=j}7((r.2I>10||r.2I<-10)&&i.2j===b){e(n).Q("2N.d")}a=9(){p r.Y/5};f=9(){p r.3z+r.Y/5};r.11=1F.3v(1F.3Y(r.11,a()),f());7(r.F.1x===j){r.1L(r.11)}l{r.3L(r.11)}}9 f(n){h s=n.3h||n||t.3g,u,a,f;s.1d=s.1d||s.4c;i.3C=b;7(r.F.15!==j){r.$K.Z("3b")}7(r.Y<0){r.1y=r.d.1y="T"}l{r.1y=r.d.1y="3i"}7(r.Y!==0){u=r.4j();r.1g(u,b,"4e");7(i.2L===s.1d&&r.F.15!==j){e(s.1d).w("3a.4k",9(t){t.4S();t.4T();t.1l();e(t.1d).Q("3a.4k")});a=e.4N(s.1d,"4V").3a;f=a.4W();a.4X(0,0,f)}}o("Q")}h r=c,i={2R:0,2P:0,4Y:0,2S:0,2h:14,4Z:14,50:14,2j:14,51:14,2L:14};r.29=j;r.$k.w(r.16.3W,".d-1p",u)},4j:9(){h e=c,t=e.4m();7(t>e.D){e.m=e.D;t=e.D}l 7(e.11>=0){t=0;e.m=0}p t},4m:9(){h t=c,n=t.6.12===j?t.3E:t.J,r=t.11,i=14;e.2f(n,9(s,o){7(r-t.M/20>n[s+1]&&r-t.M/20<o&&t.34()==="T"){i=o;7(t.6.12===j){t.m=e.4p(i,t.J)}l{t.m=s}}l 7(r+t.M/20<o&&r+t.M/20>(n[s+1]||n[s]-t.M)&&t.34()==="3i"){7(t.6.12===j){i=n[s+1]||n[n.N-1];t.m=e.4p(i,t.J)}l{i=n[s+1];t.m=s+1}}});p t.m},34:9(){h e=c,t;7(e.Y<0){t="3i";e.3u="U"}l{t="T";e.3u="1n"}p t},4A:9(){h e=c;e.$k.w("d.U",9(){e.U()});e.$k.w("d.1n",9(){e.1n()});e.$k.w("d.19",9(t,n){e.6.O=n;e.19();e.32="19"});e.$k.w("d.X",9(){e.X();e.32="X"});e.$k.w("d.1g",9(t,n){e.1g(n)});e.$k.w("d.2g",9(t,n){e.2g(n)})},2p:9(){h e=c;7(e.6.2p===j&&e.F.15!==j&&e.6.O!==b){e.$k.w("57",9(){e.X()});e.$k.w("58",9(){7(e.32!=="X"){e.19()}})}},1Z:9(){h t=c,n,r,i,s,o;7(t.6.1Z===b){p b}1A(n=0;n<t.E;n+=1){r=e(t.$G[n]);7(r.v("d-1e")==="1e"){4s}i=r.v("d-1K");s=r.17(".5b");7(A s.v("1J")!=="2Y"){r.v("d-1e","1e");4s}7(r.v("d-1e")===W){s.3K();r.I("4u").v("d-1e","5e")}7(t.6.4v===j){o=i>=t.m}l{o=j}7(o&&i<t.m+t.6.q&&s.N){t.4w(r,s)}}},4w:9(e,n){9 o(){e.v("d-1e","1e").Z("4u");n.5h("v-1J");7(r.6.4x==="4y"){n.5j(5k)}l{n.3J()}7(A r.6.2T==="9"){r.6.2T.R(c,[r.$k])}}9 u(){i+=1;7(r.2Q(n.3l(0))||s===j){o()}l 7(i<=2q){t.1c(u,2q)}l{o()}}h r=c,i=0,s;7(n.5p("5q")==="5r"){n.z("5s-5t","5u("+n.v("1J")+")");s=j}l{n[0].1J=n.v("1J")}u()},1B:9(){9 s(){h r=e(n.$G[n.m]).2G();n.1H.z("2G",r+"V");7(!n.1H.1I("1B")){t.1c(9(){n.1H.I("1B")},0)}}9 o(){i+=1;7(n.2Q(r.3l(0))){s()}l 7(i<=2q){t.1c(o,2q)}l{n.1H.z("2G","")}}h n=c,r=e(n.$G[n.m]).17("5w"),i;7(r.3l(0)!==W){i=0;o()}l{s()}},2Q:9(e){h t;7(!e.3M){p b}t=A e.4D;7(t!=="W"&&e.4D===0){p b}p j},4g:9(){h t=c,n;7(t.6.2F===j){t.$G.Z("2d")}t.1D=[];1A(n=t.m;n<t.m+t.6.q;n+=1){t.1D.2D(n);7(t.6.2F===j){e(t.$G[n]).I("2d")}}t.d.1D=t.1D},4n:9(e){h t=c;t.4G="d-"+e+"-5B";t.4H="d-"+e+"-38"},4l:9(){9 a(e){p{2h:"5D",T:e+"V"}}h e=c,t=e.4G,n=e.4H,r=e.$G.1S(e.m),i=e.$G.1S(e.13),s=1F.4J(e.J[e.m])+e.J[e.13],o=1F.4J(e.J[e.m])+e.M/2,u="5G 5H 5I 5J";e.1E=j;e.$K.I("d-1P").z({"-1G-P-1P":o+"V","-1W-4K-1P":o+"V","4K-1P":o+"V"});i.z(a(s,10)).I(t).w(u,9(){e.3m=j;i.Q(u);e.31(i,t)});r.I(n).w(u,9(){e.36=j;r.Q(u);e.31(r,n)})},31:9(e,t){h n=c;e.z({2h:"",T:""}).Z(t);7(n.3m&&n.36){n.$K.Z("d-1P");n.3m=b;n.36=b;n.1E=b}},4o:9(){h e=c;e.d={2A:e.2A,5P:e.$k,S:e.$S,G:e.$G,m:e.m,13:e.13,1D:e.1D,15:e.F.15,F:e.F,1y:e.1y}},3G:9(){h r=c;r.$k.Q(".d d 21.3X");e(n).Q(".d d");e(t).Q("44",r.3d)},1V:9(){h e=c;7(e.$k.25().N!==0){e.$K.3r();e.$S.3r().3r();7(e.B){e.B.3k()}}e.3G();e.$k.2x("2w",e.$k.v("d-4I")||"").2x("H",e.$k.v("d-4F"))},5T:9(){h e=c;e.X();t.18(e.1X);e.1V();e.$k.5U()},5V:9(t){h n=c,r=e.4M({},n.2A,t);n.1V();n.1N(r,n.$k)},5W:9(e,t){h n=c,r;7(!e){p b}7(n.$k.25().N===0){n.$k.1o(e);n.23();p b}n.1V();7(t===W||t===-1){r=-1}l{r=t}7(r>=n.$S.N||r===-1){n.$S.1S(-1).5X(e)}l{n.$S.1S(r).5Y(e)}n.23()},5Z:9(e){h t=c,n;7(t.$k.25().N===0){p b}7(e===W||e===-1){n=-1}l{n=e}t.1V();t.$S.1S(n).3k();t.23()}};e.37.2B=9(t){p c.2f(9(){7(e(c).v("d-1N")===j){p b}e(c).v("d-1N",j);h n=3c.3q(r);n.1N(t,c);e.v(c,"2B",n)})};e.37.2B.6={q:5,1h:b,1s:[60,4],1O:[61,3],22:[62,2],1Q:b,1R:[63,1],48:b,46:b,1m:2M,1w:64,2v:65,O:b,2p:b,2a:b,2U:["1n","U"],2e:j,12:b,1v:j,39:b,2Z:j,45:2M,47:t,1M:"d-66",2i:"d-2i",1Z:b,4v:j,4x:"4y",1B:b,2O:b,33:b,3f:j,27:j,1U:j,2F:b,2o:b,3B:b,3D:b,2H:b,3s:b,1Y:b,3y:b,3w:b,2E:b,2T:b}})(67,68,69)',62,382,'||||||options|if||function||false|this|owl||||var||true|elem|else|currentItem|||return|items|||||data|on|||css|typeof|owlControls|0px|maximumItem|itemsAmount|browser|owlItems|class|addClass|positionsInArray|owlWrapper|div|itemWidth|length|autoPlay|transform|off|apply|userItems|left|next|px|undefined|stop|newRelativeX|removeClass||newPosX|scrollPerPage|prevItem|null|isTouch|ev_types|find|clearInterval|play|transition|disabled|setTimeout|target|loaded|width|goTo|itemsCustom|translate3d|page|paginationWrapper|preventDefault|slideSpeed|prev|append|wrapper|buttonNext|css2slide|itemsDesktop|swapSpeed|buttonPrev|pagination|paginationSpeed|support3d|dragDirection|ms|for|autoHeight|autoPlayInterval|visibleItems|isTransition|Math|webkit|wrapperOuter|hasClass|src|item|transition3d|baseClass|init|itemsDesktopSmall|origin|itemsTabletSmall|itemsMobile|eq|isCss3Finish|touchDrag|unWrap|moz|checkVisible|beforeMove|lazyLoad||mousedown|itemsTablet|setVars|roundPages|children|prevArr|mouseDrag|mouseup|isCssFinish|navigation|touches|pageX|active|rewindNav|each|jumpTo|position|theme|sliding|rewind|eachMoveUpdate|is|touchend|transitionStyle|stopOnHover|100|afterGo|ease|orignalItems|opacity|rewindSpeed|style|attr|html|addCssSpeed|userOptions|owlCarousel|all|push|startDragging|addClassActive|height|beforeInit|newPosY|end|move|targetElement|200|touchmove|jsonPath|offsetY|completeImg|offsetX|relativePos|afterLazyLoad|navigationText|updateItems|calculateAll|touchstart|string|responsive|updateControls|clearTransStyle|hoverStatus|jsonSuccess|moveDirection|checkPagination|endCurrent|fn|in|paginationNumbers|click|grabbing|Object|resizer|checkNavigation|dragBeforeAnimFinish|event|originalEvent|right|checkAp|remove|get|endPrev|visible|watchVisibility|Number|create|unwrap|afterInit|logIn|playDirection|max|afterAction|updateVars|afterMove|maximumPixels|apStatus|beforeUpdate|dragging|afterUpdate|pagesInArray|reload|clearEvents|removeTransition|doTranslate|show|hide|css2move|complete|span|cssText|updatePagination|gestures|disabledEvents|buildButtons|buildPagination|mousemove|touchcancel|start|disableTextSelect|min|loops|calculateWidth|pageY|appendWrapperSizes|appendItemsSizes|resize|responsiveRefreshRate|itemsScaleUp|responsiveBaseWidth|singleItem|outer|wrap|animate|srcElement|setInterval|drag|updatePosition|onVisibleItems|block|display|getNewPosition|disable|singleItemTransition|closestItem|transitionTypes|owlStatus|inArray|moveEvents|response|continue|buildControls|loading|lazyFollow|lazyPreload|lazyEffect|fade|onStartup|customEvents|wrapItems|eventTypes|naturalWidth|checkBrowser|originalClasses|outClass|inClass|originalStyles|abs|perspective|loadContent|extend|_data|round|msMaxTouchPoints|5e3|text|stopImmediatePropagation|stopPropagation|buttons|events|pop|splice|baseElWidth|minSwipe|maxSwipe|dargging|clientX|clientY|duration|destroyControls|createElement|mouseover|mouseout|numbers|which|lazyOwl|appendTo|clearTimeout|checked|shift|sort|removeAttr|match|fadeIn|400|clickable|toggleClass|wrapAll|top|prop|tagName|DIV|background|image|url|wrapperWidth|img|500|dragstart|ontouchstart|controls|out|input|relative|textarea|select|webkitAnimationEnd|oAnimationEnd|MSAnimationEnd|animationend|getJSON|returnValue|hasOwnProperty|option|onstartup|baseElement|navigator|new|prototype|destroy|removeData|reinit|addItem|after|before|removeItem|1199|979|768|479|800|1e3|carousel|jQuery|window|document'.split('|'),0,{})) \ No newline at end of file diff --git a/js/prism.js b/js/prism.js new file mode 100644 index 0000000..ae881ac --- /dev/null +++ b/js/prism.js @@ -0,0 +1,21 @@ +/* PrismJS 1.21.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+csharp+cpp+go+java+markdown+python+scss+sql+toml+yaml&plugins=toolbar+copy-to-clipboard */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function t(e,r){var a,n;switch(r=r||{},M.util.type(e)){case"Object":if(n=M.util.objId(e),r[n])return r[n];for(var i in a={},r[n]=a,e)e.hasOwnProperty(i)&&(a[i]=t(e[i],r));return a;case"Array":return n=M.util.objId(e),r[n]?r[n]:(a=[],r[n]=a,e.forEach(function(e,n){a[n]=t(e,r)}),a);default:return e}},getLanguage:function(e){for(;e&&!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var t=document.getElementsByTagName("script");for(var r in t)if(t[r].src==n)return t[r]}return null}},isActive:function(e,n,t){for(var r="no-"+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!t}},languages:{extend:function(e,n){var t=M.util.clone(M.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(t,e,n,r){var a=(r=r||M.languages)[t],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=r[t];return r[t]=i,M.languages.DFS(M.languages,function(e,n){n===s&&e!=t&&(this[e]=i)}),i},DFS:function e(n,t,r,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){t.call(n,l,n[l],r||l);var o=n[l],s=M.util.type(o);"Object"!==s||a[i(o)]?"Array"!==s||a[i(o)]||(a[i(o)]=!0,e(o,t,l,a)):(a[i(o)]=!0,e(o,t,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,t){var r={callback:t,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};M.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),M.hooks.run("before-all-elements-highlight",r);for(var a,i=0;a=r.elements[i++];)M.highlightElement(a,!0===n,r.callback)},highlightElement:function(e,n,t){var r=M.util.getLanguage(e),a=M.languages[r];e.className=e.className.replace(c,"").replace(/\s+/g," ")+" language-"+r;var i=e.parentElement;i&&"pre"===i.nodeName.toLowerCase()&&(i.className=i.className.replace(c,"").replace(/\s+/g," ")+" language-"+r);var l={element:e,language:r,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run("before-insert",l),l.element.innerHTML=l.highlightedCode,M.hooks.run("after-highlight",l),M.hooks.run("complete",l),t&&t.call(l.element)}if(M.hooks.run("before-sanity-check",l),!l.code)return M.hooks.run("complete",l),void(t&&t.call(l.element));if(M.hooks.run("before-highlight",l),l.grammar)if(n&&u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};return M.hooks.run("before-tokenize",r),r.tokens=M.tokenize(r.code,r.grammar),M.hooks.run("after-tokenize",r),W.stringify(M.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,t,r,a,i,l){for(var o in r)if(r.hasOwnProperty(o)&&r[o]){var s=r[o];s=Array.isArray(s)?s:[s];for(var u=0;u<s.length;++u){if(l&&l.cause==o+","+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=0,v=c.alias;if(h&&!c.pattern.global){var p=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,p+"g")}for(var m=c.pattern||c,y=a.next,k=i;y!==t.tail&&!(l&&k>=l.reach);k+=y.value.length,y=y.next){var b=y.value;if(t.length>n.length)return;if(!(b instanceof W)){var x=1;if(h&&y!=t.tail.prev){m.lastIndex=k;var w=m.exec(n);if(!w)break;var A=w.index+(f&&w[1]?w[1].length:0),P=w.index+w[0].length,S=k;for(S+=y.value.length;S<=A;)y=y.next,S+=y.value.length;if(S-=y.value.length,k=S,y.value instanceof W)continue;for(var E=y;E!==t.tail&&(S<P||"string"==typeof E.value);E=E.next)x++,S+=E.value.length;x--,b=n.slice(k,S),w.index-=k}else{m.lastIndex=0;var w=m.exec(b)}if(w){f&&(d=w[1]?w[1].length:0);var A=w.index+d,O=w[0].slice(d),P=A+O.length,L=b.slice(0,A),N=b.slice(P),j=k+b.length;l&&j>l.reach&&(l.reach=j);var C=y.prev;L&&(C=I(t,C,L),k+=L.length),z(t,C,x);var _=new W(o,g?M.tokenize(O,g):O,v,O);y=I(t,C,_),N&&I(t,y,N),1<x&&e(n,t,r,y.prev,k,{cause:o+","+u,reach:j})}}}}}}(e,a,n,a.head,0),function(e){var n=[],t=e.head.next;for(;t!==e.tail;)n.push(t.value),t=t.next;return n}(a)},hooks:{all:{},add:function(e,n){var t=M.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=M.hooks.all[e];if(t&&t.length)for(var r,a=0;r=t[a++];)r(n)}},Token:W};function W(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function z(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;(n.next=r).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,t){if("string"==typeof e)return e;if(Array.isArray(e)){var r="";return e.forEach(function(e){r+=n(e,t)}),r}var a={type:e.type,content:n(e.content,t),tag:"span",classes:["token",e.type],attributes:{},language:t},i=e.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run("wrap",a);var l="";for(var o in a.attributes)l+=" "+o+'="'+(a.attributes[o]||"").replace(/"/g,"&quot;")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+l+">"+a.content+"</"+a.tag+">"},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),t=n.language,r=n.code,a=n.immediateClose;u.postMessage(M.highlight(r,M.languages[t],t)),a&&u.close()},!1)),M;var e=M.util.currentScript();function t(){M.manual||M.highlightAll()}if(e&&(M.filename=e.src,e.hasAttribute("data-manual")&&(M.manual=!0)),!M.manual){var r=document.readyState;"loading"===r||"interactive"===r&&e&&e.defer?document.addEventListener("DOMContentLoaded",t):window.requestAnimationFrame?window.requestAnimationFrame(t):window.setTimeout(t,16)}return M}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp("(<__[^]*?>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return a}),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(e){var s=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+s.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+s.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+s.source+")*?(?=\\s*\\{)"),string:{pattern:s,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var t=e.languages.markup;t&&(t.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:t.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},t.tag))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\2)[^\\])*\2/,lookbehind:!0,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s<a.length;s++)r[a[s]]=e.languages.bash[a[s]];e.languages.shell=e.languages.bash}(Prism); +Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean; +!function(s){function a(e,s){return e.replace(/<<(\d+)>>/g,function(e,n){return"(?:"+s[+n]+")"})}function t(e,n,s){return RegExp(a(e,n),s||"")}function e(e,n){for(var s=0;s<n;s++)e=e.replace(/<<self>>/g,function(){return"(?:"+e+")"});return e.replace(/<<self>>/g,"[^\\s\\S]")}var n="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface struct",i="add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where where",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(n+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(n+" "+r+" "+o),g=e("<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>",2),b=e("\\((?:[^()]|<<self>>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=a("<<0>>(?:\\s*<<1>>)?",[h,g]),m=a("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=a("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=a("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[a("\\(<<0>>+(?:,<<0>>+)+\\)",[a("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k])]),m,k]),v={keyword:p,punctuation:/[<>()?,.:[\]]/},x="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",$='"(?:\\\\.|[^\\\\"\r\n])*"';s.languages.csharp=s.languages.extend("clike",{string:[{pattern:t("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:t("(^|[^@$\\\\])<<0>>",[$]),lookbehind:!0,greedy:!0},{pattern:RegExp(x),greedy:!0,alias:"character"}],"class-name":[{pattern:t("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:v},{pattern:t("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,w]),lookbehind:!0,inside:v},{pattern:t("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:t("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:v},{pattern:t("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:v},{pattern:t("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:t("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:v},{pattern:t("\\b<<0>>(?=\\s+(?!<<1>>)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[w,u,h]),inside:v}],keyword:p,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),s.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),s.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:t("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),s.languages.insertBefore("csharp","class-name",{namespace:{pattern:t("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:t("(\\b(?:default|typeof|sizeof)\\s*\\(\\s*)(?:[^()\\s]|\\s(?!\\s*\\))|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:v},"return-type":{pattern:t("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[w,m]),inside:v,alias:"class-name"},"constructor-invocation":{pattern:t("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[w]),lookbehind:!0,inside:v,alias:"class-name"},"generic-method":{pattern:t("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:t("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:v}}},"type-list":{pattern:t("\\b((?:<<0>>\\s+<<1>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>)(?:\\s*,\\s*(?:<<3>>|<<4>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,f,h,w,p.source]),lookbehind:!0,inside:{keyword:p,"class-name":{pattern:RegExp(w),greedy:!0,inside:v},punctuation:/,/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var _=$+"|"+x,B=a("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[_]),E=e(a("[^\"'/()]|<<0>>|\\(<<self>>*\\)",[B]),2),R="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",P=a("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,E]);s.languages.insertBefore("csharp","class-name",{attribute:{pattern:t("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[R,P]),lookbehind:!0,greedy:!0,inside:{target:{pattern:t("^<<0>>(?=\\s*:)",[R]),alias:"keyword"},"attribute-arguments":{pattern:t("\\(<<0>>*\\)",[E]),inside:s.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var z=":[^}\r\n]+",S=e(a("[^\"'/()]|<<0>>|\\(<<self>>*\\)",[B]),2),j=a("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[S,z]),A=e(a("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<<self>>*\\)",[_]),2),F=a("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[A,z]);function U(e,n){return{interpolation:{pattern:t("((?:^|[^{])(?:\\{\\{)*)<<0>>",[e]),lookbehind:!0,inside:{"format-string":{pattern:t("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[n,z]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:s.languages.csharp}}},string:/[\s\S]+/}}s.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:t('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[j]),lookbehind:!0,greedy:!0,inside:U(j,S)},{pattern:t('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[F]),lookbehind:!0,greedy:!0,inside:U(F,A)}]})}(Prism),Prism.languages.dotnet=Prism.languages.cs=Prism.languages.csharp; +!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+".replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)(?:[^;{}"'])+?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","operator",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); +Prism.languages.go=Prism.languages.extend("clike",{keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete Prism.languages.go["class-name"]; +!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,a=/\b[A-Z](?:\w*[a-z]\w*)?\b/;e.languages.java=e.languages.extend("clike",{"class-name":[a,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),e.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); +!function(d){function n(n){return n=n.replace(/<inner>/g,function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))"}),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var e="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",t="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|$)".replace(/__/g,function(){return e}),a="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";d.languages.markdown=d.languages.extend("markup",{}),d.languages.insertBefore("markdown","prolog",{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+t+a+"(?:"+t+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+t+a+")(?:"+t+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(e),inside:d.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+t+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+t+"$"),inside:{"table-header":{pattern:RegExp(e),alias:"important",inside:d.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/``.+?``|`[^`\r\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n("\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n("\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n("(~~?)(?:(?!~)<inner>)+?\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:n('!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)| ?\\[(?:(?!\\])<inner>)+\\])'),lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(\[)[^\]]+(?=\]$)/,lookbehind:!0},content:{pattern:/(^!?\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),["url","bold","italic","strike"].forEach(function(e){["url","bold","italic","strike"].forEach(function(n){e!==n&&(d.languages.markdown[e].inside.content.inside[n]=d.languages.markdown[n])})}),d.hooks.add("after-tokenize",function(n){"markdown"!==n.language&&"md"!==n.language||!function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t<a;t++){var i=e[t];if("code"===i.type){var r=i.content[1],o=i.content[3];if(r&&o&&"code-language"===r.type&&"code-block"===o.type&&"string"==typeof r.content){var l=r.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),s="language-"+(l=(/[a-z][\w-]*/i.exec(l)||[""])[0].toLowerCase());o.alias?"string"==typeof o.alias?o.alias=[o.alias,s]:o.alias.push(s):o.alias=[s]}}else n(i.content)}}(n.tokens)}),d.hooks.add("wrap",function(n){if("code-block"===n.type){for(var e="",t=0,a=n.classes.length;t<a;t++){var i=n.classes[t],r=/language-(.+)/.exec(i);if(r){e=r[1];break}}var o=d.languages[e];if(o){var l=n.content.replace(/&lt;/g,"<").replace(/&amp;/g,"&");n.content=d.highlight(l,o,e)}else if(e&&"none"!==e&&d.plugins.autoloader){var s="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());n.attributes.id=s,d.plugins.autoloader.loadLanguages(e,function(){var n=document.getElementById(s);n&&(n.innerHTML=d.highlight(n.textContent,d.languages[e],e))})}}}),d.languages.md=d.languages.markdown}(Prism); +Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; +Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; +!function(e){function n(e){return e.replace(/__/g,function(){return"(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\\\.|[^\\\\\"\r\n])*\")"})}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n("(^\\s*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])"),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n("(^\\s*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)"),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:true|false)\b/,punctuation:/[.,=[\]{}]/}}(Prism); +!function(n){var t=/[*&][^\s[\]{},]+/,e=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+e.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+e.source+")?)";function a(n,t){t=(t||"").replace(/m/g,"")+"m";var e="([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|]|}|\\s*#))".replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return n});return RegExp(e,t)}n.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\\2[^\r\n]+)*)".replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)[^\r\n{[\\]},#\\s]+?(?=\\s*:\\s)".replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:a("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?)?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:a("true|false","i"),lookbehind:!0,alias:"important"},null:{pattern:a("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:a("(\"|')(?:(?!\\2)[^\\\\\r\n]|\\\\.)*\\2"),lookbehind:!0,greedy:!0},number:{pattern:a("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:e,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml}(Prism); +!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t="function"==typeof n?n:function(e){var t;return"function"==typeof n.onClick?((t=document.createElement("button")).type="button",t.addEventListener("click",function(){n.onClick.call(this,e)})):"string"==typeof n.url?(t=document.createElement("a")).href=n.url:t=document.createElement("span"),n.className&&t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn('There is a button with the key "'+e+'" registered already.'):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&&/pre/i.test(e.nodeName)&&!e.parentNode.classList.contains("code-toolbar")){var t=document.createElement("div");t.classList.add("code-toolbar"),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement("div");r.classList.add("toolbar");var n=i,o=function(e){for(;e;){var t=e.getAttribute("data-toolbar-order");if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&&(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement("div");n.classList.add("toolbar-item"),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e("label",function(e){var t=e.element.parentNode;if(t&&/pre/i.test(t.nodeName)&&t.hasAttribute("data-label")){var n,a,r=t.getAttribute("data-label");try{a=document.querySelector("template#"+r)}catch(e){}return a?n=a.content:(t.hasAttribute("data-url")?(n=document.createElement("a")).href=t.getAttribute("data-url"):n=document.createElement("span"),n.textContent=r),n}}),Prism.hooks.add("complete",t)}}(); +!function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var i=window.ClipboardJS||void 0;i||"function"!=typeof require||(i=require("clipboard"));var c=[];if(!i){var o=document.createElement("script"),t=document.querySelector("head");o.onload=function(){if(i=window.ClipboardJS)for(;c.length;)c.pop()()},o.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js",t.appendChild(o)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",function(o){var t=document.createElement("button");t.textContent="Copy";var e=o.element;return i?n():c.push(n),t;function n(){var o=new i(t,{text:function(){return e.textContent}});o.on("success",function(){t.textContent="Copied!",r()}),o.on("error",function(){t.textContent="Press Ctrl+C to copy",r()})}function r(){setTimeout(function(){t.textContent="Copy"},5e3)}})}else console.warn("Copy to Clipboard plugin loaded before Toolbar plugin.")}(); diff --git a/js/respond.min.js b/js/respond.min.js deleted file mode 100644 index e8d6207..0000000 --- a/js/respond.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! Respond.js v1.4.2: min/max-width media query polyfill - * Copyright 2014 Scott Jehl - * Licensed under MIT - * http://j.mp/respondjs */ - -!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b<t.length;b++){var c=t[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!p[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(w(c.styleSheet.rawCssText,e,f),p[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!s||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}x()};y(),c.update=y,c.getEmValue=u,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); \ No newline at end of file diff --git a/js/swagger-ui-bundle.js b/js/swagger-ui-bundle.js new file mode 100644 index 0000000..c48cc4c --- /dev/null +++ b/js/swagger-ui-bundle.js @@ -0,0 +1,134 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("esprima")}catch(e){}}()):"function"==typeof define&&define.amd?define(["esprima"],t):"object"==typeof exports?exports.SwaggerUIBundle=t(function(){try{return require("esprima")}catch(e){}}()):e.SwaggerUIBundle=t(e.esprima)}(window,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=488)}([function(e,t,n){"use strict";e.exports=n(104)},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return a(e)?e:J(e)}function r(e){return s(e)?e:K(e)}function o(e){return u(e)?e:Y(e)}function i(e){return a(e)&&!c(e)?e:$(e)}function a(e){return!(!e||!e[p])}function s(e){return!(!e||!e[f])}function u(e){return!(!e||!e[h])}function c(e){return s(e)||u(e)}function l(e){return!(!e||!e[d])}t(r,n),t(o,n),t(i,n),n.isIterable=a,n.isKeyed=s,n.isIndexed=u,n.isAssociative=c,n.isOrdered=l,n.Keyed=r,n.Indexed=o,n.Set=i;var p="@@__IMMUTABLE_ITERABLE__@@",f="@@__IMMUTABLE_KEYED__@@",h="@@__IMMUTABLE_INDEXED__@@",d="@@__IMMUTABLE_ORDERED__@@",m=5,v=1<<m,g=v-1,y={},b={value:!1},_={value:!1};function w(e){return e.value=!1,e}function x(e){e&&(e.value=!0)}function E(){}function S(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),o=0;o<n;o++)r[o]=e[o+t];return r}function C(e){return void 0===e.size&&(e.size=e.__iterate(O)),e.size}function k(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?C(e)+t:t}function O(){return!0}function A(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function T(e,t){return P(e,t,0)}function j(e,t){return P(e,t,t)}function P(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var I=0,M=1,N=2,R="function"==typeof Symbol&&Symbol.iterator,D="@@iterator",L=R||D;function U(e){this.next=e}function q(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function F(){return{value:void 0,done:!0}}function B(e){return!!H(e)}function z(e){return e&&"function"==typeof e.next}function V(e){var t=H(e);return t&&t.call(e)}function H(e){var t=e&&(R&&e[R]||e[D]);if("function"==typeof t)return t}function W(e){return e&&"number"==typeof e.length}function J(e){return null==e?ie():a(e)?e.toSeq():function(e){var t=ue(e)||"object"==typeof e&&new te(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}(e)}function K(e){return null==e?ie().toKeyedSeq():a(e)?s(e)?e.toSeq():e.fromEntrySeq():ae(e)}function Y(e){return null==e?ie():a(e)?s(e)?e.entrySeq():e.toIndexedSeq():se(e)}function $(e){return(null==e?ie():a(e)?s(e)?e.entrySeq():e:se(e)).toSetSeq()}U.prototype.toString=function(){return"[Iterator]"},U.KEYS=I,U.VALUES=M,U.ENTRIES=N,U.prototype.inspect=U.prototype.toSource=function(){return this.toString()},U.prototype[L]=function(){return this},t(J,n),J.of=function(){return J(arguments)},J.prototype.toSeq=function(){return this},J.prototype.toString=function(){return this.__toString("Seq {","}")},J.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},J.prototype.__iterate=function(e,t){return ce(this,e,t,!0)},J.prototype.__iterator=function(e,t){return le(this,e,t,!0)},t(K,J),K.prototype.toKeyedSeq=function(){return this},t(Y,J),Y.of=function(){return Y(arguments)},Y.prototype.toIndexedSeq=function(){return this},Y.prototype.toString=function(){return this.__toString("Seq [","]")},Y.prototype.__iterate=function(e,t){return ce(this,e,t,!1)},Y.prototype.__iterator=function(e,t){return le(this,e,t,!1)},t($,J),$.of=function(){return $(arguments)},$.prototype.toSetSeq=function(){return this},J.isSeq=oe,J.Keyed=K,J.Set=$,J.Indexed=Y;var G,Z,X,Q="@@__IMMUTABLE_SEQ__@@";function ee(e){this._array=e,this.size=e.length}function te(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function ne(e){this._iterable=e,this.size=e.length||e.size}function re(e){this._iterator=e,this._iteratorCache=[]}function oe(e){return!(!e||!e[Q])}function ie(){return G||(G=new ee([]))}function ae(e){var t=Array.isArray(e)?new ee(e).fromEntrySeq():z(e)?new re(e).fromEntrySeq():B(e)?new ne(e).fromEntrySeq():"object"==typeof e?new te(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function se(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ue(e){return W(e)?new ee(e):z(e)?new re(e):B(e)?new ne(e):void 0}function ce(e,t,n,r){var o=e._cache;if(o){for(var i=o.length-1,a=0;a<=i;a++){var s=o[n?i-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function le(e,t,n,r){var o=e._cache;if(o){var i=o.length-1,a=0;return new U(function(){var e=o[n?i-a:a];return a++>i?{value:void 0,done:!0}:q(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function pe(e,t){return t?function e(t,n,r,o){return Array.isArray(n)?t.call(o,r,Y(n).map(function(r,o){return e(t,r,o,n)})):he(n)?t.call(o,r,K(n).map(function(r,o){return e(t,r,o,n)})):n}(t,e,"",{"":e}):fe(e)}function fe(e){return Array.isArray(e)?Y(e).map(fe).toList():he(e)?K(e).map(fe).toMap():e}function he(e){return e&&(e.constructor===Object||void 0===e.constructor)}function de(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function me(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!c(e);if(l(e)){var r=e.entries();return t.every(function(e,t){var o=r.next().value;return o&&de(o[1],e)&&(n||de(o[0],t))})&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{o=!0;var i=e;e=t,t=i}var p=!0,f=t.__iterate(function(t,r){if(n?!e.has(t):o?!de(t,e.get(r,y)):!de(e.get(r,y),t))return p=!1,!1});return p&&e.size===f}function ve(e,t){if(!(this instanceof ve))return new ve(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(Z)return Z;Z=this}}function ge(e,t){if(!e)throw new Error(t)}function ye(e,t,n){if(!(this instanceof ye))return new ye(e,t,n);if(ge(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if(X)return X;X=this}}function be(){throw TypeError("Abstract")}function _e(){}function we(){}function xe(){}J.prototype[Q]=!0,t(ee,Y),ee.prototype.get=function(e,t){return this.has(e)?this._array[k(this,e)]:t},ee.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,o=0;o<=r;o++)if(!1===e(n[t?r-o:o],o,this))return o+1;return o},ee.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,o=0;return new U(function(){return o>r?{value:void 0,done:!0}:q(e,o,n[t?r-o++:o++])})},t(te,K),te.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},te.prototype.has=function(e){return this._object.hasOwnProperty(e)},te.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,i=0;i<=o;i++){var a=r[t?o-i:i];if(!1===e(n[a],a,this))return i+1}return i},te.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,i=0;return new U(function(){var a=r[t?o-i:i];return i++>o?{value:void 0,done:!0}:q(e,a,n[a])})},te.prototype[d]=!0,t(ne,Y),ne.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=V(this._iterable),r=0;if(z(n))for(var o;!(o=n.next()).done&&!1!==e(o.value,r++,this););return r},ne.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=V(this._iterable);if(!z(n))return new U(F);var r=0;return new U(function(){var t=n.next();return t.done?t:q(e,r++,t.value)})},t(re,Y),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,o=this._iteratorCache,i=0;i<o.length;)if(!1===e(o[i],i++,this))return i;for(;!(n=r.next()).done;){var a=n.value;if(o[i]=a,!1===e(a,i++,this))break}return i},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,o=0;return new U(function(){if(o>=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return q(e,o,r[o++])})},t(ve,Y),ve.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ve.prototype.get=function(e,t){return this.has(e)?this._value:t},ve.prototype.includes=function(e){return de(this._value,e)},ve.prototype.slice=function(e,t){var n=this.size;return A(e,t,n)?this:new ve(this._value,j(t,n)-T(e,n))},ve.prototype.reverse=function(){return this},ve.prototype.indexOf=function(e){return de(this._value,e)?0:-1},ve.prototype.lastIndexOf=function(e){return de(this._value,e)?this.size:-1},ve.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},ve.prototype.__iterator=function(e,t){var n=this,r=0;return new U(function(){return r<n.size?q(e,r++,n._value):{value:void 0,done:!0}})},ve.prototype.equals=function(e){return e instanceof ve?de(this._value,e._value):me(e)},t(ye,Y),ye.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},ye.prototype.get=function(e,t){return this.has(e)?this._start+k(this,e)*this._step:t},ye.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},ye.prototype.slice=function(e,t){return A(e,t,this.size)?this:(e=T(e,this.size),(t=j(t,this.size))<=e?new ye(0,0):new ye(this.get(e,this._end),this.get(t,this._end),this._step))},ye.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},ye.prototype.lastIndexOf=function(e){return this.indexOf(e)},ye.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,o=t?this._start+n*r:this._start,i=0;i<=n;i++){if(!1===e(o,i,this))return i+1;o+=t?-r:r}return i},ye.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,o=t?this._start+n*r:this._start,i=0;return new U(function(){var a=o;return o+=t?-r:r,i>n?{value:void 0,done:!0}:q(e,i++,a)})},ye.prototype.equals=function(e){return e instanceof ye?this._start===e._start&&this._end===e._end&&this._step===e._step:me(this,e)},t(be,n),t(_e,be),t(we,be),t(xe,be),be.Keyed=_e,be.Indexed=we,be.Set=xe;var Ee="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function Se(e){return e>>>1&1073741824|3221225471&e}function Ce(e){if(!1===e||null==e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null==e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!=e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return Se(n)}if("string"===t)return e.length>Me?function(e){var t=De[e];return void 0===t&&(t=ke(e),Re===Ne&&(Re=0,De={}),Re++,De[e]=t),t}(e):ke(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return function(e){var t;if(je&&void 0!==(t=Oe.get(e)))return t;if(void 0!==(t=e[Ie]))return t;if(!Te){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ie]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=++Pe,1073741824&Pe&&(Pe=0),je)Oe.set(e,t);else{if(void 0!==Ae&&!1===Ae(e))throw new Error("Non-extensible objects are not allowed as keys.");if(Te)Object.defineProperty(e,Ie,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ie]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ie]=t}}return t}(e);if("function"==typeof e.toString)return ke(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function ke(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Se(t)}var Oe,Ae=Object.isExtensible,Te=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),je="function"==typeof WeakMap;je&&(Oe=new WeakMap);var Pe=0,Ie="__immutablehash__";"function"==typeof Symbol&&(Ie=Symbol(Ie));var Me=16,Ne=255,Re=0,De={};function Le(e){ge(e!==1/0,"Cannot perform this action with an infinite size.")}function Ue(e){return null==e?Xe():qe(e)&&!l(e)?e:Xe().withMutations(function(t){var n=r(e);Le(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function qe(e){return!(!e||!e[Be])}t(Ue,_e),Ue.of=function(){var t=e.call(arguments,0);return Xe().withMutations(function(e){for(var n=0;n<t.length;n+=2){if(n+1>=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}})},Ue.prototype.toString=function(){return this.__toString("Map {","}")},Ue.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},Ue.prototype.set=function(e,t){return Qe(this,e,t)},Ue.prototype.setIn=function(e,t){return this.updateIn(e,y,function(){return t})},Ue.prototype.remove=function(e){return Qe(this,e,y)},Ue.prototype.deleteIn=function(e){return this.updateIn(e,function(){return y})},Ue.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},Ue.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=function e(t,n,r,o){var i=t===y,a=n.next();if(a.done){var s=i?r:t,u=o(s);return u===s?t:u}ge(i||t&&t.set,"invalid keyPath");var c=a.value,l=i?y:t.get(c,y),p=e(l,n,r,o);return p===l?t:p===y?t.remove(c):(i?Xe():t).set(c,p)}(this,rn(e),t,n);return r===y?void 0:r},Ue.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Xe()},Ue.prototype.merge=function(){return rt(this,void 0,arguments)},Ue.prototype.mergeWith=function(t){var n=e.call(arguments,1);return rt(this,t,n)},Ue.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Xe(),function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]})},Ue.prototype.mergeDeep=function(){return rt(this,ot,arguments)},Ue.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return rt(this,it(t),n)},Ue.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Xe(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]})},Ue.prototype.sort=function(e){return Tt(Jt(this,e))},Ue.prototype.sortBy=function(e,t){return Tt(Jt(this,t,e))},Ue.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},Ue.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new E)},Ue.prototype.asImmutable=function(){return this.__ensureOwner()},Ue.prototype.wasAltered=function(){return this.__altered},Ue.prototype.__iterator=function(e,t){return new Ye(this,e,t)},Ue.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},Ue.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ze(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Ue.isMap=qe;var Fe,Be="@@__IMMUTABLE_MAP__@@",ze=Ue.prototype;function Ve(e,t){this.ownerID=e,this.entries=t}function He(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function We(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function Je(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function Ke(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function Ye(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&Ge(e._root)}function $e(e,t){return q(e,t[0],t[1])}function Ge(e,t){return{node:e,index:0,__prev:t}}function Ze(e,t,n,r){var o=Object.create(ze);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Xe(){return Fe||(Fe=Ze(0))}function Qe(e,t,n){var r,o;if(e._root){var i=w(b),a=w(_);if(r=et(e._root,e.__ownerID,0,void 0,t,n,i,a),!a.value)return e;o=e.size+(i.value?n===y?-1:1:0)}else{if(n===y)return e;o=1,r=new Ve(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?Ze(o,r):Xe()}function et(e,t,n,r,o,i,a,s){return e?e.update(t,n,r,o,i,a,s):i===y?e:(x(s),x(a),new Ke(t,r,[o,i]))}function tt(e){return e.constructor===Ke||e.constructor===Je}function nt(e,t,n,r,o){if(e.keyHash===r)return new Je(t,r,[e.entry,o]);var i,a=(0===n?e.keyHash:e.keyHash>>>n)&g,s=(0===n?r:r>>>n)&g;return new He(t,1<<a|1<<s,a===s?[nt(e,t,n+m,r,o)]:(i=new Ke(t,r,o),a<s?[e,i]:[i,e]))}function rt(e,t,n){for(var o=[],i=0;i<n.length;i++){var s=n[i],u=r(s);a(s)||(u=u.map(function(e){return pe(e)})),o.push(u)}return at(e,t,o)}function ot(e,t,n){return e&&e.mergeDeep&&a(t)?e.mergeDeep(t):de(e,t)?e:t}function it(e){return function(t,n,r){if(t&&t.mergeDeepWith&&a(n))return t.mergeDeepWith(e,n);var o=e(t,n,r);return de(t,o)?t:o}}function at(e,t,n){return 0===(n=n.filter(function(e){return 0!==e.size})).length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations(function(e){for(var r=t?function(n,r){e.update(r,y,function(e){return e===y?n:t(e,n,r)})}:function(t,n){e.set(n,t)},o=0;o<n.length;o++)n[o].forEach(r)}):e.constructor(n[0])}function st(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function ut(e,t,n,r){var o=r?e:S(e);return o[t]=n,o}ze[Be]=!0,ze.delete=ze.remove,ze.removeIn=ze.deleteIn,Ve.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i<a;i++)if(de(n,o[i][0]))return o[i][1];return r},Ve.prototype.update=function(e,t,n,r,o,i,a){for(var s=o===y,u=this.entries,c=0,l=u.length;c<l&&!de(r,u[c][0]);c++);var p=c<l;if(p?u[c][1]===o:s)return this;if(x(a),(s||!p)&&x(i),!s||1!==u.length){if(!p&&!s&&u.length>=ct)return function(e,t,n,r){e||(e=new E);for(var o=new Ke(e,Ce(n),[n,r]),i=0;i<t.length;i++){var a=t[i];o=o.update(e,0,void 0,a[0],a[1])}return o}(e,u,r,o);var f=e&&e===this.ownerID,h=f?u:S(u);return p?s?c===l-1?h.pop():h[c]=h.pop():h[c]=[r,o]:h.push([r,o]),f?(this.entries=h,this):new Ve(e,h)}},He.prototype.get=function(e,t,n,r){void 0===t&&(t=Ce(n));var o=1<<((0===e?t:t>>>e)&g),i=this.bitmap;return 0==(i&o)?r:this.nodes[st(i&o-1)].get(e+m,t,n,r)},He.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=Ce(r));var s=(0===t?n:n>>>t)&g,u=1<<s,c=this.bitmap,l=0!=(c&u);if(!l&&o===y)return this;var p=st(c&u-1),f=this.nodes,h=l?f[p]:void 0,d=et(h,e,t+m,n,r,o,i,a);if(d===h)return this;if(!l&&d&&f.length>=lt)return function(e,t,n,r,o){for(var i=0,a=new Array(v),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[i++]:void 0;return a[r]=o,new We(e,i+1,a)}(e,f,c,s,d);if(l&&!d&&2===f.length&&tt(f[1^p]))return f[1^p];if(l&&d&&1===f.length&&tt(d))return d;var b=e&&e===this.ownerID,_=l?d?c:c^u:c|u,w=l?d?ut(f,p,d,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var o=new Array(r),i=0,a=0;a<r;a++)a===t&&(i=1),o[a]=e[a+i];return o}(f,p,b):function(e,t,n,r){var o=e.length+1;if(r&&t+1===o)return e[t]=n,e;for(var i=new Array(o),a=0,s=0;s<o;s++)s===t?(i[s]=n,a=-1):i[s]=e[s+a];return i}(f,p,d,b);return b?(this.bitmap=_,this.nodes=w,this):new He(e,_,w)},We.prototype.get=function(e,t,n,r){void 0===t&&(t=Ce(n));var o=(0===e?t:t>>>e)&g,i=this.nodes[o];return i?i.get(e+m,t,n,r):r},We.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=Ce(r));var s=(0===t?n:n>>>t)&g,u=o===y,c=this.nodes,l=c[s];if(u&&!l)return this;var p=et(l,e,t+m,n,r,o,i,a);if(p===l)return this;var f=this.count;if(l){if(!p&&--f<pt)return function(e,t,n,r){for(var o=0,i=0,a=new Array(n),s=0,u=1,c=t.length;s<c;s++,u<<=1){var l=t[s];void 0!==l&&s!==r&&(o|=u,a[i++]=l)}return new He(e,o,a)}(e,c,f,s)}else f++;var h=e&&e===this.ownerID,d=ut(c,s,p,h);return h?(this.count=f,this.nodes=d,this):new We(e,f,d)},Je.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i<a;i++)if(de(n,o[i][0]))return o[i][1];return r},Je.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=Ce(r));var s=o===y;if(n!==this.keyHash)return s?this:(x(a),x(i),nt(this,e,t,n,[r,o]));for(var u=this.entries,c=0,l=u.length;c<l&&!de(r,u[c][0]);c++);var p=c<l;if(p?u[c][1]===o:s)return this;if(x(a),(s||!p)&&x(i),s&&2===l)return new Ke(e,this.keyHash,u[1^c]);var f=e&&e===this.ownerID,h=f?u:S(u);return p?s?c===l-1?h.pop():h[c]=h.pop():h[c]=[r,o]:h.push([r,o]),f?(this.entries=h,this):new Je(e,this.keyHash,h)},Ke.prototype.get=function(e,t,n,r){return de(n,this.entry[0])?this.entry[1]:r},Ke.prototype.update=function(e,t,n,r,o,i,a){var s=o===y,u=de(r,this.entry[0]);return(u?o===this.entry[1]:s)?this:(x(a),s?void x(i):u?e&&e===this.ownerID?(this.entry[1]=o,this):new Ke(e,this.keyHash,[r,o]):(x(i),nt(this,e,t,Ce(r),[r,o])))},Ve.prototype.iterate=Je.prototype.iterate=function(e,t){for(var n=this.entries,r=0,o=n.length-1;r<=o;r++)if(!1===e(n[t?o-r:r]))return!1},He.prototype.iterate=We.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,o=n.length-1;r<=o;r++){var i=n[t?o-r:r];if(i&&!1===i.iterate(e,t))return!1}},Ke.prototype.iterate=function(e,t){return e(this.entry)},t(Ye,U),Ye.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,o=t.index++;if(r.entry){if(0===o)return $e(e,r.entry)}else if(r.entries){if(o<=(n=r.entries.length-1))return $e(e,r.entries[this._reverse?n-o:o])}else if(o<=(n=r.nodes.length-1)){var i=r.nodes[this._reverse?n-o:o];if(i){if(i.entry)return $e(e,i.entry);t=this._stack=Ge(i,t)}continue}t=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var ct=v/4,lt=v/2,pt=v/4;function ft(e){var t=xt();if(null==e)return t;if(ht(e))return e;var n=o(e),r=n.size;return 0===r?t:(Le(r),r>0&&r<v?wt(0,r,m,null,new vt(n.toArray())):t.withMutations(function(e){e.setSize(r),n.forEach(function(t,n){return e.set(n,t)})}))}function ht(e){return!(!e||!e[dt])}t(ft,we),ft.of=function(){return this(arguments)},ft.prototype.toString=function(){return this.__toString("List [","]")},ft.prototype.get=function(e,t){if((e=k(this,e))>=0&&e<this.size){var n=Ct(this,e+=this._origin);return n&&n.array[e&g]}return t},ft.prototype.set=function(e,t){return function(e,t,n){if((t=k(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations(function(e){t<0?kt(e,t).set(0,n):kt(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,o=e._root,i=w(_);return t>=At(e._capacity)?r=Et(r,e.__ownerID,0,t,n,i):o=Et(o,e.__ownerID,e._level,t,n,i),i.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):wt(e._origin,e._capacity,e._level,o,r):e}(this,e,t)},ft.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},ft.prototype.insert=function(e,t){return this.splice(e,0,t)},ft.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=m,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):xt()},ft.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){kt(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])})},ft.prototype.pop=function(){return kt(this,0,-1)},ft.prototype.unshift=function(){var e=arguments;return this.withMutations(function(t){kt(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])})},ft.prototype.shift=function(){return kt(this,1)},ft.prototype.merge=function(){return Ot(this,void 0,arguments)},ft.prototype.mergeWith=function(t){var n=e.call(arguments,1);return Ot(this,t,n)},ft.prototype.mergeDeep=function(){return Ot(this,ot,arguments)},ft.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return Ot(this,it(t),n)},ft.prototype.setSize=function(e){return kt(this,0,e)},ft.prototype.slice=function(e,t){var n=this.size;return A(e,t,n)?this:kt(this,T(e,n),j(t,n))},ft.prototype.__iterator=function(e,t){var n=0,r=_t(this,t);return new U(function(){var t=r();return t===bt?{value:void 0,done:!0}:q(e,n++,t)})},ft.prototype.__iterate=function(e,t){for(var n,r=0,o=_t(this,t);(n=o())!==bt&&!1!==e(n,r++,this););return r},ft.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?wt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},ft.isList=ht;var dt="@@__IMMUTABLE_LIST__@@",mt=ft.prototype;function vt(e,t){this.array=e,this.ownerID=t}mt[dt]=!0,mt.delete=mt.remove,mt.setIn=ze.setIn,mt.deleteIn=mt.removeIn=ze.removeIn,mt.update=ze.update,mt.updateIn=ze.updateIn,mt.mergeIn=ze.mergeIn,mt.mergeDeepIn=ze.mergeDeepIn,mt.withMutations=ze.withMutations,mt.asMutable=ze.asMutable,mt.asImmutable=ze.asImmutable,mt.wasAltered=ze.wasAltered,vt.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&g;if(r>=this.array.length)return new vt([],e);var o,i=0===r;if(t>0){var a=this.array[r];if((o=a&&a.removeBefore(e,t-m,n))===a&&i)return this}if(i&&!o)return this;var s=St(this,e);if(!i)for(var u=0;u<r;u++)s.array[u]=void 0;return o&&(s.array[r]=o),s},vt.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,o=n-1>>>t&g;if(o>=this.array.length)return this;if(t>0){var i=this.array[o];if((r=i&&i.removeAfter(e,t-m,n))===i&&o===this.array.length-1)return this}var a=St(this,e);return a.array.splice(o+1),r&&(a.array[o]=r),a};var gt,yt,bt={};function _t(e,t){var n=e._origin,r=e._capacity,o=At(r),i=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===o?i&&i.array:e&&e.array,u=a>n?0:n-a,c=r-a;return c>v&&(c=v),function(){if(u===c)return bt;var e=t?--c:u++;return s&&s[e]}}(e,u):function(e,o,i){var s,u=e&&e.array,c=i>n?0:n-i>>o,l=1+(r-i>>o);return l>v&&(l=v),function(){for(;;){if(s){var e=s();if(e!==bt)return e;s=null}if(c===l)return bt;var n=t?--l:c++;s=a(u&&u[n],o-m,i+(n<<o))}}}(e,s,u)}}function wt(e,t,n,r,o,i,a){var s=Object.create(mt);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=o,s.__ownerID=i,s.__hash=a,s.__altered=!1,s}function xt(){return gt||(gt=wt(0,0,m))}function Et(e,t,n,r,o,i){var a,s=r>>>n&g,u=e&&s<e.array.length;if(!u&&void 0===o)return e;if(n>0){var c=e&&e.array[s],l=Et(c,t,n-m,r,o,i);return l===c?e:((a=St(e,t)).array[s]=l,a)}return u&&e.array[s]===o?e:(x(i),a=St(e,t),void 0===o&&s===a.array.length-1?a.array.pop():a.array[s]=o,a)}function St(e,t){return t&&e&&t===e.ownerID?e:new vt(e?e.array.slice():[],t)}function Ct(e,t){if(t>=At(e._capacity))return e._tail;if(t<1<<e._level+m){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&g],r-=m;return n}}function kt(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new E,o=e._origin,i=e._capacity,a=o+t,s=void 0===n?i:n<0?i+n:o+n;if(a===o&&s===i)return e;if(a>=s)return e.clear();for(var u=e._level,c=e._root,l=0;a+l<0;)c=new vt(c&&c.array.length?[void 0,c]:[],r),l+=1<<(u+=m);l&&(a+=l,o+=l,s+=l,i+=l);for(var p=At(i),f=At(s);f>=1<<u+m;)c=new vt(c&&c.array.length?[c]:[],r),u+=m;var h=e._tail,d=f<p?Ct(e,s-1):f>p?new vt([],r):h;if(h&&f>p&&a<i&&h.array.length){for(var v=c=St(c,r),y=u;y>m;y-=m){var b=p>>>y&g;v=v.array[b]=St(v.array[b],r)}v.array[p>>>m&g]=h}if(s<i&&(d=d&&d.removeAfter(r,0,s)),a>=f)a-=f,s-=f,u=m,c=null,d=d&&d.removeBefore(r,0,a);else if(a>o||f<p){for(l=0;c;){var _=a>>>u&g;if(_!==f>>>u&g)break;_&&(l+=(1<<u)*_),u-=m,c=c.array[_]}c&&a>o&&(c=c.removeBefore(r,u,a-l)),c&&f<p&&(c=c.removeAfter(r,u,f-l)),l&&(a-=l,s-=l)}return e.__ownerID?(e.size=s-a,e._origin=a,e._capacity=s,e._level=u,e._root=c,e._tail=d,e.__hash=void 0,e.__altered=!0,e):wt(a,s,u,c,d)}function Ot(e,t,n){for(var r=[],i=0,s=0;s<n.length;s++){var u=n[s],c=o(u);c.size>i&&(i=c.size),a(u)||(c=c.map(function(e){return pe(e)})),r.push(c)}return i>e.size&&(e=e.setSize(i)),at(e,t,r)}function At(e){return e<v?0:e-1>>>m<<m}function Tt(e){return null==e?It():jt(e)?e:It().withMutations(function(t){var n=r(e);Le(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function jt(e){return qe(e)&&l(e)}function Pt(e,t,n,r){var o=Object.create(Tt.prototype);return o.size=e?e.size:0,o._map=e,o._list=t,o.__ownerID=n,o.__hash=r,o}function It(){return yt||(yt=Pt(Xe(),xt()))}function Mt(e,t,n){var r,o,i=e._map,a=e._list,s=i.get(t),u=void 0!==s;if(n===y){if(!u)return e;a.size>=v&&a.size>=2*i.size?(r=(o=a.filter(function(e,t){return void 0!==e&&s!==t})).toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=i.remove(t),o=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=i,o=a.set(s,[t,n])}else r=i.set(t,a.size),o=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):Pt(r,o)}function Nt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Rt(e){this._iter=e,this.size=e.size}function Dt(e){this._iter=e,this.size=e.size}function Lt(e){this._iter=e,this.size=e.size}function Ut(e){var t=en(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=tn,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===N){var r=e.__iterator(t,n);return new U(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===M?I:M,n)},t}function qt(e,t,n){var r=en(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var i=e.get(r,y);return i===y?o:t.call(n,i,r,e)},r.__iterateUncached=function(r,o){var i=this;return e.__iterate(function(e,o,a){return!1!==r(t.call(n,e,o,a),o,i)},o)},r.__iteratorUncached=function(r,o){var i=e.__iterator(N,o);return new U(function(){var o=i.next();if(o.done)return o;var a=o.value,s=a[0];return q(r,s,t.call(n,a[1],s,e),o)})},r}function Ft(e,t){var n=en(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Ut(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=tn,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function Bt(e,t,n,r){var o=en(e);return r&&(o.has=function(r){var o=e.get(r,y);return o!==y&&!!t.call(n,o,r,e)},o.get=function(r,o){var i=e.get(r,y);return i!==y&&t.call(n,i,r,e)?i:o}),o.__iterateUncached=function(o,i){var a=this,s=0;return e.__iterate(function(e,i,u){if(t.call(n,e,i,u))return s++,o(e,r?i:s-1,a)},i),s},o.__iteratorUncached=function(o,i){var a=e.__iterator(N,i),s=0;return new U(function(){for(;;){var i=a.next();if(i.done)return i;var u=i.value,c=u[0],l=u[1];if(t.call(n,l,c,e))return q(o,r?c:s++,l,i)}})},o}function zt(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=o:n|=0),A(t,n,o))return e;var i=T(t,o),a=j(n,o);if(i!=i||a!=a)return zt(e.toSeq().cacheResult(),t,n,r);var s,u=a-i;u==u&&(s=u<0?0:u);var c=en(e);return c.size=0===s?s:e.size&&s||void 0,!r&&oe(e)&&s>=0&&(c.get=function(t,n){return(t=k(this,t))>=0&&t<s?e.get(t+i,n):n}),c.__iterateUncached=function(t,n){var o=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,u=!0,c=0;return e.__iterate(function(e,n){if(!u||!(u=a++<i))return c++,!1!==t(e,r?n:c-1,o)&&c!==s}),c},c.__iteratorUncached=function(t,n){if(0!==s&&n)return this.cacheResult().__iterator(t,n);var o=0!==s&&e.__iterator(t,n),a=0,u=0;return new U(function(){for(;a++<i;)o.next();if(++u>s)return{value:void 0,done:!0};var e=o.next();return r||t===M?e:q(t,u-1,t===I?void 0:e.value[1],e)})},c}function Vt(e,t,n,r){var o=en(e);return o.__iterateUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterate(o,i);var s=!0,u=0;return e.__iterate(function(e,i,c){if(!s||!(s=t.call(n,e,i,c)))return u++,o(e,r?i:u-1,a)}),u},o.__iteratorUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterator(o,i);var s=e.__iterator(N,i),u=!0,c=0;return new U(function(){var e,i,l;do{if((e=s.next()).done)return r||o===M?e:q(o,c++,o===I?void 0:e.value[1],e);var p=e.value;i=p[0],l=p[1],u&&(u=t.call(n,l,i,a))}while(u);return o===N?e:q(o,i,l,e)})},o}function Ht(e,t){var n=s(e),o=[e].concat(t).map(function(e){return a(e)?n&&(e=r(e)):e=n?ae(e):se(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===o.length)return e;if(1===o.length){var i=o[0];if(i===e||n&&s(i)||u(e)&&u(i))return i}var c=new ee(o);return n?c=c.toKeyedSeq():u(e)||(c=c.toSetSeq()),(c=c.flatten(!0)).size=o.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),c}function Wt(e,t,n){var r=en(e);return r.__iterateUncached=function(r,o){var i=0,s=!1;return function e(u,c){var l=this;u.__iterate(function(o,u){return(!t||c<t)&&a(o)?e(o,c+1):!1===r(o,n?u:i++,l)&&(s=!0),!s},o)}(e,0),i},r.__iteratorUncached=function(r,o){var i=e.__iterator(r,o),s=[],u=0;return new U(function(){for(;i;){var e=i.next();if(!1===e.done){var c=e.value;if(r===N&&(c=c[1]),t&&!(s.length<t)||!a(c))return n?e:q(r,u++,c,e);s.push(i),i=c.__iterator(r,o)}else i=s.pop()}return{value:void 0,done:!0}})},r}function Jt(e,t,n){t||(t=nn);var r=s(e),o=0,i=e.toSeq().map(function(t,r){return[r,t,o++,n?n(t,r,e):t]}).toArray();return i.sort(function(e,n){return t(e[3],n[3])||e[2]-n[2]}).forEach(r?function(e,t){i[t].length=2}:function(e,t){i[t]=e[1]}),r?K(i):u(e)?Y(i):$(i)}function Kt(e,t,n){if(t||(t=nn),n){var r=e.toSeq().map(function(t,r){return[t,n(t,r,e)]}).reduce(function(e,n){return Yt(t,e[1],n[1])?n:e});return r&&r[0]}return e.reduce(function(e,n){return Yt(t,e,n)?n:e})}function Yt(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(null==n||n!=n)||r>0}function $t(e,t,r){var o=en(e);return o.size=new ee(r).map(function(e){return e.size}).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(M,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var i=r.map(function(e){return e=n(e),V(o?e.reverse():e)}),a=0,s=!1;return new U(function(){var n;return s||(n=i.map(function(e){return e.next()}),s=n.some(function(e){return e.done})),s?{value:void 0,done:!0}:q(e,a++,t.apply(null,n.map(function(e){return e.value})))})},o}function Gt(e,t){return oe(e)?t:e.constructor(t)}function Zt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Xt(e){return Le(e.size),C(e)}function Qt(e){return s(e)?r:u(e)?o:i}function en(e){return Object.create((s(e)?K:u(e)?Y:$).prototype)}function tn(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):J.prototype.cacheResult.call(this)}function nn(e,t){return e>t?1:e<t?-1:0}function rn(e){var t=V(e);if(!t){if(!W(e))throw new TypeError("Expected iterable or array-like: "+e);t=V(n(e))}return t}function on(e,t){var n,r=function(i){if(i instanceof r)return i;if(!(this instanceof r))return new r(i);if(!n){n=!0;var a=Object.keys(e);!function(e,t){try{t.forEach(function(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){ge(this.__ownerID,"Cannot set on an immutable record."),this.set(t,e)}})}.bind(void 0,e))}catch(e){}}(o,a),o.size=a.length,o._name=t,o._keys=a,o._defaultValues=e}this._map=Ue(i)},o=r.prototype=Object.create(an);return o.constructor=r,r}t(Tt,Ue),Tt.of=function(){return this(arguments)},Tt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Tt.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Tt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):It()},Tt.prototype.set=function(e,t){return Mt(this,e,t)},Tt.prototype.remove=function(e){return Mt(this,e,y)},Tt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Tt.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Tt.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Tt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?Pt(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Tt.isOrderedMap=jt,Tt.prototype[d]=!0,Tt.prototype.delete=Tt.prototype.remove,t(Nt,K),Nt.prototype.get=function(e,t){return this._iter.get(e,t)},Nt.prototype.has=function(e){return this._iter.has(e)},Nt.prototype.valueSeq=function(){return this._iter.valueSeq()},Nt.prototype.reverse=function(){var e=this,t=Ft(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},Nt.prototype.map=function(e,t){var n=this,r=qt(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},Nt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Xt(this):0,function(o){return e(o,t?--n:n++,r)}),t)},Nt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(M,t),r=t?Xt(this):0;return new U(function(){var o=n.next();return o.done?o:q(e,t?--r:r++,o.value,o)})},Nt.prototype[d]=!0,t(Rt,Y),Rt.prototype.includes=function(e){return this._iter.includes(e)},Rt.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},Rt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(M,t),r=0;return new U(function(){var t=n.next();return t.done?t:q(e,r++,t.value,t)})},t(Dt,$),Dt.prototype.has=function(e){return this._iter.includes(e)},Dt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},Dt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(M,t);return new U(function(){var t=n.next();return t.done?t:q(e,t.value,t.value,t)})},t(Lt,K),Lt.prototype.entrySeq=function(){return this._iter.toSeq()},Lt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){Zt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},Lt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(M,t);return new U(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){Zt(r);var o=a(r);return q(e,o?r.get(0):r[0],o?r.get(1):r[1],t)}}})},Rt.prototype.cacheResult=Nt.prototype.cacheResult=Dt.prototype.cacheResult=Lt.prototype.cacheResult=tn,t(on,_e),on.prototype.toString=function(){return this.__toString(un(this)+" {","}")},on.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},on.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},on.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=sn(this,Xe()))},on.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+un(this));if(this._map&&!this._map.has(e)&&t===this._defaultValues[e])return this;var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:sn(this,n)},on.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:sn(this,t)},on.prototype.wasAltered=function(){return this._map.wasAltered()},on.prototype.__iterator=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterator(e,t)},on.prototype.__iterate=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterate(e,t)},on.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?sn(this,t,e):(this.__ownerID=e,this._map=t,this)};var an=on.prototype;function sn(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function un(e){return e._name||e.constructor.name||"Record"}function cn(e){return null==e?vn():ln(e)&&!l(e)?e:vn().withMutations(function(t){var n=i(e);Le(n.size),n.forEach(function(e){return t.add(e)})})}function ln(e){return!(!e||!e[fn])}an.delete=an.remove,an.deleteIn=an.removeIn=ze.removeIn,an.merge=ze.merge,an.mergeWith=ze.mergeWith,an.mergeIn=ze.mergeIn,an.mergeDeep=ze.mergeDeep,an.mergeDeepWith=ze.mergeDeepWith,an.mergeDeepIn=ze.mergeDeepIn,an.setIn=ze.setIn,an.update=ze.update,an.updateIn=ze.updateIn,an.withMutations=ze.withMutations,an.asMutable=ze.asMutable,an.asImmutable=ze.asImmutable,t(cn,xe),cn.of=function(){return this(arguments)},cn.fromKeys=function(e){return this(r(e).keySeq())},cn.prototype.toString=function(){return this.__toString("Set {","}")},cn.prototype.has=function(e){return this._map.has(e)},cn.prototype.add=function(e){return dn(this,this._map.set(e,!0))},cn.prototype.remove=function(e){return dn(this,this._map.remove(e))},cn.prototype.clear=function(){return dn(this,this._map.clear())},cn.prototype.union=function(){var t=e.call(arguments,0);return 0===(t=t.filter(function(e){return 0!==e.size})).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n<t.length;n++)i(t[n]).forEach(function(t){return e.add(t)})}):this.constructor(t[0])},cn.prototype.intersect=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return i(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.every(function(e){return e.includes(n)})||e.remove(n)})})},cn.prototype.subtract=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return i(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.some(function(e){return e.includes(n)})&&e.remove(n)})})},cn.prototype.merge=function(){return this.union.apply(this,arguments)},cn.prototype.mergeWith=function(t){var n=e.call(arguments,1);return this.union.apply(this,n)},cn.prototype.sort=function(e){return gn(Jt(this,e))},cn.prototype.sortBy=function(e,t){return gn(Jt(this,t,e))},cn.prototype.wasAltered=function(){return this._map.wasAltered()},cn.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate(function(t,r){return e(r,r,n)},t)},cn.prototype.__iterator=function(e,t){return this._map.map(function(e,t){return t}).__iterator(e,t)},cn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},cn.isSet=ln;var pn,fn="@@__IMMUTABLE_SET__@@",hn=cn.prototype;function dn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function mn(e,t){var n=Object.create(hn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function vn(){return pn||(pn=mn(Xe()))}function gn(e){return null==e?xn():yn(e)?e:xn().withMutations(function(t){var n=i(e);Le(n.size),n.forEach(function(e){return t.add(e)})})}function yn(e){return ln(e)&&l(e)}hn[fn]=!0,hn.delete=hn.remove,hn.mergeDeep=hn.merge,hn.mergeDeepWith=hn.mergeWith,hn.withMutations=ze.withMutations,hn.asMutable=ze.asMutable,hn.asImmutable=ze.asImmutable,hn.__empty=vn,hn.__make=mn,t(gn,cn),gn.of=function(){return this(arguments)},gn.fromKeys=function(e){return this(r(e).keySeq())},gn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},gn.isOrderedSet=yn;var bn,_n=gn.prototype;function wn(e,t){var n=Object.create(_n);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function xn(){return bn||(bn=wn(It()))}function En(e){return null==e?Tn():Sn(e)?e:Tn().unshiftAll(e)}function Sn(e){return!(!e||!e[kn])}_n[d]=!0,_n.__empty=xn,_n.__make=wn,t(En,we),En.of=function(){return this(arguments)},En.prototype.toString=function(){return this.__toString("Stack [","]")},En.prototype.get=function(e,t){var n=this._head;for(e=k(this,e);n&&e--;)n=n.next;return n?n.value:t},En.prototype.peek=function(){return this._head&&this._head.value},En.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):An(e,t)},En.prototype.pushAll=function(e){if(0===(e=o(e)).size)return this;Le(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):An(t,n)},En.prototype.pop=function(){return this.slice(1)},En.prototype.unshift=function(){return this.push.apply(this,arguments)},En.prototype.unshiftAll=function(e){return this.pushAll(e)},En.prototype.shift=function(){return this.pop.apply(this,arguments)},En.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Tn()},En.prototype.slice=function(e,t){if(A(e,t,this.size))return this;var n=T(e,this.size);if(j(t,this.size)!==this.size)return we.prototype.slice.call(this,e,t);for(var r=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=r,this._head=o,this.__hash=void 0,this.__altered=!0,this):An(r,o)},En.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?An(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},En.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},En.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new U(function(){if(r){var t=r.value;return r=r.next,q(e,n++,t)}return{value:void 0,done:!0}})},En.isStack=Sn;var Cn,kn="@@__IMMUTABLE_STACK__@@",On=En.prototype;function An(e,t,n,r){var o=Object.create(On);return o.size=e,o._head=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Tn(){return Cn||(Cn=An(0))}function jn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}On[kn]=!0,On.withMutations=ze.withMutations,On.asMutable=ze.asMutable,On.asImmutable=ze.asImmutable,On.wasAltered=ze.wasAltered,n.Iterator=U,jn(n,{toArray:function(){Le(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new Rt(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new Nt(this,!0)},toMap:function(){return Ue(this.toKeyedSeq())},toObject:function(){Le(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Tt(this.toKeyedSeq())},toOrderedSet:function(){return gn(s(this)?this.valueSeq():this)},toSet:function(){return cn(s(this)?this.valueSeq():this)},toSetSeq:function(){return new Dt(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return En(s(this)?this.valueSeq():this)},toList:function(){return ft(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){var t=e.call(arguments,0);return Gt(this,Ht(this,t))},includes:function(e){return this.some(function(t){return de(t,e)})},entries:function(){return this.__iterator(N)},every:function(e,t){Le(this.size);var n=!0;return this.__iterate(function(r,o,i){if(!e.call(t,r,o,i))return n=!1,!1}),n},filter:function(e,t){return Gt(this,Bt(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Le(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Le(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!=r?r.toString():""}),t},keys:function(){return this.__iterator(I)},map:function(e,t){return Gt(this,qt(this,e,t))},reduce:function(e,t,n){var r,o;return Le(this.size),arguments.length<2?o=!0:r=t,this.__iterate(function(t,i,a){o?(o=!1,r=t):r=e.call(n,r,t,i,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Gt(this,Ft(this,!0))},slice:function(e,t){return Gt(this,zt(this,e,t,!0))},some:function(e,t){return!this.every(Rn(e),t)},sort:function(e){return Gt(this,Jt(this,e))},values:function(){return this.__iterator(M)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return C(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Ue().asMutable();return e.__iterate(function(o,i){r.update(t.call(n,o,i,e),0,function(e){return e+1})}),r.asImmutable()}(this,e,t)},equals:function(e){return me(this,e)},entrySeq:function(){var e=this;if(e._cache)return new ee(e._cache);var t=e.toSeq().map(Nn).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Rn(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,o,i){if(e.call(t,n,o,i))return r=[o,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(O)},flatMap:function(e,t){return Gt(this,function(e,t,n){var r=Qt(e);return e.toSeq().map(function(o,i){return r(t.call(n,o,i,e))}).flatten(!0)}(this,e,t))},flatten:function(e){return Gt(this,Wt(this,e,!0))},fromEntrySeq:function(){return new Lt(this)},get:function(e,t){return this.find(function(t,n){return de(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,o=rn(e);!(n=o.next()).done;){var i=n.value;if((r=r&&r.get?r.get(i,y):y)===y)return t}return r},groupBy:function(e,t){return function(e,t,n){var r=s(e),o=(l(e)?Tt():Ue()).asMutable();e.__iterate(function(i,a){o.update(t.call(n,i,a,e),function(e){return(e=e||[]).push(r?[a,i]:i),e})});var i=Qt(e);return o.map(function(t){return Gt(e,i(t))})}(this,e,t)},has:function(e){return this.get(e,y)!==y},hasIn:function(e){return this.getIn(e,y)!==y},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keyOf:function(e){return this.findKey(function(t){return de(t,e)})},keySeq:function(){return this.toSeq().map(Mn).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return Kt(this,e)},maxBy:function(e,t){return Kt(this,t,e)},min:function(e){return Kt(this,e?Dn(e):qn)},minBy:function(e,t){return Kt(this,t?Dn(t):qn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return Gt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return Gt(this,Vt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Rn(e),t)},sortBy:function(e,t){return Gt(this,Jt(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return Gt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return Gt(this,function(e,t,n){var r=en(e);return r.__iterateUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterate(r,o);var a=0;return e.__iterate(function(e,o,s){return t.call(n,e,o,s)&&++a&&r(e,o,i)}),a},r.__iteratorUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterator(r,o);var a=e.__iterator(N,o),s=!0;return new U(function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var o=e.value,u=o[0],c=o[1];return t.call(n,c,u,i)?r===N?e:q(r,u,c,e):(s=!1,{value:void 0,done:!0})})},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Rn(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=l(e),n=s(e),r=t?1:0;return function(e,t){return t=Ee(t,3432918353),t=Ee(t<<15|t>>>-15,461845907),t=Ee(t<<13|t>>>-13,5),t=Ee((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=Se((t=Ee(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+Fn(Ce(e),Ce(t))|0}:function(e,t){r=r+Fn(Ce(e),Ce(t))|0}:t?function(e){r=31*r+Ce(e)|0}:function(e){r=r+Ce(e)|0}),r)}(this))}});var Pn=n.prototype;Pn[p]=!0,Pn[L]=Pn.values,Pn.__toJS=Pn.toArray,Pn.__toStringMapper=Ln,Pn.inspect=Pn.toSource=function(){return this.toString()},Pn.chain=Pn.flatMap,Pn.contains=Pn.includes,jn(r,{flip:function(){return Gt(this,Ut(this))},mapEntries:function(e,t){var n=this,r=0;return Gt(this,this.toSeq().map(function(o,i){return e.call(t,[i,o],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Gt(this,this.toSeq().flip().map(function(r,o){return e.call(t,r,o,n)}).flip())}});var In=r.prototype;function Mn(e,t){return t}function Nn(e,t){return[t,e]}function Rn(e){return function(){return!e.apply(this,arguments)}}function Dn(e){return function(){return-e.apply(this,arguments)}}function Ln(e){return"string"==typeof e?JSON.stringify(e):String(e)}function Un(){return S(arguments)}function qn(e,t){return e<t?1:e>t?-1:0}function Fn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return In[f]=!0,In[L]=Pn.entries,In.__toJS=Pn.toObject,In.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+Ln(e)},jn(o,{toKeyedSeq:function(){return new Nt(this,!1)},filter:function(e,t){return Gt(this,Bt(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Gt(this,Ft(this,!1))},slice:function(e,t){return Gt(this,zt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=T(e,e<0?this.count():this.size);var r=this.slice(0,e);return Gt(this,1===n?r:r.concat(S(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return Gt(this,Wt(this,e,!1))},get:function(e,t){return(e=k(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=k(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Gt(this,function(e,t){var n=en(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var o=this,i=0;return e.__iterate(function(e,r){return(!i||!1!==n(t,i++,o))&&!1!==n(e,i++,o)},r),i},n.__iteratorUncached=function(n,r){var o,i=e.__iterator(M,r),a=0;return new U(function(){return(!o||a%2)&&(o=i.next()).done?o:a%2?q(n,a++,t):q(n,a++,o.value,o)})},n}(this,e))},interleave:function(){var e=[this].concat(S(arguments)),t=$t(this.toSeq(),Y.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Gt(this,n)},keySeq:function(){return ye(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(e,t){return Gt(this,Vt(this,e,t,!1))},zip:function(){var e=[this].concat(S(arguments));return Gt(this,$t(this,Un,e))},zipWith:function(e){var t=S(arguments);return t[0]=this,Gt(this,$t(this,e,t))}}),o.prototype[h]=!0,o.prototype[d]=!0,jn(i,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),i.prototype.has=Pn.includes,i.prototype.contains=i.prototype.includes,jn(K,r.prototype),jn(Y,o.prototype),jn($,i.prototype),jn(_e,r.prototype),jn(we,o.prototype),jn(xe,i.prototype),{Iterable:n,Seq:J,Collection:be,Map:Ue,OrderedMap:Tt,List:ft,Stack:En,Set:cn,OrderedSet:gn,Record:on,Range:ye,Repeat:ve,is:de,fromJS:pe}}()},function(e,t,n){var r=n(54);e.exports=function(e,t,n){return t in e?r(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";(function(e){n.d(t,"t",function(){return U}),n.d(t,"A",function(){return q}),n.d(t,"i",function(){return F}),n.d(t,"w",function(){return B}),n.d(t,"r",function(){return z}),n.d(t,"u",function(){return V}),n.d(t,"s",function(){return H}),n.d(t,"q",function(){return W}),n.d(t,"v",function(){return J}),n.d(t,"y",function(){return K}),n.d(t,"z",function(){return Y}),n.d(t,"J",function(){return $}),n.d(t,"f",function(){return G}),n.d(t,"n",function(){return Z}),n.d(t,"p",function(){return X}),n.d(t,"h",function(){return Q}),n.d(t,"E",function(){return ee}),n.d(t,"K",function(){return he}),n.d(t,"o",function(){return de}),n.d(t,"D",function(){return me}),n.d(t,"a",function(){return ve}),n.d(t,"H",function(){return ge}),n.d(t,"b",function(){return ye}),n.d(t,"G",function(){return be}),n.d(t,"F",function(){return _e}),n.d(t,"k",function(){return we}),n.d(t,"d",function(){return xe}),n.d(t,"g",function(){return Ee}),n.d(t,"m",function(){return Se}),n.d(t,"l",function(){return Ce}),n.d(t,"e",function(){return ke}),n.d(t,"I",function(){return Oe}),n.d(t,"x",function(){return Ae}),n.d(t,"B",function(){return Te}),n.d(t,"C",function(){return je}),n.d(t,"j",function(){return Pe}),n.d(t,"c",function(){return Ie});var r=n(28),o=n.n(r),i=(n(13),n(92),n(16)),a=n.n(i),s=n(17),u=n.n(s),c=n(14),l=n.n(c),p=n(26),f=n.n(p),h=n(1),d=n.n(h),m=n(471),v=n(472),g=n.n(v),y=n(270),b=n.n(y),_=n(271),w=n.n(_),x=n(272),E=n.n(x),S=(n(473),n(91)),C=n.n(S),k=n(120),O=n(18),A=n.n(O),T=n(475),j=n.n(T),P=n(122),I=n(476),M=n.n(I),N=n(477),R=n.n(N),D="default",L=function(e){return d.a.Iterable.isIterable(e)};function U(e){try{var t=JSON.parse(e);if(t&&"object"===f()(t))return t}catch(e){}return!1}function q(e){return V(e)?L(e)?e.toJS():e:{}}function F(e){return L(e)?e:e instanceof A.a.File?e:V(e)?l()(e)?d.a.Seq(e).map(F).toList():d.a.OrderedMap(e).map(F):e}function B(e){return l()(e)?e:[e]}function z(e){return"function"==typeof e}function V(e){return!!e&&"object"===f()(e)}function H(e){return"function"==typeof e}function W(e){return l()(e)}var J=w.a;function K(e,t){return u()(e).reduce(function(n,r){return n[r]=t(e[r],r),n},{})}function Y(e,t){return u()(e).reduce(function(n,r){var o=t(e[r],r);return o&&"object"===f()(o)&&a()(n,o),n},{})}function $(e){return function(t){t.dispatch,t.getState;return function(t){return function(n){return"function"==typeof n?n(e()):t(n)}}}}function G(e){var t=e.keySeq();return t.contains(D)?D:t.filter(function(e){return"2"===(e+"")[0]}).sort().first()}function Z(e,t){if(!d.a.Iterable.isIterable(e))return d.a.List();var n=e.getIn(l()(t)?t:[t]);return d.a.List.isList(n)?n:d.a.List()}function X(e){var t=document;if(!e)return"";if(e.textContent.length>5e3)return e.textContent;return function(e){for(var n,r,o,i,a,s=e.textContent,u=0,c=s[0],l=1,p=e.innerHTML="",f=0;r=n,n=f<7&&"\\"==n?1:l;){if(l=c,c=s[++u],i=p.length>1,!l||f>8&&"\n"==l||[/\S/.test(l),1,1,!/[$\w]/.test(l),("/"==n||"\n"==n)&&i,'"'==n&&i,"'"==n&&i,s[u-4]+r+n=="--\x3e",r+n=="*/"][f])for(p&&(e.appendChild(a=t.createElement("span")).setAttribute("style",["color: #555; font-weight: bold;","","","color: #555;",""][f?f<3?2:f>6?4:f>3?3:+/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(p):0]),a.appendChild(t.createTextNode(p))),o=f&&f<7?f:o,p="",f=11;![1,/[\/{}[(\-+*=<>:;|\\.,?!&@~]/.test(l),/[\])]/.test(l),/[$\w]/.test(l),"/"==l&&o<2&&"<"!=n,'"'==l,"'"==l,l+c+s[u+1]+s[u+2]=="\x3c!--",l+c=="/*",l+c=="//","#"==l][--f];);p+=l}}(e)}function Q(e){var t;if([/filename\*=[^']+'\w*'"([^"]+)";?/i,/filename\*=[^']+'\w*'([^;]+);?/i,/filename="([^;]*);?"/i,/filename=([^;]*);?/i].some(function(n){return null!==(t=n.exec(e))}),null!==t&&t.length>1)try{return decodeURIComponent(t[1])}catch(e){console.error(e)}return null}function ee(e){return t=e.replace(/\.[^.\/]*$/,""),b()(g()(t));var t}var te=function(e,t){if(e>t)return"Value must be less than Maximum"},ne=function(e,t){if(e<t)return"Value must be greater than Minimum"},re=function(e){if(!/^-?\d+(\.?\d+)?$/.test(e))return"Value must be a number"},oe=function(e){if(!/^-?\d+$/.test(e))return"Value must be an integer"},ie=function(e){if(e&&!(e instanceof A.a.File))return"Value must be a file"},ae=function(e){if("true"!==e&&"false"!==e&&!0!==e&&!1!==e)return"Value must be a boolean"},se=function(e){if(e&&"string"!=typeof e)return"Value must be a string"},ue=function(e){if(isNaN(Date.parse(e)))return"Value must be a DateTime"},ce=function(e){if(e=e.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(e))return"Value must be a Guid"},le=function(e,t){if(e.length>t)return"Value must be less than MaxLength"},pe=function(e,t){if(e.length<t)return"Value must be greater than MinLength"},fe=function(e,t){if(!new RegExp(t).test(e))return"Value must follow pattern "+t},he=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.isOAS3,o=void 0!==r&&r,i=n.bypassRequiredCheck,a=void 0!==i&&i,s=[],u=e.get("required"),c=Object(P.a)(e,{isOAS3:o}),p=c.schema,h=c.parameterContentMediaType;if(!p)return s;var m=p.get("required"),v=p.get("maximum"),g=p.get("minimum"),y=p.get("type"),b=p.get("format"),_=p.get("maxLength"),w=p.get("minLength"),x=p.get("pattern");if(y&&(u||m||t)){var E="string"===y&&t,S="array"===y&&l()(t)&&t.length,C="array"===y&&d.a.List.isList(t)&&t.count(),k="array"===y&&"string"==typeof t&&t,O="file"===y&&t instanceof A.a.File,T="boolean"===y&&(t||!1===t),j="number"===y&&(t||0===t),I="integer"===y&&(t||0===t),M="object"===y&&"object"===f()(t)&&null!==t,N="object"===y&&"string"==typeof t&&t,R=[E,S,C,k,O,T,j,I,M,N],D=R.some(function(e){return!!e});if((u||m)&&!D&&!a)return s.push("Required field is not provided"),s;if("object"===y&&"string"==typeof t&&(null===h||"application/json"===h))try{JSON.parse(t)}catch(e){return s.push("Parameter string value must be valid JSON"),s}if(x){var L=fe(t,x);L&&s.push(L)}if(_||0===_){var U=le(t,_);U&&s.push(U)}if(w){var q=pe(t,w);q&&s.push(q)}if(v||0===v){var F=te(t,v);F&&s.push(F)}if(g||0===g){var B=ne(t,g);B&&s.push(B)}if("string"===y){var z;if(!(z="date-time"===b?ue(t):"uuid"===b?ce(t):se(t)))return s;s.push(z)}else if("boolean"===y){var V=ae(t);if(!V)return s;s.push(V)}else if("number"===y){var H=re(t);if(!H)return s;s.push(H)}else if("integer"===y){var W=oe(t);if(!W)return s;s.push(W)}else if("array"===y){var J;if(!C||!t.count())return s;J=p.getIn(["items","type"]),t.forEach(function(e,t){var n;"number"===J?n=re(e):"integer"===J?n=oe(e):"string"===J&&(n=se(e)),n&&s.push({index:t,error:n})})}else if("file"===y){var K=ie(t);if(!K)return s;s.push(K)}}return s},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/xml/.test(t)){if(!e.xml||!e.xml.name){if(e.xml=e.xml||{},!e.$$ref)return e.type||e.items||e.properties||e.additionalProperties?'<?xml version="1.0" encoding="UTF-8"?>\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e':null;var r=e.$$ref.match(/\S*\/(\S+)$/);e.xml.name=r[1]}return Object(k.memoizedCreateXMLExample)(e,n)}var i=Object(k.memoizedSampleFromSchema)(e,n);return"object"===f()(i)?o()(i,null,2):i},me=function(){var e={},t=A.a.location.search;if(!t)return{};if(""!=t){var n=t.substr(1).split("&");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split("="),e[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||"")}return e},ve=function(t){return(t instanceof e?t:new e(t.toString(),"utf-8")).toString("base64")},ge={operationsSorter:{alpha:function(e,t){return e.get("path").localeCompare(t.get("path"))},method:function(e,t){return e.get("method").localeCompare(t.get("method"))}},tagsSorter:{alpha:function(e,t){return e.localeCompare(t)}}},ye=function(e){var t=[];for(var n in e){var r=e[n];void 0!==r&&""!==r&&t.push([n,"=",encodeURIComponent(r).replace(/%20/g,"+")].join(""))}return t.join("&")},be=function(e,t,n){return!!E()(n,function(n){return C()(e[n],t[n])})};function _e(e){return"string"!=typeof e||""===e?"":Object(m.sanitizeUrl)(e)}function we(e){if(!d.a.OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;var t=e.find(function(e,t){return t.startsWith("2")&&u()(e.get("content")||{}).length>0}),n=e.get("default")||d.a.OrderedMap(),r=(n.get("content")||d.a.OrderedMap()).keySeq().toJS().length?n:null;return t||r}var xe=function(e){return"string"==typeof e||e instanceof String?e.trim().replace(/\s/g,"%20"):""},Ee=function(e){return j()(xe(e).replace(/%20/g,"_"))},Se=function(e){return e.filter(function(e,t){return/^x-/.test(t)})},Ce=function(e){return e.filter(function(e,t){return/^pattern|maxLength|minLength|maximum|minimum/.test(t)})};function ke(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0};if("object"!==f()(e)||l()(e)||null===e||!t)return e;var r=a()({},e);return u()(r).forEach(function(e){e===t&&n(r[e],e)?delete r[e]:r[e]=ke(r[e],t,n)}),r}function Oe(e){if("string"==typeof e)return e;if(e&&e.toJS&&(e=e.toJS()),"object"===f()(e)&&null!==e)try{return o()(e,null,2)}catch(t){return String(e)}return null==e?"":e.toString()}function Ae(e){return"number"==typeof e?e.toString():e}function Te(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.returnAll,r=void 0!==n&&n,o=t.allowHashes,i=void 0===o||o;if(!d.a.Map.isMap(e))throw new Error("paramToIdentifier: received a non-Im.Map parameter as input");var a=e.get("name"),s=e.get("in"),u=[];return e&&e.hashCode&&s&&a&&i&&u.push("".concat(s,".").concat(a,".hash-").concat(e.hashCode())),s&&a&&u.push("".concat(s,".").concat(a)),u.push(a),r?u:u[0]||""}function je(e,t){return Te(e,{returnAll:!0}).map(function(e){return t[e]}).filter(function(e){return void 0!==e})[0]}function Pe(){return Me(M()(32).toString("base64"))}function Ie(e){return Me(R()("sha256").update(e).digest("base64"))}function Me(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}).call(this,n(64).Buffer)},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){var r=n(54);function o(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),r(e,o.key,o)}}e.exports=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}},function(e,t,n){var r=n(26),o=n(9);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?o(e):t}},function(e,t,n){var r=n(806),o=n(420);function i(t){return e.exports=i=o?r:function(e){return e.__proto__||r(e)},i(t)}e.exports=i},function(e,t,n){var r=n(421),o=n(814);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=r(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){e.exports=n(892)()},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){return e===t}function i(e){var t=arguments.length<=1||void 0===arguments[1]?o:arguments[1],n=null,r=null;return function(){for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];return null!==n&&n.length===i.length&&i.every(function(e,r){return t(e,n[r])})||(r=e.apply(void 0,i)),n=i,r}}function a(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every(function(e){return"function"==typeof e})){var n=t.map(function(e){return typeof e}).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+n+"]")}return t}function s(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return function(){for(var t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];var s=0,u=o.pop(),c=a(o),l=e.apply(void 0,[function(){return s++,u.apply(void 0,arguments)}].concat(n)),p=function(e,t){for(var n=arguments.length,o=Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];var a=c.map(function(n){return n.apply(void 0,[e,t].concat(o))});return l.apply(void 0,r(a))};return p.resultFunc=u,p.recomputations=function(){return s},p.resetRecomputations=function(){return s=0},p}}t.__esModule=!0,t.defaultMemoize=i,t.createSelectorCreator=s,t.createStructuredSelector=function(e){var t=arguments.length<=1||void 0===arguments[1]?u:arguments[1];if("object"!=typeof e)throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);var n=Object.keys(e);return t(n.map(function(t){return e[t]}),function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t,r){return e[n[r]]=t,e},{})})};var u=t.createSelector=s(i)},function(e,t,n){var r=n(754),o=n(755),i=n(762);e.exports=function(e){return r(e)||o(e)||i()}},function(e,t,n){var r=n(597),o=n(598),i=n(601);e.exports=function(e,t){return r(e)||o(e,t)||i()}},function(e,t,n){e.exports=n(571)},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,u){if(r(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,o,i,a,s,u],p=0;(c=new Error(t.replace(/%s/g,function(){return l[p++]}))).name="Invariant Violation"}throw c.framesToPop=1,c}}},function(e,t,n){e.exports=n(575)},function(e,t,n){e.exports=n(553)},function(e,t){e.exports=function(){var e={location:{},history:{},open:function(){},close:function(){},File:function(){}};if("undefined"==typeof window)return e;try{e=window;for(var t=0,n=["File","Blob","FormData"];t<n.length;t++){var r=n[t];r in window&&(e[r]=window[r])}}catch(e){console.error(e)}return e}()},function(e,t,n){"use strict";var r=n(1),o="<<anonymous>>",i={listOf:function(e){return c(e,"List",r.List.isList)},mapOf:function(e,t){return l(e,t,"Map",r.Map.isMap)},orderedMapOf:function(e,t){return l(e,t,"OrderedMap",r.OrderedMap.isOrderedMap)},setOf:function(e){return c(e,"Set",r.Set.isSet)},orderedSetOf:function(e){return c(e,"OrderedSet",r.OrderedSet.isOrderedSet)},stackOf:function(e){return c(e,"Stack",r.Stack.isStack)},iterableOf:function(e){return c(e,"Iterable",r.Iterable.isIterable)},recordOf:function(e){return s(function(t,n,o,i,s){for(var u=arguments.length,c=Array(u>5?u-5:0),l=5;l<u;l++)c[l-5]=arguments[l];var p=t[n];if(!(p instanceof r.Record)){var f=a(p);return new Error("Invalid "+i+" `"+s+"` of type `"+f+"` supplied to `"+o+"`, expected an Immutable.js Record.")}for(var h in e){var d=e[h];if(d){var m=p.toObject(),v=d.apply(void 0,[m,h,o,i,s+"."+h].concat(c));if(v)return v}}})},shape:f,contains:f,mapContains:function(e){return p(e,"Map",r.Map.isMap)},list:u("List",r.List.isList),map:u("Map",r.Map.isMap),orderedMap:u("OrderedMap",r.OrderedMap.isOrderedMap),set:u("Set",r.Set.isSet),orderedSet:u("OrderedSet",r.OrderedSet.isOrderedSet),stack:u("Stack",r.Stack.isStack),seq:u("Seq",r.Seq.isSeq),record:u("Record",function(e){return e instanceof r.Record}),iterable:u("Iterable",r.Iterable.isIterable)};function a(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":e instanceof r.Iterable?"Immutable."+e.toSource().split(" ")[0]:t}function s(e){function t(t,n,r,i,a,s){for(var u=arguments.length,c=Array(u>6?u-6:0),l=6;l<u;l++)c[l-6]=arguments[l];return s=s||r,i=i||o,null!=n[r]?e.apply(void 0,[n,r,i,a,s].concat(c)):t?new Error("Required "+a+" `"+s+"` was not specified in `"+i+"`."):void 0}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function u(e,t){return s(function(n,r,o,i,s){var u=n[r];if(!t(u)){var c=a(u);return new Error("Invalid "+i+" `"+s+"` of type `"+c+"` supplied to `"+o+"`, expected `"+e+"`.")}return null})}function c(e,t,n){return s(function(r,o,i,s,u){for(var c=arguments.length,l=Array(c>5?c-5:0),p=5;p<c;p++)l[p-5]=arguments[p];var f=r[o];if(!n(f)){var h=s,d=a(f);return new Error("Invalid "+h+" `"+u+"` of type `"+d+"` supplied to `"+i+"`, expected an Immutable.js "+t+".")}if("function"!=typeof e)return new Error("Invalid typeChecker supplied to `"+i+"` for propType `"+u+"`, expected a function.");for(var m=f.toArray(),v=0,g=m.length;v<g;v++){var y=e.apply(void 0,[m,v,i,s,u+"["+v+"]"].concat(l));if(y instanceof Error)return y}})}function l(e,t,n,r){return s(function(){for(var o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];return c(e,n,r).apply(void 0,i)||t&&(u=t,s(function(e,t,n,r,o){for(var i=arguments.length,a=Array(i>5?i-5:0),s=5;s<i;s++)a[s-5]=arguments[s];var c=e[t];if("function"!=typeof u)return new Error("Invalid keysTypeChecker (optional second argument) supplied to `"+n+"` for propType `"+o+"`, expected a function.");for(var l=c.keySeq().toArray(),p=0,f=l.length;p<f;p++){var h=u.apply(void 0,[l,p,n,r,o+" -> key("+l[p]+")"].concat(a));if(h instanceof Error)return h}})).apply(void 0,i);var u})}function p(e){var t=void 0===arguments[1]?"Iterable":arguments[1],n=void 0===arguments[2]?r.Iterable.isIterable:arguments[2];return s(function(r,o,i,s,u){for(var c=arguments.length,l=Array(c>5?c-5:0),p=5;p<c;p++)l[p-5]=arguments[p];var f=r[o];if(!n(f)){var h=a(f);return new Error("Invalid "+s+" `"+u+"` of type `"+h+"` supplied to `"+i+"`, expected an Immutable.js "+t+".")}var d=f.toObject();for(var m in e){var v=e[m];if(v){var g=v.apply(void 0,[d,m,i,s,u+"."+m].concat(l));if(g)return g}}})}function f(e){return p(e)}e.exports=i},function(e,t,n){var r=n(16);function o(){return e.exports=o=r||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}e.exports=o},function(e,t,n){"use strict";e.exports=function(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}},function(e,t){var n=e.exports={version:"2.6.5"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";var r=n(57);e.exports=r},function(e,t,n){"use strict";n.r(t),n.d(t,"isOAS3",function(){return s}),n.d(t,"isSwagger2",function(){return u}),n.d(t,"OAS3ComponentWrapFactory",function(){return c});var r=n(20),o=n.n(r),i=n(0),a=n.n(i);function s(e){var t=e.get("openapi");return"string"==typeof t&&(t.startsWith("3.0.")&&t.length>4)}function u(e){var t=e.get("swagger");return"string"==typeof t&&t.startsWith("2.0")}function c(e){return function(t,n){return function(r){return n&&n.specSelectors&&n.specSelectors.specJson?s(n.specSelectors.specJson())?a.a.createElement(e,o()({},r,n,{Ori:t})):a.a.createElement(t,r):(console.warn("OAS3 wrapper: couldn't get spec"),null)}}}},function(e,t,n){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=a(e),c=1;c<arguments.length;c++){for(var l in n=Object(arguments[c]))o.call(n,l)&&(u[l]=n[l]);if(r){s=r(n);for(var p=0;p<s.length;p++)i.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){var r=n(557),o=n(563);function i(e){return(i="function"==typeof o&&"symbol"==typeof r?function(e){return typeof e}:function(e){return e&&"function"==typeof o&&e.constructor===o&&e!==o.prototype?"symbol":typeof e})(e)}function a(t){return"function"==typeof o&&"symbol"===i(r)?e.exports=a=function(e){return i(e)}:e.exports=a=function(e){return e&&"function"==typeof o&&e.constructor===o&&e!==o.prototype?"symbol":i(e)},a(t)}e.exports=a},function(e,t,n){"use strict";var r=n(21),o=n(115),i=n(422),a=(n(15),o.ID_ATTRIBUTE_NAME),s=i,u="__reactInternalInstance$"+Math.random().toString(36).slice(2);function c(e,t){return 1===e.nodeType&&e.getAttribute(a)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function l(e){for(var t;t=e._renderedComponent;)e=t;return e}function p(e,t){var n=l(e);n._hostNode=t,t[u]=n}function f(e,t){if(!(e._flags&s.hasCachedChildNodes)){var n=e._renderedChildren,o=t.firstChild;e:for(var i in n)if(n.hasOwnProperty(i)){var a=n[i],u=l(a)._domID;if(0!==u){for(;null!==o;o=o.nextSibling)if(c(o,u)){p(a,o);continue e}r("32",u)}}e._flags|=s.hasCachedChildNodes}}function h(e){if(e[u])return e[u];for(var t,n,r=[];!e[u];){if(r.push(e),!e.parentNode)return null;e=e.parentNode}for(;e&&(n=e[u]);e=r.pop())t=n,r.length&&f(n,e);return t}var d={getClosestInstanceFromNode:h,getInstanceFromNode:function(e){var t=h(e);return null!=t&&t._hostNode===e?t:null},getNodeFromInstance:function(e){if(void 0===e._hostNode&&r("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||r("34"),e=e._hostParent;for(;t.length;e=t.pop())f(e,e._hostNode);return e._hostNode},precacheChildNodes:f,precacheNode:p,uncacheNode:function(e){var t=e._hostNode;t&&(delete t[u],e._hostNode=null)}};e.exports=d},function(e,t,n){e.exports=n(552)},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_SPEC",function(){return $}),n.d(t,"UPDATE_URL",function(){return G}),n.d(t,"UPDATE_JSON",function(){return Z}),n.d(t,"UPDATE_PARAM",function(){return X}),n.d(t,"UPDATE_EMPTY_PARAM_INCLUSION",function(){return Q}),n.d(t,"VALIDATE_PARAMS",function(){return ee}),n.d(t,"SET_RESPONSE",function(){return te}),n.d(t,"SET_REQUEST",function(){return ne}),n.d(t,"SET_MUTATED_REQUEST",function(){return re}),n.d(t,"LOG_REQUEST",function(){return oe}),n.d(t,"CLEAR_RESPONSE",function(){return ie}),n.d(t,"CLEAR_REQUEST",function(){return ae}),n.d(t,"CLEAR_VALIDATE_PARAMS",function(){return se}),n.d(t,"UPDATE_OPERATION_META_VALUE",function(){return ue}),n.d(t,"UPDATE_RESOLVED",function(){return ce}),n.d(t,"UPDATE_RESOLVED_SUBTREE",function(){return le}),n.d(t,"SET_SCHEME",function(){return pe}),n.d(t,"updateSpec",function(){return he}),n.d(t,"updateResolved",function(){return de}),n.d(t,"updateUrl",function(){return me}),n.d(t,"updateJsonSpec",function(){return ve}),n.d(t,"parseToJson",function(){return ge}),n.d(t,"resolveSpec",function(){return be}),n.d(t,"requestResolvedSubtree",function(){return xe}),n.d(t,"changeParam",function(){return Ee}),n.d(t,"changeParamByIdentity",function(){return Se}),n.d(t,"updateResolvedSubtree",function(){return Ce}),n.d(t,"invalidateResolvedSubtreeCache",function(){return ke}),n.d(t,"validateParams",function(){return Oe}),n.d(t,"updateEmptyParamInclusion",function(){return Ae}),n.d(t,"clearValidateParams",function(){return Te}),n.d(t,"changeConsumesValue",function(){return je}),n.d(t,"changeProducesValue",function(){return Pe}),n.d(t,"setResponse",function(){return Ie}),n.d(t,"setRequest",function(){return Me}),n.d(t,"setMutatedRequest",function(){return Ne}),n.d(t,"logRequest",function(){return Re}),n.d(t,"executeRequest",function(){return De}),n.d(t,"execute",function(){return Le}),n.d(t,"clearResponse",function(){return Ue}),n.d(t,"clearRequest",function(){return qe}),n.d(t,"setScheme",function(){return Fe});var r=n(94),o=n.n(r),i=n(60),a=n.n(i),s=n(61),u=n.n(s),c=n(55),l=n.n(c),p=n(2),f=n.n(p),h=n(40),d=n.n(h),m=n(332),v=n.n(m),g=n(16),y=n.n(g),b=n(17),_=n.n(b),w=n(192),x=n.n(w),E=n(123),S=n.n(E),C=n(193),k=n.n(C),O=n(54),A=n.n(O),T=n(14),j=n.n(T),P=n(26),I=n.n(P),M=n(146),N=n.n(M),R=n(1),D=n(95),L=n.n(D),U=n(119),q=n.n(U),F=n(283),B=n.n(F),z=n(479),V=n.n(z),H=n(333),W=n.n(H),J=n(3);function K(e,t){var n=_()(e);if(l.a){var r=l()(e);t&&(r=r.filter(function(t){return u()(e,t).enumerable})),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(n,!0).forEach(function(t){f()(e,t,n[t])}):a.a?o()(e,a()(n)):K(n).forEach(function(t){A()(e,t,u()(n,t))})}return e}var $="spec_update_spec",G="spec_update_url",Z="spec_update_json",X="spec_update_param",Q="spec_update_empty_param_inclusion",ee="spec_validate_param",te="spec_set_response",ne="spec_set_request",re="spec_set_mutated_request",oe="spec_log_request",ie="spec_clear_response",ae="spec_clear_request",se="spec_clear_validate_param",ue="spec_update_operation_meta_value",ce="spec_update_resolved",le="spec_update_resolved_subtree",pe="set_scheme",fe=function(e){return B()(e)?e:""};function he(e){var t=fe(e).replace(/\t/g," ");if("string"==typeof e)return{type:$,payload:t}}function de(e){return{type:ce,payload:e}}function me(e){return{type:G,payload:e}}function ve(e){return{type:Z,payload:e}}var ge=function(e){return function(t){var n=t.specActions,r=t.specSelectors,o=t.errActions,i=r.specStr,a=null;try{e=e||i(),o.clear({source:"parser"}),a=N.a.safeLoad(e)}catch(e){return console.error(e),o.newSpecErr({source:"parser",level:"error",message:e.reason,line:e.mark&&e.mark.line?e.mark.line+1:void 0})}return a&&"object"===I()(a)?n.updateJsonSpec(a):{}}},ye=!1,be=function(e,t){return function(n){var r=n.specActions,o=n.specSelectors,i=n.errActions,a=n.fn,s=a.fetch,u=a.resolve,c=a.AST,l=void 0===c?{}:c,p=n.getConfigs;ye||(console.warn("specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!"),ye=!0);var f=p(),h=f.modelPropertyMacro,d=f.parameterMacro,m=f.requestInterceptor,v=f.responseInterceptor;void 0===e&&(e=o.specJson()),void 0===t&&(t=o.url());var g=l.getLineNumberForPath?l.getLineNumberForPath:function(){},y=o.specStr();return u({fetch:s,spec:e,baseDoc:t,modelPropertyMacro:h,parameterMacro:d,requestInterceptor:m,responseInterceptor:v}).then(function(e){var t=e.spec,n=e.errors;if(i.clear({type:"thrown"}),j()(n)&&n.length>0){var o=n.map(function(e){return console.error(e),e.line=e.fullPath?g(y,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",A()(e,"message",{enumerable:!0,value:e.message}),e});i.newThrownErrBatch(o)}return r.updateResolved(t)})}},_e=[],we=V()(k()(S.a.mark(function e(){var t,n,r,o,i,a,s,u,c,l,p,f,h,d,m,v,g;return S.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=_e.system){e.next=4;break}return console.error("debResolveSubtrees: don't have a system to operate on, aborting."),e.abrupt("return");case 4:if(n=t.errActions,r=t.errSelectors,o=t.fn,i=o.resolveSubtree,a=o.AST,s=void 0===a?{}:a,u=t.specSelectors,c=t.specActions,i){e.next=8;break}return console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing."),e.abrupt("return");case 8:return l=s.getLineNumberForPath?s.getLineNumberForPath:function(){},p=u.specStr(),f=t.getConfigs(),h=f.modelPropertyMacro,d=f.parameterMacro,m=f.requestInterceptor,v=f.responseInterceptor,e.prev=11,e.next=14,_e.reduce(function(){var e=k()(S.a.mark(function e(t,o){var a,s,c,f,g,y,b;return S.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t;case 2:return a=e.sent,s=a.resultMap,c=a.specWithCurrentSubtrees,e.next=7,i(c,o,{baseDoc:u.url(),modelPropertyMacro:h,parameterMacro:d,requestInterceptor:m,responseInterceptor:v});case 7:return f=e.sent,g=f.errors,y=f.spec,r.allErrors().size&&n.clearBy(function(e){return"thrown"!==e.get("type")||"resolver"!==e.get("source")||!e.get("fullPath").every(function(e,t){return e===o[t]||void 0===o[t]})}),j()(g)&&g.length>0&&(b=g.map(function(e){return e.line=e.fullPath?l(p,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",A()(e,"message",{enumerable:!0,value:e.message}),e}),n.newThrownErrBatch(b)),W()(s,o,y),W()(c,o,y),e.abrupt("return",{resultMap:s,specWithCurrentSubtrees:c});case 15:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.a.resolve({resultMap:(u.specResolvedSubtree([])||Object(R.Map)()).toJS(),specWithCurrentSubtrees:u.specJson().toJS()}));case 14:g=e.sent,delete _e.system,_e=[],e.next=22;break;case 19:e.prev=19,e.t0=e.catch(11),console.error(e.t0);case 22:c.updateResolvedSubtree([],g.resultMap);case 23:case"end":return e.stop()}},e,null,[[11,19]])})),35),xe=function(e){return function(t){_e.map(function(e){return e.join("@@")}).indexOf(e.join("@@"))>-1||(_e.push(e),_e.system=t,we())}};function Ee(e,t,n,r,o){return{type:X,payload:{path:e,value:r,paramName:t,paramIn:n,isXml:o}}}function Se(e,t,n,r){return{type:X,payload:{path:e,param:t,value:n,isXml:r}}}var Ce=function(e,t){return{type:le,payload:{path:e,value:t}}},ke=function(){return{type:le,payload:{path:[],value:Object(R.Map)()}}},Oe=function(e,t){return{type:ee,payload:{pathMethod:e,isOAS3:t}}},Ae=function(e,t,n,r){return{type:Q,payload:{pathMethod:e,paramName:t,paramIn:n,includeEmptyValue:r}}};function Te(e){return{type:se,payload:{pathMethod:e}}}function je(e,t){return{type:ue,payload:{path:e,value:t,key:"consumes_value"}}}function Pe(e,t){return{type:ue,payload:{path:e,value:t,key:"produces_value"}}}var Ie=function(e,t,n){return{payload:{path:e,method:t,res:n},type:te}},Me=function(e,t,n){return{payload:{path:e,method:t,req:n},type:ne}},Ne=function(e,t,n){return{payload:{path:e,method:t,req:n},type:re}},Re=function(e){return{payload:e,type:oe}},De=function(e){return function(t){var n=t.fn,r=t.specActions,o=t.specSelectors,i=t.getConfigs,a=t.oas3Selectors,s=e.pathName,u=e.method,c=e.operation,l=i(),p=l.requestInterceptor,f=l.responseInterceptor,h=c.toJS();if(c&&c.get("parameters")&&c.get("parameters").filter(function(e){return e&&!0===e.get("allowEmptyValue")}).forEach(function(t){if(o.parameterInclusionSettingFor([s,u],t.get("name"),t.get("in"))){e.parameters=e.parameters||{};var n=Object(J.C)(t,e.parameters);(!n||n&&0===n.size)&&(e.parameters[t.get("name")]="")}}),e.contextUrl=L()(o.url()).toString(),h&&h.operationId?e.operationId=h.operationId:h&&s&&u&&(e.operationId=n.opId(h,s,u)),o.isOAS3()){var d="".concat(s,":").concat(u);e.server=a.selectedServer(d)||a.selectedServer();var m=a.serverVariables({server:e.server,namespace:d}).toJS(),g=a.serverVariables({server:e.server}).toJS();e.serverVariables=_()(m).length?m:g,e.requestContentType=a.requestContentType(s,u),e.responseContentType=a.responseContentType(s,u)||"*/*";var b=a.requestBodyValue(s,u);Object(J.t)(b)?e.requestBody=JSON.parse(b):b&&b.toJS?e.requestBody=b.toJS():e.requestBody=b}var w=y()({},e);w=n.buildRequest(w),r.setRequest(e.pathName,e.method,w);e.requestInterceptor=function(t){var n=p.apply(this,[t]),o=y()({},n);return r.setMutatedRequest(e.pathName,e.method,o),n},e.responseInterceptor=f;var x=v()();return n.execute(e).then(function(t){t.duration=v()()-x,r.setResponse(e.pathName,e.method,t)}).catch(function(t){console.error(t),r.setResponse(e.pathName,e.method,{error:!0,err:q()(t)})})}},Le=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.path,n=e.method,r=d()(e,["path","method"]);return function(e){var o=e.fn.fetch,i=e.specSelectors,a=e.specActions,s=i.specJsonWithResolvedSubtrees().toJS(),u=i.operationScheme(t,n),c=i.contentTypeValues([t,n]).toJS(),l=c.requestContentType,p=c.responseContentType,f=/xml/i.test(l),h=i.parameterValues([t,n],f).toJS();return a.executeRequest(Y({},r,{fetch:o,spec:s,pathName:t,method:n,parameters:h,requestContentType:l,scheme:u,responseContentType:p}))}};function Ue(e,t){return{type:ie,payload:{path:e,method:t}}}function qe(e,t){return{type:ae,payload:{path:e,method:t}}}function Fe(e,t,n){return{type:pe,payload:{scheme:e,path:t,method:n}}}},function(e,t,n){var r=n(32),o=n(22),i=n(63),a=n(77),s=n(75),u=function(e,t,n){var c,l,p,f=e&u.F,h=e&u.G,d=e&u.S,m=e&u.P,v=e&u.B,g=e&u.W,y=h?o:o[t]||(o[t]={}),b=y.prototype,_=h?r:d?r[t]:(r[t]||{}).prototype;for(c in h&&(n=t),n)(l=!f&&_&&void 0!==_[c])&&s(y,c)||(p=l?_[c]:n[c],y[c]=h&&"function"!=typeof _[c]?n[c]:v&&l?i(p,r):g&&_[c]==p?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(p):m&&"function"==typeof p?i(Function.call,p):p,m&&((y.virtual||(y.virtual={}))[c]=p,e&u.R&&b&&!b[c]&&a(b,c,p)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){"use strict";var r=n(138),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],i=["scalar","sequence","mapping"];e.exports=function(e,t){var n,a;if(t=t||{},Object.keys(t).forEach(function(t){if(-1===o.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(n=t.styleAliases||null,a={},null!==n&&Object.keys(n).forEach(function(e){n[e].forEach(function(t){a[String(t)]=e})}),a),-1===i.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(197)("wks"),o=n(199),i=n(41).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){var r=n(214)("wks"),o=n(159),i=n(32).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){var r=n(41),o=n(72),i=n(81),a=n(97),s=n(153),u=function(e,t,n){var c,l,p,f,h=e&u.F,d=e&u.G,m=e&u.S,v=e&u.P,g=e&u.B,y=d?r:m?r[t]||(r[t]={}):(r[t]||{}).prototype,b=d?o:o[t]||(o[t]={}),_=b.prototype||(b.prototype={});for(c in d&&(n=t),n)p=((l=!h&&y&&void 0!==y[c])?y:n)[c],f=g&&l?s(p,r):v&&"function"==typeof p?s(Function.call,p):p,y&&a(y,c,p,e&u.U),b[c]!=p&&i(b,c,f),v&&_[c]!=p&&(_[c]=p)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=o},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function o(e,t){return!!e&&r.call(e,t)}var i=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function a(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function s(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var u=/&([a-z#][a-z0-9]{1,31});/gi,c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(463);function p(e,t){var n=0;return o(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&a(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?s(n):e}var f=/[&<>"]/,h=/[&<>"]/g,d={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function m(e){return d[e]}t.assign=function(e){return[].slice.call(arguments,1).forEach(function(t){if(t){if("object"!=typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=o,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(i,"$1")},t.isValidEntityCode=a,t.fromCodePoint=s,t.replaceEntities=function(e){return e.indexOf("&")<0?e:e.replace(u,p)},t.escapeHtml=function(e){return f.test(e)?e.replace(h,m):e}},function(e,t,n){var r=n(55),o=n(771);e.exports=function(e,t){if(null==e)return{};var n,i,a=o(e,t);if(r){var s=r(e);for(i=0;i<s.length;i++)n=s[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(35),o=n(99),i=n(73),a=/"/g,s=function(e,t,n,r){var o=String(i(e)),s="<"+t;return""!==n&&(s+=" "+n+'="'+String(r).replace(a,"&quot;")+'"'),s+">"+o+"</"+t+">"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*o(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";n.r(t),n.d(t,"NEW_THROWN_ERR",function(){return i}),n.d(t,"NEW_THROWN_ERR_BATCH",function(){return a}),n.d(t,"NEW_SPEC_ERR",function(){return s}),n.d(t,"NEW_SPEC_ERR_BATCH",function(){return u}),n.d(t,"NEW_AUTH_ERR",function(){return c}),n.d(t,"CLEAR",function(){return l}),n.d(t,"CLEAR_BY",function(){return p}),n.d(t,"newThrownErr",function(){return f}),n.d(t,"newThrownErrBatch",function(){return h}),n.d(t,"newSpecErr",function(){return d}),n.d(t,"newSpecErrBatch",function(){return m}),n.d(t,"newAuthErr",function(){return v}),n.d(t,"clear",function(){return g}),n.d(t,"clearBy",function(){return y});var r=n(119),o=n.n(r),i="err_new_thrown_err",a="err_new_thrown_err_batch",s="err_new_spec_err",u="err_new_spec_err_batch",c="err_new_auth_err",l="err_clear",p="err_clear_by";function f(e){return{type:i,payload:o()(e)}}function h(e){return{type:a,payload:e}}function d(e){return{type:s,payload:e}}function m(e){return{type:u,payload:e}}function v(e){return{type:c,payload:e}}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:l,payload:e}}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:p,payload:e}}},function(e,t,n){var r=n(98);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){var r=n(43);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){var r=n(64),o=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function a(e,t,n){return o(e,t,n)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=a),i(o,a),a.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return o(e,t,n)},a.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=o(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return o(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){var r=n(46),o=n(349),i=n(218),a=Object.defineProperty;t.f=n(50)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(82)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(366),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";e.exports={debugTool:null}},function(e,t,n){e.exports=n(573)},function(e,t,n){e.exports=n(770)},function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=45)}([function(e,t){e.exports=n(17)},function(e,t){e.exports=n(14)},function(e,t){e.exports=n(26)},function(e,t){e.exports=n(16)},function(e,t){e.exports=n(123)},function(e,t){e.exports=n(60)},function(e,t){e.exports=n(61)},function(e,t){e.exports=n(55)},function(e,t){e.exports=n(2)},function(e,t){e.exports=n(54)},function(e,t){e.exports=n(94)},function(e,t){e.exports=n(28)},function(e,t){e.exports=n(930)},function(e,t){e.exports=n(12)},function(e,t){e.exports=n(192)},function(e,t){e.exports=n(936)},function(e,t){e.exports=n(93)},function(e,t){e.exports=n(193)},function(e,t){e.exports=n(939)},function(e,t){e.exports=n(943)},function(e,t){e.exports=n(944)},function(e,t){e.exports=n(92)},function(e,t){e.exports=n(13)},function(e,t){e.exports=n(146)},function(e,t){e.exports=n(4)},function(e,t){e.exports=n(5)},function(e,t){e.exports=n(946)},function(e,t){e.exports=n(421)},function(e,t){e.exports=n(949)},function(e,t){e.exports=n(52)},function(e,t){e.exports=n(64)},function(e,t){e.exports=n(283)},function(e,t){e.exports=n(272)},function(e,t){e.exports=n(950)},function(e,t){e.exports=n(145)},function(e,t){e.exports=n(951)},function(e,t){e.exports=n(959)},function(e,t){e.exports=n(960)},function(e,t){e.exports=n(961)},function(e,t){e.exports=n(40)},function(e,t){e.exports=n(264)},function(e,t){e.exports=n(37)},function(e,t){e.exports=n(964)},function(e,t){e.exports=n(965)},function(e,t){e.exports=n(966)},function(e,t,n){e.exports=n(50)},function(e,t){e.exports=n(967)},function(e,t){e.exports=n(968)},function(e,t){e.exports=n(969)},function(e,t){e.exports=n(970)},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"path",function(){return mn}),n.d(r,"query",function(){return vn}),n.d(r,"header",function(){return yn}),n.d(r,"cookie",function(){return bn});var o=n(9),i=n.n(o),a=n(10),s=n.n(a),u=n(5),c=n.n(u),l=n(6),p=n.n(l),f=n(7),h=n.n(f),d=n(0),m=n.n(d),v=n(8),g=n.n(v),y=(n(46),n(15)),b=n.n(y),_=n(20),w=n.n(_),x=n(12),E=n.n(x),S=n(4),C=n.n(S),k=n(22),O=n.n(k),A=n(11),T=n.n(A),j=n(2),P=n.n(j),I=n(1),M=n.n(I),N=n(17),R=n.n(N),D=(n(47),n(26)),L=n.n(D),U=n(23),q=n.n(U),F=n(31),B=n.n(F),z={serializeRes:J,mergeInQueryOrForm:Z};function V(e){return H.apply(this,arguments)}function H(){return(H=R()(C.a.mark(function e(t){var n,r,o,i,a,s=arguments;return C.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},"object"===P()(t)&&(t=(n=t).url),n.headers=n.headers||{},z.mergeInQueryOrForm(n),n.headers&&m()(n.headers).forEach(function(e){var t=n.headers[e];"string"==typeof t&&(n.headers[e]=t.replace(/\n+/g," "))}),!n.requestInterceptor){e.next=12;break}return e.next=8,n.requestInterceptor(n);case 8:if(e.t0=e.sent,e.t0){e.next=11;break}e.t0=n;case 11:n=e.t0;case 12:return r=n.headers["content-type"]||n.headers["Content-Type"],/multipart\/form-data/i.test(r)&&(delete n.headers["content-type"],delete n.headers["Content-Type"]),e.prev=14,e.next=17,(n.userFetch||fetch)(n.url,n);case 17:return o=e.sent,e.next=20,z.serializeRes(o,t,n);case 20:if(o=e.sent,!n.responseInterceptor){e.next=28;break}return e.next=24,n.responseInterceptor(o);case 24:if(e.t1=e.sent,e.t1){e.next=27;break}e.t1=o;case 27:o=e.t1;case 28:e.next=38;break;case 30:if(e.prev=30,e.t2=e.catch(14),o){e.next=34;break}throw e.t2;case 34:throw(i=new Error(o.statusText)).statusCode=i.status=o.status,i.responseError=e.t2,i;case 38:if(o.ok){e.next=43;break}throw(a=new Error(o.statusText)).statusCode=a.status=o.status,a.response=o,a;case 43:return e.abrupt("return",o);case 44:case"end":return e.stop()}},e,null,[[14,30]])}))).apply(this,arguments)}var W=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return/(json|xml|yaml|text)\b/.test(e)};function J(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).loadSpec,r=void 0!==n&&n,o={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:K(e.headers)},i=o.headers["content-type"],a=r||W(i);return(a?e.text:e.blob||e.buffer).call(e).then(function(e){if(o.text=e,o.data=e,a)try{var t=function(e,t){return t&&(0===t.indexOf("application/json")||t.indexOf("+json")>0)?JSON.parse(e):q.a.safeLoad(e)}(e,i);o.body=t,o.obj=t}catch(e){o.parseError=e}return o})}function K(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return"function"==typeof e.forEach?(e.forEach(function(e,n){void 0!==t[n]?(t[n]=M()(t[n])?t[n]:[t[n]],t[n].push(e)):t[n]=e}),t):t}function Y(e,t){return t||"undefined"==typeof navigator||(t=navigator),t&&"ReactNative"===t.product?!(!e||"object"!==P()(e)||"string"!=typeof e.uri):"undefined"!=typeof File?e instanceof File:null!==e&&"object"===P()(e)&&"function"==typeof e.pipe}function $(e,t){var n=e.collectionFormat,r=e.allowEmptyValue,o="object"===P()(e)?e.value:e;if(void 0===o&&r)return"";if(Y(o)||"boolean"==typeof o)return o;var i=encodeURIComponent;return t&&(i=B()(o)?function(e){return e}:function(e){return T()(e)}),"object"!==P()(o)||M()(o)?M()(o)?M()(o)&&!n?o.map(i).join(","):"multi"===n?o.map(i):o.map(i).join({csv:",",ssv:"%20",tsv:"%09",pipes:"|"}[n]):i(o):""}function G(e){var t=m()(e).reduce(function(t,n){var r,o=e[n],i=!!o.skipEncoding,a=i?n:encodeURIComponent(n),s=(r=o)&&"object"===P()(r)&&!M()(o);return t[a]=$(s?o:{value:o},i),t},{});return L.a.stringify(t,{encode:!1,indices:!1})||""}function Z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.url,r=void 0===t?"":t,o=e.query,i=e.form;if(i){var a=m()(i).some(function(e){return Y(i[e].value)}),s=e.headers["content-type"]||e.headers["Content-Type"];if(a||/multipart\/form-data/i.test(s)){var u=n(48);e.body=new u,m()(i).forEach(function(t){e.body.append(t,$(i[t],!0))})}else e.body=G(i);delete e.form}if(o){var c=r.split("?"),l=O()(c,2),p=l[0],f=l[1],h="";if(f){var d=L.a.parse(f);m()(o).forEach(function(e){return delete d[e]}),h=L.a.stringify(d,{encode:!0})}var v=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.filter(function(e){return e}).join("&");return r?"?".concat(r):""}(h,G(o));e.url=p+v,delete e.query}return e}var X=n(14),Q=n.n(X),ee=n(21),te=n.n(ee),ne=n(27),re=n.n(ne),oe=n(3),ie=n.n(oe),ae=n(24),se=n.n(ae),ue=n(25),ce=n.n(ue),le=n(32),pe=n.n(le),fe=n(13),he=n.n(fe),de=n(18),me=n.n(de),ve=n(33),ge=n.n(ve),ye=n(34),be=n.n(ye),_e={add:function(e,t){return{op:"add",path:e,value:t}},replace:xe,remove:function(e,t){return{op:"remove",path:e}},merge:function(e,t){return{type:"mutation",op:"merge",path:e,value:t}},mergeDeep:function(e,t){return{type:"mutation",op:"mergeDeep",path:e,value:t}},context:function(e,t){return{type:"context",path:e,value:t}},getIn:function(e,t){return t.reduce(function(e,t){return void 0!==t&&e?e[t]:e},e)},applyPatch:function(e,t,n){if(n=n||{},"merge"===(t=ie()({},t,{path:t.path&&we(t.path)})).op){var r=Re(e,t.path);ie()(r,t.value),me.a.applyPatch(e,[xe(t.path,r)])}else if("mergeDeep"===t.op){var o=Re(e,t.path);for(var i in t.value){var a=t.value[i],s=M()(a);if(s){var u=o[i]||[];o[i]=u.concat(a)}else if(Te(a)&&!s){var c=ie()({},o[i]);for(var l in a){if(Object.prototype.hasOwnProperty.call(c,l)){c=ge()(be()({},c),a);break}ie()(c,g()({},l,a[l]))}o[i]=c}else o[i]=a}}else if("add"===t.op&&""===t.path&&Te(t.value)){var p=m()(t.value).reduce(function(e,n){return e.push({op:"add",path:"/".concat(we(n)),value:t.value[n]}),e},[]);me.a.applyPatch(e,p)}else if("replace"===t.op&&""===t.path){var f=t.value;n.allowMetaPatches&&t.meta&&Me(t)&&(M()(t.value)||Te(t.value))&&(f=ie()({},f,t.meta)),e=f}else if(me.a.applyPatch(e,[t]),n.allowMetaPatches&&t.meta&&Me(t)&&(M()(t.value)||Te(t.value))){var h=Re(e,t.path),d=ie()({},h,t.meta);me.a.applyPatch(e,[xe(t.path,d)])}return e},parentPathMatch:function(e,t){if(!M()(t))return!1;for(var n=0,r=t.length;n<r;n++)if(t[n]!==e[n])return!1;return!0},flatten:Oe,fullyNormalizeArray:function(e){return Ae(Oe(ke(e)))},normalizeArray:ke,isPromise:function(e){return Te(e)&&je(e.then)},forEachNew:function(e,t){try{return Ee(e,Ce,t)}catch(e){return e}},forEachNewPrimitive:function(e,t){try{return Ee(e,Se,t)}catch(e){return e}},isJsonPatch:Pe,isContextPatch:function(e){return Ne(e)&&"context"===e.type},isPatch:Ne,isMutation:Ie,isAdditiveMutation:Me,isGenerator:function(e){return C.a.isGeneratorFunction(e)},isFunction:je,isObject:Te,isError:function(e){return e instanceof Error}};function we(e){return M()(e)?e.length<1?"":"/"+e.map(function(e){return(e+"").replace(/~/g,"~0").replace(/\//g,"~1")}).join("/"):e}function xe(e,t,n){return{op:"replace",path:e,value:t,meta:n}}function Ee(e,t,n){return Ae(Oe(e.filter(Me).map(function(e){return t(e.value,n,e.path)})||[]))}function Se(e,t,n){return n=n||[],M()(e)?e.map(function(e,r){return Se(e,t,n.concat(r))}):Te(e)?m()(e).map(function(r){return Se(e[r],t,n.concat(r))}):t(e,n[n.length-1],n)}function Ce(e,t,n){var r=[];if((n=n||[]).length>0){var o=t(e,n[n.length-1],n);o&&(r=r.concat(o))}if(M()(e)){var i=e.map(function(e,r){return Ce(e,t,n.concat(r))});i&&(r=r.concat(i))}else if(Te(e)){var a=m()(e).map(function(r){return Ce(e[r],t,n.concat(r))});a&&(r=r.concat(a))}return r=Oe(r)}function ke(e){return M()(e)?e:[e]}function Oe(e){var t;return(t=[]).concat.apply(t,he()(e.map(function(e){return M()(e)?Oe(e):e})))}function Ae(e){return e.filter(function(e){return void 0!==e})}function Te(e){return e&&"object"===P()(e)}function je(e){return e&&"function"==typeof e}function Pe(e){if(Ne(e)){var t=e.op;return"add"===t||"remove"===t||"replace"===t}return!1}function Ie(e){return Pe(e)||Ne(e)&&"mutation"===e.type}function Me(e){return Ie(e)&&("add"===e.op||"replace"===e.op||"merge"===e.op||"mergeDeep"===e.op)}function Ne(e){return e&&"object"===P()(e)}function Re(e,t){try{return me.a.getValueByPointer(e,t)}catch(e){return console.error(e),{}}}var De=n(35),Le=n.n(De),Ue=n(36),qe=n(28),Fe=n.n(qe);function Be(e,t){function n(){Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];this.message=n[0],t&&t.apply(this,n)}return n.prototype=new Error,n.prototype.name=e,n.prototype.constructor=n,n}var ze=n(37),Ve=n.n(ze),He=["properties"],We=["properties"],Je=["definitions","parameters","responses","securityDefinitions","components/schemas","components/responses","components/parameters","components/securitySchemes"],Ke=["schema/example","items/example"];function Ye(e){var t=e[e.length-1],n=e[e.length-2],r=e.join("/");return He.indexOf(t)>-1&&-1===We.indexOf(n)||Je.indexOf(r)>-1||Ke.some(function(e){return r.indexOf(e)>-1})}function $e(e,t){var n=e.split("#"),r=O()(n,2),o=r[0],i=r[1],a=E.a.resolve(o||"",t||"");return i?"".concat(a,"#").concat(i):a}var Ge="application/json, application/yaml",Ze=new RegExp("^([a-z]+://|//)","i"),Xe=Be("JSONRefError",function(e,t,n){this.originalError=n,ie()(this,t||{})}),Qe={},et=new Le.a,tt=[function(e){return"paths"===e[0]&&"responses"===e[3]&&"content"===e[5]&&"example"===e[7]},function(e){return"paths"===e[0]&&"requestBody"===e[3]&&"content"===e[4]&&"example"===e[6]}],nt={key:"$ref",plugin:function(e,t,n,r){var o=r.getInstance(),i=n.slice(0,-1);if(!Ye(i)&&(a=i,!tt.some(function(e){return e(a)}))){var a,s=r.getContext(n).baseDoc;if("string"!=typeof e)return new Xe("$ref: must be a string (JSON-Ref)",{$ref:e,baseDoc:s,fullPath:n});var u,c,l,p=st(e),f=p[0],h=p[1]||"";try{u=s||f?it(f,s):null}catch(t){return at(t,{pointer:h,$ref:e,basePath:u,fullPath:n})}if(function(e,t,n,r){var o=et.get(r);o||(o={},et.set(r,o));var i=function(e){if(0===e.length)return"";return"/".concat(e.map(ht).join("/"))}(n),a="".concat(t||"<specmap-base>","#").concat(e),s=i.replace(/allOf\/\d+\/?/g,""),u=r.contextTree.get([]).baseDoc;if(t==u&&mt(s,e))return!0;var c="";if(n.some(function(e){return c="".concat(c,"/").concat(ht(e)),o[c]&&o[c].some(function(e){return mt(e,a)||mt(a,e)})}))return!0;o[s]=(o[s]||[]).concat(a)}(h,u,i,r)&&!o.useCircularStructures){var d=$e(e,u);return e===d?null:_e.replace(n,d)}if(null==u?(l=pt(h),void 0===(c=r.get(l))&&(c=new Xe("Could not resolve reference: ".concat(e),{pointer:h,$ref:e,baseDoc:s,fullPath:n}))):c=null!=(c=ut(u,h)).__value?c.__value:c.catch(function(t){throw at(t,{pointer:h,$ref:e,baseDoc:s,fullPath:n})}),c instanceof Error)return[_e.remove(n),c];var v=$e(e,u),g=_e.replace(i,c,{$$ref:v});if(u&&u!==s)return[g,_e.context(i,{baseDoc:u})];try{if(!function(e,t){var n=[e];return t.path.reduce(function(e,t){return n.push(e[t]),e[t]},e),function e(t){return _e.isObject(t)&&(n.indexOf(t)>=0||m()(t).some(function(n){return e(t[n])}))}(t.value)}(r.state,g)||o.useCircularStructures)return g}catch(e){return null}}}},rt=ie()(nt,{docCache:Qe,absoluteify:it,clearCache:function(e){void 0!==e?delete Qe[e]:m()(Qe).forEach(function(e){delete Qe[e]})},JSONRefError:Xe,wrapError:at,getDoc:ct,split:st,extractFromDoc:ut,fetchJSON:function(e){return Object(Ue.fetch)(e,{headers:{Accept:Ge},loadSpec:!0}).then(function(e){return e.text()}).then(function(e){return q.a.safeLoad(e)})},extract:lt,jsonPointerToArray:pt,unescapeJsonPointerToken:ft}),ot=rt;function it(e,t){if(!Ze.test(e)){if(!t)throw new Xe("Tried to resolve a relative URL, without having a basePath. path: '".concat(e,"' basePath: '").concat(t,"'"));return E.a.resolve(t,e)}return e}function at(e,t){var n;return n=e&&e.response&&e.response.body?"".concat(e.response.body.code," ").concat(e.response.body.message):e.message,new Xe("Could not resolve reference: ".concat(n),t,e)}function st(e){return(e+"").split("#")}function ut(e,t){var n=Qe[e];if(n&&!_e.isPromise(n))try{var r=lt(t,n);return ie()(Q.a.resolve(r),{__value:r})}catch(e){return Q.a.reject(e)}return ct(e).then(function(e){return lt(t,e)})}function ct(e){var t=Qe[e];return t?_e.isPromise(t)?t:Q.a.resolve(t):(Qe[e]=rt.fetchJSON(e).then(function(t){return Qe[e]=t,t}),Qe[e])}function lt(e,t){var n=pt(e);if(n.length<1)return t;var r=_e.getIn(t,n);if(void 0===r)throw new Xe("Could not resolve pointer: ".concat(e," does not exist in document"),{pointer:e});return r}function pt(e){if("string"!=typeof e)throw new TypeError("Expected a string, got a ".concat(P()(e)));return"/"===e[0]&&(e=e.substr(1)),""===e?[]:e.split("/").map(ft)}function ft(e){return"string"!=typeof e?e:Fe.a.unescape(e.replace(/~1/g,"/").replace(/~0/g,"~"))}function ht(e){return Fe.a.escape(e.replace(/~/g,"~0").replace(/\//g,"~1"))}var dt=function(e){return!e||"/"===e||"#"===e};function mt(e,t){if(dt(t))return!0;var n=e.charAt(t.length),r=t.slice(-1);return 0===e.indexOf(t)&&(!n||"/"===n||"#"===n)&&"#"!==r}var vt={key:"allOf",plugin:function(e,t,n,r,o){if(!o.meta||!o.meta.$$ref){var i=n.slice(0,-1);if(!Ye(i)){if(!M()(e)){var a=new TypeError("allOf must be an array");return a.fullPath=n,a}var s=!1,u=o.value;i.forEach(function(e){u&&(u=u[e])}),delete(u=ie()({},u)).allOf;var c=[];return c.push(r.replace(i,{})),e.forEach(function(e,t){if(!r.isObject(e)){if(s)return null;s=!0;var o=new TypeError("Elements in allOf must be objects");return o.fullPath=n,c.push(o)}c.push(r.mergeDeep(i,e));var a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.specmap,o=n.getBaseUrlForNodePath,i=void 0===o?function(e){return r.getContext([].concat(he()(t),he()(e))).baseDoc}:o,a=n.targetKeys,s=void 0===a?["$ref","$$ref"]:a,u=[];return Ve()(e).forEach(function(){if(s.indexOf(this.key)>-1){var e=this.path,n=t.concat(this.path),o=$e(this.node,i(e));u.push(r.replace(n,o))}}),u}(e,n.slice(0,-1),{getBaseUrlForNodePath:function(e){return r.getContext([].concat(he()(n),[t],he()(e))).baseDoc},specmap:r});c.push.apply(c,he()(a))}),c.push(r.mergeDeep(i,u)),u.$$ref||c.push(r.remove([].concat(i,"$$ref"))),c}}}},gt={key:"parameters",plugin:function(e,t,n,r,o){if(M()(e)&&e.length){var i=ie()([],e),a=n.slice(0,-1),s=ie()({},_e.getIn(r.spec,a));return e.forEach(function(e,t){try{i[t].default=r.parameterMacro(s,e)}catch(e){var o=new Error(e);return o.fullPath=n,o}}),_e.replace(n,i)}return _e.replace(n,e)}},yt={key:"properties",plugin:function(e,t,n,r){var o=ie()({},e);for(var i in e)try{o[i].default=r.modelPropertyMacro(o[i])}catch(e){var a=new Error(e);return a.fullPath=n,a}return _e.replace(n,o)}};function bt(e,t){var n=m()(e);if(h.a){var r=h()(e);t&&(r=r.filter(function(t){return p()(e,t).enumerable})),n.push.apply(n,r)}return n}var _t=function(){function e(t){se()(this,e),this.root=wt(t||{})}return ce()(e,[{key:"set",value:function(e,t){var n=this.getParent(e,!0);if(n){var r=e[e.length-1],o=n.children;o[r]?xt(o[r],t,n):o[r]=wt(t,n)}else xt(this.root,t,null)}},{key:"get",value:function(e){if((e=e||[]).length<1)return this.root.value;for(var t,n,r=this.root,o=0;o<e.length&&(n=e[o],(t=r.children)[n]);o++)r=t[n];return r&&r.protoValue}},{key:"getParent",value:function(e,t){return!e||e.length<1?null:e.length<2?this.root:e.slice(0,-1).reduce(function(e,n){if(!e)return e;var r=e.children;return!r[n]&&t&&(r[n]=wt(null,e)),r[n]},this.root)}}]),e}();function wt(e,t){return xt({children:{}},e,t)}function xt(e,t,n){return e.value=t||{},e.protoValue=n?function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bt(n,!0).forEach(function(t){g()(e,t,n[t])}):c.a?s()(e,c()(n)):bt(n).forEach(function(t){i()(e,t,p()(n,t))})}return e}({},n.protoValue,{},e.value):e.value,m()(e.children).forEach(function(t){var n=e.children[t];e.children[t]=xt(n,n.value,e)}),e}var Et=function(){function e(t){var n=this;se()(this,e),ie()(this,{spec:"",debugLevel:"info",plugins:[],pluginHistory:{},errors:[],mutations:[],promisedPatches:[],state:{},patches:[],context:{},contextTree:new _t,showDebug:!1,allPatches:[],pluginProp:"specMap",libMethods:ie()(re()(this),_e,{getInstance:function(){return n}}),allowMetaPatches:!1},t),this.get=this._get.bind(this),this.getContext=this._getContext.bind(this),this.hasRun=this._hasRun.bind(this),this.wrappedPlugins=this.plugins.map(this.wrapPlugin.bind(this)).filter(_e.isFunction),this.patches.push(_e.add([],this.spec)),this.patches.push(_e.context([],this.context)),this.updatePatches(this.patches)}return ce()(e,[{key:"debug",value:function(e){if(this.debugLevel===e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];(t=console).log.apply(t,r)}}},{key:"verbose",value:function(e){if("verbose"===this.debugLevel){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];(t=console).log.apply(t,["[".concat(e,"] ")].concat(r))}}},{key:"wrapPlugin",value:function(e,t){var n,r,o,i=this.pathDiscriminator,a=null;return e[this.pluginProp]?(a=e,n=e[this.pluginProp]):_e.isFunction(e)?n=e:_e.isObject(e)&&(r=e,o=function(e,t){return!M()(e)||e.every(function(e,n){return e===t[n]})},n=C.a.mark(function e(t,n){var a,s,u,c,l,p,f,h,d;return C.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:d=function(e,t,u){var c,l,p,f,h,v,g,y,b,_,w,x,E;return C.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(_e.isObject(e)){a.next=6;break}if(r.key!==t[t.length-1]){a.next=4;break}return a.next=4,r.plugin(e,r.key,t,n);case 4:a.next=30;break;case 6:c=t.length-1,l=t[c],p=t.indexOf("properties"),f="properties"===l&&c===p,h=n.allowMetaPatches&&s[e.$$ref],v=0,g=m()(e);case 12:if(!(v<g.length)){a.next=30;break}if(y=g[v],b=e[y],_=t.concat(y),w=_e.isObject(b),x=e.$$ref,h){a.next=22;break}if(!w){a.next=22;break}return n.allowMetaPatches&&x&&(s[x]=!0),a.delegateYield(d(b,_,u),"t0",22);case 22:if(f||y!==r.key){a.next=27;break}if(E=o(i,t),i&&!E){a.next=27;break}return a.next=27,r.plugin(b,y,_,n,u);case 27:v++,a.next=12;break;case 30:case"end":return a.stop()}},a)},a=C.a.mark(d),s={},u=!0,c=!1,l=void 0,e.prev=6,p=te()(t.filter(_e.isAdditiveMutation));case 8:if(u=(f=p.next()).done){e.next=14;break}return h=f.value,e.delegateYield(d(h.value,h.path,h),"t0",11);case 11:u=!0,e.next=8;break;case 14:e.next=20;break;case 16:e.prev=16,e.t1=e.catch(6),c=!0,l=e.t1;case 20:e.prev=20,e.prev=21,u||null==p.return||p.return();case 23:if(e.prev=23,!c){e.next=26;break}throw l;case 26:return e.finish(23);case 27:return e.finish(20);case 28:case"end":return e.stop()}},e,null,[[6,16,20,28],[21,,23,27]])})),ie()(n.bind(a),{pluginName:e.name||t,isGenerator:_e.isGenerator(n)})}},{key:"nextPlugin",value:function(){var e=this;return pe()(this.wrappedPlugins,function(t){return e.getMutationsForPlugin(t).length>0})}},{key:"nextPromisedPatch",value:function(){if(this.promisedPatches.length>0)return Q.a.race(this.promisedPatches.map(function(e){return e.value}))}},{key:"getPluginHistory",value:function(e){var t=this.getPluginName(e);return this.pluginHistory[t]||[]}},{key:"getPluginRunCount",value:function(e){return this.getPluginHistory(e).length}},{key:"getPluginHistoryTip",value:function(e){var t=this.getPluginHistory(e);return t&&t[t.length-1]||{}}},{key:"getPluginMutationIndex",value:function(e){var t=this.getPluginHistoryTip(e).mutationIndex;return"number"!=typeof t?-1:t}},{key:"getPluginName",value:function(e){return e.pluginName}},{key:"updatePluginHistory",value:function(e,t){var n=this.getPluginName(e);(this.pluginHistory[n]=this.pluginHistory[n]||[]).push(t)}},{key:"updatePatches",value:function(e,t){var n=this;_e.normalizeArray(e).forEach(function(e){if(e instanceof Error)n.errors.push(e);else try{if(!_e.isObject(e))return void n.debug("updatePatches","Got a non-object patch",e);if(n.showDebug&&n.allPatches.push(e),_e.isPromise(e.value))return n.promisedPatches.push(e),void n.promisedPatchThen(e);if(_e.isContextPatch(e))return void n.setContext(e.path,e.value);if(_e.isMutation(e))return void n.updateMutations(e)}catch(e){console.error(e),n.errors.push(e)}})}},{key:"updateMutations",value:function(e){"object"===P()(e.value)&&!M()(e.value)&&this.allowMetaPatches&&(e.value=ie()({},e.value));var t=_e.applyPatch(this.state,e,{allowMetaPatches:this.allowMetaPatches});t&&(this.mutations.push(e),this.state=t)}},{key:"removePromisedPatch",value:function(e){var t=this.promisedPatches.indexOf(e);t<0?this.debug("Tried to remove a promisedPatch that isn't there!"):this.promisedPatches.splice(t,1)}},{key:"promisedPatchThen",value:function(e){var t=this;return e.value=e.value.then(function(n){var r=ie()({},e,{value:n});t.removePromisedPatch(e),t.updatePatches(r)}).catch(function(n){t.removePromisedPatch(e),t.updatePatches(n)})}},{key:"getMutations",value:function(e,t){return e=e||0,"number"!=typeof t&&(t=this.mutations.length),this.mutations.slice(e,t)}},{key:"getCurrentMutations",value:function(){return this.getMutationsForPlugin(this.getCurrentPlugin())}},{key:"getMutationsForPlugin",value:function(e){var t=this.getPluginMutationIndex(e);return this.getMutations(t+1)}},{key:"getCurrentPlugin",value:function(){return this.currentPlugin}},{key:"getPatchesOfType",value:function(e,t){return e.filter(t)}},{key:"getLib",value:function(){return this.libMethods}},{key:"_get",value:function(e){return _e.getIn(this.state,e)}},{key:"_getContext",value:function(e){return this.contextTree.get(e)}},{key:"setContext",value:function(e,t){return this.contextTree.set(e,t)}},{key:"_hasRun",value:function(e){return this.getPluginRunCount(this.getCurrentPlugin())>(e||0)}},{key:"_clone",value:function(e){return JSON.parse(T()(e))}},{key:"dispatch",value:function(){var e=this,t=this,n=this.nextPlugin();if(!n){var r=this.nextPromisedPatch();if(r)return r.then(function(){return e.dispatch()}).catch(function(){return e.dispatch()});var o={spec:this.state,errors:this.errors};return this.showDebug&&(o.patches=this.allPatches),Q.a.resolve(o)}if(t.pluginCount=t.pluginCount||{},t.pluginCount[n]=(t.pluginCount[n]||0)+1,t.pluginCount[n]>100)return Q.a.resolve({spec:t.state,errors:t.errors.concat(new Error("We've reached a hard limit of ".concat(100," plugin runs")))});if(n!==this.currentPlugin&&this.promisedPatches.length){var i=this.promisedPatches.map(function(e){return e.value});return Q.a.all(i.map(function(e){return e.then(Function,Function)})).then(function(){return e.dispatch()})}return function(){t.currentPlugin=n;var e=t.getCurrentMutations(),r=t.mutations.length-1;try{if(n.isGenerator){var o=!0,i=!1,s=void 0;try{for(var u,c=te()(n(e,t.getLib()));!(o=(u=c.next()).done);o=!0){a(u.value)}}catch(e){i=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw s}}}else{a(n(e,t.getLib()))}}catch(e){console.error(e),a([ie()(re()(e),{plugin:n})])}finally{t.updatePluginHistory(n,{mutationIndex:r})}return t.dispatch()}();function a(e){e&&(e=_e.fullyNormalizeArray(e),t.updatePatches(e,n))}}}]),e}();var St={refs:ot,allOf:vt,parameters:gt,properties:yt},Ct=n(29),kt=n.n(Ct),Ot=function(e){return String.prototype.toLowerCase.call(e)},At=function(e){return e.replace(/[^\w]/gi,"_")};function Tt(e){var t=e.openapi;return!!t&&w()(t,"3")}function jt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).v2OperationIdCompatibilityMode;return e&&"object"===P()(e)?(e.operationId||"").replace(/\s/g,"").length?At(e.operationId):function(e,t){if((arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).v2OperationIdCompatibilityMode){var n="".concat(t.toLowerCase(),"_").concat(e).replace(/[\s!@#$%^&*()_+=[{\]};:<>|.\/?,\\'""-]/g,"_");return(n=n||"".concat(e.substring(1),"_").concat(t)).replace(/((_){2,})/g,"_").replace(/^(_)*/g,"").replace(/([_])*$/g,"")}return"".concat(Ot(t)).concat(At(e))}(t,n,{v2OperationIdCompatibilityMode:r}):null}function Pt(e,t){return"".concat(Ot(t),"-").concat(e)}function It(e,t){return e&&e.paths?function(e,t){return Mt(e,t,!0)||null}(e,function(e){var n=e.pathName,r=e.method,o=e.operation;if(!o||"object"!==P()(o))return!1;var i=o.operationId;return[jt(o,n,r),Pt(n,r),i].some(function(e){return e&&e===t})}):null}function Mt(e,t,n){if(!e||"object"!==P()(e)||!e.paths||"object"!==P()(e.paths))return null;var r=e.paths;for(var o in r)for(var i in r[o])if("PARAMETERS"!==i.toUpperCase()){var a=r[o][i];if(a&&"object"===P()(a)){var s={spec:e,pathName:o,method:i.toUpperCase(),operation:a},u=t(s);if(n&&u)return s}}}function Nt(e){var t=e.spec,n=t.paths,r={};if(!n||t.$$normalized)return e;for(var o in n){var i=n[o];if(kt()(i)){var a=i.parameters,s=function(e){var n=i[e];if(!kt()(n))return"continue";var s=jt(n,o,e);if(s){r[s]?r[s].push(n):r[s]=[n];var u=r[s];if(u.length>1)u.forEach(function(e,t){e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId="".concat(s).concat(t+1)});else if(void 0!==n.operationId){var c=u[0];c.__originalOperationId=c.__originalOperationId||n.operationId,c.operationId=s}}if("parameters"!==e){var l=[],p={};for(var f in t)"produces"!==f&&"consumes"!==f&&"security"!==f||(p[f]=t[f],l.push(p));if(a&&(p.parameters=a,l.push(p)),l.length)for(var h=0,d=l;h<d.length;h++){var m=d[h];for(var v in m)if(n[v]){if("parameters"===v){var g=!0,y=!1,b=void 0;try{for(var _,w=function(){var e=_.value;n[v].some(function(t){return t.name&&t.name===e.name||t.$ref&&t.$ref===e.$ref||t.$$ref&&t.$$ref===e.$$ref||t===e})||n[v].push(e)},x=te()(m[v]);!(g=(_=x.next()).done);g=!0)w()}catch(e){y=!0,b=e}finally{try{g||null==x.return||x.return()}finally{if(y)throw b}}}}else n[v]=m[v]}}};for(var u in i)s(u)}}return t.$$normalized=!0,e}function Rt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.requestInterceptor,r=t.responseInterceptor,o=e.withCredentials?"include":"same-origin";return function(t){return e({url:t,loadSpec:!0,requestInterceptor:n,responseInterceptor:r,headers:{Accept:Ge},credentials:o}).then(function(e){return e.body})}}function Dt(e){var t=e.fetch,n=e.spec,r=e.url,o=e.mode,i=e.allowMetaPatches,a=void 0===i||i,s=e.pathDiscriminator,u=e.modelPropertyMacro,c=e.parameterMacro,l=e.requestInterceptor,p=e.responseInterceptor,f=e.skipNormalization,h=e.useCircularStructures,d=e.http,m=e.baseDoc;return m=m||r,d=t||d||V,n?v(n):Rt(d,{requestInterceptor:l,responseInterceptor:p})(m).then(v);function v(e){m&&(St.refs.docCache[m]=e),St.refs.fetchJSON=Rt(d,{requestInterceptor:l,responseInterceptor:p});var t,n=[St.refs];return"function"==typeof c&&n.push(St.parameters),"function"==typeof u&&n.push(St.properties),"strict"!==o&&n.push(St.allOf),(t={spec:e,context:{baseDoc:m},plugins:n,allowMetaPatches:a,pathDiscriminator:s,parameterMacro:c,modelPropertyMacro:u,useCircularStructures:h},new Et(t).dispatch()).then(f?function(){var e=R()(C.a.mark(function e(t){return C.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t);case 1:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}():Nt)}}var Lt=n(16),Ut=n.n(Lt);function qt(e,t){var n=m()(e);if(h.a){var r=h()(e);t&&(r=r.filter(function(t){return p()(e,t).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qt(n,!0).forEach(function(t){g()(e,t,n[t])}):c.a?s()(e,c()(n)):qt(n).forEach(function(t){i()(e,t,p()(n,t))})}return e}function Bt(){return(Bt=R()(C.a.mark(function e(t,n){var r,o,i,a,s,u,c,l,p,f,h,d,m=arguments;return C.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.length>2&&void 0!==m[2]?m[2]:{},o=r.returnEntireTree,i=r.baseDoc,a=r.requestInterceptor,s=r.responseInterceptor,u=r.parameterMacro,c=r.modelPropertyMacro,l=r.useCircularStructures,p={pathDiscriminator:n,baseDoc:i,requestInterceptor:a,responseInterceptor:s,parameterMacro:u,modelPropertyMacro:c,useCircularStructures:l},f=Nt({spec:t}),h=f.spec,e.next=6,Dt(Ft({},p,{spec:h,allowMetaPatches:!0,skipNormalization:!0}));case 6:return d=e.sent,!o&&M()(n)&&n.length&&(d.spec=Ut()(d.spec,n)||null),e.abrupt("return",d);case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}var zt=n(38),Vt=n.n(zt);function Ht(e,t){var n=m()(e);if(h.a){var r=h()(e);t&&(r=r.filter(function(t){return p()(e,t).enumerable})),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ht(n,!0).forEach(function(t){g()(e,t,n[t])}):c.a?s()(e,c()(n)):Ht(n).forEach(function(t){i()(e,t,p()(n,t))})}return e}var Jt=function(){return null},Kt=function(e){return M()(e)?e:[e]},Yt={mapTagOperations:function(e){var t=e.spec,n=e.cb,r=void 0===n?Jt:n,o=e.defaultTag,i=void 0===o?"default":o,a=e.v2OperationIdCompatibilityMode,s={},u={};return Mt(t,function(e){var n=e.pathName,o=e.method,c=e.operation;(c.tags?Kt(c.tags):[i]).forEach(function(e){if("string"==typeof e){var i=u[e]=u[e]||{},l=jt(c,n,o,{v2OperationIdCompatibilityMode:a}),p=r({spec:t,pathName:n,method:o,operation:c,operationId:l});if(s[l])s[l]++,i["".concat(l).concat(s[l])]=p;else if(void 0!==i[l]){var f=s[l]||1;s[l]=f+1,i["".concat(l).concat(s[l])]=p;var h=i[l];delete i[l],i["".concat(l).concat(f)]=h}else i[l]=p}})}),u},makeExecute:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.pathName,r=t.method,o=t.operationId;return function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.execute(Wt({spec:e.spec},Vt()(e,"requestInterceptor","responseInterceptor","userFetch"),{pathName:n,method:r,parameters:t,operationId:o},i))}}}};var $t=n(39),Gt=n.n($t),Zt=n(40),Xt=n.n(Zt),Qt=n(41),en=n.n(Qt),tn=n(19),nn=n.n(tn),rn=n(42),on=n.n(rn),an={body:function(e){var t=e.req,n=e.value;t.body=n},header:function(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{},void 0!==r&&(t.headers[n.name]=r)},query:function(e){var t=e.req,n=e.value,r=e.parameter;t.query=t.query||{},!1===n&&"boolean"===r.type&&(n="false");0===n&&["number","integer"].indexOf(r.type)>-1&&(n="0");if(n)t.query[r.name]={collectionFormat:r.collectionFormat,value:n};else if(r.allowEmptyValue&&void 0!==n){var o=r.name;t.query[o]=t.query[o]||{},t.query[o].allowEmptyValue=!0}},path:function(e){var t=e.req,n=e.value,r=e.parameter;t.url=t.url.split("{".concat(r.name,"}")).join(encodeURIComponent(n))},formData:function(e){var t=e.req,n=e.value,r=e.parameter;(n||r.allowEmptyValue)&&(t.form=t.form||{},t.form[r.name]={value:n,allowEmptyValue:r.allowEmptyValue,collectionFormat:r.collectionFormat})}};n(49);var sn=n(43),un=n.n(sn),cn=n(44),ln=function(e){return":/?#[]@!$&'()*+,;=".indexOf(e)>-1},pn=function(e){return/^[a-z0-9\-._~]+$/i.test(e)};function fn(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).escape,n=arguments.length>2?arguments[2]:void 0;return"number"==typeof e&&(e=e.toString()),"string"==typeof e&&e.length&&t?n?JSON.parse(e):Object(cn.stringToCharArray)(e).map(function(e){return pn(e)?e:ln(e)&&"unsafe"===t?e:(un()(e)||[]).map(function(e){return"0".concat(e.toString(16).toUpperCase()).slice(-2)}).map(function(e){return"%".concat(e)}).join("")}).join(""):e}function hn(e){var t=e.value;return M()(t)?function(e){var t=e.key,n=e.value,r=e.style,o=e.explode,i=e.escape,a=function(e){return fn(e,{escape:i})};if("simple"===r)return n.map(function(e){return a(e)}).join(",");if("label"===r)return".".concat(n.map(function(e){return a(e)}).join("."));if("matrix"===r)return n.map(function(e){return a(e)}).reduce(function(e,n){return!e||o?"".concat(e||"",";").concat(t,"=").concat(n):"".concat(e,",").concat(n)},"");if("form"===r){var s=o?"&".concat(t,"="):",";return n.map(function(e){return a(e)}).join(s)}if("spaceDelimited"===r){var u=o?"".concat(t,"="):"";return n.map(function(e){return a(e)}).join(" ".concat(u))}if("pipeDelimited"===r){var c=o?"".concat(t,"="):"";return n.map(function(e){return a(e)}).join("|".concat(c))}}(e):"object"===P()(t)?function(e){var t=e.key,n=e.value,r=e.style,o=e.explode,i=e.escape,a=function(e){return fn(e,{escape:i})},s=m()(n);if("simple"===r)return s.reduce(function(e,t){var r=a(n[t]),i=o?"=":",",s=e?"".concat(e,","):"";return"".concat(s).concat(t).concat(i).concat(r)},"");if("label"===r)return s.reduce(function(e,t){var r=a(n[t]),i=o?"=":".",s=e?"".concat(e,"."):".";return"".concat(s).concat(t).concat(i).concat(r)},"");if("matrix"===r&&o)return s.reduce(function(e,t){var r=a(n[t]),o=e?"".concat(e,";"):";";return"".concat(o).concat(t,"=").concat(r)},"");if("matrix"===r)return s.reduce(function(e,r){var o=a(n[r]),i=e?"".concat(e,","):";".concat(t,"=");return"".concat(i).concat(r,",").concat(o)},"");if("form"===r)return s.reduce(function(e,t){var r=a(n[t]),i=e?"".concat(e).concat(o?"&":","):"",s=o?"=":",";return"".concat(i).concat(t).concat(s).concat(r)},"")}(e):function(e){var t=e.key,n=e.value,r=e.style,o=e.escape,i=function(e){return fn(e,{escape:o})};if("simple"===r)return i(n);if("label"===r)return".".concat(i(n));if("matrix"===r)return";".concat(t,"=").concat(i(n));if("form"===r)return i(n);if("deepObject"===r)return i(n)}(e)}function dn(e,t){return t.includes("application/json")?"string"==typeof e?e:T()(e):e.toString()}function mn(e){var t=e.req,n=e.value,r=e.parameter,o=r.name,i=r.style,a=r.explode,s=r.content;if(s){var u=m()(s)[0];t.url=t.url.split("{".concat(o,"}")).join(fn(dn(n,u),{escape:!0}))}else{var c=hn({key:r.name,value:n,style:i||"simple",explode:a||!1,escape:!0});t.url=t.url.split("{".concat(o,"}")).join(c)}}function vn(e){var t=e.req,n=e.value,r=e.parameter;if(t.query=t.query||{},r.content){var o=m()(r.content)[0];t.query[r.name]=dn(n,o)}else if(!1===n&&(n="false"),0===n&&(n="0"),n){var i=P()(n);if("deepObject"===r.style)m()(n).forEach(function(e){var o=n[e];t.query["".concat(r.name,"[").concat(e,"]")]={value:hn({key:e,value:o,style:"deepObject",escape:r.allowReserved?"unsafe":"reserved"}),skipEncoding:!0}});else if("object"!==i||M()(n)||"form"!==r.style&&r.style||!r.explode&&void 0!==r.explode){var a=encodeURIComponent(r.name);t.query[a]={value:hn({key:a,value:n,style:r.style||"form",explode:void 0===r.explode||r.explode,escape:r.allowReserved?"unsafe":"reserved"}),skipEncoding:!0}}else{m()(n).forEach(function(e){var o=n[e];t.query[e]={value:hn({key:e,value:o,style:r.style||"form",escape:r.allowReserved?"unsafe":"reserved"}),skipEncoding:!0}})}}else if(r.allowEmptyValue&&void 0!==n){var s=r.name;t.query[s]=t.query[s]||{},t.query[s].allowEmptyValue=!0}}var gn=["accept","authorization","content-type"];function yn(e){var t=e.req,n=e.parameter,r=e.value;if(t.headers=t.headers||{},!(gn.indexOf(n.name.toLowerCase())>-1))if(n.content){var o=m()(n.content)[0];t.headers[n.name]=dn(r,o)}else void 0!==r&&(t.headers[n.name]=hn({key:n.name,value:r,style:n.style||"simple",explode:void 0!==n.explode&&n.explode,escape:!1}))}function bn(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{};var o=P()(r);if(n.content){var i=m()(n.content)[0];t.headers.Cookie="".concat(n.name,"=").concat(dn(r,i))}else if("undefined"!==o){var a="object"===o&&!M()(r)&&n.explode?"":"".concat(n.name,"=");t.headers.Cookie=a+hn({key:n.name,value:r,escape:!1,style:n.style||"form",explode:void 0!==n.explode&&n.explode})}}var _n=n(30),wn=function(e,t){var n=e.operation,r=e.requestBody,o=e.securities,i=e.spec,a=e.attachContentTypeForEmptyPayload,s=e.requestContentType;t=function(e){var t=e.request,n=e.securities,r=void 0===n?{}:n,o=e.operation,i=void 0===o?{}:o,a=e.spec,s=b()({},t),u=r.authorized,c=void 0===u?{}:u,l=i.security||a.security||[],p=c&&!!m()(c).length,f=Ut()(a,["components","securitySchemes"])||{};if(s.headers=s.headers||{},s.query=s.query||{},!m()(r).length||!p||!l||M()(i.security)&&!i.security.length)return t;return l.forEach(function(e,t){for(var n in e){var r=c[n],o=f[n];if(r){var i=r.value||r,a=o.type;if(r)if("apiKey"===a)"query"===o.in&&(s.query[o.name]=i),"header"===o.in&&(s.headers[o.name]=i),"cookie"===o.in&&(s.cookies[o.name]=i);else if("http"===a){if("basic"===o.scheme){var u=i.username,l=i.password,p=nn()("".concat(u,":").concat(l));s.headers.Authorization="Basic ".concat(p)}"bearer"===o.scheme&&(s.headers.Authorization="Bearer ".concat(i))}else if("oauth2"===a){var h=r.token||{},d=h[o["x-tokenName"]||"access_token"],m=h.token_type;m&&"bearer"!==m.toLowerCase()||(m="Bearer"),s.headers.Authorization="".concat(m," ").concat(d)}}}}),s}({request:t,securities:o,operation:n,spec:i});var u=n.requestBody||{},c=m()(u.content||{}),l=s&&c.indexOf(s)>-1;if(r||a){if(s&&l)t.headers["Content-Type"]=s;else if(!s){var p=c[0];p&&(t.headers["Content-Type"]=p,s=p)}}else s&&l&&(t.headers["Content-Type"]=s);return r&&(s?c.indexOf(s)>-1&&("application/x-www-form-urlencoded"===s||0===s.indexOf("multipart/")?"object"===P()(r)?(t.form={},m()(r).forEach(function(e){var n,o,i=r[e];"undefined"!=typeof File&&(o=i instanceof File),"undefined"!=typeof Blob&&(o=o||i instanceof Blob),void 0!==_n.Buffer&&(o=o||_n.Buffer.isBuffer(i)),n="object"!==P()(i)||o?i:M()(i)?i.toString():T()(i),t.form[e]={value:n}})):t.form=r:t.body=r):t.body=r),t};var xn=function(e,t){var n=e.spec,r=e.operation,o=e.securities,i=e.requestContentType,a=e.attachContentTypeForEmptyPayload;if((t=function(e){var t=e.request,n=e.securities,r=void 0===n?{}:n,o=e.operation,i=void 0===o?{}:o,a=e.spec,s=b()({},t),u=r.authorized,c=void 0===u?{}:u,l=r.specSecurity,p=void 0===l?[]:l,f=i.security||p,h=c&&!!m()(c).length,d=a.securityDefinitions;if(s.headers=s.headers||{},s.query=s.query||{},!m()(r).length||!h||!f||M()(i.security)&&!i.security.length)return t;return f.forEach(function(e,t){for(var n in e){var r=c[n];if(r){var o=r.token,i=r.value||r,a=d[n],u=a.type,l=a["x-tokenName"]||"access_token",p=o&&o[l],f=o&&o.token_type;if(r)if("apiKey"===u){var h="query"===a.in?"query":"headers";s[h]=s[h]||{},s[h][a.name]=i}else"basic"===u?i.header?s.headers.authorization=i.header:(i.base64=nn()("".concat(i.username,":").concat(i.password)),s.headers.authorization="Basic ".concat(i.base64)):"oauth2"===u&&p&&(f=f&&"bearer"!==f.toLowerCase()?f:"Bearer",s.headers.authorization="".concat(f," ").concat(p))}}}),s}({request:t,securities:o,operation:r,spec:n})).body||t.form||a)i?t.headers["Content-Type"]=i:M()(r.consumes)?t.headers["Content-Type"]=r.consumes[0]:M()(n.consumes)?t.headers["Content-Type"]=n.consumes[0]:r.parameters&&r.parameters.filter(function(e){return"file"===e.type}).length?t.headers["Content-Type"]="multipart/form-data":r.parameters&&r.parameters.filter(function(e){return"formData"===e.in}).length&&(t.headers["Content-Type"]="application/x-www-form-urlencoded");else if(i){var s=r.parameters&&r.parameters.filter(function(e){return"body"===e.in}).length>0,u=r.parameters&&r.parameters.filter(function(e){return"formData"===e.in}).length>0;(s||u)&&(t.headers["Content-Type"]=i)}return t};function En(e,t){var n=m()(e);if(h.a){var r=h()(e);t&&(r=r.filter(function(t){return p()(e,t).enumerable})),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?En(n,!0).forEach(function(t){g()(e,t,n[t])}):c.a?s()(e,c()(n)):En(n).forEach(function(t){i()(e,t,p()(n,t))})}return e}var Cn=function(e){return M()(e)?e:[]},kn=Be("OperationNotFoundError",function(e,t,n){this.originalError=n,ie()(this,t||{})}),On=function(e,t){return t.filter(function(t){return t.name===e})},An=function(e){var t={};e.forEach(function(e){t[e.in]||(t[e.in]={}),t[e.in][e.name]=e});var n=[];return m()(t).forEach(function(e){m()(t[e]).forEach(function(r){n.push(t[e][r])})}),n},Tn={buildRequest:jn};function jn(e){var t=e.spec,n=e.operationId,o=(e.securities,e.requestContentType,e.responseContentType),i=e.scheme,a=e.requestInterceptor,s=e.responseInterceptor,u=e.contextUrl,c=e.userFetch,l=(e.requestBody,e.server),p=e.serverVariables,f=e.http,h=e.parameters,d=e.parameterBuilders,v=Tt(t);d||(d=v?r:an);var g={url:"",credentials:f&&f.withCredentials?"include":"same-origin",headers:{},cookies:{}};a&&(g.requestInterceptor=a),s&&(g.responseInterceptor=s),c&&(g.userFetch=c);var y=It(t,n);if(!y)throw new kn("Operation ".concat(n," not found"));var b,_=y.operation,w=void 0===_?{}:_,x=y.method,S=y.pathName;if(g.url+=Tt((b={spec:t,scheme:i,contextUrl:u,server:l,serverVariables:p,pathName:S,method:x}).spec)?function(e){var t=e.spec,n=e.pathName,r=e.method,o=e.server,i=e.contextUrl,a=e.serverVariables,s=void 0===a?{}:a,u=Ut()(t,["paths",n,(r||"").toLowerCase(),"servers"])||Ut()(t,["paths",n,"servers"])||Ut()(t,["servers"]),c="",l=null;if(o&&u&&u.length){var p=u.map(function(e){return e.url});p.indexOf(o)>-1&&(c=o,l=u[p.indexOf(o)])}return!c&&u&&u.length&&(c=u[0].url,l=u[0]),c.indexOf("{")>-1&&function(e){for(var t,n=[],r=/{([^}]+)}/g;t=r.exec(e);)n.push(t[1]);return n}(c).forEach(function(e){if(l.variables&&l.variables[e]){var t=l.variables[e],n=s[e]||t.default,r=new RegExp("{".concat(e,"}"),"g");c=c.replace(r,n)}}),function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=E.a.parse(t),o=E.a.parse(n),i=Pn(r.protocol)||Pn(o.protocol)||"",a=r.host||o.host,s=r.pathname||"";return"/"===(e=i&&a?"".concat(i,"://").concat(a+s):s)[e.length-1]?e.slice(0,-1):e}(c,i)}(b):function(e){var t,n=e.spec,r=e.scheme,o=e.contextUrl,i=void 0===o?"":o,a=E.a.parse(i),s=M()(n.schemes)?n.schemes[0]:null,u=r||s||Pn(a.protocol)||"http",c=n.host||a.host||"",l=n.basePath||"";return"/"===(t=u&&c?"".concat(u,"://").concat(c+l):l)[t.length-1]?t.slice(0,-1):t}(b),!n)return delete g.cookies,g;g.url+=S,g.method="".concat(x).toUpperCase(),h=h||{};var C=t.paths[S]||{};o&&(g.headers.accept=o);var k=An([].concat(Cn(w.parameters)).concat(Cn(C.parameters)));k.forEach(function(e){var n,r=d[e.in];if("body"===e.in&&e.schema&&e.schema.properties&&(n=h),void 0===(n=e&&e.name&&h[e.name])?n=e&&e.name&&h["".concat(e.in,".").concat(e.name)]:On(e.name,k).length>1&&console.warn("Parameter '".concat(e.name,"' is ambiguous because the defined spec has more than one parameter with the name: '").concat(e.name,"' and the passed-in parameter values did not define an 'in' value.")),null!==n){if(void 0!==e.default&&void 0===n&&(n=e.default),void 0===n&&e.required&&!e.allowEmptyValue)throw new Error("Required parameter ".concat(e.name," is not provided"));if(v&&e.schema&&"object"===e.schema.type&&"string"==typeof n)try{n=JSON.parse(n)}catch(e){throw new Error("Could not parse object parameter value string as JSON")}r&&r({req:g,parameter:e,value:n,operation:w,spec:t})}});var O=Sn({},e,{operation:w});if((g=v?wn(O,g):xn(O,g)).cookies&&m()(g.cookies).length){var A=m()(g.cookies).reduce(function(e,t){var n=g.cookies[t];return e+(e?"&":"")+on.a.serialize(t,n)},"");g.headers.Cookie=A}return g.cookies&&delete g.cookies,Z(g),g}var Pn=function(e){return e?e.replace(/\W/g,""):null};function In(e,t){var n=m()(e);if(h.a){var r=h()(e);t&&(r=r.filter(function(t){return p()(e,t).enumerable})),n.push.apply(n,r)}return n}function Mn(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"==typeof e?n.url=e:n=e,!(this instanceof Mn))return new Mn(n);b()(this,n);var r=this.resolve().then(function(){return t.disableInterfaces||b()(t,Mn.makeApisTagOperation(t)),t});return r.client=this,r}Mn.http=V,Mn.makeHttp=function(e,t,n){return n=n||function(e){return e},t=t||function(e){return e},function(r){return"string"==typeof r&&(r={url:r}),z.mergeInQueryOrForm(r),r=t(r),n(e(r))}}.bind(null,Mn.http),Mn.resolve=Dt,Mn.resolveSubtree=function(e,t){return Bt.apply(this,arguments)},Mn.execute=function(e){var t=e.http,n=e.fetch,r=e.spec,o=e.operationId,i=e.pathName,a=e.method,s=e.parameters,u=e.securities,c=Gt()(e,["http","fetch","spec","operationId","pathName","method","parameters","securities"]),l=t||n||V;i&&a&&!o&&(o=Pt(i,a));var p=Tn.buildRequest(Sn({spec:r,operationId:o,parameters:s,securities:u,http:l},c));return p.body&&(Xt()(p.body)||en()(p.body))&&(p.body=T()(p.body)),l(p)},Mn.serializeRes=J,Mn.serializeHeaders=K,Mn.clearCache=function(){St.refs.clearCache()},Mn.makeApisTagOperation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Yt.makeExecute(e);return{apis:Yt.mapTagOperations({v2OperationIdCompatibilityMode:e.v2OperationIdCompatibilityMode,spec:e.spec,cb:t})}},Mn.buildRequest=jn,Mn.helpers={opId:jt},Mn.prototype={http:V,execute:function(e){return this.applyDefaults(),Mn.execute(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?In(n,!0).forEach(function(t){g()(e,t,n[t])}):c.a?s()(e,c()(n)):In(n).forEach(function(t){i()(e,t,p()(n,t))})}return e}({spec:this.spec,http:this.http,securities:{authorized:this.authorizations},contextUrl:"string"==typeof this.url?this.url:void 0},e))},resolve:function(){var e=this;return Mn.resolve({spec:this.spec,url:this.url,allowMetaPatches:this.allowMetaPatches,useCircularStructures:this.useCircularStructures,requestInterceptor:this.requestInterceptor||null,responseInterceptor:this.responseInterceptor||null}).then(function(t){return e.originalSpec=e.spec,e.spec=t.spec,e.errors=t.errors,e})}},Mn.prototype.applyDefaults=function(){var e=this.spec,t=this.url;if(t&&w()(t,"http")){var n=E.a.parse(t);e.host||(e.host=n.host),e.schemes||(e.schemes=[n.protocol.replace(":","")]),e.basePath||(e.basePath="/")}};t.default=Mn}]).default},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(426),a=n(90),s=n(427),u=n(116),c=n(185),l=n(15),p=[],f=0,h=i.getPooled(),d=!1,m=null;function v(){x.ReactReconcileTransaction&&m||r("123")}var g=[{initialize:function(){this.dirtyComponentsLength=p.length},close:function(){this.dirtyComponentsLength!==p.length?(p.splice(0,this.dirtyComponentsLength),w()):p.length=0}},{initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}}];function y(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=i.getPooled(),this.reconcileTransaction=x.ReactReconcileTransaction.getPooled(!0)}function b(e,t){return e._mountOrder-t._mountOrder}function _(e){var t=e.dirtyComponentsLength;t!==p.length&&r("124",t,p.length),p.sort(b),f++;for(var n=0;n<t;n++){var o,i=p[n],a=i._pendingCallbacks;if(i._pendingCallbacks=null,s.logTopLevelRenders){var c=i;i._currentElement.type.isReactTopLevelWrapper&&(c=i._renderedComponent),o="React update: "+c.getName(),console.time(o)}if(u.performUpdateIfNecessary(i,e.reconcileTransaction,f),o&&console.timeEnd(o),a)for(var l=0;l<a.length;l++)e.callbackQueue.enqueue(a[l],i.getPublicInstance())}}o(y.prototype,c,{getTransactionWrappers:function(){return g},destructor:function(){this.dirtyComponentsLength=null,i.release(this.callbackQueue),this.callbackQueue=null,x.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return c.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),a.addPoolingTo(y);var w=function(){for(;p.length||d;){if(p.length){var e=y.getPooled();e.perform(_,null,e),y.release(e)}if(d){d=!1;var t=h;h=i.getPooled(),t.notifyAll(),i.release(t)}}};var x={ReactReconcileTransaction:null,batchedUpdates:function(e,t,n,r,o,i){return v(),m.batchedUpdates(e,t,n,r,o,i)},enqueueUpdate:function e(t){v(),m.isBatchingUpdates?(p.push(t),null==t._updateBatchNumber&&(t._updateBatchNumber=f+1)):m.batchedUpdates(e,t)},flushBatchedUpdates:w,injection:{injectReconcileTransaction:function(e){e||r("126"),x.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e||r("127"),"function"!=typeof e.batchedUpdates&&r("128"),"boolean"!=typeof e.isBatchingUpdates&&r("129"),m=e}},asap:function(e,t){l(m.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),h.enqueue(e,t),d=!0}};e.exports=x},function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)&&r.length){var a=o.apply(null,r);a&&e.push(a)}else if("object"===i)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){e.exports=n(765)},function(e,t,n){e.exports=n(768)},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_SELECTED_SERVER",function(){return r}),n.d(t,"UPDATE_REQUEST_BODY_VALUE",function(){return o}),n.d(t,"UPDATE_ACTIVE_EXAMPLES_MEMBER",function(){return i}),n.d(t,"UPDATE_REQUEST_CONTENT_TYPE",function(){return a}),n.d(t,"UPDATE_RESPONSE_CONTENT_TYPE",function(){return s}),n.d(t,"UPDATE_SERVER_VARIABLE_VALUE",function(){return u}),n.d(t,"setSelectedServer",function(){return c}),n.d(t,"setRequestBodyValue",function(){return l}),n.d(t,"setActiveExamplesMember",function(){return p}),n.d(t,"setRequestContentType",function(){return f}),n.d(t,"setResponseContentType",function(){return h}),n.d(t,"setServerVariableValue",function(){return d});var r="oas3_set_servers",o="oas3_set_request_body_value",i="oas3_set_active_examples_member",a="oas3_set_request_content_type",s="oas3_set_response_content_type",u="oas3_set_server_variable_value";function c(e,t){return{type:r,payload:{selectedServerUrl:e,namespace:t}}}function l(e){var t=e.value,n=e.pathMethod;return{type:o,payload:{value:t,pathMethod:n}}}function p(e){var t=e.name,n=e.pathMethod,r=e.contextType,o=e.contextName;return{type:i,payload:{name:t,pathMethod:n,contextType:r,contextName:o}}}function f(e){var t=e.value,n=e.pathMethod;return{type:a,payload:{value:t,pathMethod:n}}}function h(e){var t=e.value,n=e.path,r=e.method;return{type:s,payload:{value:t,path:n,method:r}}}function d(e){var t=e.server,n=e.namespace,r=e.key,o=e.val;return{type:u,payload:{server:t,namespace:n,key:r,val:o}}}},function(e,t,n){var r=n(132);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";(function(e){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> + * @license MIT + */ +var r=n(569),o=n(570),i=n(355);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,n){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return p(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=f(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!u.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|d(t,n),o=(e=s(e,r)).write(t,n);o!==r&&(e=e.slice(0,o));return e}(e,t,n):function(e,t){if(u.isBuffer(t)){var n=0|h(t.length);return 0===(e=s(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?s(e,0):f(e,t);if("Buffer"===t.type&&i(t.data))return f(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function p(e,t){if(l(t),e=s(e,t<0?0:0|h(t)),!u.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function f(e,t){var n=t.length<0?0:0|h(t.length);e=s(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function h(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function d(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return z(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return j(this,t,n);case"utf8":case"utf-8":return k(this,t,n);case"ascii":return A(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function v(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,o);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,o){var i,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(i=n;i<s;i++)if(c(e,i)===c(t,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*a}else-1!==l&&(i-=i-l),l=-1}else for(n+u>s&&(n=s-u),i=n;i>=0;i--){for(var p=!0,f=0;f<u;f++)if(c(e,i+f)!==c(t,f)){p=!1;break}if(p)return i}return-1}function b(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function _(e,t,n,r){return V(B(t,e.length-n),e,n,r)}function w(e,t,n,r){return V(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function x(e,t,n,r){return w(e,t,n,r)}function E(e,t,n,r){return V(z(t),e,n,r)}function S(e,t,n,r){return V(function(e,t){for(var n,r,o,i=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function k(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i,a,s,u,c=e[o],l=null,p=c>239?4:c>223?3:c>191?2:1;if(o+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:i=e[o+1],a=e[o+2],128==(192&i)&&128==(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:i=e[o+1],a=e[o+2],s=e[o+3],128==(192&i)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=p}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=O));return n}(r)}t.Buffer=u,t.SlowBuffer=function(e){+e!=e&&(e=0);return u.alloc(+e)},t.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,n){return c(null,e,t,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?s(e,t):void 0!==n?"string"==typeof r?s(e,t).fill(n,r):s(e,t).fill(n):s(e,t)}(null,e,t,n)},u.allocUnsafe=function(e){return p(null,e)},u.allocUnsafeSlow=function(e){return p(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(e,t){if(!i(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=u.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var a=e[n];if(!u.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,o),o+=a.length}return r},u.byteLength=d,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)v(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)v(this,t,t+3),v(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)v(this,t,t+7),v(this,t+1,t+6),v(this,t+2,t+5),v(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?k(this,0,e):m.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},u.prototype.compare=function(e,t,n,r,o){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(i,a),c=this.slice(r,o),l=e.slice(t,n),p=0;p<s;++p)if(c[p]!==l[p]){i=c[p],a=l[p];break}return i<a?-1:a<i?1:0},u.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},u.prototype.indexOf=function(e,t,n){return g(this,e,t,n,!0)},u.prototype.lastIndexOf=function(e,t,n){return g(this,e,t,n,!1)},u.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return _(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return x(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function A(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function T(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function j(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",i=t;i<n;++i)o+=F(e[i]);return o}function P(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function I(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,r,o,i){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function D(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,r,i){return i||D(e,0,n,4),o.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,i){return i||D(e,0,n,8),o.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=u.prototype;else{var o=t-e;n=new u(o,void 0);for(var i=0;i<o;++i)n[i]=this[i+e]}return n},u.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||I(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},u.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||I(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},u.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||I(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||I(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},u.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),o.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),o.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),o.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),o.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i<n&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);M(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);M(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},u.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!u.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var a=u.isBuffer(e)?e:B(new u(e,r).toString()),s=a.length;for(i=0;i<n-t;++i)this[i+t]=a[i%s]}return this};var q=/[^+\/0-9A-Za-z-_]/g;function F(e){return e<16?"0"+e.toString(16):e.toString(16)}function B(e,t){var n;t=t||1/0;for(var r=e.length,o=null,i=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function z(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}}).call(this,n(36))},function(e,t,n){"use strict";e.exports={current:null}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,c=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):p=-1,c.length&&h())}function h(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(u=c,c=[];++p<t;)u&&u[p].run();p=-1,t=c.length}u=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new d(e,t)),1!==c.length||l||s(h)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(25),o=n(90),i=n(57),a=(n(23),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),s={type:null,target:null,currentTarget:i.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function u(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var a in o)if(o.hasOwnProperty(a)){0;var s=o[a];s?this[a]=s(n):"target"===a?this.target=r:this[a]=n[a]}var u=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;return this.isDefaultPrevented=u?i.thatReturnsTrue:i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse,this}r(u.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<a.length;n++)this[a[n]]=null}}),u.Interface=s,u.augmentClass=function(e,t){var n=function(){};n.prototype=this.prototype;var i=new n;r(i,e.prototype),e.prototype=i,e.prototype.constructor=e,e.Interface=r({},this.Interface,t),e.augmentClass=this.augmentClass,o.addPoolingTo(e,o.fourArgumentPooler)},o.addPoolingTo(u,o.fourArgumentPooler),e.exports=u},function(e,t,n){var r=n(365);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){"use strict";n.r(t),n.d(t,"lastError",function(){return d}),n.d(t,"url",function(){return m}),n.d(t,"specStr",function(){return v}),n.d(t,"specSource",function(){return g}),n.d(t,"specJson",function(){return y}),n.d(t,"specResolved",function(){return b}),n.d(t,"specResolvedSubtree",function(){return _}),n.d(t,"specJsonWithResolvedSubtrees",function(){return x}),n.d(t,"spec",function(){return E}),n.d(t,"isOAS3",function(){return S}),n.d(t,"info",function(){return C}),n.d(t,"externalDocs",function(){return k}),n.d(t,"version",function(){return O}),n.d(t,"semver",function(){return A}),n.d(t,"paths",function(){return T}),n.d(t,"operations",function(){return j}),n.d(t,"consumes",function(){return P}),n.d(t,"produces",function(){return I}),n.d(t,"security",function(){return M}),n.d(t,"securityDefinitions",function(){return N}),n.d(t,"findDefinition",function(){return R}),n.d(t,"definitions",function(){return D}),n.d(t,"basePath",function(){return L}),n.d(t,"host",function(){return U}),n.d(t,"schemes",function(){return q}),n.d(t,"operationsWithRootInherited",function(){return F}),n.d(t,"tags",function(){return B}),n.d(t,"tagDetails",function(){return z}),n.d(t,"operationsWithTags",function(){return V}),n.d(t,"taggedOperations",function(){return H}),n.d(t,"responses",function(){return W}),n.d(t,"requests",function(){return J}),n.d(t,"mutatedRequests",function(){return K}),n.d(t,"responseFor",function(){return Y}),n.d(t,"requestFor",function(){return $}),n.d(t,"mutatedRequestFor",function(){return G}),n.d(t,"allowTryItOutFor",function(){return Z}),n.d(t,"parameterWithMetaByIdentity",function(){return X}),n.d(t,"parameterInclusionSettingFor",function(){return Q}),n.d(t,"parameterWithMeta",function(){return ee}),n.d(t,"operationWithMeta",function(){return te}),n.d(t,"getParameter",function(){return ne}),n.d(t,"hasHost",function(){return re}),n.d(t,"parameterValues",function(){return oe}),n.d(t,"parametersIncludeIn",function(){return ie}),n.d(t,"parametersIncludeType",function(){return ae}),n.d(t,"contentTypeValues",function(){return se}),n.d(t,"currentProducesFor",function(){return ue}),n.d(t,"producesOptionsFor",function(){return ce}),n.d(t,"consumesOptionsFor",function(){return le}),n.d(t,"operationScheme",function(){return pe}),n.d(t,"canExecuteScheme",function(){return fe}),n.d(t,"validateBeforeExecute",function(){return he});var r=n(14),o=n.n(r),i=n(13),a=n.n(i),s=n(12),u=n.n(s),c=n(11),l=n(3),p=n(1),f=["get","put","post","delete","options","head","patch","trace"],h=function(e){return e||Object(p.Map)()},d=Object(c.createSelector)(h,function(e){return e.get("lastError")}),m=Object(c.createSelector)(h,function(e){return e.get("url")}),v=Object(c.createSelector)(h,function(e){return e.get("spec")||""}),g=Object(c.createSelector)(h,function(e){return e.get("specSource")||"not-editor"}),y=Object(c.createSelector)(h,function(e){return e.get("json",Object(p.Map)())}),b=Object(c.createSelector)(h,function(e){return e.get("resolved",Object(p.Map)())}),_=function(e,t){return e.getIn(["resolvedSubtrees"].concat(u()(t)),void 0)},w=function e(t,n){return p.Map.isMap(t)&&p.Map.isMap(n)?n.get("$$ref")?n:Object(p.OrderedMap)().mergeWith(e,t,n):n},x=Object(c.createSelector)(h,function(e){return Object(p.OrderedMap)().mergeWith(w,e.get("json"),e.get("resolvedSubtrees"))}),E=function(e){return y(e)},S=Object(c.createSelector)(E,function(){return!1}),C=Object(c.createSelector)(E,function(e){return de(e&&e.get("info"))}),k=Object(c.createSelector)(E,function(e){return de(e&&e.get("externalDocs"))}),O=Object(c.createSelector)(C,function(e){return e&&e.get("version")}),A=Object(c.createSelector)(O,function(e){return/v?([0-9]*)\.([0-9]*)\.([0-9]*)/i.exec(e).slice(1)}),T=Object(c.createSelector)(x,function(e){return e.get("paths")}),j=Object(c.createSelector)(T,function(e){if(!e||e.size<1)return Object(p.List)();var t=Object(p.List)();return e&&e.forEach?(e.forEach(function(e,n){if(!e||!e.forEach)return{};e.forEach(function(e,r){f.indexOf(r)<0||(t=t.push(Object(p.fromJS)({path:n,method:r,operation:e,id:"".concat(r,"-").concat(n)})))})}),t):Object(p.List)()}),P=Object(c.createSelector)(E,function(e){return Object(p.Set)(e.get("consumes"))}),I=Object(c.createSelector)(E,function(e){return Object(p.Set)(e.get("produces"))}),M=Object(c.createSelector)(E,function(e){return e.get("security",Object(p.List)())}),N=Object(c.createSelector)(E,function(e){return e.get("securityDefinitions")}),R=function(e,t){var n=e.getIn(["resolvedSubtrees","definitions",t],null),r=e.getIn(["json","definitions",t],null);return n||r||null},D=Object(c.createSelector)(E,function(e){var t=e.get("definitions");return p.Map.isMap(t)?t:Object(p.Map)()}),L=Object(c.createSelector)(E,function(e){return e.get("basePath")}),U=Object(c.createSelector)(E,function(e){return e.get("host")}),q=Object(c.createSelector)(E,function(e){return e.get("schemes",Object(p.Map)())}),F=Object(c.createSelector)(j,P,I,function(e,t,n){return e.map(function(e){return e.update("operation",function(e){if(e){if(!p.Map.isMap(e))return;return e.withMutations(function(e){return e.get("consumes")||e.update("consumes",function(e){return Object(p.Set)(e).merge(t)}),e.get("produces")||e.update("produces",function(e){return Object(p.Set)(e).merge(n)}),e})}return Object(p.Map)()})})}),B=Object(c.createSelector)(E,function(e){var t=e.get("tags",Object(p.List)());return p.List.isList(t)?t.filter(function(e){return p.Map.isMap(e)}):Object(p.List)()}),z=function(e,t){return(B(e)||Object(p.List)()).filter(p.Map.isMap).find(function(e){return e.get("name")===t},Object(p.Map)())},V=Object(c.createSelector)(F,B,function(e,t){return e.reduce(function(e,t){var n=Object(p.Set)(t.getIn(["operation","tags"]));return n.count()<1?e.update("default",Object(p.List)(),function(e){return e.push(t)}):n.reduce(function(e,n){return e.update(n,Object(p.List)(),function(e){return e.push(t)})},e)},t.reduce(function(e,t){return e.set(t.get("name"),Object(p.List)())},Object(p.OrderedMap)()))}),H=function(e){return function(t){var n=(0,t.getConfigs)(),r=n.tagsSorter,o=n.operationsSorter;return V(e).sortBy(function(e,t){return t},function(e,t){var n="function"==typeof r?r:l.H.tagsSorter[r];return n?n(e,t):null}).map(function(t,n){var r="function"==typeof o?o:l.H.operationsSorter[o],i=r?t.sort(r):t;return Object(p.Map)({tagDetails:z(e,n),operations:i})})}},W=Object(c.createSelector)(h,function(e){return e.get("responses",Object(p.Map)())}),J=Object(c.createSelector)(h,function(e){return e.get("requests",Object(p.Map)())}),K=Object(c.createSelector)(h,function(e){return e.get("mutatedRequests",Object(p.Map)())}),Y=function(e,t,n){return W(e).getIn([t,n],null)},$=function(e,t,n){return J(e).getIn([t,n],null)},G=function(e,t,n){return K(e).getIn([t,n],null)},Z=function(){return!0},X=function(e,t,n){var r=x(e).getIn(["paths"].concat(u()(t),["parameters"]),Object(p.OrderedMap)()),o=e.getIn(["meta","paths"].concat(u()(t),["parameters"]),Object(p.OrderedMap)());return r.map(function(e){var t=o.get("".concat(n.get("in"),".").concat(n.get("name"))),r=o.get("".concat(n.get("in"),".").concat(n.get("name"),".hash-").concat(n.hashCode()));return Object(p.OrderedMap)().merge(e,t,r)}).find(function(e){return e.get("in")===n.get("in")&&e.get("name")===n.get("name")},Object(p.OrderedMap)())},Q=function(e,t,n,r){var o="".concat(r,".").concat(n);return e.getIn(["meta","paths"].concat(u()(t),["parameter_inclusions",o]),!1)},ee=function(e,t,n,r){var o=x(e).getIn(["paths"].concat(u()(t),["parameters"]),Object(p.OrderedMap)()).find(function(e){return e.get("in")===r&&e.get("name")===n},Object(p.OrderedMap)());return X(e,t,o)},te=function(e,t,n){var r=x(e).getIn(["paths",t,n],Object(p.OrderedMap)()),o=e.getIn(["meta","paths",t,n],Object(p.OrderedMap)()),i=r.get("parameters",Object(p.List)()).map(function(r){return X(e,[t,n],r)});return Object(p.OrderedMap)().merge(r,o).set("parameters",i)};function ne(e,t,n,r){return t=t||[],e.getIn(["meta","paths"].concat(u()(t),["parameters"]),Object(p.fromJS)([])).find(function(e){return p.Map.isMap(e)&&e.get("name")===n&&e.get("in")===r})||Object(p.Map)()}var re=Object(c.createSelector)(E,function(e){var t=e.get("host");return"string"==typeof t&&t.length>0&&"/"!==t[0]});function oe(e,t,n){return t=t||[],te.apply(void 0,[e].concat(u()(t))).get("parameters",Object(p.List)()).reduce(function(e,t){var r=n&&"body"===t.get("in")?t.get("value_xml"):t.get("value");return e.set(Object(l.B)(t,{allowHashes:!1}),r)},Object(p.fromJS)({}))}function ie(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(p.List.isList(e))return e.some(function(e){return p.Map.isMap(e)&&e.get("in")===t})}function ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(p.List.isList(e))return e.some(function(e){return p.Map.isMap(e)&&e.get("type")===t})}function se(e,t){t=t||[];var n=x(e).getIn(["paths"].concat(u()(t)),Object(p.fromJS)({})),r=e.getIn(["meta","paths"].concat(u()(t)),Object(p.fromJS)({})),o=ue(e,t),i=n.get("parameters")||new p.List,a=r.get("consumes_value")?r.get("consumes_value"):ae(i,"file")?"multipart/form-data":ae(i,"formData")?"application/x-www-form-urlencoded":void 0;return Object(p.fromJS)({requestContentType:a,responseContentType:o})}function ue(e,t){t=t||[];var n=x(e).getIn(["paths"].concat(u()(t)),null);if(null!==n){var r=e.getIn(["meta","paths"].concat(u()(t),["produces_value"]),null),o=n.getIn(["produces",0],null);return r||o||"application/json"}}function ce(e,t){t=t||[];var n=x(e),r=n.getIn(["paths"].concat(u()(t)),null);if(null!==r){var o=t,i=a()(o,1)[0],s=r.get("produces",null),c=n.getIn(["paths",i,"produces"],null),l=n.getIn(["produces"],null);return s||c||l}}function le(e,t){t=t||[];var n=x(e),r=n.getIn(["paths"].concat(u()(t)),null);if(null!==r){var o=t,i=a()(o,1)[0],s=r.get("consumes",null),c=n.getIn(["paths",i,"consumes"],null),l=n.getIn(["consumes"],null);return s||c||l}}var pe=function(e,t,n){var r=e.get("url").match(/^([a-z][a-z0-9+\-.]*):/),i=o()(r)?r[1]:null;return e.getIn(["scheme",t,n])||e.getIn(["scheme","_defaultScheme"])||i||""},fe=function(e,t,n){return["http","https"].indexOf(pe(e,t,n))>-1},he=function(e,t){t=t||[];var n=e.getIn(["meta","paths"].concat(u()(t),["parameters"]),Object(p.fromJS)([])),r=!0;return n.forEach(function(e){var t=e.get("errors");t&&t.count()&&(r=!1)}),r};function de(e){return p.Map.isMap(e)?e:new p.Map}},function(e,t,n){"use strict";n.r(t),n.d(t,"SHOW_AUTH_POPUP",function(){return d}),n.d(t,"AUTHORIZE",function(){return m}),n.d(t,"LOGOUT",function(){return v}),n.d(t,"PRE_AUTHORIZE_OAUTH2",function(){return g}),n.d(t,"AUTHORIZE_OAUTH2",function(){return y}),n.d(t,"VALIDATE",function(){return b}),n.d(t,"CONFIGURE_AUTH",function(){return _}),n.d(t,"showDefinitions",function(){return w}),n.d(t,"authorize",function(){return x}),n.d(t,"logout",function(){return E}),n.d(t,"preAuthorizeImplicit",function(){return S}),n.d(t,"authorizeOauth2",function(){return C}),n.d(t,"authorizePassword",function(){return k}),n.d(t,"authorizeApplication",function(){return O}),n.d(t,"authorizeAccessCodeWithFormParams",function(){return A}),n.d(t,"authorizeAccessCodeWithBasicAuthentication",function(){return T}),n.d(t,"authorizeRequest",function(){return j}),n.d(t,"configureAuth",function(){return P});var r=n(26),o=n.n(r),i=n(16),a=n.n(i),s=n(28),u=n.n(s),c=n(95),l=n.n(c),p=n(18),f=n.n(p),h=n(3),d="show_popup",m="authorize",v="logout",g="pre_authorize_oauth2",y="authorize_oauth2",b="validate",_="configure_auth";function w(e){return{type:d,payload:e}}function x(e){return{type:m,payload:e}}function E(e){return{type:v,payload:e}}var S=function(e){return function(t){var n=t.authActions,r=t.errActions,o=e.auth,i=e.token,a=e.isValid,s=o.schema,c=o.name,l=s.get("flow");delete f.a.swaggerUIRedirectOauth2,"accessCode"===l||a||r.newAuthErr({authId:c,source:"auth",level:"warning",message:"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"}),i.error?r.newAuthErr({authId:c,source:"auth",level:"error",message:u()(i)}):n.authorizeOauth2({auth:o,token:i})}};function C(e){return{type:y,payload:e}}var k=function(e){return function(t){var n=t.authActions,r=e.schema,o=e.name,i=e.username,s=e.password,u=e.passwordType,c=e.clientId,l=e.clientSecret,p={grant_type:"password",scope:e.scopes.join(" "),username:i,password:s},f={};switch(u){case"request-body":!function(e,t,n){t&&a()(e,{client_id:t});n&&a()(e,{client_secret:n})}(p,c,l);break;case"basic":f.Authorization="Basic "+Object(h.a)(c+":"+l);break;default:console.warn("Warning: invalid passwordType ".concat(u," was passed, not including client id and secret"))}return n.authorizeRequest({body:Object(h.b)(p),url:r.get("tokenUrl"),name:o,headers:f,query:{},auth:e})}};var O=function(e){return function(t){var n=t.authActions,r=e.schema,o=e.scopes,i=e.name,a=e.clientId,s=e.clientSecret,u={Authorization:"Basic "+Object(h.a)(a+":"+s)},c={grant_type:"client_credentials",scope:o.join(" ")};return n.authorizeRequest({body:Object(h.b)(c),name:i,url:r.get("tokenUrl"),auth:e,headers:u})}},A=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,o=t.schema,i=t.name,a=t.clientId,s=t.clientSecret,u=t.codeVerifier,c={grant_type:"authorization_code",code:t.code,client_id:a,client_secret:s,redirect_uri:n,code_verifier:u};return r.authorizeRequest({body:Object(h.b)(c),name:i,url:o.get("tokenUrl"),auth:t})}},T=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,o=t.schema,i=t.name,a=t.clientId,s=t.clientSecret,u={Authorization:"Basic "+Object(h.a)(a+":"+s)},c={grant_type:"authorization_code",code:t.code,client_id:a,redirect_uri:n};return r.authorizeRequest({body:Object(h.b)(c),name:i,url:o.get("tokenUrl"),auth:t,headers:u})}},j=function(e){return function(t){var n,r=t.fn,i=t.getConfigs,s=t.authActions,c=t.errActions,p=t.oas3Selectors,f=t.specSelectors,h=t.authSelectors,d=e.body,m=e.query,v=void 0===m?{}:m,g=e.headers,y=void 0===g?{}:g,b=e.name,_=e.url,w=e.auth,x=(h.getConfigs()||{}).additionalQueryStringParams;n=f.isOAS3()?l()(_,p.selectedServer(),!0):l()(_,f.url(),!0),"object"===o()(x)&&(n.query=a()({},n.query,x));var E=n.toString(),S=a()({Accept:"application/json, text/plain, */*","Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},y);r.fetch({url:E,method:"post",headers:S,query:v,body:d,requestInterceptor:i().requestInterceptor,responseInterceptor:i().responseInterceptor}).then(function(e){var t=JSON.parse(e.data),n=t&&(t.error||""),r=t&&(t.parseError||"");e.ok?n||r?c.newAuthErr({authId:b,level:"error",source:"auth",message:u()(t)}):s.authorizeOauth2({auth:w,token:t}):c.newAuthErr({authId:b,level:"error",source:"auth",message:e.statusText})}).catch(function(e){var t=new Error(e).message;if(e.response&&e.response.data){var n=e.response.data;try{var r="string"==typeof n?JSON.parse(n):n;r.error&&(t+=", error: ".concat(r.error)),r.error_description&&(t+=", description: ".concat(r.error_description))}catch(e){}}c.newAuthErr({authId:b,level:"error",source:"auth",message:t})})}};function P(e){return{type:_,payload:e}}},function(e,t){var n=e.exports={version:"2.6.5"};"number"==typeof __e&&(__e=n)},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(127),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(211),o=n(210);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(49),o=n(133);e.exports=n(50)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_LAYOUT",function(){return o}),n.d(t,"UPDATE_FILTER",function(){return i}),n.d(t,"UPDATE_MODE",function(){return a}),n.d(t,"SHOW",function(){return s}),n.d(t,"updateLayout",function(){return u}),n.d(t,"updateFilter",function(){return c}),n.d(t,"show",function(){return l}),n.d(t,"changeMode",function(){return p});var r=n(3),o="layout_update_layout",i="layout_update_filter",a="layout_update_mode",s="layout_show";function u(e){return{type:o,payload:e}}function c(e){return{type:i,payload:e}}function l(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e=Object(r.w)(e),{type:s,payload:{thing:e,shown:t}}}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e=Object(r.w)(e),{type:a,payload:{thing:e,mode:t}}}},function(e,t,n){"use strict";(function(t){ +/*! + * @description Recursive object extending + * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com> + * @license MIT + * + * The MIT License (MIT) + * + * Copyright (c) 2013-2018 Viacheslav Lotsmanov + * + * 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. + */ +function n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=t.alloc?t.alloc(e.length):new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function o(e){var t=[];return e.forEach(function(e,i){"object"==typeof e&&null!==e?Array.isArray(e)?t[i]=o(e):n(e)?t[i]=r(e):t[i]=a({},e):t[i]=e}),t}function i(e,t){return"__proto__"===t?void 0:e[t]}var a=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,s=arguments[0],u=Array.prototype.slice.call(arguments,1);return u.forEach(function(u){"object"!=typeof u||null===u||Array.isArray(u)||Object.keys(u).forEach(function(c){return t=i(s,c),(e=i(u,c))===s?void 0:"object"!=typeof e||null===e?void(s[c]=e):Array.isArray(e)?void(s[c]=o(e)):n(e)?void(s[c]=r(e)):"object"!=typeof t||null===t||Array.isArray(t)?void(s[c]=a({},e)):void(s[c]=a(t,e))})}),s}}).call(this,n(64).Buffer)},function(e,t,n){var r=n(151),o=n(336);e.exports=n(126)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(106),o=n(603),i=n(604),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,n){var r=n(621),o=n(624);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(380),o=n(661),i=n(107);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){"use strict";var r=n(178),o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=p;var i=n(137);i.inherits=n(47);var a=n(390),s=n(240);i.inherits(p,a);for(var u=o(s.prototype),c=0;c<u.length;c++){var l=u[c];p.prototype[l]||(p.prototype[l]=s.prototype[l])}function p(e){if(!(this instanceof p))return new p(e);a.call(this,e),s.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",f)}function f(){this.allowHalfOpen||this._writableState.ended||r.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(p.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(p.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),p.prototype._destroy=function(e,t){this.push(null),this.end(),r.nextTick(t,e)}},function(e,t,n){"use strict";var r=n(397)();e.exports=function(e){return e!==r&&null!==e}},function(e,t,n){"use strict";var r=n(696),o=Math.max;e.exports=function(e){return o(0,r(e))}},function(e,t,n){},function(e,t,n){"use strict";var r=n(21),o=(n(15),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),i=function(e){e instanceof this||r("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},a=o,s={addPoolingTo:function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||a,n.poolSize||(n.poolSize=10),n.release=i,n},oneArgumentPooler:o,twoArgumentPooler:function(e,t){if(this.instancePool.length){var n=this.instancePool.pop();return this.call(n,e,t),n}return new this(e,t)},threeArgumentPooler:function(e,t,n){if(this.instancePool.length){var r=this.instancePool.pop();return this.call(r,e,t,n),r}return new this(e,t,n)},fourArgumentPooler:function(e,t,n,r){if(this.instancePool.length){var o=this.instancePool.pop();return this.call(o,e,t,n,r),o}return new this(e,t,n,r)}};e.exports=s},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){e.exports=n(599)},function(e,t,n){var r=n(177);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},function(e,t,n){e.exports=n(763)},function(e,t,n){"use strict";(function(t){var r=n(803),o=n(804),i=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,a=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,s=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function u(e){return(e||"").toString().replace(s,"")}var c=[["#","hash"],["?","query"],function(e){return e.replace("\\","/")},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],l={hash:1,query:1};function p(e){var n,r=("undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{}).location||{},o={},a=typeof(e=e||r);if("blob:"===e.protocol)o=new h(unescape(e.pathname),{});else if("string"===a)for(n in o=new h(e,{}),l)delete o[n];else if("object"===a){for(n in e)n in l||(o[n]=e[n]);void 0===o.slashes&&(o.slashes=i.test(e.href))}return o}function f(e){e=u(e);var t=a.exec(e);return{protocol:t[1]?t[1].toLowerCase():"",slashes:!!t[2],rest:t[3]}}function h(e,t,n){if(e=u(e),!(this instanceof h))return new h(e,t,n);var i,a,s,l,d,m,v=c.slice(),g=typeof t,y=this,b=0;for("object"!==g&&"string"!==g&&(n=t,t=null),n&&"function"!=typeof n&&(n=o.parse),t=p(t),i=!(a=f(e||"")).protocol&&!a.slashes,y.slashes=a.slashes||i&&t.slashes,y.protocol=a.protocol||t.protocol||"",e=a.rest,a.slashes||(v[3]=[/(.*)/,"pathname"]);b<v.length;b++)"function"!=typeof(l=v[b])?(s=l[0],m=l[1],s!=s?y[m]=e:"string"==typeof s?~(d=e.indexOf(s))&&("number"==typeof l[2]?(y[m]=e.slice(0,d),e=e.slice(d+l[2])):(y[m]=e.slice(d),e=e.slice(0,d))):(d=s.exec(e))&&(y[m]=d[1],e=e.slice(0,d.index)),y[m]=y[m]||i&&l[3]&&t[m]||"",l[4]&&(y[m]=y[m].toLowerCase())):e=l(e);n&&(y.query=n(y.query)),i&&t.slashes&&"/"!==y.pathname.charAt(0)&&(""!==y.pathname||""!==t.pathname)&&(y.pathname=function(e,t){if(""===e)return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),r=n.length,o=n[r-1],i=!1,a=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),a++):a&&(0===r&&(i=!0),n.splice(r,1),a--);return i&&n.unshift(""),"."!==o&&".."!==o||n.push(""),n.join("/")}(y.pathname,t.pathname)),r(y.port,y.protocol)||(y.host=y.hostname,y.port=""),y.username=y.password="",y.auth&&(l=y.auth.split(":"),y.username=l[0]||"",y.password=l[1]||""),y.origin=y.protocol&&y.host&&"file:"!==y.protocol?y.protocol+"//"+y.host:"null",y.href=y.toString()}h.prototype={set:function(e,t,n){var i=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(n||o.parse)(t)),i[e]=t;break;case"port":i[e]=t,r(t,i.protocol)?t&&(i.host=i.hostname+":"+t):(i.host=i.hostname,i[e]="");break;case"hostname":i[e]=t,i.port&&(t+=":"+i.port),i.host=t;break;case"host":i[e]=t,/:\d+$/.test(t)?(t=t.split(":"),i.port=t.pop(),i.hostname=t.join(":")):(i.hostname=t,i.port="");break;case"protocol":i.protocol=t.toLowerCase(),i.slashes=!n;break;case"pathname":case"hash":if(t){var a="pathname"===e?"/":"#";i[e]=t.charAt(0)!==a?a+t:t}else i[e]=t;break;default:i[e]=t}for(var s=0;s<c.length;s++){var u=c[s];u[4]&&(i[u[1]]=i[u[1]].toLowerCase())}return i.origin=i.protocol&&i.host&&"file:"!==i.protocol?i.protocol+"//"+i.host:"null",i.href=i.toString(),i},toString:function(e){e&&"function"==typeof e||(e=o.stringify);var t,n=this,r=n.protocol;r&&":"!==r.charAt(r.length-1)&&(r+=":");var i=r+(n.slashes?"//":"");return n.username&&(i+=n.username,n.password&&(i+=":"+n.password),i+="@"),i+=n.host+n.pathname,(t="object"==typeof n.query?e(n.query):n.query)&&(i+="?"!==t.charAt(0)?"?"+t:t),n.hash&&(i+=n.hash),i}},h.extractProtocol=f,h.location=p,h.trimLeft=u,h.qs=o,e.exports=h}).call(this,n(36))},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return a});var r=n(478),o=n.n(r),i=[n(275),n(276)];function a(e,t){var n={jsSpec:t.specSelectors.specJson().toJS()};return o()(i,function(e,t){try{return t.transform(e,n).filter(function(e){return!!e})}catch(t){return console.error("Transformer error:",t),e}},e).filter(function(e){return!!e}).map(function(e){return!e.get("line")&&e.get("path"),e})}},function(e,t,n){var r=n(41),o=n(81),i=n(152),a=n(199)("src"),s=n(494),u=(""+s).split("toString");n(72).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(c&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||s.call(this)})},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(210);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=n(559)(!0);n(219)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){e.exports={}},function(e,t,n){n(561);for(var r=n(32),o=n(77),i=n(102),a=n(34)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var c=s[u],l=r[c],p=l&&l.prototype;p&&!p[a]&&o(p,a,c),i[c]=i.Array}},function(e,t,n){"use strict";var r=n(25),o=n(357),i=n(578),a=n(583),s=n(105),u=n(584),c=n(588),l=n(589),p=n(591),f=s.createElement,h=s.createFactory,d=s.cloneElement,m=r,v={Children:{map:i.map,forEach:i.forEach,count:i.count,toArray:i.toArray,only:p},Component:o.Component,PureComponent:o.PureComponent,createElement:f,cloneElement:d,isValidElement:s.isValidElement,PropTypes:u,createClass:l,createFactory:h,createMixin:function(e){return e},DOM:a,version:c,__spread:m};e.exports=v},function(e,t,n){"use strict";var r=n(25),o=n(65),i=(n(23),n(359),Object.prototype.hasOwnProperty),a=n(360),s={key:!0,ref:!0,__self:!0,__source:!0};function u(e){return void 0!==e.ref}function c(e){return void 0!==e.key}var l=function(e,t,n,r,o,i,s){return{$$typeof:a,type:e,key:t,ref:n,props:s,_owner:i}};l.createElement=function(e,t,n){var r,a={},p=null,f=null;if(null!=t)for(r in u(t)&&(f=t.ref),c(t)&&(p=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source,t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);var h=arguments.length-2;if(1===h)a.children=n;else if(h>1){for(var d=Array(h),m=0;m<h;m++)d[m]=arguments[m+2];0,a.children=d}if(e&&e.defaultProps){var v=e.defaultProps;for(r in v)void 0===a[r]&&(a[r]=v[r])}return l(e,p,f,0,0,o.current,a)},l.createFactory=function(e){var t=l.createElement.bind(null,e);return t.type=e,t},l.cloneAndReplaceKey=function(e,t){return l(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},l.cloneElement=function(e,t,n){var a,p,f=r({},e.props),h=e.key,d=e.ref,m=(e._self,e._source,e._owner);if(null!=t)for(a in u(t)&&(d=t.ref,m=o.current),c(t)&&(h=""+t.key),e.type&&e.type.defaultProps&&(p=e.type.defaultProps),t)i.call(t,a)&&!s.hasOwnProperty(a)&&(void 0===t[a]&&void 0!==p?f[a]=p[a]:f[a]=t[a]);var v=arguments.length-2;if(1===v)f.children=n;else if(v>1){for(var g=Array(v),y=0;y<v;y++)g[y]=arguments[y+2];f.children=g}return l(e.type,h,d,0,0,m,f)},l.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},e.exports=l},function(e,t,n){var r=n(51).Symbol;e.exports=r},function(e,t,n){var r=n(371),o=n(233);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r=n(37),o=n(236),i=n(669),a=n(69);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){var r=n(167),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){"use strict";var r=n(87);e.exports=function(e){if(!r(e))throw new TypeError("Cannot use null or undefined");return e}},function(e,t,n){var r=n(48).Buffer;function o(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}o.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=r.from(e,t));for(var n=this._block,o=this._blockSize,i=e.length,a=this._len,s=0;s<i;){for(var u=a%o,c=Math.min(i-s,o-u),l=0;l<c;l++)n[u+l]=e[s+l];s+=c,(a+=c)%o==0&&this._update(n)}return this._len+=i,this},o.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,o=(n-r)/4294967296;this._block.writeUInt32BE(o,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var i=this._hash();return e?i.toString(e):i},o.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=o},function(e,t,n){var r=n(63),o=n(406),i=n(407),a=n(46),s=n(158),u=n(225),c={},l={};(t=e.exports=function(e,t,n,p,f){var h,d,m,v,g=f?function(){return e}:u(e),y=r(n,p,t?2:1),b=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=s(e.length);h>b;b++)if((v=t?y(a(d=e[b])[0],d[1]):y(e[b]))===c||v===l)return v}else for(m=g.call(e);!(d=m.next()).done;)if((v=o(m,y,d.value,t))===c||v===l)return v}).BREAK=c,t.RETURN=l},function(e,t,n){"use strict";function r(e){return null==e}e.exports.isNothing=r,e.exports.isObject=function(e){return"object"==typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:r(e)?[]:[e]},e.exports.repeat=function(e,t){var n,r="";for(n=0;n<t;n+=1)r+=e;return r},e.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},e.exports.extend=function(e,t){var n,r,o,i;if(t)for(n=0,r=(i=Object.keys(t)).length;n<r;n+=1)e[o=i[n]]=t[o];return e}},function(e,t,n){"use strict";var r=n(113),o=n(138),i=n(31);function a(e,t,n){var r=[];return e.include.forEach(function(e){n=a(e,t,n)}),e[t].forEach(function(e){n.forEach(function(t,n){t.tag===e.tag&&t.kind===e.kind&&r.push(n)}),n.push(e)}),n.filter(function(e,t){return-1===r.indexOf(t)})}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function r(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(r);return n}(this.compiledImplicit,this.compiledExplicit)}s.DEFAULT=null,s.create=function(){var e,t;switch(arguments.length){case 1:e=s.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new o("Wrong number of arguments for Schema.create function")}if(e=r.toArray(e),t=r.toArray(t),!e.every(function(e){return e instanceof s}))throw new o("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof i}))throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new s({include:e,explicit:t})},e.exports=s},function(e,t,n){"use strict";var r=n(21);n(15);function o(e,t){return(e&t)===t}var i={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},c=e.DOMPropertyNames||{},l=e.DOMMutationMethods||{};for(var p in e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute),n){s.properties.hasOwnProperty(p)&&r("48",p);var f=p.toLowerCase(),h=n[p],d={attributeName:f,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:o(h,t.MUST_USE_PROPERTY),hasBooleanValue:o(h,t.HAS_BOOLEAN_VALUE),hasNumericValue:o(h,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:o(h,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:o(h,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(d.hasBooleanValue+d.hasNumericValue+d.hasOverloadedBooleanValue<=1||r("50",p),u.hasOwnProperty(p)){var m=u[p];d.attributeName=m}a.hasOwnProperty(p)&&(d.attributeNamespace=a[p]),c.hasOwnProperty(p)&&(d.propertyName=c[p]),l.hasOwnProperty(p)&&(d.mutationMethod=l[p]),s.properties[p]=d}}},a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:i};e.exports=s},function(e,t,n){"use strict";var r=n(823);n(53),n(23);function o(){r.attachRefs(this,this._currentElement)}var i={mountComponent:function(e,t,n,r,i,a){var s=e.mountComponent(t,n,r,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(o,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){r.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){0;var s=r.shouldUpdateRefs(a,t);s&&r.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(o,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}};e.exports=i},function(e,t,n){"use strict";var r=n(254),o=n(187),i=n(255),a=n(431),s="undefined"!=typeof document&&"number"==typeof document.documentMode||"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent);function u(e){if(s){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)c(t,n[r],null);else null!=e.html?o(t,e.html):null!=e.text&&a(t,e.text)}}var c=i(function(e,t,n){11===t.node.nodeType||1===t.node.nodeType&&"object"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===r.html)?(u(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),u(t))});function l(){return this.node.nodeName}function p(e){return{node:e,children:[],html:null,text:null,toString:l}}p.insertTreeBefore=c,p.replaceChildWithTree=function(e,t){e.parentNode.replaceChild(t.node,e),u(t)},p.queueChild=function(e,t){s?e.children.push(t):e.node.appendChild(t.node)},p.queueHTML=function(e,t){s?e.html=t:o(e.node,t)},p.queueText=function(e,t){s?e.text=t:a(e.node,t)},e.exports=p},function(e,t,n){var r=n(184),o=n(418);e.exports=function(e,t,n,i){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var c=t[s],l=i?i(n[c],e[c],c,n,e):void 0;void 0===l&&(l=e[c]),a?o(n,c,l):r(n,c,l)}return n}},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?function e(t,n){var r;r=Array.isArray(t)?[]:{};n.push(t);Object.keys(t).forEach(function(o){var i=t[o];"function"!=typeof i&&(i&&"object"==typeof i?-1!==n.indexOf(t[o])?r[o]="[Circular]":r[o]=e(t[o],n.slice(0)):r[o]=i)});"string"==typeof t.name&&(r.name=t.name);"string"==typeof t.message&&(r.message=t.message);"string"==typeof t.stack&&(r.stack=t.stack);return r}(e,[]):"function"==typeof e?"[Function: "+(e.name||"anonymous")+"]":e}},function(e,t,n){"use strict";n.r(t),n.d(t,"sampleFromSchema",function(){return d}),n.d(t,"inferSchema",function(){return m}),n.d(t,"sampleXmlFromSchema",function(){return v}),n.d(t,"createXMLExample",function(){return g}),n.d(t,"memoizedCreateXMLExample",function(){return y}),n.d(t,"memoizedSampleFromSchema",function(){return b});var r=n(14),o=n.n(r),i=n(3),a=n(474),s=n.n(a),u=n(331),c=n.n(u),l=n(145),p=n.n(l),f={string:function(){return"string"},string_email:function(){return"user@example.com"},"string_date-time":function(){return(new Date).toISOString()},string_date:function(){return(new Date).toISOString().substring(0,10)},string_uuid:function(){return"3fa85f64-5717-4562-b3fc-2c963f66afa6"},string_hostname:function(){return"example.com"},string_ipv4:function(){return"198.51.100.42"},string_ipv6:function(){return"2001:0db8:5b96:0000:0000:426f:8e17:642a"},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(e){return"boolean"!=typeof e.default||e.default}},h=function(e){var t=e=Object(i.A)(e),n=t.type,r=t.format,o=f["".concat(n,"_").concat(r)]||f[n];return Object(i.s)(o)?o(e):"Unknown Type: "+e.type},d=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Object(i.A)(t),a=r.type,s=r.example,u=r.properties,c=r.additionalProperties,l=r.items,p=n.includeReadOnly,f=n.includeWriteOnly;if(void 0!==s)return Object(i.e)(s,"$$ref",function(e){return"string"==typeof e&&e.indexOf("#")>-1});if(!a)if(u)a="object";else{if(!l)return;a="array"}if("object"===a){var d=Object(i.A)(u),m={};for(var v in d)d[v]&&d[v].deprecated||d[v]&&d[v].readOnly&&!p||d[v]&&d[v].writeOnly&&!f||(m[v]=e(d[v],n));if(!0===c)m.additionalProp1={};else if(c)for(var g=Object(i.A)(c),y=e(g,n),b=1;b<4;b++)m["additionalProp"+b]=y;return m}return"array"===a?o()(l.anyOf)?l.anyOf.map(function(t){return e(t,n)}):o()(l.oneOf)?l.oneOf.map(function(t){return e(t,n)}):[e(l,n)]:t.enum?t.default?t.default:Object(i.w)(t.enum)[0]:"file"!==a?h(t):void 0},m=function(e){return e.schema&&(e=e.schema),e.properties&&(e.type="object"),e},v=function e(t){var n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=p()({},Object(i.A)(t)),u=s.type,c=s.properties,l=s.additionalProperties,f=s.items,d=s.example,m=a.includeReadOnly,v=a.includeWriteOnly,g=s.default,y={},b={},_=t.xml,w=_.name,x=_.prefix,E=_.namespace,S=s.enum;if(!u)if(c||l)u="object";else{if(!f)return;u="array"}if(n=(x?x+":":"")+(w=w||"notagname"),E){var C=x?"xmlns:"+x:"xmlns";b[C]=E}if("array"===u&&f){if(f.xml=f.xml||_||{},f.xml.name=f.xml.name||_.name,_.wrapped)return y[n]=[],o()(d)?d.forEach(function(t){f.example=t,y[n].push(e(f,a))}):o()(g)?g.forEach(function(t){f.default=t,y[n].push(e(f,a))}):y[n]=[e(f,a)],b&&y[n].push({_attr:b}),y;var k=[];return o()(d)?(d.forEach(function(t){f.example=t,k.push(e(f,a))}),k):o()(g)?(g.forEach(function(t){f.default=t,k.push(e(f,a))}),k):e(f,a)}if("object"===u){var O=Object(i.A)(c);for(var A in y[n]=[],d=d||{},O)if(O.hasOwnProperty(A)&&(!O[A].readOnly||m)&&(!O[A].writeOnly||v))if(O[A].xml=O[A].xml||{},O[A].xml.attribute){var T=o()(O[A].enum)&&O[A].enum[0],j=O[A].example,P=O[A].default;b[O[A].xml.name||A]=void 0!==j&&j||void 0!==d[A]&&d[A]||void 0!==P&&P||T||h(O[A])}else{O[A].xml.name=O[A].xml.name||A,void 0===O[A].example&&void 0!==d[A]&&(O[A].example=d[A]);var I=e(O[A]);o()(I)?y[n]=y[n].concat(I):y[n].push(I)}return!0===l?y[n].push({additionalProp:"Anything can be here"}):l&&y[n].push({additionalProp:h(l)}),b&&y[n].push({_attr:b}),y}return r=void 0!==d?d:void 0!==g?g:o()(S)?S[0]:h(t),y[n]=b?[{_attr:b},r]:r,y};function g(e,t){var n=v(e,t);if(n)return s()(n,{declaration:!0,indent:"\t"})}var y=c()(g),b=c()(d)},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_CONFIGS",function(){return i}),n.d(t,"TOGGLE_CONFIGS",function(){return a}),n.d(t,"update",function(){return s}),n.d(t,"toggle",function(){return u}),n.d(t,"loaded",function(){return c});var r=n(2),o=n.n(r),i="configs_update",a="configs_toggle";function s(e,t){return{type:i,payload:o()({},e,t)}}function u(e){return{type:a,payload:e}}var c=function(){return function(){}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),o=n.n(r),i=o.a.Set.of("type","format","items","default","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","enum","multipleOf");function a(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).isOAS3;if(!o.a.Map.isMap(e))return{schema:o.a.Map(),parameterContentMediaType:null};if(!t)return"body"===e.get("in")?{schema:e.get("schema",o.a.Map()),parameterContentMediaType:null}:{schema:e.filter(function(e,t){return i.includes(t)}),parameterContentMediaType:null};if(e.get("content")){var n=e.get("content",o.a.Map({})).keySeq().first();return{schema:e.getIn(["content",n,"schema"],o.a.Map()),parameterContentMediaType:n}}return{schema:e.get("schema",o.a.Map()),parameterContentMediaType:null}}},function(e,t,n){e.exports=n(781)},function(e,t,n){"use strict";n.r(t);var r=n(469),o="object"==typeof self&&self&&self.Object===Object&&self,i=(r.a||o||Function("return this")()).Symbol,a=Object.prototype,s=a.hasOwnProperty,u=a.toString,c=i?i.toStringTag:void 0;var l=function(e){var t=s.call(e,c),n=e[c];try{e[c]=void 0;var r=!0}catch(e){}var o=u.call(e);return r&&(t?e[c]=n:delete e[c]),o},p=Object.prototype.toString;var f=function(e){return p.call(e)},h="[object Null]",d="[object Undefined]",m=i?i.toStringTag:void 0;var v=function(e){return null==e?void 0===e?d:h:m&&m in Object(e)?l(e):f(e)};var g=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object);var y=function(e){return null!=e&&"object"==typeof e},b="[object Object]",_=Function.prototype,w=Object.prototype,x=_.toString,E=w.hasOwnProperty,S=x.call(Object);var C=function(e){if(!y(e)||v(e)!=b)return!1;var t=g(e);if(null===t)return!0;var n=E.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&x.call(n)==S},k=n(330),O={INIT:"@@redux/INIT"};function A(e,t,n){var r;if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(A)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var o=e,i=t,a=[],s=a,u=!1;function c(){s===a&&(s=a.slice())}function l(){return i}function p(e){if("function"!=typeof e)throw new Error("Expected listener to be a function.");var t=!0;return c(),s.push(e),function(){if(t){t=!1,c();var n=s.indexOf(e);s.splice(n,1)}}}function f(e){if(!C(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw new Error("Reducers may not dispatch actions.");try{u=!0,i=o(i,e)}finally{u=!1}for(var t=a=s,n=0;n<t.length;n++){(0,t[n])()}return e}return f({type:O.INIT}),(r={dispatch:f,subscribe:p,getState:l,replaceReducer:function(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");o=e,f({type:O.INIT})}})[k.a]=function(){var e,t=p;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(l())}return n(),{unsubscribe:t(n)}}})[k.a]=function(){return this},e},r}function T(e,t){var n=t&&t.type;return"Given action "+(n&&'"'+n.toString()+'"'||"an action")+', reducer "'+e+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function j(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var o=t[r];0,"function"==typeof e[o]&&(n[o]=e[o])}var i=Object.keys(n);var a=void 0;try{!function(e){Object.keys(e).forEach(function(t){var n=e[t];if(void 0===n(void 0,{type:O.INIT}))throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===n(void 0,{type:"@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".")}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+O.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}(n)}catch(e){a=e}return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(a)throw a;for(var r=!1,o={},s=0;s<i.length;s++){var u=i[s],c=n[u],l=e[u],p=c(l,t);if(void 0===p){var f=T(u,t);throw new Error(f)}o[u]=p,r=r||p!==l}return r?o:e}}function P(e,t){return function(){return t(e.apply(void 0,arguments))}}function I(e,t){if("function"==typeof e)return P(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var n=Object.keys(e),r={},o=0;o<n.length;o++){var i=n[o],a=e[i];"function"==typeof a&&(r[i]=P(a,t))}return r}function M(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}var N=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function R(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(n,r,o){var i,a=e(n,r,o),s=a.dispatch,u={getState:a.getState,dispatch:function(e){return s(e)}};return i=t.map(function(e){return e(u)}),s=M.apply(void 0,i)(a.dispatch),N({},a,{dispatch:s})}}}n.d(t,"createStore",function(){return A}),n.d(t,"combineReducers",function(){return j}),n.d(t,"bindActionCreators",function(){return I}),n.d(t,"applyMiddleware",function(){return R}),n.d(t,"compose",function(){return M})},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){e.exports=!n(99)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports={}},function(e,t,n){var r=n(348),o=n(215);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=!0},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(49).f,o=n(75),i=n(34)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(159)("meta"),o=n(43),i=n(75),a=n(49).f,s=0,u=Object.isExtensible||function(){return!0},c=!n(82)(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++s,w:{}}})},p=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return c&&p.NEED&&u(e)&&!i(e,r)&&l(e),e}}},function(e,t,n){"use strict";e.exports=function(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(64).Buffer)},function(e,t,n){"use strict";function r(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},e.exports=r},function(e,t,n){"use strict";var r=n(114);e.exports=new r({include:[n(415)],implicit:[n(792),n(793)],explicit:[n(794),n(795),n(796),n(797)]})},function(e,t,n){"use strict";var r=n(141),o=n(248),i=n(423),a=n(424),s=(n(23),r.getListener);function u(e,t,n){var r=function(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return s(e,r)}(e,n,t);r&&(n._dispatchListeners=i(n._dispatchListeners,r),n._dispatchInstances=i(n._dispatchInstances,e))}function c(e){e&&e.dispatchConfig.phasedRegistrationNames&&o.traverseTwoPhase(e._targetInst,u,e)}function l(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?o.getParentInstance(t):null;o.traverseTwoPhase(n,u,e)}}function p(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=s(e,r);o&&(n._dispatchListeners=i(n._dispatchListeners,o),n._dispatchInstances=i(n._dispatchInstances,e))}}function f(e){e&&e.dispatchConfig.registrationName&&p(e._targetInst,0,e)}var h={accumulateTwoPhaseDispatches:function(e){a(e,c)},accumulateTwoPhaseDispatchesSkipTarget:function(e){a(e,l)},accumulateDirectDispatches:function(e){a(e,f)},accumulateEnterLeaveDispatches:function(e,t,n,r){o.traverseEnterLeave(n,r,p,e,t)}};e.exports=h},function(e,t,n){"use strict";var r=n(21),o=n(247),i=n(248),a=n(249),s=n(423),u=n(424),c=(n(15),{}),l=null,p=function(e,t){e&&(i.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},f=function(e){return p(e,!0)},h=function(e){return p(e,!1)},d=function(e){return"."+e._rootNodeID};var m={injection:{injectEventPluginOrder:o.injectEventPluginOrder,injectEventPluginsByName:o.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n&&r("94",t,typeof n);var i=d(e);(c[t]||(c[t]={}))[i]=n;var a=o.registrationNameModules[t];a&&a.didPutListener&&a.didPutListener(e,t,n)},getListener:function(e,t){var n=c[t];if(function(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||(r=t,"button"!==r&&"input"!==r&&"select"!==r&&"textarea"!==r));default:return!1}var r}(t,e._currentElement.type,e._currentElement.props))return null;var r=d(e);return n&&n[r]},deleteListener:function(e,t){var n=o.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=c[t];r&&delete r[d(e)]},deleteAllListeners:function(e){var t=d(e);for(var n in c)if(c.hasOwnProperty(n)&&c[n][t]){var r=o.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete c[n][t]}},extractEvents:function(e,t,n,r){for(var i,a=o.plugins,u=0;u<a.length;u++){var c=a[u];if(c){var l=c.extractEvents(e,t,n,r);l&&(i=s(i,l))}}return i},enqueueEvents:function(e){e&&(l=s(l,e))},processEventQueue:function(e){var t=l;l=null,u(t,e?f:h),l&&r("95"),a.rethrowCaughtError()},__purge:function(){c={}},__getListenerBank:function(){return c}};e.exports=m},function(e,t,n){"use strict";var r=n(68),o=n(250),i={view:function(e){if(e.view)return e.view;var t=o(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=r},function(e,t,n){var r=n(43);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function o(e){return null===e?"null":void 0===e?"undefined":"object"===(void 0===e?"undefined":r(e))?Array.isArray(e)?"array":"object":void 0===e?"undefined":r(e)}function i(e){return"object"===o(e)?s(e):"array"===o(e)?a(e):e}function a(e){return e.map(i)}function s(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=i(e[n]));return t}function u(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n={arrayBehaviour:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).arrayBehaviour||"replace"},r=t.map(function(e){return e||{}}),i=e||{},c=0;c<r.length;c++)for(var l=r[c],p=Object.keys(l),f=0;f<p.length;f++){var h=p[f],d=l[h],m=o(d),v=o(i[h]);if("object"===m)if("undefined"!==v){var g="object"===v?i[h]:{};i[h]=u({},[g,s(d)],n)}else i[h]=s(d);else if("array"===m)if("array"===v){var y=a(d);i[h]="merge"===n.arrayBehaviour?i[h].concat(y):y}else i[h]=a(d);else i[h]=d}return i}e.exports=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return u(e,n)},e.exports.noMutate=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return u({},t)},e.exports.withOptions=function(e,t,n){return u(e,t,n)}},function(e,t,n){"use strict";var r=n(782);e.exports=r},function(e,t,n){"use strict";n.r(t),n.d(t,"parseYamlConfig",function(){return i});var r=n(146),o=n.n(r),i=function(e,t){try{return o.a.safeLoad(e)}catch(e){return t&&t.errActions.newThrownErr(new Error(e)),{}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"makeMappedContainer",function(){return j}),n.d(t,"render",function(){return P}),n.d(t,"getComponent",function(){return N});var r=n(26),o=n.n(r),i=n(17),a=n.n(i),s=n(16),u=n.n(s),c=n(20),l=n.n(c),p=n(4),f=n.n(p),h=n(5),d=n.n(h),m=n(6),v=n.n(m),g=n(7),y=n.n(g),b=n(8),_=n.n(b),w=n(0),x=n.n(w),E=n(480),S=n.n(E),C=n(334),k=n(481),O=n.n(k),A=function(e,t,n){var r=function(e,t){return function(n){function r(){return f()(this,r),v()(this,y()(r).apply(this,arguments))}return _()(r,n),d()(r,[{key:"render",value:function(){return x.a.createElement(t,l()({},e(),this.props,this.context))}}]),r}(w.Component)}(e,t),o=Object(C.connect)(function(n,r){var o=u()({},r,e());return(t.prototype.mapStateToProps||function(e){return{state:e}})(n,o)})(r);return n?function(e,t){return function(n){function r(){return f()(this,r),v()(this,y()(r).apply(this,arguments))}return _()(r,n),d()(r,[{key:"render",value:function(){return x.a.createElement(C.Provider,{store:e},x.a.createElement(t,l()({},this.props,this.context)))}}]),r}(w.Component)}(n,o):o},T=function(e,t,n,r){for(var o in t){var i=t[o];"function"==typeof i&&i(n[o],r[o],e())}},j=function(e,t,n,r,o,i){return function(t){function r(t,n){var o;return f()(this,r),o=v()(this,y()(r).call(this,t,n)),T(e,i,t,{}),o}return _()(r,t),d()(r,[{key:"componentWillReceiveProps",value:function(t){T(e,i,t,this.props)}},{key:"render",value:function(){var e=O()(this.props,i?a()(i):[]),t=n(o,"root");return x.a.createElement(t,e)}}]),r}(w.Component)},P=function(e,t,n,r,o){var i=n(e,t,r,"App","root");S.a.render(x.a.createElement(i,null),o)},I=function(e){var t=e.name;return x.a.createElement("div",{style:{padding:"1em",color:"#aaa"}},"😱 ",x.a.createElement("i",null,"Could not render ","t"===t?"this component":t,", see the console."))},M=function(e){var t=function(e){return!(e.prototype&&e.prototype.isReactComponent)}(e)?function(e){return function(t){function n(){return f()(this,n),v()(this,y()(n).apply(this,arguments))}return _()(n,t),d()(n,[{key:"render",value:function(){return e(this.props)}}]),n}(w.Component)}(e):e,n=t.prototype.render;return t.prototype.render=function(){try{for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return n.apply(this,r)}catch(e){return console.error(e),x.a.createElement(I,{error:e,name:t.name})}},t},N=function(e,t,n,r,i){if("string"!=typeof r)throw new TypeError("Need a string, to fetch a component. Was given a "+o()(r));var a=n(r);return a?i?"root"===i?A(e,a,t()):A(e,M(a)):M(a):(e().log.warn("Could not find component",r),null)}},function(e,t,n){"use strict";n.r(t),n.d(t,"setHash",function(){return r});var r=function(e){return e?history.pushState(null,null,"#".concat(e)):window.location.hash=""}},function(e,t,n){var r=n(125),o=n(33)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){var r=n(45),o=n(492),i=n(493),a=Object.defineProperty;t.f=n(126)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(154);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(499),o=n(73);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(150),o=RegExp.prototype.exec;e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},function(e,t,n){"use strict";n(546);var r=n(97),o=n(81),i=n(99),a=n(73),s=n(33),u=n(209),c=s("species"),l=!i(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}),p=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var f=s(e),h=!i(function(){var t={};return t[f]=function(){return 7},7!=""[e](t)}),d=h?!i(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[f](""),!t}):void 0;if(!h||!d||"replace"===e&&!l||"split"===e&&!p){var m=/./[f],v=n(a,f,""[e],function(e,t,n,r,o){return t.exec===u?h&&!o?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),g=v[0],y=v[1];r(String.prototype,e,g),o(RegExp.prototype,f,2==t?function(e,t){return y.call(e,this,t)}:function(e){return y.call(e,this)})}}},function(e,t,n){var r=n(212),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(46),o=n(350),i=n(215),a=n(213)("IE_PROTO"),s=function(){},u=function(){var e,t=n(217)("iframe"),r=i.length;for(t.style.display="none",n(351).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(162),o=n(133),i=n(76),a=n(218),s=n(75),u=n(349),c=Object.getOwnPropertyDescriptor;t.f=n(50)?c:function(e,t){if(e=i(e),t=a(t,!0),u)try{return c(e,t)}catch(e){}if(s(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t){},function(e,t,n){"use strict";e.exports={}},function(e,t,n){var r=n(130),o=n(34)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){var r=n(83),o=n(66),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){var r=n(84)(Object,"create");e.exports=r},function(e,t,n){var r=n(629),o=n(630),i=n(631),a=n(632),s=n(633);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(91);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(635);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(640),o=n(668),i=n(237),a=n(37),s=n(673);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?a(e)?o(e[0],e[1]):r(e):s(e)}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(663),o=n(227),i=n(664),a=n(665),s=n(666),u=n(83),c=n(372),l=c(r),p=c(o),f=c(i),h=c(a),d=c(s),m=u;(r&&"[object DataView]"!=m(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=m(new o)||i&&"[object Promise]"!=m(i.resolve())||a&&"[object Set]"!=m(new a)||s&&"[object WeakMap]"!=m(new s))&&(m=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case l:return"[object DataView]";case p:return"[object Map]";case f:return"[object Promise]";case h:return"[object Set]";case d:return"[object WeakMap]"}return t}),e.exports=m},function(e,t,n){var r=n(108),o=n(109);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[o(t[n++])];return n&&n==i?e:void 0}},function(e,t,n){"use strict";(function(t){!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,n,r,o){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var i,a,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,o)});default:for(i=new Array(s-1),a=0;a<i.length;)i[a++]=arguments[a];return t.nextTick(function(){e.apply(null,i)})}}}:e.exports=t}).call(this,n(67))},function(e,t,n){"use strict";e.exports=n(701)("forEach")},function(e,t,n){"use strict";var r=n(399),o=n(396),i=n(241),a=n(710);(e.exports=function(e,t){var n,i,s,u,c;return arguments.length<2||"string"!=typeof e?(u=t,t=e,e=null):u=arguments[2],null==e?(n=s=!0,i=!1):(n=a.call(e,"c"),i=a.call(e,"e"),s=a.call(e,"w")),c={value:t,configurable:n,enumerable:i,writable:s},u?r(o(u),c):c}).gs=function(e,t,n){var s,u,c,l;return"string"!=typeof e?(c=n,n=t,t=e,e=null):c=arguments[3],null==t?t=void 0:i(t)?null==n?n=void 0:i(n)||(c=n,n=void 0):(c=t,t=n=void 0),null==e?(s=!0,u=!1):(s=a.call(e,"c"),u=a.call(e,"e")),l={get:t,set:n,configurable:s,enumerable:u},c?r(o(c),l):l}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(77);e.exports=function(e,t,n){for(var o in t)n&&e[o]?e[o]=t[o]:r(e,o,t[o]);return e}},function(e,t,n){"use strict";var r=n(114);e.exports=r.DEFAULT=new r({include:[n(139)],explicit:[n(798),n(799),n(800)]})},function(e,t,n){var r=n(418),o=n(91),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];i.call(e,t)&&o(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){"use strict";var r=n(21),o=(n(15),{}),i={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,s,u){var c,l;this.isInTransaction()&&r("27");try{this._isInTransaction=!0,c=!0,this.initializeAll(0),l=e.call(t,n,o,i,a,s,u),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()||r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t,n){"use strict";var r=n(142),o=n(430),i={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:n(252),button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+o.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+o.currentScrollTop}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r,o=n(38),i=n(254),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(255)(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{(r=r||document.createElement("div")).innerHTML="<svg>"+t+"</svg>";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=u},function(e,t,n){"use strict";var r=/["'&<>]/;e.exports=function(e){return"boolean"==typeof e||"number"==typeof e?""+e:function(e){var t,n=""+e,o=r.exec(n);if(!o)return n;var i="",a=0,s=0;for(a=o.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t="&quot;";break;case 38:t="&amp;";break;case 39:t="&#x27;";break;case 60:t="&lt;";break;case 62:t="&gt;";break;default:continue}s!==a&&(i+=n.substring(s,a)),s=a+1,i+=t}return s!==a?i+n.substring(s,a):i}(e)}},function(e,t,n){"use strict";var r,o=n(25),i=n(247),a=n(844),s=n(430),u=n(845),c=n(251),l={},p=!1,f=0,h={topAbort:"abort",topAnimationEnd:u("animationend")||"animationend",topAnimationIteration:u("animationiteration")||"animationiteration",topAnimationStart:u("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:u("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},d="_reactListenersID"+String(Math.random()).slice(2);var m=o({},a,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=function(e){return Object.prototype.hasOwnProperty.call(e,d)||(e[d]=f++,l[e[d]]={}),l[e[d]]}(n),o=i.registrationNameDependencies[e],a=0;a<o.length;a++){var s=o[a];r.hasOwnProperty(s)&&r[s]||("topWheel"===s?c("wheel")?m.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):c("mousewheel")?m.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):m.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===s?c("scroll",!0)?m.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):m.ReactEventListener.trapBubbledEvent("topScroll","scroll",m.ReactEventListener.WINDOW_HANDLE):"topFocus"===s||"topBlur"===s?(c("focus",!0)?(m.ReactEventListener.trapCapturedEvent("topFocus","focus",n),m.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):c("focusin")&&(m.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),m.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),r.topBlur=!0,r.topFocus=!0):h.hasOwnProperty(s)&&m.ReactEventListener.trapBubbledEvent(s,h[s],n),r[s]=!0)}},trapBubbledEvent:function(e,t,n){return m.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return m.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent("MouseEvent");return null!=e&&"pageX"in e},ensureScrollValueMonitoring:function(){if(void 0===r&&(r=m.supportsEventPageXY()),!r&&!p){var e=s.refreshScrollValues;m.ReactEventListener.monitorScrollValue(e),p=!0}}});e.exports=m},function(e,t,n){"use strict";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=this.__rules__.length,n=-1;t--;)if(this.__rules__[++n].name===e)return n;return-1},r.prototype.__compile__=function(){var e=this,t=[""];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(n){n.enabled&&(t&&n.alt.indexOf(t)<0||e.__cache__[t].push(n.fn))})})},r.prototype.at=function(e,t,n){var r=this.__find__(e),o=n||{};if(-1===r)throw new Error("Parser rule not found: "+e);this.__rules__[r].fn=t,this.__rules__[r].alt=o.alt||[],this.__cache__=null},r.prototype.before=function(e,t,n,r){var o=this.__find__(e),i=r||{};if(-1===o)throw new Error("Parser rule not found: "+e);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null},r.prototype.after=function(e,t,n,r){var o=this.__find__(e),i=r||{};if(-1===o)throw new Error("Parser rule not found: "+e);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:i.alt||[]}),this.__cache__=null},r.prototype.push=function(e,t,n){var r=n||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},r.prototype.enable=function(e,t){e=Array.isArray(e)?e:[e],t&&this.__rules__.forEach(function(e){e.enabled=!1}),e.forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error("Rules manager: invalid rule name "+e);this.__rules__[t].enabled=!0},this),this.__cache__=null},r.prototype.disable=function(e){(e=Array.isArray(e)?e:[e]).forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error("Rules manager: invalid rule name "+e);this.__rules__[t].enabled=!1},this),this.__cache__=null},r.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},e.exports=r},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i=-1,a=e.posMax,s=e.pos,u=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,n=1;e.pos<a;){if(91===(o=e.src.charCodeAt(e.pos)))n++;else if(93===o&&0===--n){r=!0;break}e.parser.skipToken(e)}return r?(i=e.pos,e.labelUnmatchedScopes=0):e.labelUnmatchedScopes=n-1,e.pos=s,e.isInLabel=u,i}},function(e,t,n){e.exports=n(774)},function(e,t,n){var r=n(192);function o(e,t,n,o,i,a,s){try{var u=e[a](s),c=u.value}catch(e){return void n(e)}u.done?t(c):r.resolve(c).then(o,i)}e.exports=function(e){return function(){var t=this,n=arguments;return new r(function(r,i){var a=e.apply(t,n);function s(e){o(a,r,i,s,u,"next",e)}function u(e){o(a,r,i,s,u,"throw",e)}s(void 0)})}}},function(e,t,n){"use strict";n.d(t,"b",function(){return p});var r=n(0),o=n.n(r),i=(n(10),n(195)),a=n.n(i),s=n(335),u=n.n(s),c=n(59),l=n.n(c);function p(e){return u.a.sanitize(e,{ADD_ATTR:["target"],FORBID_TAGS:["style"]})}u.a.addHook("beforeSanitizeElements",function(e){return e.href&&e.setAttribute("rel","noopener noreferrer"),e}),t.a=function(e){var t=e.source,n=e.className,r=void 0===n?"":n;if("string"!=typeof t)return null;var i=new a.a({html:!0,typographer:!0,breaks:!0,linkify:!0,linkTarget:"_blank"});i.core.ruler.disable(["replacements","smartquotes"]);var s=i.render(t),u=p(s);return t&&s&&u?o.a.createElement("div",{className:l()(r,"markdown"),dangerouslySetInnerHTML:{__html:u}}):null}},function(e,t,n){"use strict";e.exports=n(980)},function(e,t,n){"use strict";var r=n(20),o=n.n(r),i=n(4),a=n.n(i),s=n(5),u=n.n(s),c=n(6),l=n.n(c),p=n(7),f=n.n(p),h=n(9),d=n.n(h),m=n(8),v=n.n(m),g=n(2),y=n.n(g),b=n(0),_=n.n(b),w=n(1),x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},E=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var S=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,_.a.Component),E(t,[{key:"shouldComponentUpdate",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.state||{};return!(this.updateOnProps||Object.keys(x({},e,this.props))).every(function(n){return Object(w.is)(e[n],t.props[n])})||!(this.updateOnStates||Object.keys(x({},n,r))).every(function(e){return Object(w.is)(n[e],r[e])})}}]),t}(),C=n(19),k=n.n(C),O=n(10),A=n.n(O);n.d(t,"a",function(){return T});var T=function(e){function t(){var e,n;a()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=l()(this,(e=f()(t)).call.apply(e,[this].concat(o))),y()(d()(n),"getModelName",function(e){return-1!==e.indexOf("#/definitions/")?e.replace(/^.*#\/definitions\//,""):-1!==e.indexOf("#/components/schemas/")?e.replace(/^.*#\/components\/schemas\//,""):void 0}),y()(d()(n),"getRefSchema",function(e){return n.props.specSelectors.findDefinition(e)}),n}return v()(t,e),u()(t,[{key:"render",value:function(){var e=this.props,t=e.getComponent,r=e.getConfigs,i=e.specSelectors,a=e.schema,s=e.required,u=e.name,c=e.isRef,l=e.specPath,p=e.displayName,f=t("ObjectModel"),h=t("ArrayModel"),d=t("PrimitiveModel"),m="object",v=a&&a.get("$$ref");if(!u&&v&&(u=this.getModelName(v)),!a&&v&&(a=this.getRefSchema(u)),!a)return _.a.createElement("span",{className:"model model-title"},_.a.createElement("span",{className:"model-title__text"},p||u),_.a.createElement("img",{src:n(462),height:"20px",width:"20px",style:{marginLeft:"1em",position:"relative",bottom:"0px"}}));var g=i.isOAS3()&&a.get("deprecated");switch(c=void 0!==c?c:!!v,m=a&&a.get("type")||m){case"object":return _.a.createElement(f,o()({className:"object"},this.props,{specPath:l,getConfigs:r,schema:a,name:u,deprecated:g,isRef:c}));case"array":return _.a.createElement(h,o()({className:"array"},this.props,{getConfigs:r,schema:a,name:u,deprecated:g,required:s}));case"string":case"number":case"integer":case"boolean":default:return _.a.createElement(d,o()({},this.props,{getComponent:t,getConfigs:r,schema:a,name:u,deprecated:g,required:s}))}}}]),t}(S);y()(T,"propTypes",{schema:k.a.orderedMap.isRequired,getComponent:A.a.func.isRequired,getConfigs:A.a.func.isRequired,specSelectors:A.a.object.isRequired,name:A.a.string,displayName:A.a.string,isRef:A.a.bool,required:A.a.bool,expandDepth:A.a.number,depth:A.a.number,specPath:k.a.list.isRequired})},function(e,t,n){var r=n(72),o=n(41),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(198)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports=!1},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(98),o=n(41).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(127),o=n(73);e.exports=function(e){return function(t,n){var i,a,s=String(o(t)),u=r(n),c=s.length;return u<0||u>=c?e?"":void 0:(i=s.charCodeAt(u))<55296||i>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):i:e?s.slice(u,u+2):a-56320+(i-55296<<10)+65536}}},function(e,t,n){var r=n(197)("keys"),o=n(199);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(151).f,o=n(152),i=n(33)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(45),o=n(154),i=n(33)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||null==(n=r(a)[i])?t:o(n)}},function(e,t,n){"use strict";var r=n(154);function o(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new o(e)}},function(e,t,n){var r=n(347),o=n(73);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(e))}},function(e,t,n){var r=n(33)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},function(e,t,n){"use strict";var r=n(201)(!0);e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},function(e,t,n){"use strict";var r,o,i=n(547),a=RegExp.prototype.exec,s=String.prototype.replace,u=a,c=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=void 0!==/()??/.exec("")[1];(c||l)&&(u=function(e){var t,n,r,o,u=this;return l&&(n=new RegExp("^"+u.source+"$(?!\\s)",i.call(u))),c&&(t=u.lastIndex),r=a.call(u,e),c&&r&&(u.lastIndex=u.global?r.index+r[0].length:t),l&&r&&r.length>1&&s.call(r[0],n,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)}),r}),e.exports=u},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(130);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(214)("keys"),o=n(159);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(22),o=n(32),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(131)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(30),o=n(22),i=n(82);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(e,t,n){var r=n(43),o=n(32).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(43);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(131),o=n(30),i=n(220),a=n(77),s=n(102),u=n(560),c=n(134),l=n(352),p=n(34)("iterator"),f=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,d,m,v,g){u(n,t,d);var y,b,_,w=function(e){if(!f&&e in C)return C[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+" Iterator",E="values"==m,S=!1,C=e.prototype,k=C[p]||C["@@iterator"]||m&&C[m],O=k||w(m),A=m?E?w("entries"):O:void 0,T="Array"==t&&C.entries||k;if(T&&(_=l(T.call(new e)))!==Object.prototype&&_.next&&(c(_,x,!0),r||"function"==typeof _[p]||a(_,p,h)),E&&k&&"values"!==k.name&&(S=!0,O=function(){return k.call(this)}),r&&!g||!f&&!S&&C[p]||a(C,p,O),s[t]=O,s[x]=h,m)if(y={values:E?O:w("values"),keys:v?O:w("keys"),entries:A},g)for(b in y)b in C||i(C,b,y[b]);else o(o.P+o.F*(f||S),t,y);return y}},function(e,t,n){e.exports=n(77)},function(e,t,n){t.f=n(34)},function(e,t,n){var r=n(32),o=n(22),i=n(131),a=n(221),s=n(49).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){var r=n(130);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(348),o=n(215).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){var r=n(166),o=n(34)("iterator"),i=n(102);e.exports=n(22).getIteratorMethod=function(e){if(null!=e)return e[o]||e["@@iterator"]||i[r(e)]}},function(e,t,n){var r=n(618),o=n(634),i=n(636),a=n(637),s=n(638);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(84)(n(51),"Map");e.exports=r},function(e,t,n){var r=n(169),o=n(642),i=n(643),a=n(644),s=n(645),u=n(646);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=s,c.prototype.set=u,e.exports=c},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}},function(e,t,n){var r=n(656),o=n(379),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return i.call(e,t)}))}:o;e.exports=s},function(e,t,n){var r=n(658),o=n(66),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){(function(e){var r=n(51),o=n(659),i=t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(173)(e))},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(366),o=t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(173)(e))},function(e,t,n){var r=n(37),o=n(167),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||(a.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t){e.exports=function(e){return e}},function(e,t,n){"use strict";var r,o="object"==typeof Reflect?Reflect:null,i=o&&"function"==typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var u=10;function c(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var o,i,a,s;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]),void 0===a)a=i[t]=n,++e._eventsCount;else if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(o=c(e))>0&&a.length>o&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,s=u,console&&console.warn&&console.warn(s)}return e}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=function(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,i(this.listener,this.target,e))}.bind(r);return o.listener=n,r.wrapFn=o,o}function f(e,t,n){var r=e._events;if(void 0===r)return[];var o=r[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):d(o,o.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function d(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return u},set:function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");u=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,o=this._events;if(void 0!==o)r=r&&void 0===o.error;else if(!r)return!1;if(r){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=o[e];if(void 0===u)return!1;if("function"==typeof u)i(u,this,t);else{var c=u.length,l=d(u,c);for(n=0;n<c;++n)i(l[n],this,t)}return!0},s.prototype.addListener=function(e,t){return l(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return l(this,e,t,!0)},s.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,o,i,a;if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);if(void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length-1;i>=0;i--)if(n[i]===t||n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,a||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,i=Object.keys(n);for(r=0;r<i.length;++r)"removeListener"!==(o=i[r])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h,s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){(t=e.exports=n(390)).Stream=t,t.Readable=t,t.Writable=n(240),t.Duplex=n(86),t.Transform=n(395),t.PassThrough=n(691)},function(e,t,n){"use strict";(function(t,r,o){var i=n(178);function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var o=r.callback;t.pendingcb--,o(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var s,u=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:i.nextTick;y.WritableState=g;var c=n(137);c.inherits=n(47);var l={deprecate:n(690)},p=n(391),f=n(48).Buffer,h=o.Uint8Array||function(){};var d,m=n(392);function v(){}function g(e,t){s=s||n(86),e=e||{};var r=t instanceof s;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var o=e.highWaterMark,c=e.writableHighWaterMark,l=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:r&&(c||0===c)?c:l,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var p=!1===e.decodeStrings;this.decodeStrings=!p,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,o){--t.pendingcb,n?(i.nextTick(o,r),i.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),S(e,t))}(e,n,r,t,o);else{var a=x(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||w(e,n),r?u(_,e,n,a,o):_(e,n,a,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function y(e){if(s=s||n(86),!(d.call(y,this)||this instanceof s))return new y(e);this._writableState=new g(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),p.call(this)}function b(e,t,n,r,o,i,a){t.writelen=r,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function _(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),S(e,t)}function w(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,o=new Array(r),i=t.corkedRequestsFree;i.entry=n;for(var s=0,u=!0;n;)o[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;o.allBuffers=u,b(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new a(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,p=n.callback;if(b(e,t,!1,t.objectMode?1:c.length,c,l,p),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function x(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),S(e,t)})}function S(e,t){var n=x(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,i.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}c.inherits(y,p),g.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(g.prototype,"buffer",{get:l.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!d.call(this,e)||this===y&&(e&&e._writableState instanceof g)}})):d=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,n){var r,o=this._writableState,a=!1,s=!o.objectMode&&(r=e,f.isBuffer(r)||r instanceof h);return s&&!f.isBuffer(e)&&(e=function(e){return f.from(e)}(e)),"function"==typeof t&&(n=t,t=null),s?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof n&&(n=v),o.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),i.nextTick(t,n)}(this,n):(s||function(e,t,n,r){var o=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),i.nextTick(r,a),o=!1),o}(this,o,e,n))&&(o.pendingcb++,a=function(e,t,n,r,o,i){if(!n){var a=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=f.from(t,n));return t}(t,r,o);r!==a&&(n=!0,o="buffer",r=a)}var s=t.objectMode?1:r.length;t.length+=s;var u=t.length<t.highWaterMark;u||(t.needDrain=!0);if(t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:o,isBuf:n,callback:i,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else b(e,t,!1,s,r,o,i);return u}(this,o,s,e,t,n)),a},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||w(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,S(e,t),n&&(t.finished?i.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(67),n(393).setImmediate,n(36))},function(e,t,n){"use strict";e.exports=function(e){return"function"==typeof e}},function(e,t,n){"use strict";e.exports=n(716)()?Array.from:n(717)},function(e,t,n){"use strict";var r=n(730),o=n(88),i=n(110),a=Array.prototype.indexOf,s=Object.prototype.hasOwnProperty,u=Math.abs,c=Math.floor;e.exports=function(e){var t,n,l,p;if(!r(e))return a.apply(this,arguments);for(n=o(i(this).length),l=arguments[1],t=l=isNaN(l)?0:l>=0?c(l):o(this.length)-c(u(l));t<n;++t)if(s.call(this,t)&&(p=this[t],r(p)))return t;return-1}},function(e,t,n){"use strict";(function(t,n){var r,o;r=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e},o=function(e){var t,n,o=document.createTextNode(""),i=0;return new e(function(){var e;if(t)n&&(t=n.concat(t));else{if(!n)return;t=n}if(n=t,t=null,"function"==typeof n)return e=n,n=null,void e();for(o.data=i=++i%2;n;)e=n.shift(),n.length||(n=null),e()}).observe(o,{characterData:!0}),function(e){r(e),t?"function"==typeof t?t=[t,e]:t.push(e):(t=e,o.data=i=++i%2)}},e.exports=function(){if("object"==typeof t&&t&&"function"==typeof t.nextTick)return t.nextTick;if("object"==typeof document&&document){if("function"==typeof MutationObserver)return o(MutationObserver);if("function"==typeof WebKitMutationObserver)return o(WebKitMutationObserver)}return"function"==typeof n?function(e){n(r(e))}:"function"==typeof setTimeout||"object"==typeof setTimeout?function(e){setTimeout(r(e),0)}:null}()}).call(this,n(67),n(393).setImmediate)},function(e,t,n){"use strict";var r=n(132);function o(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new o(e)}},function(e,t,n){"use strict";var r=n(114);e.exports=new r({explicit:[n(785),n(786),n(787)]})},function(e,t,n){"use strict";var r=n(21),o=(n(15),null),i={};function a(){if(o)for(var e in i){var t=i[e],n=o.indexOf(e);if(n>-1||r("96",e),!c.plugins[n]){t.extractEvents||r("97",e),c.plugins[n]=t;var a=t.eventTypes;for(var u in a)s(a[u],t,u)||r("98",u,e)}}}function s(e,t,n){c.eventNameDispatchConfigs.hasOwnProperty(n)&&r("99",n),c.eventNameDispatchConfigs[n]=e;var o=e.phasedRegistrationNames;if(o){for(var i in o){if(o.hasOwnProperty(i))u(o[i],t,n)}return!0}return!!e.registrationName&&(u(e.registrationName,t,n),!0)}function u(e,t,n){c.registrationNameModules[e]&&r("100",e),c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){o&&r("101"),o=Array.prototype.slice.call(e),a()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];i.hasOwnProperty(n)&&i[n]===o||(i[n]&&r("102",n),i[n]=o,t=!0)}t&&a()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=c.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){for(var e in o=null,i)i.hasOwnProperty(e)&&delete i[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var a in r)r.hasOwnProperty(a)&&delete r[a]}};e.exports=c},function(e,t,n){"use strict";var r,o,i=n(21),a=n(249);n(15),n(23);function s(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=u.getNodeFromInstance(r),t?a.invokeGuardedCallbackWithCatch(o,n,e):a.invokeGuardedCallback(o,n,e),e.currentTarget=null}var u={isEndish:function(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e},isMoveish:function(e){return"topMouseMove"===e||"topTouchMove"===e},isStartish:function(e){return"topMouseDown"===e||"topTouchStart"===e},executeDirectDispatch:function(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)&&i("103"),e.currentTarget=t?u.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r},executeDispatchesInOrder:function(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)s(e,t,n[o],r[o]);else n&&s(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null},executeDispatchesInOrderStopAtTrue:function(e){var t=function(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}(e);return e._dispatchInstances=null,e._dispatchListeners=null,t},hasDispatches:function(e){return!!e._dispatchListeners},getInstanceFromNode:function(e){return r.getInstanceFromNode(e)},getNodeFromInstance:function(e){return r.getNodeFromInstance(e)},isAncestor:function(e,t){return o.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return o.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return o.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return o.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,i){return o.traverseEnterLeave(e,t,n,r,i)},injection:{injectComponentTree:function(e){r=e},injectTreeTraversal:function(e){o=e}}};e.exports=u},function(e,t,n){"use strict";var r=null;function o(e,t,n){try{t(n)}catch(e){null===r&&(r=e)}}var i={invokeGuardedCallback:o,invokeGuardedCallbackWithCatch:o,rethrowCaughtError:function(){if(r){var e=r;throw r=null,e}}};e.exports=i},function(e,t,n){"use strict";e.exports=function(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}},function(e,t,n){"use strict";var r,o=n(38);o.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")) +/** + * Checks if an event is supported in the current execution environment. + * + * NOTE: This will not work correctly for non-generic events such as `change`, + * `reset`, `load`, `error`, and `select`. + * + * Borrows from Modernizr. + * + * @param {string} eventNameSuffix Event name, e.g. "click". + * @param {?boolean} capture Check if the capture phase is supported. + * @return {boolean} True if the event is supported. + * @internal + * @license Modernizr 3.0.0pre (Custom Build) | MIT + */,e.exports=function(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var a=document.createElement("div");a.setAttribute(n,"return;"),i="function"==typeof a[n]}return!i&&r&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}},function(e,t,n){"use strict";var r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function o(e){var t=this.nativeEvent;if(t.getModifierState)return t.getModifierState(e);var n=r[e];return!!n&&!!t[n]}e.exports=function(e){return o}},function(e,t,n){"use strict";var r=n(117),o=n(829),i=(n(27),n(53),n(255)),a=n(187),s=n(431);function u(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}var c=i(function(e,t,n){e.insertBefore(t,n)});function l(e,t,n){r.insertTreeBefore(e,t,n)}function p(e,t,n){Array.isArray(t)?function(e,t,n,r){var o=t;for(;;){var i=o.nextSibling;if(c(e,o,r),o===n)break;o=i}}(e,t[0],t[1],n):c(e,t,n)}function f(e,t){if(Array.isArray(t)){var n=t[1];h(e,t=t[0],n),e.removeChild(n)}e.removeChild(t)}function h(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}var d={dangerouslyReplaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup,replaceDelimitedText:function(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&c(r,document.createTextNode(n),o):n?(s(o,n),h(r,o,t)):h(r,e,t)},processUpdates:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];switch(r.type){case"INSERT_MARKUP":l(e,r.content,u(e,r.afterNode));break;case"MOVE_EXISTING":p(e,r.fromNode,u(e,r.afterNode));break;case"SET_MARKUP":a(e,r.content);break;case"TEXT_CONTENT":s(e,r.content);break;case"REMOVE_NODE":f(e,r.fromNode)}}}};e.exports=d},function(e,t,n){"use strict";e.exports={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}},function(e,t,n){"use strict";e.exports=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}},function(e,t,n){"use strict";var r=n(21),o=n(847),i=n(361)(n(104).isValidElement),a=(n(15),n(23),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0});function s(e){null!=e.checkedLink&&null!=e.valueLink&&r("87")}function u(e){s(e),(null!=e.value||null!=e.onChange)&&r("88")}function c(e){s(e),(null!=e.checked||null!=e.onChange)&&r("89")}var l={value:function(e,t,n){return!e[t]||a[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:i.func},p={};function f(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var h={checkPropTypes:function(e,t,n){for(var r in l){if(l.hasOwnProperty(r))var i=l[r](t,r,e,"prop",null,o);if(i instanceof Error&&!(i.message in p)){p[i.message]=!0;f(n)}}},getValue:function(e){return e.valueLink?(u(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(c(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(u(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(c(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=h},function(e,t,n){"use strict";var r=n(21),o=(n(15),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o&&r("104"),i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};e.exports=i},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function o(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,t){if(o(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a<n.length;a++)if(!r.call(t,n[a])||!o(e[n[a]],t[n[a]]))return!1;return!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}},function(e,t,n){"use strict";var r={escape:function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})},unescape:function(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}};e.exports=r},function(e,t,n){"use strict";var r=n(21),o=(n(65),n(143)),i=(n(53),n(58));n(15),n(23);function a(e){i.enqueueUpdate(e)}function s(e,t){var n=o.get(e);return n||null}var u={isMounted:function(e){var t=o.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){u.validateCallback(t,n);var r=s(e);if(!r)return null;r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],a(r)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],a(e)},enqueueForceUpdate:function(e){var t=s(e);t&&(t._pendingForceUpdate=!0,a(t))},enqueueReplaceState:function(e,t,n){var r=s(e);r&&(r._pendingStateQueue=[t],r._pendingReplaceState=!0,null!=n&&(u.validateCallback(n,"replaceState"),r._pendingCallbacks?r._pendingCallbacks.push(n):r._pendingCallbacks=[n]),a(r))},enqueueSetState:function(e,t){var n=s(e);n&&((n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),a(n))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,a(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&r("122",t,function(e){var t=typeof e;if("object"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}(e))}};e.exports=u},function(e,t,n){"use strict";n(25);var r=n(57),o=(n(23),r);e.exports=o},function(e,t,n){"use strict";e.exports=function(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}},function(e,t,n){var r=n(83),o=n(265),i=n(66),a="[object Object]",s=Function.prototype,u=Object.prototype,c=s.toString,l=u.hasOwnProperty,p=c.call(Object);e.exports=function(e){if(!i(e)||r(e)!=a)return!1;var t=o(e);if(null===t)return!0;var n=l.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==p}},function(e,t,n){var r=n(382)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(376);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t){ +/*! + * https://github.com/Starcounter-Jack/JSON-Patch + * (c) 2017 Joachim Wester + * MIT license + */ +var n=this&&this.__extends||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);function r(){this.constructor=e}e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},r=Object.prototype.hasOwnProperty;function o(e,t){return r.call(e,t)}function i(e){if(Array.isArray(e)){for(var t=new Array(e.length),n=0;n<t.length;n++)t[n]=""+n;return t}if(Object.keys)return Object.keys(e);t=[];for(var r in e)o(e,r)&&t.push(r);return t}function a(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function s(e,t){var n;for(var r in e)if(o(e,r)){if(e[r]===t)return a(r)+"/";if("object"==typeof e[r]&&""!=(n=s(e[r],t)))return a(r)+"/"+n}return""}function u(e,t){var n=[e];for(var r in t){var o="object"==typeof t[r]?JSON.stringify(t[r],null,2):t[r];void 0!==o&&n.push(r+": "+o)}return n.join("\n")}t.hasOwnProperty=o,t._objectKeys=i,t._deepClone=function(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}},t.isInteger=function(e){for(var t,n=0,r=e.length;n<r;){if(!((t=e.charCodeAt(n))>=48&&t<=57))return!1;n++}return!0},t.escapePathComponent=a,t.unescapePathComponent=function(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")},t._getPathRecursive=s,t.getPath=function(e,t){if(e===t)return"/";var n=s(e,t);if(""===n)throw new Error("Object not found in root");return"/"+n},t.hasUndefined=function e(t){if(void 0===t)return!0;if(t)if(Array.isArray(t)){for(var n=0,r=t.length;n<r;n++)if(e(t[n]))return!0}else if("object"==typeof t){var o=i(t),a=o.length;for(n=0;n<a;n++)if(e(t[o[n]]))return!0}return!1};var c=function(e){function t(t,n,r,o,i){e.call(this,u(t,{name:n,index:r,operation:o,tree:i})),this.name=n,this.index=r,this.operation=o,this.tree=i,this.message=u(t,{name:n,index:r,operation:o,tree:i})}return n(t,e),t}(Error);t.PatchError=c},function(e,t,n){var r=n(63),o=n(211),i=n(100),a=n(158),s=n(954);e.exports=function(e,t){var n=1==e,u=2==e,c=3==e,l=4==e,p=6==e,f=5==e||p,h=t||s;return function(t,s,d){for(var m,v,g=i(t),y=o(g),b=r(s,d,3),_=a(y.length),w=0,x=n?h(t,_):u?h(t,0):void 0;_>w;w++)if((f||w in y)&&(v=b(m=y[w],w,g),e))if(n)x[w]=v;else if(v)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:x.push(m)}else if(l)return!1;return p?-1:c||l?l:x}}},function(e,t,n){"use strict";function r(e,t,n,r,o){this.src=e,this.env=r,this.options=n,this.parser=t,this.tokens=o,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent="",this.labelUnmatchedScopes=0}r.prototype.pushPending=function(){this.tokens.push({type:"text",content:this.pending,level:this.pendingLevel}),this.pending=""},r.prototype.push=function(e){this.pending&&this.pushPending(),this.tokens.push(e),this.pendingLevel=this.level},r.prototype.cacheSet=function(e,t){for(var n=this.cache.length;n<=e;n++)this.cache.push(0);this.cache[e]=t},r.prototype.cacheGet=function(e){return e<this.cache.length?this.cache[e]:0},e.exports=r},function(e,t,n){var r=n(605)("toUpperCase");e.exports=r},function(e,t,n){var r=n(226),o="Expected a function";function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(o);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){var r=n(639)(n(676));e.exports=r},function(e,t,n){"use strict";n.r(t);var r=n(274),o=n(44),i=n(277);t.default=function(e){return{statePlugins:{err:{reducers:Object(r.default)(e),actions:o,selectors:i}}}}},function(e,t,n){"use strict";n.r(t);var r=n(2),o=n.n(r),i=n(16),a=n.n(i),s=n(44),u=n(1),c=n(96),l={line:0,level:"error",message:"Unknown error"};t.default=function(e){var t;return t={},o()(t,s.NEW_THROWN_ERR,function(t,n){var r=n.payload,o=a()(l,r,{type:"thrown"});return t.update("errors",function(e){return(e||Object(u.List)()).push(Object(u.fromJS)(o))}).update("errors",function(t){return Object(c.default)(t,e.getSystem())})}),o()(t,s.NEW_THROWN_ERR_BATCH,function(t,n){var r=n.payload;return r=r.map(function(e){return Object(u.fromJS)(a()(l,e,{type:"thrown"}))}),t.update("errors",function(e){return(e||Object(u.List)()).concat(Object(u.fromJS)(r))}).update("errors",function(t){return Object(c.default)(t,e.getSystem())})}),o()(t,s.NEW_SPEC_ERR,function(t,n){var r=n.payload,o=Object(u.fromJS)(r);return o=o.set("type","spec"),t.update("errors",function(e){return(e||Object(u.List)()).push(Object(u.fromJS)(o)).sortBy(function(e){return e.get("line")})}).update("errors",function(t){return Object(c.default)(t,e.getSystem())})}),o()(t,s.NEW_SPEC_ERR_BATCH,function(t,n){var r=n.payload;return r=r.map(function(e){return Object(u.fromJS)(a()(l,e,{type:"spec"}))}),t.update("errors",function(e){return(e||Object(u.List)()).concat(Object(u.fromJS)(r))}).update("errors",function(t){return Object(c.default)(t,e.getSystem())})}),o()(t,s.NEW_AUTH_ERR,function(t,n){var r=n.payload,o=Object(u.fromJS)(a()({},r));return o=o.set("type","auth"),t.update("errors",function(e){return(e||Object(u.List)()).push(Object(u.fromJS)(o))}).update("errors",function(t){return Object(c.default)(t,e.getSystem())})}),o()(t,s.CLEAR,function(e,t){var n=t.payload;if(!n||!e.get("errors"))return e;var r=e.get("errors").filter(function(e){return e.keySeq().every(function(t){var r=e.get(t),o=n[t];return!o||r!==o})});return e.merge({errors:r})}),o()(t,s.CLEAR_BY,function(e,t){var n=t.payload;if(!n||"function"!=typeof n)return e;var r=e.get("errors").filter(function(e){return n(e)});return e.merge({errors:r})}),t}},function(e,t,n){"use strict";function r(e){return e.map(function(e){var t=e.get("message").indexOf("is not of a type(s)");if(t>-1){var n=e.get("message").slice(t+"is not of a type(s)".length).split(",");return e.set("message",e.get("message").slice(0,t)+function(e){return e.reduce(function(e,t,n,r){return n===r.length-1&&r.length>1?e+"or "+t:r[n+1]&&r.length>2?e+t+", ":r[n+1]?e+t+" ":e+t},"should be a")}(n))}return e})}n.r(t),n.d(t,"transform",function(){return r})},function(e,t,n){"use strict";n.r(t),n.d(t,"transform",function(){return r});n(93),n(1);function r(e,t){t.jsSpec;return e}},function(e,t,n){"use strict";n.r(t),n.d(t,"allErrors",function(){return i}),n.d(t,"lastError",function(){return a});var r=n(1),o=n(11),i=Object(o.createSelector)(function(e){return e},function(e){return e.get("errors",Object(r.List)())}),a=Object(o.createSelector)(i,function(e){return e.last()})},function(e,t,n){"use strict";n.r(t);var r=n(279),o=n(79),i=n(280);t.default=function(){return{statePlugins:{layout:{reducers:r.default,actions:o,selectors:i}}}}},function(e,t,n){"use strict";n.r(t);var r,o=n(2),i=n.n(o),a=n(1),s=n(79);t.default=(r={},i()(r,s.UPDATE_LAYOUT,function(e,t){return e.set("layout",t.payload)}),i()(r,s.UPDATE_FILTER,function(e,t){return e.set("filter",t.payload)}),i()(r,s.SHOW,function(e,t){var n=t.payload.shown,r=Object(a.fromJS)(t.payload.thing);return e.update("shown",Object(a.fromJS)({}),function(e){return e.set(r,n)})}),i()(r,s.UPDATE_MODE,function(e,t){var n=t.payload.thing,r=t.payload.mode;return e.setIn(["modes"].concat(n),(r||"")+"")}),r)},function(e,t,n){"use strict";n.r(t),n.d(t,"current",function(){return u}),n.d(t,"currentFilter",function(){return c}),n.d(t,"isShown",function(){return l}),n.d(t,"whatMode",function(){return p}),n.d(t,"showSummary",function(){return f});var r=n(12),o=n.n(r),i=n(11),a=n(3),s=n(1),u=function(e){return e.get("layout")},c=function(e){return e.get("filter")},l=function(e,t,n){return t=Object(a.w)(t),e.get("shown",Object(s.fromJS)({})).get(Object(s.fromJS)(t),n)},p=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return t=Object(a.w)(t),e.getIn(["modes"].concat(o()(t)),n)},f=Object(i.createSelector)(function(e){return e},function(e){return!l(e,"editor")})},function(e,t,n){"use strict";n.r(t);var r=n(282),o=n(29),i=n(70),a=n(284);t.default=function(){return{statePlugins:{spec:{wrapActions:a,reducers:r.default,actions:o,selectors:i}}}}},function(e,t,n){"use strict";n.r(t);var r,o=n(2),i=n.n(o),a=n(16),s=n.n(a),u=n(12),c=n.n(u),l=n(1),p=n(3),f=n(18),h=n.n(f),d=n(70),m=n(29);t.default=(r={},i()(r,m.UPDATE_SPEC,function(e,t){return"string"==typeof t.payload?e.set("spec",t.payload):e}),i()(r,m.UPDATE_URL,function(e,t){return e.set("url",t.payload+"")}),i()(r,m.UPDATE_JSON,function(e,t){return e.set("json",Object(p.i)(t.payload))}),i()(r,m.UPDATE_RESOLVED,function(e,t){return e.setIn(["resolved"],Object(p.i)(t.payload))}),i()(r,m.UPDATE_RESOLVED_SUBTREE,function(e,t){var n=t.payload,r=n.value,o=n.path;return e.setIn(["resolvedSubtrees"].concat(c()(o)),Object(p.i)(r))}),i()(r,m.UPDATE_PARAM,function(e,t){var n=t.payload,r=n.path,o=n.paramName,i=n.paramIn,a=n.param,s=n.value,u=n.isXml,l=a?Object(p.B)(a):"".concat(i,".").concat(o),f=u?"value_xml":"value";return e.setIn(["meta","paths"].concat(c()(r),["parameters",l,f]),s)}),i()(r,m.UPDATE_EMPTY_PARAM_INCLUSION,function(e,t){var n=t.payload,r=n.pathMethod,o=n.paramName,i=n.paramIn,a=n.includeEmptyValue;if(!o||!i)return console.warn("Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey."),e;var s="".concat(i,".").concat(o);return e.setIn(["meta","paths"].concat(c()(r),["parameter_inclusions",s]),a)}),i()(r,m.VALIDATE_PARAMS,function(e,t){var n=t.payload,r=n.pathMethod,o=n.isOAS3,i=Object(d.specJsonWithResolvedSubtrees)(e).getIn(["paths"].concat(c()(r))),a=Object(d.parameterValues)(e,r).toJS();return e.updateIn(["meta","paths"].concat(c()(r),["parameters"]),Object(l.fromJS)({}),function(t){return i.get("parameters",Object(l.List)()).reduce(function(t,n){var i=Object(p.C)(n,a),s=Object(d.parameterInclusionSettingFor)(e,r,n.get("name"),n.get("in")),u=Object(p.K)(n,i,{bypassRequiredCheck:s,isOAS3:o});return t.setIn([Object(p.B)(n),"errors"],Object(l.fromJS)(u))},t)})}),i()(r,m.CLEAR_VALIDATE_PARAMS,function(e,t){var n=t.payload.pathMethod;return e.updateIn(["meta","paths"].concat(c()(n),["parameters"]),Object(l.fromJS)([]),function(e){return e.map(function(e){return e.set("errors",Object(l.fromJS)([]))})})}),i()(r,m.SET_RESPONSE,function(e,t){var n,r=t.payload,o=r.res,i=r.path,a=r.method;(n=o.error?s()({error:!0,name:o.err.name,message:o.err.message,statusCode:o.err.statusCode},o.err.response):o).headers=n.headers||{};var u=e.setIn(["responses",i,a],Object(p.i)(n));return h.a.Blob&&o.data instanceof h.a.Blob&&(u=u.setIn(["responses",i,a,"text"],o.data)),u}),i()(r,m.SET_REQUEST,function(e,t){var n=t.payload,r=n.req,o=n.path,i=n.method;return e.setIn(["requests",o,i],Object(p.i)(r))}),i()(r,m.SET_MUTATED_REQUEST,function(e,t){var n=t.payload,r=n.req,o=n.path,i=n.method;return e.setIn(["mutatedRequests",o,i],Object(p.i)(r))}),i()(r,m.UPDATE_OPERATION_META_VALUE,function(e,t){var n=t.payload,r=n.path,o=n.value,i=n.key,a=["paths"].concat(c()(r)),s=["meta","paths"].concat(c()(r));return e.getIn(["json"].concat(c()(a)))||e.getIn(["resolved"].concat(c()(a)))||e.getIn(["resolvedSubtrees"].concat(c()(a)))?e.setIn([].concat(c()(s),[i]),Object(l.fromJS)(o)):e}),i()(r,m.CLEAR_RESPONSE,function(e,t){var n=t.payload,r=n.path,o=n.method;return e.deleteIn(["responses",r,o])}),i()(r,m.CLEAR_REQUEST,function(e,t){var n=t.payload,r=n.path,o=n.method;return e.deleteIn(["requests",r,o])}),i()(r,m.SET_SCHEME,function(e,t){var n=t.payload,r=n.scheme,o=n.path,i=n.method;return o&&i?e.setIn(["scheme",o,i],r):o||i?void 0:e.setIn(["scheme","_defaultScheme"],r)}),r)},function(e,t,n){var r=n(83),o=n(37),i=n(66),a="[object String]";e.exports=function(e){return"string"==typeof e||!o(e)&&i(e)&&r(e)==a}},function(e,t,n){"use strict";n.r(t),n.d(t,"updateSpec",function(){return s}),n.d(t,"updateJsonSpec",function(){return u}),n.d(t,"executeRequest",function(){return c}),n.d(t,"validateParams",function(){return l});var r=n(17),o=n.n(r),i=n(93),a=n.n(i),s=function(e,t){var n=t.specActions;return function(){e.apply(void 0,arguments),n.parseToJson.apply(n,arguments)}},u=function(e,t){var n=t.specActions;return function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];e.apply(void 0,r),n.invalidateResolvedSubtreeCache();var s=r[0],u=a()(s,["paths"])||{},c=o()(u);c.forEach(function(e){a()(u,[e]).$ref&&n.requestResolvedSubtree(["paths",e])}),n.requestResolvedSubtree(["components","securitySchemes"])}},c=function(e,t){var n=t.specActions;return function(t){return n.logRequest(t),e(t)}},l=function(e,t){var n=t.specSelectors;return function(t){return e(t,n.isOAS3())}}},function(e,t,n){"use strict";n.r(t);var r=n(148),o=n(3);t.default=function(e){var t=e.getComponents,n=e.getStore,i=e.getSystem,a=r.getComponent,s=r.render,u=r.makeMappedContainer,c=Object(o.v)(a.bind(null,i,n,t));return{rootInjects:{getComponent:c,makeMappedContainer:Object(o.v)(u.bind(null,i,n,c,t)),render:s.bind(null,i,n,a,t)}}}},function(e,t,n){"use strict";n.r(t);var r=n(120);t.default=function(){return{fn:r}}},function(e,t,n){"use strict";n.r(t),t.default=function(e){var t=e.configs,n={debug:0,info:1,log:2,warn:3,error:4},r=function(e){return n[e]||-1},o=t.logLevel,i=r(o);function a(e){for(var t,n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];r(e)>=i&&(t=console)[e].apply(t,o)}return a.warn=a.bind(null,"warn"),a.error=a.bind(null,"error"),a.info=a.bind(null,"info"),a.debug=a.bind(null,"debug"),{rootInjects:{log:a}}}},function(e,t,n){"use strict";n.r(t);var r=n(56),o=n.n(r),i=n(289);t.default=function(e){var t=e.configs,n=e.getConfigs;return{fn:{fetch:o.a.makeHttp(t.preFetch,t.postFetch),buildRequest:o.a.buildRequest,execute:o.a.execute,resolve:o.a.resolve,resolveSubtree:function(e,t,r){if(void 0===r){var i=n();r={modelPropertyMacro:i.modelPropertyMacro,parameterMacro:i.parameterMacro,requestInterceptor:i.requestInterceptor,responseInterceptor:i.responseInterceptor}}for(var a=arguments.length,s=new Array(a>3?a-3:0),u=3;u<a;u++)s[u-3]=arguments[u];return o.a.resolveSubtree.apply(o.a,[e,t,r].concat(s))},serializeRes:o.a.serializeRes,opId:o.a.helpers.opId},statePlugins:{configs:{wrapActions:i}}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"loaded",function(){return r});var r=function(e,t){return function(){e.apply(void 0,arguments);var n=t.getConfigs().withCredentials;void 0!==n&&(t.fn.fetch.withCredentials="string"==typeof n?"true"===n:!!n)}}},function(e,t,n){"use strict";n.r(t),n.d(t,"preauthorizeBasic",function(){return c}),n.d(t,"preauthorizeApiKey",function(){return l});var r=n(2),o=n.n(r),i=n(291),a=n(71),s=n(292),u=n(293);function c(e,t,n,r){var i=e.authActions.authorize,a=e.specSelectors,s=a.specJson,u=(0,a.isOAS3)()?["components","securitySchemes"]:["securityDefinitions"],c=s().getIn([].concat(u,[t]));return c?i(o()({},t,{value:{username:n,password:r},schema:c.toJS()})):null}function l(e,t,n){var r=e.authActions.authorize,i=e.specSelectors,a=i.specJson,s=(0,i.isOAS3)()?["components","securitySchemes"]:["securityDefinitions"],u=a().getIn([].concat(s,[t]));return u?r(o()({},t,{value:n,schema:u.toJS()})):null}t.default=function(){return{afterLoad:function(e){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=e.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=l.bind(null,e),this.rootInjects.preauthorizeBasic=c.bind(null,e)},statePlugins:{auth:{reducers:i.default,actions:a,selectors:s},spec:{wrapActions:u}}}}},function(e,t,n){"use strict";n.r(t);var r,o=n(2),i=n.n(o),a=n(16),s=n.n(a),u=n(13),c=n.n(u),l=n(1),p=n(3),f=n(71);t.default=(r={},i()(r,f.SHOW_AUTH_POPUP,function(e,t){var n=t.payload;return e.set("showDefinitions",n)}),i()(r,f.AUTHORIZE,function(e,t){var n=t.payload,r=Object(l.fromJS)(n),o=e.get("authorized")||Object(l.Map)();return r.entrySeq().forEach(function(e){var t=c()(e,2),n=t[0],r=t[1],i=r.getIn(["schema","type"]);if("apiKey"===i||"http"===i)o=o.set(n,r);else if("basic"===i){var a=r.getIn(["value","username"]),s=r.getIn(["value","password"]);o=(o=o.setIn([n,"value"],{username:a,header:"Basic "+Object(p.a)(a+":"+s)})).setIn([n,"schema"],r.get("schema"))}}),e.set("authorized",o)}),i()(r,f.AUTHORIZE_OAUTH2,function(e,t){var n,r=t.payload,o=r.auth,i=r.token;return o.token=s()({},i),n=Object(l.fromJS)(o),e.setIn(["authorized",n.get("name")],n)}),i()(r,f.LOGOUT,function(e,t){var n=t.payload,r=e.get("authorized").withMutations(function(e){n.forEach(function(t){e.delete(t)})});return e.set("authorized",r)}),i()(r,f.CONFIGURE_AUTH,function(e,t){var n=t.payload;return e.set("configs",n)}),r)},function(e,t,n){"use strict";n.r(t),n.d(t,"shownDefinitions",function(){return l}),n.d(t,"definitionsToAuthorize",function(){return p}),n.d(t,"getDefinitionsByNames",function(){return f}),n.d(t,"definitionsForRequirements",function(){return h}),n.d(t,"authorized",function(){return d}),n.d(t,"isAuthorized",function(){return m}),n.d(t,"getConfigs",function(){return v});var r=n(17),o=n.n(r),i=n(13),a=n.n(i),s=n(11),u=n(1),c=function(e){return e},l=Object(s.createSelector)(c,function(e){return e.get("showDefinitions")}),p=Object(s.createSelector)(c,function(){return function(e){var t=e.specSelectors.securityDefinitions()||Object(u.Map)({}),n=Object(u.List)();return t.entrySeq().forEach(function(e){var t=a()(e,2),r=t[0],o=t[1],i=Object(u.Map)();i=i.set(r,o),n=n.push(i)}),n}}),f=function(e,t){return function(e){var n=e.specSelectors;console.warn("WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.");var r=n.securityDefinitions(),o=Object(u.List)();return t.valueSeq().forEach(function(e){var t=Object(u.Map)();e.entrySeq().forEach(function(e){var n,o=a()(e,2),i=o[0],s=o[1],u=r.get(i);"oauth2"===u.get("type")&&s.size&&((n=u.get("scopes")).keySeq().forEach(function(e){s.contains(e)||(n=n.delete(e))}),u=u.set("allowedScopes",n)),t=t.set(i,u)}),o=o.push(t)}),o}},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object(u.List)();return function(e){return(e.authSelectors.definitionsToAuthorize()||Object(u.List)()).filter(function(e){return t.some(function(t){return t.get(e.keySeq().first())})})}},d=Object(s.createSelector)(c,function(e){return e.get("authorized")||Object(u.Map)()}),m=function(e,t){return function(e){var n=e.authSelectors.authorized();return u.List.isList(t)?!!t.toJS().filter(function(e){return-1===o()(e).map(function(e){return!!n.get(e)}).indexOf(!1)}).length:null}},v=Object(s.createSelector)(c,function(e){return e.get("configs")})},function(e,t,n){"use strict";n.r(t),n.d(t,"execute",function(){return y});var r=n(54),o=n.n(r),i=n(94),a=n.n(i),s=n(60),u=n.n(s),c=n(61),l=n.n(c),p=n(55),f=n.n(p),h=n(17),d=n.n(h),m=n(2),v=n.n(m);function g(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}var y=function(e,t){var n=t.authSelectors,r=t.specSelectors;return function(t){var i=t.path,s=t.method,c=t.operation,p=t.extras,f={authorized:n.authorized()&&n.authorized().toJS(),definitions:r.securityDefinitions()&&r.securityDefinitions().toJS(),specSecurity:r.security()&&r.security().toJS()};return e(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(n,!0).forEach(function(t){v()(e,t,n[t])}):u.a?a()(e,u()(n)):g(n).forEach(function(t){o()(e,t,l()(n,t))})}return e}({path:i,method:s,operation:c,securities:f},p))}}},function(e,t,n){"use strict";n.r(t);var r=n(3);t.default=function(){return{fn:{shallowEqualKeys:r.G}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return p});var r=n(28),o=n.n(r),i=n(16),a=n.n(i),s=n(11),u=n(1),c=n(18),l=n.n(c);function p(e){var t=e.fn;return{statePlugins:{spec:{actions:{download:function(e){return function(n){var r=n.errActions,o=n.specSelectors,i=n.specActions,s=n.getConfigs,u=t.fetch,c=s();function p(t){if(t instanceof Error||t.status>=400)return i.updateLoadingStatus("failed"),r.newThrownErr(a()(new Error((t.message||t.statusText)+" "+e),{source:"fetch"})),void(!t.status&&t instanceof Error&&function(){try{var t;if("URL"in l.a?t=new URL(e):(t=document.createElement("a")).href=e,"https:"!==t.protocol&&"https:"===l.a.location.protocol){var n=a()(new Error("Possible mixed-content issue? The page was loaded over https:// but a ".concat(t.protocol,"// URL was specified. Check that you are not attempting to load mixed content.")),{source:"fetch"});return void r.newThrownErr(n)}if(t.origin!==l.a.location.origin){var o=a()(new Error("Possible cross-origin (CORS) issue? The URL origin (".concat(t.origin,") does not match the page (").concat(l.a.location.origin,"). Check the server returns the correct 'Access-Control-Allow-*' headers.")),{source:"fetch"});r.newThrownErr(o)}}catch(e){return}}());i.updateLoadingStatus("success"),i.updateSpec(t.text),o.url()!==e&&i.updateUrl(e)}e=e||o.url(),i.updateLoadingStatus("loading"),r.clear({source:"fetch"}),u({url:e,loadSpec:!0,requestInterceptor:c.requestInterceptor||function(e){return e},responseInterceptor:c.responseInterceptor||function(e){return e},credentials:"same-origin",headers:{Accept:"application/json,*/*"}}).then(p,p)}},updateLoadingStatus:function(e){var t=[null,"loading","failed","success","failedConfig"];return-1===t.indexOf(e)&&console.error("Error: ".concat(e," is not one of ").concat(o()(t))),{type:"spec_update_loading_status",payload:e}}},reducers:{spec_update_loading_status:function(e,t){return"string"==typeof t.payload?e.set("loadingStatus",t.payload):e}},selectors:{loadingStatus:Object(s.createSelector)(function(e){return e||Object(u.Map)()},function(e){return e.get("loadingStatus")||null})}}}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"downloadConfig",function(){return o}),n.d(t,"getConfigByUrl",function(){return i});var r=n(147),o=function(e){return function(t){return(0,t.fn.fetch)(e)}},i=function(e,t){return function(n){var o=n.specActions;if(e)return o.downloadConfig(e).then(i,i);function i(n){n instanceof Error||n.status>=400?(o.updateLoadingStatus("failedConfig"),o.updateLoadingStatus("failedConfig"),o.updateUrl(""),console.error(n.statusText+" "+e.url),t(null)):t(Object(r.parseYamlConfig)(n.text))}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"get",function(){return i});var r=n(14),o=n.n(r),i=function(e,t){return e.getIn(o()(t)?t:[t])}},function(e,t,n){"use strict";n.r(t);var r,o=n(2),i=n.n(o),a=n(1),s=n(121);t.default=(r={},i()(r,s.UPDATE_CONFIGS,function(e,t){return e.merge(Object(a.fromJS)(t.payload))}),i()(r,s.TOGGLE_CONFIGS,function(e,t){var n=t.payload,r=e.get(n);return e.set(n,!r)}),r)},function(e,t,n){"use strict";n.r(t);var r=n(300),o=n(301),i=n(302);t.default=function(){return[r.default,{statePlugins:{configs:{wrapActions:{loaded:function(e,t){return function(){e.apply(void 0,arguments);var n=decodeURIComponent(window.location.hash);t.layoutActions.parseDeepLinkHash(n)}}}}},wrapComponents:{operation:o.default,OperationTag:i.default}}]}},function(e,t,n){"use strict";n.r(t),n.d(t,"show",function(){return v}),n.d(t,"scrollTo",function(){return g}),n.d(t,"parseDeepLinkHash",function(){return y}),n.d(t,"readyToScroll",function(){return b}),n.d(t,"scrollToElement",function(){return _}),n.d(t,"clearScrollTo",function(){return w});var r,o=n(2),i=n.n(o),a=n(13),s=n.n(a),u=n(14),c=n.n(u),l=n(149),p=n(482),f=n.n(p),h=n(3),d=n(1),m=n.n(d),v=function(e,t){var n=t.getConfigs,r=t.layoutSelectors;return function(){for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];if(e.apply(void 0,o),n().deepLinking)try{var a=o[0],u=o[1];a=c()(a)?a:[a];var p=r.urlHashArrayFromIsShownKey(a);if(!p.length)return;var f=s()(p,2),d=f[0],m=f[1];if(!u)return Object(l.setHash)("/");2===p.length?Object(l.setHash)(Object(h.d)("/".concat(encodeURIComponent(d),"/").concat(encodeURIComponent(m)))):1===p.length&&Object(l.setHash)(Object(h.d)("/".concat(encodeURIComponent(d))))}catch(e){console.error(e)}}},g=function(e){return{type:"layout_scroll_to",payload:c()(e)?e:[e]}},y=function(e){return function(t){var n=t.layoutActions,r=t.layoutSelectors;if((0,t.getConfigs)().deepLinking&&e){var o=e.slice(1);"!"===o[0]&&(o=o.slice(1)),"/"===o[0]&&(o=o.slice(1));var i=o.split("/").map(function(e){return e||""}),a=r.isShownKeyFromUrlHashArray(i),u=s()(a,3),c=u[0],l=u[1],p=void 0===l?"":l,f=u[2],h=void 0===f?"":f;if("operations"===c){var d=r.isShownKeyFromUrlHashArray([p]);p.indexOf("_")>-1&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),n.show(d.map(function(e){return e.replace(/_/g," ")}),!0)),n.show(d,!0)}(p.indexOf("_")>-1||h.indexOf("_")>-1)&&(console.warn("Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead."),n.show(a.map(function(e){return e.replace(/_/g," ")}),!0)),n.show(a,!0),n.scrollTo(a)}}},b=function(e,t){return function(n){var r=n.layoutSelectors.getScrollToKey();m.a.is(r,Object(d.fromJS)(e))&&(n.layoutActions.scrollToElement(t),n.layoutActions.clearScrollTo())}},_=function(e,t){return function(n){try{t=t||n.fn.getScrollParent(e),f.a.createScroller(t).to(e)}catch(e){console.error(e)}}},w=function(){return{type:"layout_clear_scroll"}};t.default={fn:{getScrollParent:function(e,t){var n=document.documentElement,r=getComputedStyle(e),o="absolute"===r.position,i=t?/(auto|scroll|hidden)/:/(auto|scroll)/;if("fixed"===r.position)return n;for(var a=e;a=a.parentElement;)if(r=getComputedStyle(a),(!o||"static"!==r.position)&&i.test(r.overflow+r.overflowY+r.overflowX))return a;return n}},statePlugins:{layout:{actions:{scrollToElement:_,scrollTo:g,clearScrollTo:w,readyToScroll:b,parseDeepLinkHash:y},selectors:{getScrollToKey:function(e){return e.get("scrollToKey")},isShownKeyFromUrlHashArray:function(e,t){var n=s()(t,2),r=n[0],o=n[1];return o?["operations",r,o]:r?["operations-tag",r]:[]},urlHashArrayFromIsShownKey:function(e,t){var n=s()(t,3),r=n[0],o=n[1],i=n[2];return"operations"==r?[o,i]:"operations-tag"==r?[o]:[]}},reducers:(r={},i()(r,"layout_scroll_to",function(e,t){return e.set("scrollToKey",m.a.fromJS(t.payload))}),i()(r,"layout_clear_scroll",function(e){return e.delete("scrollToKey")}),r),wrapActions:{show:v}}}}},function(e,t,n){"use strict";n.r(t);var r=n(4),o=n.n(r),i=n(5),a=n.n(i),s=n(6),u=n.n(s),c=n(7),l=n.n(c),p=n(9),f=n.n(p),h=n(8),d=n.n(h),m=n(2),v=n.n(m),g=n(0),y=n.n(g);n(19);t.default=function(e,t){return function(n){function r(){var e,n;o()(this,r);for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return n=u()(this,(e=l()(r)).call.apply(e,[this].concat(a))),v()(f()(n),"onLoad",function(e){var r=n.props.operation.toObject(),o=["operations",r.tag,r.operationId];t.layoutActions.readyToScroll(o,e)}),n}return d()(r,n),a()(r,[{key:"render",value:function(){return y.a.createElement("span",{ref:this.onLoad},y.a.createElement(e,this.props))}}]),r}(y.a.Component)}},function(e,t,n){"use strict";n.r(t);var r=n(4),o=n.n(r),i=n(5),a=n.n(i),s=n(6),u=n.n(s),c=n(7),l=n.n(c),p=n(9),f=n.n(p),h=n(8),d=n.n(h),m=n(2),v=n.n(m),g=n(0),y=n.n(g);n(10);t.default=function(e,t){return function(n){function r(){var e,n;o()(this,r);for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return n=u()(this,(e=l()(r)).call.apply(e,[this].concat(a))),v()(f()(n),"onLoad",function(e){var r=["operations-tag",n.props.tag];t.layoutActions.readyToScroll(r,e)}),n}return d()(r,n),a()(r,[{key:"render",value:function(){return y.a.createElement("span",{ref:this.onLoad},y.a.createElement(e,this.props))}}]),r}(y.a.Component)}},function(e,t,n){"use strict";n.r(t);var r=n(304);t.default=function(){return{fn:{opsFilter:r.default}}}},function(e,t,n){"use strict";n.r(t),t.default=function(e,t){return e.filter(function(e,n){return-1!==n.indexOf(t)})}},function(e,t,n){"use strict";n.r(t);var r=!1;t.default=function(){return{statePlugins:{spec:{wrapActions:{updateSpec:function(e){return function(){return r=!0,e.apply(void 0,arguments)}},updateJsonSpec:function(e,t){return function(){var n=t.getConfigs().onComplete;return r&&"function"==typeof n&&(setTimeout(n,0),r=!1),e.apply(void 0,arguments)}}}}}}}},function(e,t,n){"use strict";n.r(t);var r=n(307),o=n(308),i=n(309),a=n(310),s=n(319),u=n(62),c=n(326),l=n(327);t.default=function(){return{components:a.default,wrapComponents:s.default,statePlugins:{spec:{wrapSelectors:r,selectors:i},auth:{wrapSelectors:o},oas3:{actions:u,reducers:l.default,selectors:c}}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"definitions",function(){return h}),n.d(t,"hasHost",function(){return d}),n.d(t,"securityDefinitions",function(){return m}),n.d(t,"host",function(){return v}),n.d(t,"basePath",function(){return g}),n.d(t,"consumes",function(){return y}),n.d(t,"produces",function(){return b}),n.d(t,"schemes",function(){return _}),n.d(t,"servers",function(){return w}),n.d(t,"isOAS3",function(){return x}),n.d(t,"isSwagger2",function(){return E});var r=n(11),o=n(70),i=n(1),a=n(24);function s(e){return function(t,n){return function(){var r=n.getSystem().specSelectors.specJson();return Object(a.isOAS3)(r)?e.apply(void 0,arguments):t.apply(void 0,arguments)}}}var u=function(e){return e||Object(i.Map)()},c=s(Object(r.createSelector)(function(){return null})),l=Object(r.createSelector)(u,function(e){return e.get("json",Object(i.Map)())}),p=Object(r.createSelector)(u,function(e){return e.get("resolved",Object(i.Map)())}),f=function(e){var t=p(e);return t.count()<1&&(t=l(e)),t},h=s(Object(r.createSelector)(f,function(e){var t=e.getIn(["components","schemas"]);return i.Map.isMap(t)?t:Object(i.Map)()})),d=s(function(e){return f(e).hasIn(["servers",0])}),m=s(Object(r.createSelector)(o.specJsonWithResolvedSubtrees,function(e){return e.getIn(["components","securitySchemes"])||null})),v=c,g=c,y=c,b=c,_=c,w=s(Object(r.createSelector)(f,function(e){return e.getIn(["servers"])||Object(i.Map)()})),x=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return Object(a.isOAS3)(i.Map.isMap(e)?e:Object(i.Map)())}},E=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return Object(a.isSwagger2)(i.Map.isMap(e)?e:Object(i.Map)())}}},function(e,t,n){"use strict";n.r(t),n.d(t,"definitionsToAuthorize",function(){return p});var r=n(2),o=n.n(r),i=n(13),a=n.n(i),s=n(11),u=n(1),c=n(24);var l,p=(l=Object(s.createSelector)(function(e){return e},function(e){return e.specSelectors.securityDefinitions()},function(e,t){var n=Object(u.List)();return t?(t.entrySeq().forEach(function(e){var t=a()(e,2),r=t[0],i=t[1],s=i.get("type");"oauth2"===s&&i.get("flows").entrySeq().forEach(function(e){var t=a()(e,2),s=t[0],c=t[1],l=Object(u.fromJS)({flow:s,authorizationUrl:c.get("authorizationUrl"),tokenUrl:c.get("tokenUrl"),scopes:c.get("scopes"),type:i.get("type")});n=n.push(new u.Map(o()({},r,l.filter(function(e){return void 0!==e}))))}),"http"!==s&&"apiKey"!==s||(n=n.push(new u.Map(o()({},r,i))))}),n):n}),function(e,t){return function(n){for(var r=t.getSystem().specSelectors.specJson(),o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];return Object(c.isOAS3)(r)?l.apply(void 0,[t].concat(i)):e.apply(void 0,i)}})},function(e,t,n){"use strict";n.r(t),n.d(t,"servers",function(){return l}),n.d(t,"isSwagger2",function(){return p});var r=n(11),o=n(1),i=n(24);var a,s=function(e){return e||Object(o.Map)()},u=Object(r.createSelector)(s,function(e){return e.get("json",Object(o.Map)())}),c=Object(r.createSelector)(s,function(e){return e.get("resolved",Object(o.Map)())}),l=(a=Object(r.createSelector)(function(e){var t=c(e);return t.count()<1&&(t=u(e)),t},function(e){return e.getIn(["servers"])||Object(o.Map)()}),function(){return function(e){var t=e.getSystem().specSelectors.specJson();if(Object(i.isOAS3)(t)){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return a.apply(void 0,r)}return null}}),p=function(e,t){return function(){var e=t.getSystem().specSelectors.specJson();return Object(i.isSwagger2)(e)}}},function(e,t,n){"use strict";n.r(t);var r=n(311),o=n(312),i=n(313),a=n(314),s=n(315),u=n(316),c=n(317),l=n(318);t.default={Callbacks:r.default,HttpAuth:c.default,RequestBody:o.default,Servers:a.default,ServersContainer:s.default,RequestBodyEditor:u.default,OperationServers:l.default,operationLink:i.default}},function(e,t,n){"use strict";n.r(t);var r=n(20),o=n.n(r),i=n(0),a=n.n(i),s=(n(10),n(19),n(1));t.default=function(e){var t=e.callbacks,n=e.getComponent,r=e.specPath,i=n("OperationContainer",!0);if(!t)return a.a.createElement("span",null,"No callbacks");var u=t.map(function(t,n){return a.a.createElement("div",{key:n},a.a.createElement("h2",null,n),t.map(function(t,u){return"$$ref"===u?null:a.a.createElement("div",{key:u},t.map(function(t,c){if("$$ref"===c)return null;var l=Object(s.fromJS)({operation:t});return a.a.createElement(i,o()({},e,{op:l,key:c,tag:"",method:c,path:u,specPath:r.push(n,u,c),allowTryItOut:!1}))}))}))});return a.a.createElement("div",null,u)}},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),i=(n(10),n(19),n(1)),a=n(3);function s(e,t,n){var r=e.getIn(["content",t]),o=r.get("schema").toJS(),i=void 0!==r.get("example")?Object(a.I)(r.get("example")):null,s=r.getIn(["examples",n,"value"]);return r.get("examples")?Object(a.I)(s)||"":Object(a.I)(i||Object(a.o)(o,t,{includeWriteOnly:!0})||"")}t.default=function(e){var t=e.requestBody,n=e.requestBodyValue,r=e.getComponent,u=e.getConfigs,c=e.specSelectors,l=e.fn,p=e.contentType,f=e.isExecute,h=e.specPath,d=e.onChange,m=e.activeExamplesKey,v=e.updateActiveExamplesKey,g=r("Markdown"),y=r("modelExample"),b=r("RequestBodyEditor"),_=r("highlightCode"),w=r("ExamplesSelectValueRetainer"),x=r("Example"),E=u().showCommonExtensions,S=t&&t.get("description")||null,C=t&&t.get("content")||new i.OrderedMap;p=p||C.keySeq().first()||"";var k=C.get(p,Object(i.OrderedMap)()),O=k.get("schema",Object(i.OrderedMap)()),A=k.get("examples",null);if(!k.size)return null;var T="object"===k.getIn(["schema","type"]);if("application/octet-stream"===p||0===p.indexOf("image/")||0===p.indexOf("audio/")||0===p.indexOf("video/")){var j=r("Input");return f?o.a.createElement(j,{type:"file",onChange:function(e){d(e.target.files[0])}}):o.a.createElement("i",null,"Example values are not available for ",o.a.createElement("code",null,"application/octet-stream")," media types.")}if(T&&("application/x-www-form-urlencoded"===p||0===p.indexOf("multipart/"))&&O.get("properties",Object(i.OrderedMap)()).size>0){var P=r("JsonSchemaForm"),I=r("ParameterExt"),M=O.get("properties",Object(i.OrderedMap)());return n=i.Map.isMap(n)?n:Object(i.OrderedMap)(),o.a.createElement("div",{className:"table-container"},S&&o.a.createElement(g,{source:S}),o.a.createElement("table",null,o.a.createElement("tbody",null,M.map(function(e,t){var s=E?Object(a.l)(e):null,u=O.get("required",Object(i.List)()).includes(t),c=e.get("type"),p=e.get("format"),h=e.get("description"),m=n.get(t),v=e.get("default")||e.get("example")||"";""===v&&"object"===c&&(v=Object(a.o)(e,!1,{includeWriteOnly:!0})),"string"!=typeof v&&"object"===c&&(v=Object(a.I)(v));var y="string"===c&&("binary"===p||"base64"===p);return o.a.createElement("tr",{key:t,className:"parameters","data-property-name":t},o.a.createElement("td",{className:"parameters-col_name"},o.a.createElement("div",{className:u?"parameter__name required":"parameter__name"},t,u?o.a.createElement("span",{style:{color:"red"}}," *"):null),o.a.createElement("div",{className:"parameter__type"},c,p&&o.a.createElement("span",{className:"prop-format"},"($",p,")"),E&&s.size?s.map(function(e,t){return o.a.createElement(I,{key:"".concat(t,"-").concat(e),xKey:t,xVal:e})}):null),o.a.createElement("div",{className:"parameter__deprecated"},e.get("deprecated")?"deprecated":null)),o.a.createElement("td",{className:"parameters-col_description"},o.a.createElement(g,{source:h}),f?o.a.createElement("div",null,o.a.createElement(P,{fn:l,dispatchInitialValue:!y,schema:e,description:t,getComponent:r,value:void 0===m?v:m,onChange:function(e){d(e,[t])}})):null))}))))}return o.a.createElement("div",null,S&&o.a.createElement(g,{source:S}),A?o.a.createElement(w,{examples:A,currentKey:m,currentUserInputValue:n,onSelect:function(e){v(e)},updateValue:d,defaultToFirstExample:!0,getComponent:r}):null,f?o.a.createElement("div",null,o.a.createElement(b,{value:n,defaultValue:s(t,p,m),onChange:d,getComponent:r})):o.a.createElement(y,{getComponent:r,getConfigs:u,specSelectors:c,expandDepth:1,isExecute:f,schema:k.get("schema"),specPath:h.push("content",p),example:o.a.createElement(_,{className:"body-param__example",value:Object(a.I)(n)||s(t,p,m)})}),A?o.a.createElement(x,{example:A.get(m),getComponent:r}):null)}},function(e,t,n){"use strict";n.r(t);var r=n(28),o=n.n(r),i=n(4),a=n.n(i),s=n(5),u=n.n(s),c=n(6),l=n.n(c),p=n(7),f=n.n(p),h=n(8),d=n.n(h),m=n(0),v=n.n(m),g=(n(10),n(19),function(e){function t(){return a()(this,t),l()(this,f()(t).apply(this,arguments))}return d()(t,e),u()(t,[{key:"render",value:function(){var e=this.props,t=e.link,n=e.name,r=(0,e.getComponent)("Markdown"),i=t.get("operationId")||t.get("operationRef"),a=t.get("parameters")&&t.get("parameters").toJS(),s=t.get("description");return v.a.createElement("div",{style:{marginBottom:"1.5em"}},v.a.createElement("div",{style:{marginBottom:".5em"}},v.a.createElement("b",null,v.a.createElement("code",null,n)),s?v.a.createElement(r,{source:s}):null),v.a.createElement("pre",null,"Operation `",i,"`",v.a.createElement("br",null),v.a.createElement("br",null),"Parameters ",function(e,t){if("string"!=typeof t)return"";return t.split("\n").map(function(t,n){return n>0?Array(e+1).join(" ")+t:t}).join("\n")}(0,o()(a,null,2))||"{}",v.a.createElement("br",null)))}}]),t}(m.Component));t.default=g},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return _});var r=n(4),o=n.n(r),i=n(5),a=n.n(i),s=n(6),u=n.n(s),c=n(7),l=n.n(c),p=n(9),f=n.n(p),h=n(8),d=n.n(h),m=n(2),v=n.n(m),g=n(0),y=n.n(g),b=n(1),_=(n(10),n(19),function(e){function t(){var e,n;o()(this,t);for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return n=u()(this,(e=l()(t)).call.apply(e,[this].concat(i))),v()(f()(n),"onServerChange",function(e){n.setServer(e.target.value)}),v()(f()(n),"onServerVariableValueChange",function(e){var t=n.props,r=t.setServerVariableValue,o=t.currentServer,i=e.target.getAttribute("data-variable"),a=e.target.value;"function"==typeof r&&r({server:o,key:i,val:a})}),v()(f()(n),"setServer",function(e){(0,n.props.setSelectedServer)(e)}),n}return d()(t,e),a()(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.servers;e.currentServer||this.setServer(t.first().get("url"))}},{key:"componentWillReceiveProps",value:function(e){var t=this.props,n=t.servers,r=t.setServerVariableValue,o=t.getServerVariable;if(this.props.currentServer!==e.currentServer){var i=n.find(function(t){return t.get("url")===e.currentServer});if(!i)return this.setServer(n.first().get("url"));(i.get("variables")||Object(b.OrderedMap)()).map(function(t,n){o(e.currentServer,n)||r({server:e.currentServer,key:n,val:t.get("default")||""})})}}},{key:"render",value:function(){var e=this,t=this.props,n=t.servers,r=t.currentServer,o=t.getServerVariable,i=t.getEffectiveServerValue,a=(n.find(function(e){return e.get("url")===r})||Object(b.OrderedMap)()).get("variables")||Object(b.OrderedMap)(),s=0!==a.size;return y.a.createElement("div",{className:"servers"},y.a.createElement("label",{htmlFor:"servers"},y.a.createElement("select",{onChange:this.onServerChange},n.valueSeq().map(function(e){return y.a.createElement("option",{value:e.get("url"),key:e.get("url")},e.get("url"),e.get("description")&&" - ".concat(e.get("description")))}).toArray())),s?y.a.createElement("div",null,y.a.createElement("div",{className:"computed-url"},"Computed URL:",y.a.createElement("code",null,i(r))),y.a.createElement("h4",null,"Server variables"),y.a.createElement("table",null,y.a.createElement("tbody",null,a.map(function(t,n){return y.a.createElement("tr",{key:n},y.a.createElement("td",null,n),y.a.createElement("td",null,t.get("enum")?y.a.createElement("select",{"data-variable":n,onChange:e.onServerVariableValueChange},t.get("enum").map(function(e){return y.a.createElement("option",{selected:e===o(r,n),key:e,value:e},e)})):y.a.createElement("input",{type:"text",value:o(r,n)||"",onChange:e.onServerVariableValueChange,"data-variable":n})))})))):null)}}]),t}(y.a.Component))},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return m});var r=n(4),o=n.n(r),i=n(5),a=n.n(i),s=n(6),u=n.n(s),c=n(7),l=n.n(c),p=n(8),f=n.n(p),h=n(0),d=n.n(h),m=(n(10),function(e){function t(){return o()(this,t),u()(this,l()(t).apply(this,arguments))}return f()(t,e),a()(t,[{key:"render",value:function(){var e=this.props,t=e.specSelectors,n=e.oas3Selectors,r=e.oas3Actions,o=e.getComponent,i=t.servers(),a=o("Servers");return i&&i.size?d.a.createElement("div",null,d.a.createElement("span",{className:"servers-title"},"Servers"),d.a.createElement(a,{servers:i,currentServer:n.selectedServer(),setSelectedServer:r.setSelectedServer,setServerVariableValue:r.setServerVariableValue,getServerVariable:n.serverVariableValue,getEffectiveServerValue:n.serverEffectiveValue})):null}}]),t}(d.a.Component))},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return w});var r=n(4),o=n.n(r),i=n(5),a=n.n(i),s=n(6),u=n.n(s),c=n(7),l=n.n(c),p=n(9),f=n.n(p),h=n(8),d=n.n(h),m=n(2),v=n.n(m),g=n(0),y=n.n(g),b=(n(10),n(3)),_=Function.prototype,w=function(e){function t(e,n){var r;return o()(this,t),r=u()(this,l()(t).call(this,e,n)),v()(f()(r),"applyDefaultValue",function(e){var t=e||r.props,n=t.onChange,o=t.defaultValue;return r.setState({value:o}),n(o)}),v()(f()(r),"onChange",function(e){r.props.onChange(Object(b.I)(e))}),v()(f()(r),"onDomChange",function(e){var t=e.target.value;r.setState({value:t},function(){return r.onChange(t)})}),r.state={value:Object(b.I)(e.value)||e.defaultValue},e.onChange(e.value),r}return d()(t,e),a()(t,[{key:"componentWillReceiveProps",value:function(e){this.props.value!==e.value&&e.value!==this.state.value&&this.setState({value:Object(b.I)(e.value)}),!e.value&&e.defaultValue&&this.state.value&&this.applyDefaultValue(e)}},{key:"render",value:function(){var e=this.props.getComponent,t=this.state.value,n=e("TextArea");return y.a.createElement("div",{className:"body-param"},y.a.createElement(n,{className:"body-param__text",value:t,onChange:this.onDomChange}))}}]),t}(g.PureComponent);v()(w,"defaultProps",{onChange:_})},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return w});var r=n(16),o=n.n(r),i=n(4),a=n.n(i),s=n(5),u=n.n(s),c=n(6),l=n.n(c),p=n(7),f=n.n(p),h=n(9),d=n.n(h),m=n(8),v=n.n(m),g=n(2),y=n.n(g),b=n(0),_=n.n(b),w=(n(10),function(e){function t(e,n){var r;a()(this,t),r=l()(this,f()(t).call(this,e,n)),y()(d()(r),"onChange",function(e){var t=r.props.onChange,n=e.target,i=n.value,a=n.name,s=o()({},r.state.value);a?s[a]=i:s=i,r.setState({value:s},function(){return t(r.state)})});var i=r.props,s=i.name,u=i.schema,c=r.getValue();return r.state={name:s,schema:u,value:c},r}return v()(t,e),u()(t,[{key:"getValue",value:function(){var e=this.props,t=e.name,n=e.authorized;return n&&n.getIn([t,"value"])}},{key:"render",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.errSelectors,o=e.name,i=n("Input"),a=n("Row"),s=n("Col"),u=n("authError"),c=n("Markdown"),l=n("JumpToPath",!0),p=(t.get("scheme")||"").toLowerCase(),f=this.getValue(),h=r.allErrors().filter(function(e){return e.get("authId")===o});if("basic"===p){var d=f?f.get("username"):null;return _.a.createElement("div",null,_.a.createElement("h4",null,_.a.createElement("code",null,o||t.get("name"))," (http, Basic)",_.a.createElement(l,{path:["securityDefinitions",o]})),d&&_.a.createElement("h6",null,"Authorized"),_.a.createElement(a,null,_.a.createElement(c,{source:t.get("description")})),_.a.createElement(a,null,_.a.createElement("label",null,"Username:"),d?_.a.createElement("code",null," ",d," "):_.a.createElement(s,null,_.a.createElement(i,{type:"text",required:"required",name:"username",onChange:this.onChange}))),_.a.createElement(a,null,_.a.createElement("label",null,"Password:"),d?_.a.createElement("code",null," ****** "):_.a.createElement(s,null,_.a.createElement(i,{required:"required",autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),h.valueSeq().map(function(e,t){return _.a.createElement(u,{error:e,key:t})}))}return"bearer"===p?_.a.createElement("div",null,_.a.createElement("h4",null,_.a.createElement("code",null,o||t.get("name"))," (http, Bearer)",_.a.createElement(l,{path:["securityDefinitions",o]})),f&&_.a.createElement("h6",null,"Authorized"),_.a.createElement(a,null,_.a.createElement(c,{source:t.get("description")})),_.a.createElement(a,null,_.a.createElement("label",null,"Value:"),f?_.a.createElement("code",null," ****** "):_.a.createElement(s,null,_.a.createElement(i,{type:"text",onChange:this.onChange}))),h.valueSeq().map(function(e,t){return _.a.createElement(u,{error:e,key:t})})):_.a.createElement("div",null,_.a.createElement("em",null,_.a.createElement("b",null,o)," HTTP authentication: unsupported scheme ","'".concat(p,"'")))}}]),t}(_.a.Component))},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return I});var r=n(54),o=n.n(r),i=n(94),a=n.n(i),s=n(60),u=n.n(s),c=n(61),l=n.n(c),p=n(55),f=n.n(p),h=n(17),d=n.n(h),m=n(4),v=n.n(m),g=n(5),y=n.n(g),b=n(6),_=n.n(b),w=n(7),x=n.n(w),E=n(9),S=n.n(E),C=n(8),k=n.n(C),O=n(2),A=n.n(O),T=n(0),j=n.n(T);n(10),n(19);function P(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}var I=function(e){function t(){var e,n;v()(this,t);for(var r=arguments.length,i=new Array(r),s=0;s<r;s++)i[s]=arguments[s];return n=_()(this,(e=x()(t)).call.apply(e,[this].concat(i))),A()(S()(n),"setSelectedServer",function(e){var t=n.props,r=t.path,o=t.method;return n.forceUpdate(),n.props.setSelectedServer(e,"".concat(r,":").concat(o))}),A()(S()(n),"setServerVariableValue",function(e){var t=n.props,r=t.path,i=t.method;return n.forceUpdate(),n.props.setServerVariableValue(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(n,!0).forEach(function(t){A()(e,t,n[t])}):u.a?a()(e,u()(n)):P(n).forEach(function(t){o()(e,t,l()(n,t))})}return e}({},e,{namespace:"".concat(r,":").concat(i)}))}),A()(S()(n),"getSelectedServer",function(){var e=n.props,t=e.path,r=e.method;return n.props.getSelectedServer("".concat(t,":").concat(r))}),A()(S()(n),"getServerVariable",function(e,t){var r=n.props,o=r.path,i=r.method;return n.props.getServerVariable({namespace:"".concat(o,":").concat(i),server:e},t)}),A()(S()(n),"getEffectiveServerValue",function(e){var t=n.props,r=t.path,o=t.method;return n.props.getEffectiveServerValue({server:e,namespace:"".concat(r,":").concat(o)})}),n}return k()(t,e),y()(t,[{key:"render",value:function(){var e=this.props,t=e.operationServers,n=e.pathServers,r=e.getComponent;if(!t&&!n)return null;var o=r("Servers"),i=t||n,a=t?"operation":"path";return j.a.createElement("div",{className:"opblock-section operation-servers"},j.a.createElement("div",{className:"opblock-section-header"},j.a.createElement("div",{className:"tab-header"},j.a.createElement("h4",{className:"opblock-title"},"Servers"))),j.a.createElement("div",{className:"opblock-description-wrapper"},j.a.createElement("h4",{className:"message"},"These ",a,"-level options override the global server options."),j.a.createElement(o,{servers:i,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}]),t}(j.a.Component)},function(e,t,n){"use strict";n.r(t);var r=n(320),o=n(321),i=n(322),a=n(323),s=n(324),u=n(325);t.default={Markdown:r.default,AuthItem:o.default,JsonSchema_string:u.default,VersionStamp:i.default,model:s.default,onlineValidatorBadge:a.default}},function(e,t,n){"use strict";n.r(t),n.d(t,"Markdown",function(){return f});var r=n(0),o=n.n(r),i=(n(10),n(59)),a=n.n(i),s=n(195),u=n.n(s),c=n(24),l=n(194),p=new u.a("commonmark");p.block.ruler.enable(["table"]),p.set({linkTarget:"_blank"});var f=function(e){var t=e.source,n=e.className,r=void 0===n?"":n;if("string"!=typeof t)return null;if(t){var i,s=p.render(t),u=Object(l.b)(s);return"string"==typeof u&&(i=u.trim()),o.a.createElement("div",{dangerouslySetInnerHTML:{__html:i},className:a()(r,"renderedMarkdown")})}return null};t.default=Object(c.OAS3ComponentWrapFactory)(f)},function(e,t,n){"use strict";n.r(t);var r=n(40),o=n.n(r),i=n(0),a=n.n(i),s=n(24);t.default=Object(s.OAS3ComponentWrapFactory)(function(e){var t=e.Ori,n=o()(e,["Ori"]),r=n.schema,i=n.getComponent,s=n.errSelectors,u=n.authorized,c=n.onAuthChange,l=n.name,p=i("HttpAuth");return"http"===r.get("type")?a.a.createElement(p,{key:l,schema:r,name:l,errSelectors:s,authorized:u,getComponent:i,onChange:c}):a.a.createElement(t,n)})},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),i=n(24);t.default=Object(i.OAS3ComponentWrapFactory)(function(e){var t=e.Ori;return o.a.createElement("span",null,o.a.createElement(t,e),o.a.createElement("small",{style:{backgroundColor:"#89bf04"}},o.a.createElement("pre",{className:"version"},"OAS3")))})},function(e,t,n){"use strict";n.r(t);var r=n(24);t.default=Object(r.OAS3ComponentWrapFactory)(function(){return null})},function(e,t,n){"use strict";n.r(t);var r=n(20),o=n.n(r),i=n(4),a=n.n(i),s=n(5),u=n.n(s),c=n(6),l=n.n(c),p=n(7),f=n.n(p),h=n(8),d=n.n(h),m=n(0),v=n.n(m),g=(n(10),n(24)),y=n(196),b=function(e){function t(){return a()(this,t),l()(this,f()(t).apply(this,arguments))}return d()(t,e),u()(t,[{key:"render",value:function(){var e=this.props,t=e.getConfigs,n=["model-box"],r=null;return!0===e.schema.get("deprecated")&&(n.push("deprecated"),r=v.a.createElement("span",{className:"model-deprecated-warning"},"Deprecated:")),v.a.createElement("div",{className:n.join(" ")},r,v.a.createElement(y.a,o()({},this.props,{getConfigs:t,depth:1,expandDepth:this.props.expandDepth||0})))}}]),t}(m.Component);t.default=Object(g.OAS3ComponentWrapFactory)(b)},function(e,t,n){"use strict";n.r(t);var r=n(40),o=n.n(r),i=n(0),a=n.n(i),s=n(24);t.default=Object(s.OAS3ComponentWrapFactory)(function(e){var t=e.Ori,n=o()(e,["Ori"]),r=n.schema,i=n.getComponent,s=n.errors,u=n.onChange,c=r.type,l=r.format,p=i("Input");return"string"!==c||"binary"!==l&&"base64"!==l?a.a.createElement(t,n):a.a.createElement(p,{type:"file",className:s.length?"invalid":"",title:s.length?s:"",onChange:function(e){u(e.target.files[0])},disabled:t.isDisabled})})},function(e,t,n){"use strict";n.r(t),n.d(t,"selectedServer",function(){return a}),n.d(t,"requestBodyValue",function(){return s}),n.d(t,"activeExamplesMember",function(){return u}),n.d(t,"requestContentType",function(){return c}),n.d(t,"responseContentType",function(){return l}),n.d(t,"serverVariableValue",function(){return p}),n.d(t,"serverVariables",function(){return f}),n.d(t,"serverEffectiveValue",function(){return h});var r=n(1),o=n(24);function i(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(t){var r=t.getSystem().specSelectors.specJson();return Object(o.isOAS3)(r)?e.apply(void 0,n):null}}}var a=i(function(e,t){var n=t?[t,"selectedServer"]:["selectedServer"];return e.getIn(n)||""}),s=i(function(e,t,n){return e.getIn(["requestData",t,n,"bodyValue"])||null}),u=i(function(e,t,n,r,o){return e.getIn(["examples",t,n,r,o,"activeExample"])||null}),c=i(function(e,t,n){return e.getIn(["requestData",t,n,"requestContentType"])||null}),l=i(function(e,t,n){return e.getIn(["requestData",t,n,"responseContentType"])||null}),p=i(function(e,t,n){var r;if("string"!=typeof t){var o=t.server,i=t.namespace;r=i?[i,"serverVariableValues",o,n]:["serverVariableValues",o,n]}else{r=["serverVariableValues",t,n]}return e.getIn(r)||null}),f=i(function(e,t){var n;if("string"!=typeof t){var o=t.server,i=t.namespace;n=i?[i,"serverVariableValues",o]:["serverVariableValues",o]}else{n=["serverVariableValues",t]}return e.getIn(n)||Object(r.OrderedMap)()}),h=i(function(e,t){var n,o;if("string"!=typeof t){var i=t.server,a=t.namespace;o=i,n=a?e.getIn([a,"serverVariableValues",o]):e.getIn(["serverVariableValues",o])}else o=t,n=e.getIn(["serverVariableValues",o]);n=n||Object(r.OrderedMap)();var s=o;return n.map(function(e,t){s=s.replace(new RegExp("{".concat(t,"}"),"g"),e)}),s})},function(e,t,n){"use strict";n.r(t);var r,o=n(2),i=n.n(o),a=n(13),s=n.n(a),u=n(62);t.default=(r={},i()(r,u.UPDATE_SELECTED_SERVER,function(e,t){var n=t.payload,r=n.selectedServerUrl,o=n.namespace,i=o?[o,"selectedServer"]:["selectedServer"];return e.setIn(i,r)}),i()(r,u.UPDATE_REQUEST_BODY_VALUE,function(e,t){var n=t.payload,r=n.value,o=n.pathMethod,i=s()(o,2),a=i[0],u=i[1];return e.setIn(["requestData",a,u,"bodyValue"],r)}),i()(r,u.UPDATE_ACTIVE_EXAMPLES_MEMBER,function(e,t){var n=t.payload,r=n.name,o=n.pathMethod,i=n.contextType,a=n.contextName,u=s()(o,2),c=u[0],l=u[1];return e.setIn(["examples",c,l,i,a,"activeExample"],r)}),i()(r,u.UPDATE_REQUEST_CONTENT_TYPE,function(e,t){var n=t.payload,r=n.value,o=n.pathMethod,i=s()(o,2),a=i[0],u=i[1];return e.setIn(["requestData",a,u,"requestContentType"],r)}),i()(r,u.UPDATE_RESPONSE_CONTENT_TYPE,function(e,t){var n=t.payload,r=n.value,o=n.path,i=n.method;return e.setIn(["requestData",o,i,"responseContentType"],r)}),i()(r,u.UPDATE_SERVER_VARIABLE_VALUE,function(e,t){var n=t.payload,r=n.server,o=n.namespace,i=n.key,a=n.val,s=o?[o,"serverVariableValues",r,i]:["serverVariableValues",r,i];return e.setIn(s,a)}),r)},function(e,t,n){"use strict";n.r(t);var r=n(3),o=n(1033),i={};o.keys().forEach(function(e){if("./index.js"!==e){var t=o(e);i[Object(r.E)(e)]=t.default?t.default:t}}),t.default=i},function(e,t,n){"use strict";n.r(t);var r=n(147),o=n(121),i=n(296),a=n(297),s=n(298);n.d(t,"default",function(){return c});var u={getLocalConfig:function(){return Object(r.parseYamlConfig)('---\nurl: "https://petstore.swagger.io/v2/swagger.json"\ndom_id: "#swagger-ui"\nvalidatorUrl: "https://validator.swagger.io/validator"\n')}};function c(){return{statePlugins:{spec:{actions:i,selectors:u},configs:{reducers:s.default,actions:o,selectors:a}}}}},function(e,t,n){"use strict";(function(e,r){var o,i=n(468);o="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:r;var a=Object(i.a)(o);t.a=a}).call(this,n(36),n(592)(e))},function(e,t,n){"use strict";var r=n(396),o=n(398),i=n(700);e.exports=function(e){var t,a=r(arguments[1]);return a.normalizer||0!==(t=a.length=o(a.length,e.length,a.async))&&(a.primitive?!1===t?a.normalizer=n(727):t>1&&(a.normalizer=n(728)(t)):a.normalizer=!1===t?n(729)():1===t?n(733)():n(734)(t)),a.async&&n(735),a.promise&&n(736),a.dispose&&n(742),a.maxAge&&n(743),a.max&&n(746),a.refCounter&&n(748),i(e,a)}},function(e,t,n){e.exports=n(772)},function(e,t,n){var r=n(417);e.exports=function(e,t,n){return null==e?e:r(e,t,n)}},function(e,t,n){"use strict";t.__esModule=!0,t.connect=t.Provider=void 0;var r=i(n(891)),o=i(n(893));function i(e){return e&&e.__esModule?e:{default:e}}t.Provider=r.default,t.connect=o.default},function(e,t,n){e.exports=function(){"use strict";var e=Object.freeze||function(e){return e},t=e(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),n=e(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","audio","canvas","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","video","view","vkern"]),r=e(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),o=e(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),i=e(["#text"]),a=Object.freeze||function(e){return e},s=a(["accept","action","align","alt","autocomplete","background","bgcolor","border","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","coords","crossorigin","datetime","default","dir","disabled","download","enctype","face","for","headers","height","hidden","high","href","hreflang","id","integrity","ismap","label","lang","list","loop","low","max","maxlength","media","method","min","minlength","multiple","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","type","usemap","valign","value","width","xmlns"]),u=a(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),c=a(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),l=a(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),p=Object.hasOwnProperty,f=Object.setPrototypeOf,h=("undefined"!=typeof Reflect&&Reflect).apply;function d(e,t){f&&f(e,null);for(var n=t.length;n--;){var r=t[n];if("string"==typeof r){var o=r.toLowerCase();o!==r&&(Object.isFrozen(t)||(t[n]=o),r=o)}e[r]=!0}return e}function m(e){var t={},n=void 0;for(n in e)h(p,e,[n])&&(t[n]=e[n]);return t}h||(h=function(e,t,n){return e.apply(t,n)});var v=Object.seal||function(e){return e},g=v(/\{\{[\s\S]*|[\s\S]*\}\}/gm),y=v(/<%[\s\S]*|[\s\S]*%>/gm),b=v(/^data-[\-\w.\u00B7-\uFFFF]/),_=v(/^aria-[\-\w]+$/),w=v(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),x=v(/^(?:\w+script|data):/i),E=v(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g),S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function C(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var k=("undefined"!=typeof Reflect&&Reflect).apply,O=Array.prototype.slice,A=Object.freeze,T=function(){return"undefined"==typeof window?null:window};k||(k=function(e,t,n){return e.apply(t,n)});var j=function(e,t){if("object"!==(void 0===e?"undefined":S(e))||"function"!=typeof e.createPolicy)return null;var n=null;t.currentScript&&t.currentScript.hasAttribute("data-tt-policy-suffix")&&(n=t.currentScript.getAttribute("data-tt-policy-suffix"));var r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}};return function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T(),p=function(t){return e(t)};if(p.version="2.0.7",p.removed=[],!a||!a.document||9!==a.document.nodeType)return p.isSupported=!1,p;var f=a.document,h=!1,v=!1,P=a.document,I=a.DocumentFragment,M=a.HTMLTemplateElement,N=a.Node,R=a.NodeFilter,D=a.NamedNodeMap,L=void 0===D?a.NamedNodeMap||a.MozNamedAttrMap:D,U=a.Text,q=a.Comment,F=a.DOMParser,B=a.TrustedTypes;if("function"==typeof M){var z=P.createElement("template");z.content&&z.content.ownerDocument&&(P=z.content.ownerDocument)}var V=j(B,f),H=V?V.createHTML(""):"",W=P,J=W.implementation,K=W.createNodeIterator,Y=W.getElementsByTagName,$=W.createDocumentFragment,G=f.importNode,Z={};p.isSupported=J&&void 0!==J.createHTMLDocument&&9!==P.documentMode;var X=g,Q=y,ee=b,te=_,ne=x,re=E,oe=w,ie=null,ae=d({},[].concat(C(t),C(n),C(r),C(o),C(i))),se=null,ue=d({},[].concat(C(s),C(u),C(c),C(l))),ce=null,le=null,pe=!0,fe=!0,he=!1,de=!1,me=!1,ve=!1,ge=!1,ye=!1,be=!1,_e=!1,we=!1,xe=!1,Ee=!0,Se=!0,Ce=!1,ke={},Oe=d({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ae=d({},["audio","video","img","source","image"]),Te=null,je=d({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Pe=null,Ie=P.createElement("form"),Me=function(e){Pe&&Pe===e||(e&&"object"===(void 0===e?"undefined":S(e))||(e={}),ie="ALLOWED_TAGS"in e?d({},e.ALLOWED_TAGS):ae,se="ALLOWED_ATTR"in e?d({},e.ALLOWED_ATTR):ue,Te="ADD_URI_SAFE_ATTR"in e?d(m(je),e.ADD_URI_SAFE_ATTR):je,ce="FORBID_TAGS"in e?d({},e.FORBID_TAGS):{},le="FORBID_ATTR"in e?d({},e.FORBID_ATTR):{},ke="USE_PROFILES"in e&&e.USE_PROFILES,pe=!1!==e.ALLOW_ARIA_ATTR,fe=!1!==e.ALLOW_DATA_ATTR,he=e.ALLOW_UNKNOWN_PROTOCOLS||!1,de=e.SAFE_FOR_JQUERY||!1,me=e.SAFE_FOR_TEMPLATES||!1,ve=e.WHOLE_DOCUMENT||!1,be=e.RETURN_DOM||!1,_e=e.RETURN_DOM_FRAGMENT||!1,we=e.RETURN_DOM_IMPORT||!1,xe=e.RETURN_TRUSTED_TYPE||!1,ye=e.FORCE_BODY||!1,Ee=!1!==e.SANITIZE_DOM,Se=!1!==e.KEEP_CONTENT,Ce=e.IN_PLACE||!1,oe=e.ALLOWED_URI_REGEXP||oe,me&&(fe=!1),_e&&(be=!0),ke&&(ie=d({},[].concat(C(i))),se=[],!0===ke.html&&(d(ie,t),d(se,s)),!0===ke.svg&&(d(ie,n),d(se,u),d(se,l)),!0===ke.svgFilters&&(d(ie,r),d(se,u),d(se,l)),!0===ke.mathMl&&(d(ie,o),d(se,c),d(se,l))),e.ADD_TAGS&&(ie===ae&&(ie=m(ie)),d(ie,e.ADD_TAGS)),e.ADD_ATTR&&(se===ue&&(se=m(se)),d(se,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&d(Te,e.ADD_URI_SAFE_ATTR),Se&&(ie["#text"]=!0),ve&&d(ie,["html","head","body"]),ie.table&&(d(ie,["tbody"]),delete ce.tbody),A&&A(e),Pe=e)},Ne=function(e){p.removed.push({element:e});try{e.parentNode.removeChild(e)}catch(t){e.outerHTML=H}},Re=function(e,t){try{p.removed.push({attribute:t.getAttributeNode(e),from:t})}catch(e){p.removed.push({attribute:null,from:t})}t.removeAttribute(e)},De=function(e){var t=void 0,n=void 0;if(ye)e="<remove></remove>"+e;else{var r=e.match(/^[\s]+/);(n=r&&r[0])&&(e=e.slice(n.length))}if(h)try{t=(new F).parseFromString(e,"text/html")}catch(e){}if(v&&d(ce,["title"]),!t||!t.documentElement){var o=(t=J.createHTMLDocument("")).body;o.parentNode.removeChild(o.parentNode.firstElementChild),o.outerHTML=V?V.createHTML(e):e}return e&&n&&t.body.insertBefore(P.createTextNode(n),t.body.childNodes[0]||null),Y.call(t,ve?"html":"body")[0]};p.isSupported&&(function(){try{De('<svg><p><textarea><img src="</textarea><img src=x abc=1//">').querySelector("svg img")&&(h=!0)}catch(e){}}(),function(){try{var e=De("<x/><title>&lt;/title&gt;&lt;img&gt;");/<\/title/.test(e.querySelector("title").innerHTML)&&(v=!0)}catch(e){}}());var Le=function(e){return K.call(e.ownerDocument||e,e,R.SHOW_ELEMENT|R.SHOW_COMMENT|R.SHOW_TEXT,function(){return R.FILTER_ACCEPT},!1)},Ue=function(e){return"object"===(void 0===N?"undefined":S(N))?e instanceof N:e&&"object"===(void 0===e?"undefined":S(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},qe=function(e,t,n){Z[e]&&Z[e].forEach(function(e){e.call(p,t,n,Pe)})},Fe=function(e){var t,n=void 0;if(qe("beforeSanitizeElements",e,null),!((t=e)instanceof U||t instanceof q||"string"==typeof t.nodeName&&"string"==typeof t.textContent&&"function"==typeof t.removeChild&&t.attributes instanceof L&&"function"==typeof t.removeAttribute&&"function"==typeof t.setAttribute&&"string"==typeof t.namespaceURI))return Ne(e),!0;var r=e.nodeName.toLowerCase();if(qe("uponSanitizeElement",e,{tagName:r,allowedTags:ie}),("svg"===r||"math"===r)&&0!==e.querySelectorAll("p, br").length)return Ne(e),!0;if(!ie[r]||ce[r]){if(Se&&!Oe[r]&&"function"==typeof e.insertAdjacentHTML)try{var o=e.innerHTML;e.insertAdjacentHTML("AfterEnd",V?V.createHTML(o):o)}catch(e){}return Ne(e),!0}return"noscript"===r&&/<\/noscript/i.test(e.innerHTML)?(Ne(e),!0):"noembed"===r&&/<\/noembed/i.test(e.innerHTML)?(Ne(e),!0):(!de||e.firstElementChild||e.content&&e.content.firstElementChild||!/</g.test(e.textContent)||(p.removed.push({element:e.cloneNode()}),e.innerHTML?e.innerHTML=e.innerHTML.replace(/</g,"&lt;"):e.innerHTML=e.textContent.replace(/</g,"&lt;")),me&&3===e.nodeType&&(n=(n=(n=e.textContent).replace(X," ")).replace(Q," "),e.textContent!==n&&(p.removed.push({element:e.cloneNode()}),e.textContent=n)),qe("afterSanitizeElements",e,null),!1)},Be=function(e,t,n){if(Ee&&("id"===t||"name"===t)&&(n in P||n in Ie))return!1;if(fe&&ee.test(t));else if(pe&&te.test(t));else{if(!se[t]||le[t])return!1;if(Te[t]);else if(oe.test(n.replace(re,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==n.indexOf("data:")||!Ae[e])if(he&&!ne.test(n.replace(re,"")));else if(n)return!1}return!0},ze=function(e){var t=void 0,n=void 0,r=void 0,o=void 0,i=void 0;qe("beforeSanitizeAttributes",e,null);var a=e.attributes;if(a){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:se};for(i=a.length;i--;){var u=t=a[i],c=u.name,l=u.namespaceURI;if(n=t.value.trim(),r=c.toLowerCase(),s.attrName=r,s.attrValue=n,s.keepAttr=!0,qe("uponSanitizeAttribute",e,s),n=s.attrValue,"name"===r&&"IMG"===e.nodeName&&a.id)o=a.id,a=k(O,a,[]),Re("id",e),Re(c,e),a.indexOf(o)>i&&e.setAttribute("id",o.value);else{if("INPUT"===e.nodeName&&"type"===r&&"file"===n&&s.keepAttr&&(se[r]||!le[r]))continue;"id"===c&&e.setAttribute(c,""),Re(c,e)}if(s.keepAttr)if(/svg|math/i.test(e.namespaceURI)&&new RegExp("</("+Object.keys(Oe).join("|")+")","i").test(n))Re(c,e);else{me&&(n=(n=n.replace(X," ")).replace(Q," "));var f=e.nodeName.toLowerCase();if(Be(f,r,n))try{l?e.setAttributeNS(l,c,n):e.setAttribute(c,n),p.removed.pop()}catch(e){}}}qe("afterSanitizeAttributes",e,null)}},Ve=function e(t){var n=void 0,r=Le(t);for(qe("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)qe("uponSanitizeShadowNode",n,null),Fe(n)||(n.content instanceof I&&e(n.content),ze(n));qe("afterSanitizeShadowDOM",t,null)};return p.sanitize=function(e,t){var n=void 0,r=void 0,o=void 0,i=void 0,s=void 0;if(e||(e="\x3c!--\x3e"),"string"!=typeof e&&!Ue(e)){if("function"!=typeof e.toString)throw new TypeError("toString is not a function");if("string"!=typeof(e=e.toString()))throw new TypeError("dirty is not a string, aborting")}if(!p.isSupported){if("object"===S(a.toStaticHTML)||"function"==typeof a.toStaticHTML){if("string"==typeof e)return a.toStaticHTML(e);if(Ue(e))return a.toStaticHTML(e.outerHTML)}return e}if(ge||Me(t),p.removed=[],Ce);else if(e instanceof N)1===(r=(n=De("\x3c!--\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===r.nodeName?n=r:"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!be&&!me&&!ve&&xe&&-1===e.indexOf("<"))return V?V.createHTML(e):e;if(!(n=De(e)))return be?null:H}n&&ye&&Ne(n.firstChild);for(var u=Le(Ce?e:n);o=u.nextNode();)3===o.nodeType&&o===i||Fe(o)||(o.content instanceof I&&Ve(o.content),ze(o),i=o);if(i=null,Ce)return e;if(be){if(_e)for(s=$.call(n.ownerDocument);n.firstChild;)s.appendChild(n.firstChild);else s=n;return we&&(s=G.call(f,s,!0)),s}var c=ve?n.outerHTML:n.innerHTML;return me&&(c=(c=c.replace(X," ")).replace(Q," ")),V&&xe?V.createHTML(c):c},p.setConfig=function(e){Me(e),ge=!0},p.clearConfig=function(){Pe=null,ge=!1},p.isValidAttribute=function(e,t,n){Pe||Me({});var r=e.toLowerCase(),o=t.toLowerCase();return Be(r,o,n)},p.addHook=function(e,t){"function"==typeof t&&(Z[e]=Z[e]||[],Z[e].push(t))},p.removeHook=function(e){Z[e]&&Z[e].pop()},p.removeHooks=function(e){Z[e]&&(Z[e]=[])},p.removeAllHooks=function(){Z={}},p}()}()},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(201)(!0);n(338)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";var r=n(198),o=n(35),i=n(97),a=n(81),s=n(128),u=n(495),c=n(203),l=n(501),p=n(33)("iterator"),f=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,d,m,v,g){u(n,t,d);var y,b,_,w=function(e){if(!f&&e in C)return C[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+" Iterator",E="values"==m,S=!1,C=e.prototype,k=C[p]||C["@@iterator"]||m&&C[m],O=k||w(m),A=m?E?w("entries"):O:void 0,T="Array"==t&&C.entries||k;if(T&&(_=l(T.call(new e)))!==Object.prototype&&_.next&&(c(_,x,!0),r||"function"==typeof _[p]||a(_,p,h)),E&&k&&"values"!==k.name&&(S=!0,O=function(){return k.call(this)}),r&&!g||!f&&!S&&C[p]||a(C,p,O),s[t]=O,s[x]=h,m)if(y={values:E?O:w("values"),keys:v?O:w("keys"),entries:A},g)for(b in y)b in C||i(C,b,y[b]);else o(o.P+o.F*(f||S),t,y);return y}},function(e,t,n){var r=n(498),o=n(341);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(127),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(41).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(73);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r,o,i,a=n(153),s=n(512),u=n(342),c=n(200),l=n(41),p=l.process,f=l.setImmediate,h=l.clearImmediate,d=l.MessageChannel,m=l.Dispatch,v=0,g={},y=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},b=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++v]=function(){s("function"==typeof e?e:Function(e),t)},r(v),v},h=function(e){delete g[e]},"process"==n(125)(p)?r=function(e){p.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:d?(i=(o=new d).port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",b,!1)):r="onreadystatechange"in c("script")?function(e){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(45),o=n(98),i=n(205);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(98),o=n(125),i=n(33)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==o(e))}},function(e,t,n){var r=n(75),o=n(76),i=n(555)(!1),a=n(213)("IE_PROTO");e.exports=function(e,t){var n,s=o(e),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~i(c,n)||c.push(n));return c}},function(e,t,n){e.exports=!n(50)&&!n(82)(function(){return 7!=Object.defineProperty(n(217)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(49),o=n(46),i=n(129);e.exports=n(50)?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),s=a.length,u=0;s>u;)r.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var r=n(32).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(75),o=n(100),i=n(213)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){"use strict";var r=n(32),o=n(75),i=n(50),a=n(30),s=n(220),u=n(135).KEY,c=n(82),l=n(214),p=n(134),f=n(159),h=n(34),d=n(221),m=n(222),v=n(565),g=n(223),y=n(46),b=n(43),_=n(76),w=n(218),x=n(133),E=n(160),S=n(566),C=n(163),k=n(49),O=n(129),A=C.f,T=k.f,j=S.f,P=r.Symbol,I=r.JSON,M=I&&I.stringify,N=h("_hidden"),R=h("toPrimitive"),D={}.propertyIsEnumerable,L=l("symbol-registry"),U=l("symbols"),q=l("op-symbols"),F=Object.prototype,B="function"==typeof P,z=r.QObject,V=!z||!z.prototype||!z.prototype.findChild,H=i&&c(function(){return 7!=E(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=A(F,t);r&&delete F[t],T(e,t,n),r&&e!==F&&T(F,t,r)}:T,W=function(e){var t=U[e]=E(P.prototype);return t._k=e,t},J=B&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},K=function(e,t,n){return e===F&&K(q,t,n),y(e),t=w(t,!0),y(n),o(U,t)?(n.enumerable?(o(e,N)&&e[N][t]&&(e[N][t]=!1),n=E(n,{enumerable:x(0,!1)})):(o(e,N)||T(e,N,x(1,{})),e[N][t]=!0),H(e,t,n)):T(e,t,n)},Y=function(e,t){y(e);for(var n,r=v(t=_(t)),o=0,i=r.length;i>o;)K(e,n=r[o++],t[n]);return e},$=function(e){var t=D.call(this,e=w(e,!0));return!(this===F&&o(U,e)&&!o(q,e))&&(!(t||!o(this,e)||!o(U,e)||o(this,N)&&this[N][e])||t)},G=function(e,t){if(e=_(e),t=w(t,!0),e!==F||!o(U,t)||o(q,t)){var n=A(e,t);return!n||!o(U,t)||o(e,N)&&e[N][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=j(_(e)),r=[],i=0;n.length>i;)o(U,t=n[i++])||t==N||t==u||r.push(t);return r},X=function(e){for(var t,n=e===F,r=j(n?q:_(e)),i=[],a=0;r.length>a;)!o(U,t=r[a++])||n&&!o(F,t)||i.push(U[t]);return i};B||(s((P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var e=f(arguments.length>0?arguments[0]:void 0),t=function(n){this===F&&t.call(q,n),o(this,N)&&o(this[N],e)&&(this[N][e]=!1),H(this,e,x(1,n))};return i&&V&&H(F,e,{configurable:!0,set:t}),W(e)}).prototype,"toString",function(){return this._k}),C.f=G,k.f=K,n(224).f=S.f=Z,n(162).f=$,n(161).f=X,i&&!n(131)&&s(F,"propertyIsEnumerable",$,!0),d.f=function(e){return W(h(e))}),a(a.G+a.W+a.F*!B,{Symbol:P});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ee=0;Q.length>ee;)h(Q[ee++]);for(var te=O(h.store),ne=0;te.length>ne;)m(te[ne++]);a(a.S+a.F*!B,"Symbol",{for:function(e){return o(L,e+="")?L[e]:L[e]=P(e)},keyFor:function(e){if(!J(e))throw TypeError(e+" is not a symbol!");for(var t in L)if(L[t]===e)return t},useSetter:function(){V=!0},useSimple:function(){V=!1}}),a(a.S+a.F*!B,"Object",{create:function(e,t){return void 0===t?E(e):Y(E(e),t)},defineProperty:K,defineProperties:Y,getOwnPropertyDescriptor:G,getOwnPropertyNames:Z,getOwnPropertySymbols:X}),I&&a(a.S+a.F*(!B||c(function(){var e=P();return"[null]"!=M([e])||"{}"!=M({a:e})||"{}"!=M(Object(e))})),"JSON",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(b(t)||void 0!==e)&&!J(e))return g(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!J(t))return t}),r[1]=t,M.apply(I,r)}}),P.prototype[R]||n(77)(P.prototype,R,P.prototype.valueOf),p(P,"Symbol"),p(Math,"Math",!0),p(r.JSON,"JSON",!0)},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";var r=n(129),o=n(161),i=n(162),a=n(100),s=n(211),u=Object.assign;e.exports=!u||n(82)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=a(e),u=arguments.length,c=1,l=o.f,p=i.f;u>c;)for(var f,h=s(arguments[c++]),d=l?r(h).concat(l(h)):r(h),m=d.length,v=0;m>v;)p.call(h,f=d[v++])&&(n[f]=h[f]);return n}:u},function(e,t,n){"use strict";var r=n(136),o=n(25),i=n(358),a=(n(359),n(165));n(15),n(577);function s(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}function u(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}function c(){}s.prototype.isReactComponent={},s.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&r("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},s.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")},c.prototype=s.prototype,u.prototype=new c,u.prototype.constructor=u,o(u.prototype,s.prototype),u.prototype.isPureReactComponent=!0,e.exports={Component:s,PureComponent:u}},function(e,t,n){"use strict";n(23);var r={isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}};e.exports=r},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";var r=n(585);e.exports=function(e){return r(e,!1)}},function(e,t,n){"use strict";e.exports=n(586)},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e&&"@@redux/INIT"===e.type?"initialState argument passed to createStore":"previous state received by the reducer"},e.exports=t.default},function(e,t,n){var r=n(106),o=n(367),i=n(37),a=n(167),s=1/0,u=r?r.prototype:void 0,c=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(a(t))return c?c.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(36))},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t){e.exports=function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r<o;)i[r]=e[r+t];return i}},function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},function(e,t){e.exports=function(e,t,n,r){var o=-1,i=null==e?0:e.length;for(r&&i&&(n=e[++o]);++o<i;)n=t(n,e[o],o,e);return n}},function(e,t,n){var r=n(83),o=n(52),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(647),o=n(66);e.exports=function e(t,n,i,a,s){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,i,a,e,s))}},function(e,t,n){var r=n(648),o=n(375),i=n(651),a=1,s=2;e.exports=function(e,t,n,u,c,l){var p=n&a,f=e.length,h=t.length;if(f!=h&&!(p&&h>f))return!1;var d=l.get(e);if(d&&l.get(t))return d==t;var m=-1,v=!0,g=n&s?new r:void 0;for(l.set(e,t),l.set(t,e);++m<f;){var y=e[m],b=t[m];if(u)var _=p?u(b,y,m,t,e,l):u(y,b,m,e,t,l);if(void 0!==_){if(_)continue;v=!1;break}if(g){if(!o(t,function(e,t){if(!i(g,t)&&(y===e||c(y,e,n,u,l)))return g.push(t)})){v=!1;break}}else if(y!==b&&!c(y,b,n,u,l)){v=!1;break}}return l.delete(e),l.delete(t),v}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t,n){var r=n(51).Uint8Array;e.exports=r},function(e,t,n){var r=n(378),o=n(230),i=n(85);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(229),o=n(37);e.exports=function(e,t,n){var i=t(e);return o(e)?i:r(i,n(e))}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(657),o=n(231),i=n(37),a=n(232),s=n(174),u=n(381),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),l=!n&&o(e),p=!n&&!l&&a(e),f=!n&&!l&&!p&&u(e),h=n||l||p||f,d=h?r(e.length,String):[],m=d.length;for(var v in e)!t&&!c.call(e,v)||h&&("length"==v||p&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,m))||d.push(v);return d}},function(e,t,n){var r=n(660),o=n(234),i=n(235),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(52);e.exports=function(e){return e==e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}},function(e,t,n){var r=n(671),o=n(672);e.exports=function(e,t){return null!=e&&o(e,t,r)}},function(e,t,n){var r=n(678);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var r=n(52),o=n(167),i=NaN,a=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return i;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=u.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):s.test(e)?i:+e}},function(e,t,n){var r=n(680),o=n(683)(r);e.exports=o},function(e,t,n){var r=n(91),o=n(107),i=n(174),a=n(52);e.exports=function(e,t,n){if(!a(n))return!1;var s=typeof t;return!!("number"==s?o(n)&&i(t,n.length):"string"==s&&t in n)&&r(n[t],e)}},function(e,t,n){"use strict";(function(t,r){var o=n(178);e.exports=b;var i,a=n(355);b.ReadableState=y;n(238).EventEmitter;var s=function(e,t){return e.listeners(t).length},u=n(391),c=n(48).Buffer,l=t.Uint8Array||function(){};var p=n(137);p.inherits=n(47);var f=n(686),h=void 0;h=f&&f.debuglog?f.debuglog("stream"):function(){};var d,m=n(687),v=n(392);p.inherits(b,u);var g=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var r=t instanceof(i=i||n(86));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var o=e.highWaterMark,a=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=o||0===o?o:r&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=n(394).StringDecoder),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function b(e){if(i=i||n(86),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function _(e,t,n,r,o){var i,a=e._readableState;null===t?(a.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,S(e)}(e,a)):(o||(i=function(e,t){var n;r=t,c.isBuffer(r)||r instanceof l||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(a,t)),i?e.emit("error",i):a.objectMode||t&&t.length>0?("string"==typeof t||a.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),r?a.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):w(e,a,t,!0):a.ended?e.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!n?(t=a.decoder.write(t),a.objectMode||0!==t.length?w(e,a,t,!1):k(e,a)):w(e,a,t,!1))):r||(a.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(a)}function w(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&S(e)),k(e,t)}Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),b.prototype.destroy=v.destroy,b.prototype._undestroy=v.undestroy,b.prototype._destroy=function(e,t){this.push(null),t(e)},b.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=c.from(e,t),t=""),n=!0),_(this,e,t,!1,n)},b.prototype.unshift=function(e){return _(this,e,null,!0,!1)},b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){return d||(d=n(394).StringDecoder),this._readableState.decoder=new d(e),this._readableState.encoding=e,this};var x=8388608;function E(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=x?e=x:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function S(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(C,e):C(e))}function C(e){h("emit readable"),e.emit("readable"),j(e)}function k(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(O,e,t))}function O(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(h("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function A(e){h("readable nexttick read 0"),e.read(0)}function T(e,t){t.reading||(h("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(h("flow",t.flowing);t.flowing&&null!==e.read(););}function P(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,o=n.data;e-=o.length;for(;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(a===i.length?o+=i:o+=i.slice(0,e),0===(e-=a)){a===i.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=i.slice(a));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=c.allocUnsafe(e),r=t.head,o=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(n,n.length-e,0,a),0===(e-=a)){a===i.length?(++o,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=i.slice(a));break}++o}return t.length-=o,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function I(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function N(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}b.prototype.read=function(e){h("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?I(this):S(this),null;if(0===(e=E(e,t))&&t.ended)return 0===t.length&&I(this),null;var r,o=t.needReadable;return h("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&h("length less than watermark",o=!0),t.ended||t.reading?h("reading or ended",o=!1):o&&(h("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=E(n,t))),null===(r=e>0?P(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&I(this)),null!==r&&this.emit("data",r),r},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,h("pipe count=%d opts=%j",i.pipesCount,t);var u=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?l:b;function c(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",g),e.removeListener("finish",y),e.removeListener("drain",p),e.removeListener("error",v),e.removeListener("unpipe",c),n.removeListener("end",l),n.removeListener("end",b),n.removeListener("data",m),f=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||p())}function l(){h("onend"),e.end()}i.endEmitted?o.nextTick(u):n.once("end",u),e.on("unpipe",c);var p=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,j(e))}}(n);e.on("drain",p);var f=!1;var d=!1;function m(t){h("ondata"),d=!1,!1!==e.write(t)||d||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==N(i.pipes,e))&&!f&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function v(t){h("onerror",t),b(),e.removeListener("error",v),0===s(e,"error")&&e.emit("error",t)}function g(){e.removeListener("finish",y),b()}function y(){h("onfinish"),e.removeListener("close",g),b()}function b(){h("unpipe"),n.unpipe(e)}return n.on("data",m),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?a(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",v),e.once("close",g),e.once("finish",y),e.emit("pipe",n),i.flowing||(h("pipe resume"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<o;i++)r[i].emit("unpipe",this,n);return this}var a=N(t.pipes,e);return-1===a?this:(t.pipes.splice(a,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},b.prototype.on=function(e,t){var n=u.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&S(this):o.nextTick(A,this))}return n},b.prototype.addListener=b.prototype.on,b.prototype.resume=function(){var e=this._readableState;return e.flowing||(h("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,o.nextTick(T,e,t))}(this,e)),this},b.prototype.pause=function(){return h("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(h("pause"),this._readableState.flowing=!1,this.emit("pause")),this},b.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var o in e.on("end",function(){if(h("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(o){(h("wrapped data"),n.decoder&&(o=n.decoder.write(o)),n.objectMode&&null==o)||(n.objectMode||o&&o.length)&&(t.push(o)||(r=!0,e.pause()))}),e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));for(var i=0;i<g.length;i++)e.on(g[i],this.emit.bind(this,g[i]));return this._read=function(t){h("wrapped _read",t),r&&(r=!1,e.resume())},this},Object.defineProperty(b.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),b._fromList=P}).call(this,n(36),n(67))},function(e,t,n){e.exports=n(238).EventEmitter},function(e,t,n){"use strict";var r=n(178);function o(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,i=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return i||a?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(o,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(r.nextTick(o,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(689),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(36))},function(e,t,n){"use strict";var r=n(48).Buffer,o=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===o||!o(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=l,this.end=p,t=3;break;default:return this.write=f,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function p(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function f(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},i.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},i.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var o=a(t[r]);if(o>=0)return o>0&&(e.lastNeed=o-1),o;if(--r<n||-2===o)return 0;if((o=a(t[r]))>=0)return o>0&&(e.lastNeed=o-2),o;if(--r<n||-2===o)return 0;if((o=a(t[r]))>=0)return o>0&&(2===o?o=0:e.lastNeed=o-3),o;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";e.exports=a;var r=n(86),o=n(137);function i(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var o=this._readableState;o.reading=!1,(o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}function a(e){if(!(this instanceof a))return new a(e);r.call(this,e),this._transformState={afterTransform:i.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush(function(t,n){u(e,t,n)}):u(this,null,null)}function u(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}o.inherits=n(47),o.inherits(a,r),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var n=this;r.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){"use strict";var r=n(87),o=Array.prototype.forEach,i=Object.create,a=function(e,t){var n;for(n in e)t[n]=e[n]};e.exports=function(e){var t=i(null);return o.call(arguments,function(e){r(e)&&a(Object(e),t)}),t}},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){"use strict";var r=n(88);e.exports=function(e,t,n){var o;return isNaN(e)?(o=t)>=0?n&&o?o-1:o:1:!1!==e&&r(e)}},function(e,t,n){"use strict";e.exports=n(704)()?Object.assign:n(705)},function(e,t,n){"use strict";var r,o,i,a,s,u=n(88),c=function(e,t){return t};try{Object.defineProperty(c,"length",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(e){}1===c.length?(r={configurable:!0,writable:!1,enumerable:!1},o=Object.defineProperty,e.exports=function(e,t){return t=u(t),e.length===t?e:(r.value=t,o(e,"length",r))}):(a=n(401),s=[],i=function(e){var t,n=0;if(s[e])return s[e];for(t=[];e--;)t.push("a"+(++n).toString(36));return new Function("fn","return function ("+t.join(", ")+") { return fn.apply(this, arguments); };")},e.exports=function(e,t){var n;if(t=u(t),e.length===t)return e;n=i(t)(e);try{a(n,e)}catch(e){}return n})},function(e,t,n){"use strict";var r=n(110),o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,s=Object.getOwnPropertySymbols;e.exports=function(e,t){var n,u=Object(r(t));if(e=Object(r(e)),a(u).forEach(function(r){try{o(e,r,i(t,r))}catch(e){n=e}}),"function"==typeof s&&s(u).forEach(function(r){try{o(e,r,i(t,r))}catch(e){n=e}}),void 0!==n)throw n;return e}},function(e,t,n){"use strict";var r=n(78),o=n(179),i=Function.prototype.call;e.exports=function(e,t){var n={},a=arguments[2];return r(t),o(e,function(e,r,o,s){n[r]=i.call(t,a,e,r,o,s)}),n}},function(e,t){e.exports=function(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}},function(e,t,n){var r=n(47),o=n(111),i=n(48).Buffer,a=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function u(){this.init(),this._w=s,o.call(this,64,56)}function c(e,t,n){return n^e&(t^n)}function l(e,t,n){return e&t|n&(e|t)}function p(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function f(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(u,o),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,o=0|this._b,i=0|this._c,s=0|this._d,u=0|this._e,d=0|this._f,m=0|this._g,v=0|this._h,g=0;g<16;++g)n[g]=e.readInt32BE(4*g);for(;g<64;++g)n[g]=0|(((t=n[g-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[g-7]+h(n[g-15])+n[g-16];for(var y=0;y<64;++y){var b=v+f(u)+c(u,d,m)+a[y]+n[y]|0,_=p(r)+l(r,o,i)|0;v=m,m=d,d=u,u=s+b|0,s=i,i=o,o=r,r=b+_|0}this._a=r+this._a|0,this._b=o+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0,this._f=d+this._f|0,this._g=m+this._g|0,this._h=v+this._h|0},u.prototype._hash=function(){var e=i.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},function(e,t,n){var r=n(47),o=n(111),i=n(48).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function u(){this.init(),this._w=s,o.call(this,128,112)}function c(e,t,n){return n^e&(t^n)}function l(e,t,n){return e&t|n&(e|t)}function p(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function f(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function d(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function v(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function g(e,t){return e>>>0<t>>>0?1:0}r(u,o),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,o=0|this._ch,i=0|this._dh,s=0|this._eh,u=0|this._fh,y=0|this._gh,b=0|this._hh,_=0|this._al,w=0|this._bl,x=0|this._cl,E=0|this._dl,S=0|this._el,C=0|this._fl,k=0|this._gl,O=0|this._hl,A=0;A<32;A+=2)t[A]=e.readInt32BE(4*A),t[A+1]=e.readInt32BE(4*A+4);for(;A<160;A+=2){var T=t[A-30],j=t[A-30+1],P=h(T,j),I=d(j,T),M=m(T=t[A-4],j=t[A-4+1]),N=v(j,T),R=t[A-14],D=t[A-14+1],L=t[A-32],U=t[A-32+1],q=I+D|0,F=P+R+g(q,I)|0;F=(F=F+M+g(q=q+N|0,N)|0)+L+g(q=q+U|0,U)|0,t[A]=F,t[A+1]=q}for(var B=0;B<160;B+=2){F=t[B],q=t[B+1];var z=l(n,r,o),V=l(_,w,x),H=p(n,_),W=p(_,n),J=f(s,S),K=f(S,s),Y=a[B],$=a[B+1],G=c(s,u,y),Z=c(S,C,k),X=O+K|0,Q=b+J+g(X,O)|0;Q=(Q=(Q=Q+G+g(X=X+Z|0,Z)|0)+Y+g(X=X+$|0,$)|0)+F+g(X=X+q|0,q)|0;var ee=W+V|0,te=H+z+g(ee,W)|0;b=y,O=k,y=u,k=C,u=s,C=S,s=i+Q+g(S=E+X|0,E)|0,i=o,E=x,o=r,x=w,r=n,w=_,n=Q+te+g(_=X+ee|0,X)|0}this._al=this._al+_|0,this._bl=this._bl+w|0,this._cl=this._cl+x|0,this._dl=this._dl+E|0,this._el=this._el+S|0,this._fl=this._fl+C|0,this._gl=this._gl+k|0,this._hl=this._hl+O|0,this._ah=this._ah+n+g(this._al,_)|0,this._bh=this._bh+r+g(this._bl,w)|0,this._ch=this._ch+o+g(this._cl,x)|0,this._dh=this._dh+i+g(this._dl,E)|0,this._eh=this._eh+s+g(this._el,S)|0,this._fh=this._fh+u+g(this._fl,C)|0,this._gh=this._gh+y+g(this._gl,k)|0,this._hh=this._hh+b+g(this._hl,O)|0},u.prototype._hash=function(){var e=i.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},function(e,t,n){var r=n(46);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(102),o=n(34)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},function(e,t,n){"use strict";var r=n(49),o=n(133);e.exports=function(e,t,n){t in e?r.f(e,t,o(0,n)):e[t]=n}},function(e,t,n){var r=n(34)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},function(e,t,n){var r=n(46),o=n(132),i=n(34)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||null==(n=r(a)[i])?t:o(n)}},function(e,t,n){var r,o,i,a=n(63),s=n(776),u=n(351),c=n(217),l=n(32),p=l.process,f=l.setImmediate,h=l.clearImmediate,d=l.MessageChannel,m=l.Dispatch,v=0,g={},y=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},b=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++v]=function(){s("function"==typeof e?e:Function(e),t)},r(v),v},h=function(e){delete g[e]},"process"==n(130)(p)?r=function(e){p.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:d?(i=(o=new d).port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",b,!1)):r="onreadystatechange"in c("script")?function(e){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(46),o=n(43),i=n(245);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var r=n(32),o=n(22),i=n(49),a=n(50),s=n(34)("species");e.exports=function(e){var t="function"==typeof o[e]?o[e]:r[e];a&&t&&!t[s]&&i.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";var r=n(114);e.exports=new r({include:[n(416)]})},function(e,t,n){"use strict";var r=n(114);e.exports=new r({include:[n(246)],implicit:[n(788),n(789),n(790),n(791)]})},function(e,t,n){var r=n(184),o=n(108),i=n(174),a=n(52),s=n(109);e.exports=function(e,t,n,u){if(!a(e))return e;for(var c=-1,l=(t=o(t,e)).length,p=l-1,f=e;null!=f&&++c<l;){var h=s(t[c]),d=n;if(c!=p){var m=f[h];void 0===(d=u?u(m,h,f):void 0)&&(d=a(m)?m:i(t[c+1])?[]:{})}r(f,h,d),f=f[h]}return e}},function(e,t,n){var r=n(419);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){var r=n(84),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,t,n){e.exports=n(809)},function(e,t,n){e.exports=n(812)},function(e,t,n){"use strict";e.exports={hasCachedChildNodes:1}},function(e,t,n){"use strict";var r=n(21);n(15);e.exports=function(e,t){return null==t&&r("30"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}},function(e,t,n){"use strict";e.exports=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}},function(e,t,n){"use strict";var r=n(38),o=null;e.exports=function(){return!o&&r.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}},function(e,t,n){"use strict";var r=n(21);var o=n(90),i=(n(15),function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&r("24"),this._callbacks=null,this._contexts=null;for(var o=0;o<e.length;o++)e[o].call(t[o],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=o.addPoolingTo(i)},function(e,t,n){"use strict";e.exports={logTopLevelRenders:!1}},function(e,t,n){"use strict";var r=n(27);function o(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function i(e){return e._wrapperState.valueTracker}var a={_getTrackerFromNode:function(e){return i(r.getInstanceFromNode(e))},track:function(e){if(!i(e)){var t=r.getNodeFromInstance(e),n=o(t)?"checked":"value",a=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),s=""+t[n];t.hasOwnProperty(n)||"function"!=typeof a.get||"function"!=typeof a.set||(Object.defineProperty(t,n,{enumerable:a.enumerable,configurable:!0,get:function(){return a.get.call(this)},set:function(e){s=""+e,a.set.call(this,e)}}),function(e,t){e._wrapperState.valueTracker=t}(e,{getValue:function(){return s},setValue:function(e){s=""+e},stopTracking:function(){!function(e){e._wrapperState.valueTracker=null}(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=i(e);if(!t)return a.track(e),!0;var n,s,u=t.getValue(),c=((n=r.getNodeFromInstance(e))&&(s=o(n)?""+n.checked:n.value),s);return c!==u&&(t.setValue(c),!0)},stopTracking:function(e){var t=i(e);t&&t.stopTracking()}};e.exports=a},function(e,t,n){"use strict";var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}},function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};e.exports=r},function(e,t,n){"use strict";var r=n(38),o=n(188),i=n(187),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){3!==e.nodeType?i(e,o(t)):e.nodeValue=t})),e.exports=a},function(e,t,n){"use strict";e.exports=function(e){try{e.focus()}catch(e){}}},function(e,t,n){"use strict";var r={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};var o=["Webkit","ms","Moz","O"];Object.keys(r).forEach(function(e){o.forEach(function(t){r[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(t,e)]=r[e]})});var i={isUnitlessNumber:r,shorthandPropertyExpansions:{background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}}};e.exports=i},function(e,t,n){"use strict";var r=n(115),o=(n(27),n(53),n(843)),i=(n(23),new RegExp("^["+r.ATTRIBUTE_NAME_START_CHAR+"]["+r.ATTRIBUTE_NAME_CHAR+"]*$")),a={},s={};function u(e){return!!s.hasOwnProperty(e)||!a.hasOwnProperty(e)&&(i.test(e)?(s[e]=!0,!0):(a[e]=!0,!1))}function c(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var l={createMarkupForID:function(e){return r.ID_ATTRIBUTE_NAME+"="+o(e)},setAttributeForID:function(e,t){e.setAttribute(r.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return r.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(r.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=r.properties.hasOwnProperty(e)?r.properties[e]:null;if(n){if(c(n,t))return"";var i=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?i+'=""':i+"="+o(t)}return r.isCustomAttribute(e)?null==t?"":e+"="+o(t):null},createMarkupForCustomAttribute:function(e,t){return u(e)&&null!=t?e+"="+o(t):""},setValueForProperty:function(e,t,n){var o=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(o){var i=o.mutationMethod;if(i)i(e,n);else{if(c(o,n))return void this.deleteValueForProperty(e,t);if(o.mustUseProperty)e[o.propertyName]=n;else{var a=o.attributeName,s=o.attributeNamespace;s?e.setAttributeNS(s,a,""+n):o.hasBooleanValue||o.hasOverloadedBooleanValue&&!0===n?e.setAttribute(a,""):e.setAttribute(a,""+n)}}}else if(r.isCustomAttribute(t))return void l.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){u(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(n){var o=n.mutationMethod;if(o)o(e,void 0);else if(n.mustUseProperty){var i=n.propertyName;n.hasBooleanValue?e[i]=!1:e[i]=""}else e.removeAttribute(n.attributeName)}else r.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=l},function(e,t,n){"use strict";var r=n(25),o=n(256),i=n(27),a=n(58),s=(n(23),!1);function u(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=o.getValue(e);null!=t&&c(this,Boolean(e.multiple),t)}}function c(e,t,n){var r,o,a=i.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[""+n[o]]=!0;for(o=0;o<a.length;o++){var s=r.hasOwnProperty(a[o].value);a[o].selected!==s&&(a[o].selected=s)}}else{for(r=""+n,o=0;o<a.length;o++)if(a[o].value===r)return void(a[o].selected=!0);a.length&&(a[0].selected=!0)}}var l={getHostProps:function(e,t){return r({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=o.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:p.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||s||(s=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=o.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,c(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?c(e,Boolean(t.multiple),t.defaultValue):c(e,Boolean(t.multiple),t.multiple?[]:""))}};function p(e){var t=this._currentElement.props,n=o.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),a.asap(u,this),n}e.exports=l},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(852),a=n(438),s=n(439),u=(n(853),n(15),n(23),function(e){this.construct(e)});function c(e,t){var n;if(null===e||!1===e)n=a.create(c);else if("object"==typeof e){var o=e,i=o.type;if("function"!=typeof i&&"string"!=typeof i){var l="";0,l+=function(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}(o._owner),r("130",null==i?i:typeof i,l)}"string"==typeof o.type?n=s.createInternalComponent(o):!function(e){return"function"==typeof e&&void 0!==e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}(o.type)?n=new u(o):(n=new o.type(o)).getHostNode||(n.getHostNode=n.getNativeNode)}else"string"==typeof e||"number"==typeof e?n=s.createInstanceForText(e):r("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}o(u.prototype,i,{_instantiateReactComponent:c}),e.exports=c},function(e,t,n){"use strict";var r=n(21),o=n(104),i=(n(15),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||!1===e?i.EMPTY:o.isValidElement(e)?"function"==typeof e.type?i.COMPOSITE:i.HOST:void r("26",e)}});e.exports=i},function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,e.exports=i},function(e,t,n){"use strict";var r=n(21),o=(n(15),null),i=null;var a={createInternalComponent:function(e){return o||r("111",e.type),new o(e)},createInstanceForText:function(e){return new i(e)},isTextComponent:function(e){return e instanceof i},injection:{injectGenericComponentClass:function(e){o=e},injectTextComponentClass:function(e){i=e}}};e.exports=a},function(e,t,n){"use strict";var r=n(21),o=(n(65),n(854)),i=n(855),a=(n(15),n(260)),s=(n(23),"."),u=":";function c(e,t){return e&&"object"==typeof e&&null!=e.key?a.escape(e.key):t.toString(36)}e.exports=function(e,t,n){return null==e?0:function e(t,n,l,p){var f,h=typeof t;if("undefined"!==h&&"boolean"!==h||(t=null),null===t||"string"===h||"number"===h||"object"===h&&t.$$typeof===o)return l(p,t,""===n?s+c(t,0):n),1;var d=0,m=""===n?s:n+u;if(Array.isArray(t))for(var v=0;v<t.length;v++)d+=e(f=t[v],m+c(f,v),l,p);else{var g=i(t);if(g){var y,b=g.call(t);if(g!==t.entries)for(var _=0;!(y=b.next()).done;)d+=e(f=y.value,m+c(f,_++),l,p);else for(;!(y=b.next()).done;){var w=y.value;w&&(d+=e(f=w[1],m+a.escape(w[0])+u+c(f,0),l,p))}}else if("object"===h){var x=String(t);r("31","[object Object]"===x?"object with keys {"+Object.keys(t).join(", ")+"}":x,"")}}return d}(e,"",t,n)}},function(e,t,n){"use strict";var r,o,i,a,s,u,c,l=n(136),p=n(65);n(15),n(23);function f(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp("^"+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var o=t.call(e);return r.test(o)}catch(e){return!1}}if("function"==typeof Array.from&&"function"==typeof Map&&f(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&f(Map.prototype.keys)&&"function"==typeof Set&&f(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&f(Set.prototype.keys)){var h=new Map,d=new Set;r=function(e,t){h.set(e,t)},o=function(e){return h.get(e)},i=function(e){h.delete(e)},a=function(){return Array.from(h.keys())},s=function(e){d.add(e)},u=function(e){d.delete(e)},c=function(){return Array.from(d.keys())}}else{var m={},v={},g=function(e){return"."+e},y=function(e){return parseInt(e.substr(1),10)};r=function(e,t){var n=g(e);m[n]=t},o=function(e){var t=g(e);return m[t]},i=function(e){var t=g(e);delete m[t]},a=function(){return Object.keys(m).map(y)},s=function(e){var t=g(e);v[t]=!0},u=function(e){var t=g(e);delete v[t]},c=function(){return Object.keys(v).map(y)}}var b=[];function _(e){var t=o(e);if(t){var n=t.childIDs;i(e),n.forEach(_)}}function w(e,t,n){return"\n in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function x(e){return null==e?"#empty":"string"==typeof e||"number"==typeof e?"#text":"string"==typeof e.type?e.type:e.type.displayName||e.type.name||"Unknown"}function E(e){var t,n=S.getDisplayName(e),r=S.getElement(e),o=S.getOwnerID(e);return o&&(t=S.getDisplayName(o)),w(n,r&&r._source,t)}var S={onSetChildren:function(e,t){var n=o(e);n||l("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var i=t[r],a=o(i);a||l("140"),null==a.childIDs&&"object"==typeof a.element&&null!=a.element&&l("141"),a.isMounted||l("71"),null==a.parentID&&(a.parentID=e),a.parentID!==e&&l("142",i,a.parentID,e)}},onBeforeMountComponent:function(e,t,n){r(e,{element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0})},onBeforeUpdateComponent:function(e,t){var n=o(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=o(e);t||l("144"),t.isMounted=!0,0===t.parentID&&s(e)},onUpdateComponent:function(e){var t=o(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=o(e);t&&(t.isMounted=!1,0===t.parentID&&u(e));b.push(e)},purgeUnmountedComponents:function(){if(!S._preventPurging){for(var e=0;e<b.length;e++){_(b[e])}b.length=0}},isMounted:function(e){var t=o(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t="";if(e){var n=x(e),r=e._owner;t+=w(n,e._source,r&&r.getName())}var o=p.current,i=o&&o._debugID;return t+=S.getStackAddendumByID(i)},getStackAddendumByID:function(e){for(var t="";e;)t+=E(e),e=S.getParentID(e);return t},getChildIDs:function(e){var t=o(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=S.getElement(e);return t?x(t):null},getElement:function(e){var t=o(e);return t?t.element:null},getOwnerID:function(e){var t=S.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=o(e);return t?t.parentID:null},getSource:function(e){var t=o(e),n=t?t.element:null;return null!=n?n._source:null},getText:function(e){var t=S.getElement(e);return"string"==typeof t?t:"number"==typeof t?""+t:null},getUpdateCount:function(e){var t=o(e);return t?t.updateCount:0},getRootIDs:c,getRegisteredIDs:a,pushNonStandardWarningStack:function(e,t){if("function"==typeof console.reactStack){var n=[],r=p.current,o=r&&r._debugID;try{for(e&&n.push({name:o?S.getDisplayName(o):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});o;){var i=S.getElement(o),a=S.getParentID(o),s=S.getOwnerID(o),u=s?S.getDisplayName(s):null,c=i&&i._source;n.push({name:u,fileName:c?c.fileName:null,lineNumber:c?c.lineNumber:null}),o=a}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};e.exports=S},function(e,t,n){"use strict";var r=n(57),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=o},function(e,t,n){"use strict";var r=n(867),o=n(869),i=n(432),a=n(444);var s={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=a();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t,n=a(),r=e.focusedElem,u=e.selectionRange;n!==r&&(t=r,o(document.documentElement,t))&&(s.hasSelectionCapabilities(r)&&s.setSelection(r,u),i(r))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=r.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,o=t.end;if(void 0===o&&(o=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(o,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",o-n),i.select()}else r.setOffsets(e,t)}};e.exports=s},function(e,t,n){"use strict";e.exports=function(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){"use strict";var r=n(21),o=n(117),i=n(115),a=n(104),s=n(189),u=(n(65),n(27)),c=n(884),l=n(885),p=n(427),f=n(143),h=(n(53),n(886)),d=n(116),m=n(261),v=n(58),g=n(165),y=n(436),b=(n(15),n(187)),_=n(259),w=(n(23),i.ID_ATTRIBUTE_NAME),x=i.ROOT_ATTRIBUTE_NAME,E=1,S=9,C=11,k={};function O(e){return e?e.nodeType===S?e.documentElement:e.firstChild:null}function A(e,t,n,r,o){var i;if(p.logTopLevelRenders){var a=e._currentElement.props.child.type;i="React mount: "+("string"==typeof a?a:a.displayName||a.name),console.time(i)}var s=d.mountComponent(e,n,null,c(e,t),o,0);i&&console.timeEnd(i),e._renderedComponent._topLevelWrapper=e,D._mountImageIntoNode(s,t,e,r,n)}function T(e,t,n,r){var o=v.ReactReconcileTransaction.getPooled(!n&&l.useCreateElement);o.perform(A,null,e,t,o,n,r),v.ReactReconcileTransaction.release(o)}function j(e,t,n){for(0,d.unmountComponent(e,n),t.nodeType===S&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function P(e){var t=O(e);if(t){var n=u.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function I(e){return!(!e||e.nodeType!==E&&e.nodeType!==S&&e.nodeType!==C)}function M(e){var t=function(e){var t=O(e),n=t&&u.getInstanceFromNode(t);return n&&!n._hostParent?n:null}(e);return t?t._hostContainerInfo._topLevelWrapper:null}var N=1,R=function(){this.rootID=N++};R.prototype.isReactComponent={},R.prototype.render=function(){return this.props.child},R.isReactTopLevelWrapper=!0;var D={TopLevelWrapper:R,_instancesByReactRootID:k,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return D.scrollMonitor(r,function(){m.enqueueElementInternal(e,t,n),o&&m.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,o){I(t)||r("37"),s.ensureScrollValueMonitoring();var i=y(e,!1);v.batchedUpdates(T,i,t,n,o);var a=i._instance.rootID;return k[a]=i,i},renderSubtreeIntoContainer:function(e,t,n,o){return null!=e&&f.has(e)||r("38"),D._renderSubtreeIntoContainer(e,t,n,o)},_renderSubtreeIntoContainer:function(e,t,n,o){m.validateCallback(o,"ReactDOM.render"),a.isValidElement(t)||r("39","string"==typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var i,s=a.createElement(R,{child:t});if(e){var u=f.get(e);i=u._processChildContext(u._context)}else i=g;var c=M(n);if(c){var l=c._currentElement.props.child;if(_(l,t)){var p=c._renderedComponent.getPublicInstance(),h=o&&function(){o.call(p)};return D._updateRootComponent(c,s,i,n,h),p}D.unmountComponentAtNode(n)}var d,v=O(n),y=v&&!(!(d=v).getAttribute||!d.getAttribute(w)),b=P(n),x=y&&!c&&!b,E=D._renderNewRootComponent(s,n,x,i)._renderedComponent.getPublicInstance();return o&&o.call(E),E},render:function(e,t,n){return D._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){I(e)||r("40");var t=M(e);if(!t){P(e),1===e.nodeType&&e.hasAttribute(x);return!1}return delete k[t._instance.rootID],v.batchedUpdates(j,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,i,a){if(I(t)||r("41"),i){var s=O(t);if(h.canReuseMarkup(e,s))return void u.precacheNode(n,s);var c=s.getAttribute(h.CHECKSUM_ATTR_NAME);s.removeAttribute(h.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(h.CHECKSUM_ATTR_NAME,c);var p=e,f=function(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}(p,l),d=" (client) "+p.substring(f-20,f+20)+"\n (server) "+l.substring(f-20,f+20);t.nodeType===S&&r("42",d)}if(t.nodeType===S&&r("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);o.insertTreeBefore(t,e,null)}else b(t,e),u.precacheNode(n,t.firstChild)}};e.exports=D},function(e,t,n){"use strict";var r=n(437);e.exports=function(e){for(var t;(t=e._renderedNodeType)===r.COMPOSITE;)e=e._renderedComponent;return t===r.HOST?e._renderedComponent:t===r.EMPTY?null:void 0}},function(e,t,n){"use strict";t.__esModule=!0;var r,o=n(10),i=(r=o)&&r.__esModule?r:{default:r};t.default=i.default.shape({subscribe:i.default.func.isRequired,dispatch:i.default.func.isRequired,getState:i.default.func.isRequired})},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}},function(e,t,n){var r=n(228),o=n(898),i=n(184),a=n(899),s=n(900),u=n(903),c=n(904),l=n(905),p=n(906),f=n(377),h=n(452),d=n(176),m=n(907),v=n(908),g=n(913),y=n(37),b=n(232),_=n(915),w=n(52),x=n(917),E=n(85),S=1,C=2,k=4,O="[object Arguments]",A="[object Function]",T="[object GeneratorFunction]",j="[object Object]",P={};P[O]=P["[object Array]"]=P["[object ArrayBuffer]"]=P["[object DataView]"]=P["[object Boolean]"]=P["[object Date]"]=P["[object Float32Array]"]=P["[object Float64Array]"]=P["[object Int8Array]"]=P["[object Int16Array]"]=P["[object Int32Array]"]=P["[object Map]"]=P["[object Number]"]=P[j]=P["[object RegExp]"]=P["[object Set]"]=P["[object String]"]=P["[object Symbol]"]=P["[object Uint8Array]"]=P["[object Uint8ClampedArray]"]=P["[object Uint16Array]"]=P["[object Uint32Array]"]=!0,P["[object Error]"]=P[A]=P["[object WeakMap]"]=!1,e.exports=function e(t,n,I,M,N,R){var D,L=n&S,U=n&C,q=n&k;if(I&&(D=N?I(t,M,N,R):I(t)),void 0!==D)return D;if(!w(t))return t;var F=y(t);if(F){if(D=m(t),!L)return c(t,D)}else{var B=d(t),z=B==A||B==T;if(b(t))return u(t,L);if(B==j||B==O||z&&!N){if(D=U||z?{}:g(t),!L)return U?p(t,s(D,t)):l(t,a(D,t))}else{if(!P[B])return N?t:{};D=v(t,B,L)}}R||(R=new r);var V=R.get(t);if(V)return V;R.set(t,D),x(t)?t.forEach(function(r){D.add(e(r,n,I,r,t,R))}):_(t)&&t.forEach(function(r,o){D.set(o,e(r,n,I,o,t,R))});var H=q?U?h:f:U?keysIn:E,W=F?void 0:H(t);return o(W||t,function(r,o){W&&(r=t[o=r]),i(D,o,e(r,n,I,o,t,R))}),D}},function(e,t,n){var r=n(380),o=n(901),i=n(107);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,t,n){var r=n(229),o=n(265),i=n(230),a=n(379),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=o(e);return t}:a;e.exports=s},function(e,t,n){var r=n(378),o=n(451),i=n(450);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(923),o=n(454),i=n(455);e.exports=function(e){return i(o(e,void 0,r),e+"")}},function(e,t,n){var r=n(926),o=Math.max;e.exports=function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=o(i.length-t,0),u=Array(s);++a<s;)u[a]=i[t+a];a=-1;for(var c=Array(t+1);++a<t;)c[a]=i[a];return c[t]=n(u),r(e,this,c)}}},function(e,t,n){var r=n(927),o=n(929)(r);e.exports=o},function(e,t,n){var r={strict:!0},o=n(940),i=function(e,t){return o(e,t,r)},a=n(267);t.JsonPatchError=a.PatchError,t.deepClone=a._deepClone;var s={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=c(n,this.path);r&&(r=a._deepClone(r));var o=l(n,{op:"remove",path:this.from}).removed;return l(n,{op:"add",path:this.path,value:o}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=c(n,this.from);return l(n,{op:"add",path:this.path,value:a._deepClone(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:i(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},u={add:function(e,t,n){return a.isInteger(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:s.move,copy:s.copy,test:s.test,_get:s._get};function c(e,t){if(""==t)return e;var n={op:"_get",path:t};return l(e,n),n.value}function l(e,n,r,o,l,p){if(void 0===r&&(r=!1),void 0===o&&(o=!0),void 0===l&&(l=!0),void 0===p&&(p=0),r&&("function"==typeof r?r(n,0,e,n.path):f(n,0)),""===n.path){var h={newDocument:e};if("add"===n.op)return h.newDocument=n.value,h;if("replace"===n.op)return h.newDocument=n.value,h.removed=e,h;if("move"===n.op||"copy"===n.op)return h.newDocument=c(e,n.from),"move"===n.op&&(h.removed=e),h;if("test"===n.op){if(h.test=i(e,n.value),!1===h.test)throw new t.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",p,n,e);return h.newDocument=e,h}if("remove"===n.op)return h.removed=e,h.newDocument=null,h;if("_get"===n.op)return n.value=e,h;if(r)throw new t.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",p,n,e);return h}o||(e=a._deepClone(e));var d=(n.path||"").split("/"),m=e,v=1,g=d.length,y=void 0,b=void 0,_=void 0;for(_="function"==typeof r?r:f;;){if(b=d[v],l&&"__proto__"==b)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&void 0===y&&(void 0===m[b]?y=d.slice(0,v).join("/"):v==g-1&&(y=n.path),void 0!==y&&_(n,0,e,y)),v++,Array.isArray(m)){if("-"===b)b=m.length;else{if(r&&!a.isInteger(b))throw new t.JsonPatchError("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",p,n,e);a.isInteger(b)&&(b=~~b)}if(v>=g){if(r&&"add"===n.op&&b>m.length)throw new t.JsonPatchError("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",p,n,e);if(!1===(h=u[n.op].call(n,m,b,e)).test)throw new t.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",p,n,e);return h}}else if(b&&-1!=b.indexOf("~")&&(b=a.unescapePathComponent(b)),v>=g){if(!1===(h=s[n.op].call(n,m,b,e)).test)throw new t.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",p,n,e);return h}m=m[b]}}function p(e,n,r,o,i){if(void 0===o&&(o=!0),void 0===i&&(i=!0),r&&!Array.isArray(n))throw new t.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");o||(e=a._deepClone(e));for(var s=new Array(n.length),u=0,c=n.length;u<c;u++)s[u]=l(e,n[u],r,!0,i,u),e=s[u].newDocument;return s.newDocument=e,s}function f(e,n,r,o){if("object"!=typeof e||null===e||Array.isArray(e))throw new t.JsonPatchError("Operation is not an object","OPERATION_NOT_AN_OBJECT",n,e,r);if(!s[e.op])throw new t.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",n,e,r);if("string"!=typeof e.path)throw new t.JsonPatchError("Operation `path` property is not a string","OPERATION_PATH_INVALID",n,e,r);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new t.JsonPatchError('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",n,e,r);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new t.JsonPatchError("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",n,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new t.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",n,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&a.hasUndefined(e.value))throw new t.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",n,e,r);if(r)if("add"==e.op){var i=e.path.split("/").length,u=o.split("/").length;if(i!==u+1&&i!==u)throw new t.JsonPatchError("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",n,e,r)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==o)throw new t.JsonPatchError("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",n,e,r)}else if("move"===e.op||"copy"===e.op){var c=h([{op:"_get",path:e.from,value:void 0}],r);if(c&&"OPERATION_PATH_UNRESOLVABLE"===c.name)throw new t.JsonPatchError("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",n,e,r)}}function h(e,n,r){try{if(!Array.isArray(e))throw new t.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(n)p(a._deepClone(n),a._deepClone(e),r||!0);else{r=r||f;for(var o=0;o<e.length;o++)r(e[o],o,n,void 0)}}catch(e){if(e instanceof t.JsonPatchError)return e;throw e}}t.getValueByPointer=c,t.applyOperation=l,t.applyPatch=p,t.applyReducer=function(e,n,r){var o=l(e,n);if(!1===o.test)throw new t.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",r,n,e);return o.newDocument},t.validator=f,t.validate=h},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,o=Array.isArray,i=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),a=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(n[r]=e[r]);return n};e.exports={arrayToObject:a,assign:function(e,t){return Object.keys(t).reduce(function(e,n){return e[n]=t[n],e},e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],r=0;r<t.length;++r)for(var i=t[r],a=i.obj[i.prop],s=Object.keys(a),u=0;u<s.length;++u){var c=s[u],l=a[c];"object"==typeof l&&null!==l&&-1===n.indexOf(l)&&(t.push({obj:a,prop:c}),n.push(l))}return function(e){for(;e.length>1;){var t=e.pop(),n=t.obj[t.prop];if(o(n)){for(var r=[],i=0;i<n.length;++i)void 0!==n[i]&&r.push(n[i]);t.obj[t.prop]=r}}}(t),e},decode:function(e,t,n){var r=e.replace(/\+/g," ");if("iso-8859-1"===n)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(e){return r}},encode:function(e,t,n){if(0===e.length)return e;var r="string"==typeof e?e:String(e);if("iso-8859-1"===n)return escape(r).replace(/%u[0-9a-f]{4}/gi,function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"});for(var o="",a=0;a<r.length;++a){var s=r.charCodeAt(a);45===s||46===s||95===s||126===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122?o+=r.charAt(a):s<128?o+=i[s]:s<2048?o+=i[192|s>>6]+i[128|63&s]:s<55296||s>=57344?o+=i[224|s>>12]+i[128|s>>6&63]+i[128|63&s]:(a+=1,s=65536+((1023&s)<<10|1023&r.charCodeAt(a)),o+=i[240|s>>18]+i[128|s>>12&63]+i[128|s>>6&63]+i[128|63&s])}return o},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(o(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(i&&(i.plainObjects||i.allowPrototypes)||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var s=t;return o(t)&&!o(n)&&(s=a(t,i)),o(t)&&o(n)?(n.forEach(function(n,o){if(r.call(t,o)){var a=t[o];a&&"object"==typeof a&&n&&"object"==typeof n?t[o]=e(a,n,i):t.push(n)}else t[o]=n}),t):Object.keys(n).reduce(function(t,o){var a=n[o];return r.call(t,o)?t[o]=e(t[o],a,i):t[o]=a,t},s)}}},function(e,t,n){"use strict";var r=String.prototype.replace,o=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,o,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,n){"use strict";var r=n(32),o=n(30),i=n(135),a=n(82),s=n(77),u=n(182),c=n(112),l=n(181),p=n(43),f=n(134),h=n(49).f,d=n(268)(0),m=n(50);e.exports=function(e,t,n,v,g,y){var b=r[e],_=b,w=g?"set":"add",x=_&&_.prototype,E={};return m&&"function"==typeof _&&(y||x.forEach&&!a(function(){(new _).entries().next()}))?(_=t(function(t,n){l(t,_,e,"_c"),t._c=new b,null!=n&&c(n,g,t[w],t)}),d("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in x&&(!y||"clear"!=e)&&s(_.prototype,e,function(n,r){if(l(this,_,e),!t&&y&&!p(n))return"get"==e&&void 0;var o=this._c[e](0===n?0:n,r);return t?this:o})}),y||h(_.prototype,"size",{get:function(){return this._c.size}})):(_=v.getConstructor(t,e,g,w),u(_.prototype,n),i.NEED=!0),f(_,e),E[e]=_,o(o.G+o.W+o.F,E),y||v.setStrong(_,e,g),_}},function(e,t,n){"use strict";var r=n(30);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){"use strict";var r=n(30),o=n(132),i=n(63),a=n(112);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,u=arguments[1];return o(this),(t=void 0!==u)&&o(u),null==e?new this:(n=[],t?(r=0,s=i(u,arguments[2],2),a(e,!1,function(e){n.push(s(e,r++))})):a(e,!1,n.push,n),new this(n))}})}},function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwcHgiICBoZWlnaHQ9IjIwMHB4IiAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIGNsYXNzPSJsZHMtcm9sbGluZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWwgaW5pdGlhbDsgYmFja2dyb3VuZC1yZXBlYXQ6IGluaXRpYWwgaW5pdGlhbDsiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIGZpbGw9Im5vbmUiIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5jb2xvcn19IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgc3Ryb2tlPSIjNTU1NTU1IiBzdHJva2Utd2lkdGg9IjEwIiByPSIzNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIxcyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPgo="},function(e,t,n){"use strict";e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",GT:">",Gt:"≫",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",LT:"<",Lt:"≪",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e,t,n){"use strict";var r=n(465),o=n(39).unescapeMd;e.exports=function(e,t){var n,i,a,s=t,u=e.posMax;if(60===e.src.charCodeAt(t)){for(t++;t<u;){if(10===(n=e.src.charCodeAt(t)))return!1;if(62===n)return a=r(o(e.src.slice(s+1,t))),!!e.parser.validateLink(a)&&(e.pos=t+1,e.linkContent=a,!0);92===n&&t+1<u?t+=2:t++}return!1}for(i=0;t<u&&32!==(n=e.src.charCodeAt(t))&&!(n<32||127===n);)if(92===n&&t+1<u)t+=2;else{if(40===n&&++i>1)break;if(41===n&&--i<0)break;t++}return s!==t&&(a=o(e.src.slice(s,t)),!!e.parser.validateLink(a)&&(e.linkContent=a,e.pos=t,!0))}},function(e,t,n){"use strict";var r=n(39).replaceEntities;e.exports=function(e){var t=r(e);try{t=decodeURI(t)}catch(e){}return encodeURI(t)}},function(e,t,n){"use strict";var r=n(39).unescapeMd;e.exports=function(e,t){var n,o=t,i=e.posMax,a=e.src.charCodeAt(t);if(34!==a&&39!==a&&40!==a)return!1;for(t++,40===a&&(a=41);t<i;){if((n=e.src.charCodeAt(t))===a)return e.pos=t+1,e.linkContent=r(e.src.slice(o+1,t)),!0;92===n&&t+1<i?t+=2:t++}return!1}},function(e,t,n){"use strict";e.exports=function(e){return e.trim().replace(/\s+/g," ").toUpperCase()}},function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.a=n}).call(this,n(36))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.combineReducers=void 0;var r,o=n(593),i=(r=o)&&r.__esModule?r:{default:r};t.combineReducers=i.default},function(e,t,n){"use strict";var r=/^(%20|\s)*(javascript|data)/im,o=/[^\x20-\x7E]/gim,i=/^([^:]+):/gm,a=[".","/"];e.exports={sanitizeUrl:function(e){if(!e)return"about:blank";var t,n,s=e.replace(o,"").trim();return function(e){return a.indexOf(e[0])>-1}(s)?s:(n=s.match(i))?(t=n[0],r.test(t)?"about:blank":s):"about:blank"}}},function(e,t,n){var r=n(602),o=n(610)(function(e,t,n){return t=t.toLowerCase(),e+(n?r(t):t)});e.exports=o},function(e,t,n){var r=n(375),o=n(172),i=n(679),a=n(37),s=n(389);e.exports=function(e,t,n){var u=a(e)?r:i;return n&&s(e,t,n)&&(t=void 0),u(e,o(t,3))}},function(e,t,n){(function(t){var r=n(684),o=n(685).Stream,i=" ";function a(e,t,n){n=n||0;var o,i,s=(o=t,new Array(n||0).join(o||"")),u=e;if("object"==typeof e&&((u=e[i=Object.keys(e)[0]])&&u._elem))return u._elem.name=i,u._elem.icount=n,u._elem.indent=t,u._elem.indents=s,u._elem.interrupt=u,u._elem;var c,l=[],p=[];function f(e){Object.keys(e).forEach(function(t){l.push(function(e,t){return e+'="'+r(t)+'"'}(t,e[t]))})}switch(typeof u){case"object":if(null===u)break;u._attr&&f(u._attr),u._cdata&&p.push(("<![CDATA["+u._cdata).replace(/\]\]>/g,"]]]]><![CDATA[>")+"]]>"),u.forEach&&(c=!1,p.push(""),u.forEach(function(e){"object"==typeof e?"_attr"==Object.keys(e)[0]?f(e._attr):p.push(a(e,t,n+1)):(p.pop(),c=!0,p.push(r(e)))}),c||p.push(""));break;default:p.push(r(u))}return{name:i,interrupt:!1,attributes:l,content:p,icount:n,indents:s,indent:t}}function s(e,t,n){if("object"!=typeof t)return e(!1,t);var r=t.interrupt?1:t.content.length;function o(){for(;t.content.length;){var o=t.content.shift();if(void 0!==o){if(i(o))return;s(e,o)}}e(!1,(r>1?t.indents:"")+(t.name?"</"+t.name+">":"")+(t.indent&&!n?"\n":"")),n&&n()}function i(t){return!!t.interrupt&&(t.interrupt.append=e,t.interrupt.end=o,t.interrupt=!1,e(!0),!0)}if(e(!1,t.indents+(t.name?"<"+t.name:"")+(t.attributes.length?" "+t.attributes.join(" "):"")+(r?t.name?">":"":t.name?"/>":"")+(t.indent&&r>1?"\n":"")),!r)return e(!1,t.indent?"\n":"");i(t)||o()}e.exports=function(e,n){"object"!=typeof n&&(n={indent:n});var r,u,c=n.stream?new o:null,l="",p=!1,f=n.indent?!0===n.indent?i:n.indent:"",h=!0;function d(e){h?t.nextTick(e):e()}function m(e,t){if(void 0!==t&&(l+=t),e&&!p&&(c=c||new o,p=!0),e&&p){var n=l;d(function(){c.emit("data",n)}),l=""}}function v(e,t){s(m,a(e,f,f?1:0),t)}function g(){if(c){var e=l;d(function(){c.emit("data",e),c.emit("end"),c.readable=!1,c.emit("close")})}}return d(function(){h=!1}),n.declaration&&(r=n.declaration,u={version:"1.0",encoding:r.encoding||"UTF-8"},r.standalone&&(u.standalone=r.standalone),v({"?xml":{_attr:u}}),l=l.replace("/>","?>")),e&&e.forEach?e.forEach(function(t,n){var r;n+1===e.length&&(r=g),v(t,r)}):v(e,g),c?(c.readable=!0,c):l},e.exports.element=e.exports.Element=function(){var e={_elem:a(Array.prototype.slice.call(arguments)),push:function(e){if(!this.append)throw new Error("not assigned to a parent!");var t=this,n=this._elem.indent;s(this.append,a(e,n,this._elem.icount+(n?1:0)),function(){t.append(!0)})},close:function(e){void 0!==e&&this.push(e),this.end&&this.end()}};return e}}).call(this,n(67))},function(e,t,n){(function(t){var n;n=void 0!==t?t:this,e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,n=String(e),r=n.length,o=-1,i="",a=n.charCodeAt(0);++o<r;)0!=(t=n.charCodeAt(o))?i+=t>=1&&t<=31||127==t||0==o&&t>=48&&t<=57||1==o&&t>=48&&t<=57&&45==a?"\\"+t.toString(16)+" ":0==o&&1==r&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+n.charAt(o):n.charAt(o):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(n)}).call(this,n(36))},function(e,t,n){"use strict";(function(t,r){var o=65536,i=4294967295;var a=n(48).Buffer,s=t.crypto||t.msCrypto;s&&s.getRandomValues?e.exports=function(e,t){if(e>i)throw new RangeError("requested too many random bytes");var n=a.allocUnsafe(e);if(e>0)if(e>o)for(var u=0;u<e;u+=o)s.getRandomValues(n.slice(u,u+o));else s.getRandomValues(n);if("function"==typeof t)return r.nextTick(function(){t(null,n)});return n}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,n(36),n(67))},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(749),t.sha1=n(750),t.sha224=n(751),t.sha256=n(404),t.sha384=n(752),t.sha512=n(405)},function(e,t,n){var r=n(370),o=n(388),i=n(172),a=n(753),s=n(37);e.exports=function(e,t,n){var u=s(e)?r:a,c=arguments.length<3;return u(e,i(t,4),n,c,o)}},function(e,t,n){var r=n(52),o=n(805),i=n(387),a="Expected a function",s=Math.max,u=Math.min;e.exports=function(e,t,n){var c,l,p,f,h,d,m=0,v=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError(a);function b(t){var n=c,r=l;return c=l=void 0,m=t,f=e.apply(r,n)}function _(e){var n=e-d;return void 0===d||n>=t||n<0||g&&e-m>=p}function w(){var e=o();if(_(e))return x(e);h=setTimeout(w,function(e){var n=t-(e-d);return g?u(n,p-(e-m)):n}(e))}function x(e){return h=void 0,y&&c?b(e):(c=l=void 0,f)}function E(){var e=o(),n=_(e);if(c=arguments,l=this,d=e,n){if(void 0===h)return function(e){return m=e,h=setTimeout(w,t),v?b(e):f}(d);if(g)return clearTimeout(h),h=setTimeout(w,t),b(d)}return void 0===h&&(h=setTimeout(w,t)),f}return t=i(t)||0,r(n)&&(v=!!n.leading,p=(g="maxWait"in n)?s(i(n.maxWait)||0,t):p,y="trailing"in n?!!n.trailing:y),E.cancel=function(){void 0!==h&&clearTimeout(h),m=0,c=d=l=h=void 0},E.flush=function(){return void 0===h?f:x(o())},E}},function(e,t,n){"use strict";e.exports=n(815)},function(e,t,n){var r=n(367),o=n(449),i=n(919),a=n(108),s=n(118),u=n(922),c=n(453),l=n(452),p=c(function(e,t){var n={};if(null==e)return n;var c=!1;t=r(t,function(t){return t=a(t,e),c||(c=t.length>1),t}),s(e,l(e),n),c&&(n=o(n,7,u));for(var p=t.length;p--;)i(n,t[p]);return n});e.exports=p},function(e,t,n){var r,o,i;o=[],r=function(){"use strict";var e=function(e){return e&&"getComputedStyle"in window&&"smooth"===window.getComputedStyle(e)["scroll-behavior"]};if("undefined"==typeof window||!("document"in window))return{};var t=function(t,n,r){var o;n=n||999,r||0===r||(r=9);var i=function(e){o=e},a=function(){clearTimeout(o),i(0)},s=function(e){return Math.max(0,t.getTopOf(e)-r)},u=function(r,o,s){if(a(),0===o||o&&o<0||e(t.body))t.toY(r),s&&s();else{var u=t.getY(),c=Math.max(0,r)-u,l=(new Date).getTime();o=o||Math.min(Math.abs(c),n),function e(){i(setTimeout(function(){var n=Math.min(1,((new Date).getTime()-l)/o),r=Math.max(0,Math.floor(u+c*(n<.5?2*n*n:n*(4-2*n)-1)));t.toY(r),n<1&&t.getHeight()+r<t.body.scrollHeight?e():(setTimeout(a,99),s&&s())},9))}()}},c=function(e,t,n){u(s(e),t,n)};return{setup:function(e,t){return(0===e||e)&&(n=e),(0===t||t)&&(r=t),{defaultDuration:n,edgeOffset:r}},to:c,toY:u,intoView:function(e,n,o){var i=e.getBoundingClientRect().height,a=t.getTopOf(e)+i,l=t.getHeight(),p=t.getY(),f=p+l;s(e)<p||i+r>l?c(e,n,o):a+r>f?u(a-l+r,n,o):o&&o()},center:function(e,n,r,o){u(Math.max(0,t.getTopOf(e)-t.getHeight()/2+(r||e.getBoundingClientRect().height/2)),n,o)},stop:a,moving:function(){return!!o},getY:t.getY,getTopOf:t.getTopOf}},n=document.documentElement,r=function(){return window.scrollY||n.scrollTop},o=t({body:document.scrollingElement||document.body,toY:function(e){window.scrollTo(0,e)},getY:r,getHeight:function(){return window.innerHeight||n.clientHeight},getTopOf:function(e){return e.getBoundingClientRect().top+r()-n.offsetTop}});if(o.createScroller=function(e,r,o){return t({body:e,toY:function(t){e.scrollTop=t},getY:function(){return e.scrollTop},getHeight:function(){return Math.min(e.clientHeight,window.innerHeight||n.clientHeight)},getTopOf:function(e){return e.offsetTop}},r,o)},"addEventListener"in window&&!window.noZensmooth&&!e(document.body)){var i="history"in window&&"pushState"in history,a=i&&"scrollRestoration"in history;a&&(history.scrollRestoration="auto"),window.addEventListener("load",function(){a&&(setTimeout(function(){history.scrollRestoration="manual"},9),window.addEventListener("popstate",function(e){e.state&&"zenscrollY"in e.state&&o.toY(e.state.zenscrollY)},!1)),window.location.hash&&setTimeout(function(){var e=o.setup().edgeOffset;if(e){var t=document.getElementById(window.location.href.split("#")[1]);if(t){var n=Math.max(0,o.getTopOf(t)-e),r=o.getY()-n;0<=r&&r<9&&window.scrollTo(0,n)}}},9)},!1);var s=new RegExp("(^|\\s)noZensmooth(\\s|$)");window.addEventListener("click",function(e){for(var t=e.target;t&&"A"!==t.tagName;)t=t.parentNode;if(!(!t||1!==e.which||e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)){if(a){var n=history.state&&"object"==typeof history.state?history.state:{};n.zenscrollY=o.getY();try{history.replaceState(n,"")}catch(e){}}var r=t.getAttribute("href")||"";if(0===r.indexOf("#")&&!s.test(t.className)){var u=0,c=document.getElementById(r.substring(1));if("#"!==r){if(!c)return;u=o.getTopOf(c)}e.preventDefault();var l=function(){window.location=r},p=o.setup().edgeOffset;p&&(u=Math.max(0,u-p),i&&(l=function(){history.pushState({},"",r)})),o.toY(u,null,l)}}},!1)}return o}(),void 0===(i="function"==typeof r?r.apply(t,o):r)||(e.exports=i)},function(e,t,n){e.exports=n(971)},function(e,t){e.exports=function(e,t,n){var r=new Blob([e],{type:n||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(r,t);else{var o=window.URL.createObjectURL(r),i=document.createElement("a");i.style.display="none",i.href=o,i.setAttribute("download",t),void 0===i.download&&i.setAttribute("target","_blank"),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(o)}}},function(e,t,n){"use strict";var r=n(979),o=function(e){return e.split(/(<\/?[^>]+>)/g).filter(function(e){return""!==e.trim()})},i=function(e){return/<\/+[^>]+>/.test(e)},a=function(e){return/<[^>]+\/>/.test(e)},s=function(e){return function(e){return/<[^>!]+>/.test(e)}(e)&&!i(e)&&!a(e)};function u(e){return o(e).map(function(e){return{value:e,type:c(e)}})}function c(e){return i(e)?"ClosingTag":s(e)?"OpeningTag":a(e)?"SelfClosingTag":"Text"}e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.indentor,o=t.textNodesOnSameLine,i=0,a=[];n=n||" ";var s=u(e).map(function(e,t,s){var u=e.value,c=e.type;"ClosingTag"===c&&i--;var l=r(n,i),p=l+u;if("OpeningTag"===c&&i++,o){var f=s[t-1],h=s[t-2];"ClosingTag"===c&&"Text"===f.type&&"OpeningTag"===h.type&&(p=""+l+h.value+f.value+u,a.push(t-2,t-1))}return p});return a.forEach(function(e){return s[e]=null}),s.filter(function(e){return!!e}).join("\n")}},function(e,t,n){var r=n(69);e.exports=function(e){return r(e).toLowerCase()}},function(e,t,n){"use strict";var r=n(1031).DebounceInput;r.DebounceInput=r,e.exports=r},function(e,t,n){n(489),e.exports=n(1034)},function(e,t,n){"use strict";n.r(t);var r=n(18);void 0===n.n(r).a.Promise&&n(490),String.prototype.startsWith||n(520)},function(e,t,n){n(491),n(337),n(502),n(506),n(518),n(519),e.exports=n(72).Promise},function(e,t,n){"use strict";var r=n(150),o={};o[n(33)("toStringTag")]="z",o+""!="[object z]"&&n(97)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(e,t,n){e.exports=!n(126)&&!n(99)(function(){return 7!=Object.defineProperty(n(200)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(98);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){e.exports=n(197)("native-function-to-string",Function.toString)},function(e,t,n){"use strict";var r=n(496),o=n(336),i=n(203),a={};n(81)(a,n(33)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},function(e,t,n){var r=n(45),o=n(497),i=n(341),a=n(202)("IE_PROTO"),s=function(){},u=function(){var e,t=n(200)("iframe"),r=i.length;for(t.style.display="none",n(342).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(151),o=n(45),i=n(339);e.exports=n(126)?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),s=a.length,u=0;s>u;)r.f(e,n=a[u++],t[n]);return e}},function(e,t,n){var r=n(152),o=n(155),i=n(500)(!1),a=n(202)("IE_PROTO");e.exports=function(e,t){var n,s=o(e),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~i(c,n)||c.push(n));return c}},function(e,t,n){var r=n(125);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(155),o=n(74),i=n(340);e.exports=function(e){return function(t,n,a){var s,u=r(t),c=o(u.length),l=i(a,c);if(e&&n!=n){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},function(e,t,n){var r=n(152),o=n(343),i=n(202)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){for(var r=n(503),o=n(339),i=n(97),a=n(41),s=n(81),u=n(128),c=n(33),l=c("iterator"),p=c("toStringTag"),f=u.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=o(h),m=0;m<d.length;m++){var v,g=d[m],y=h[g],b=a[g],_=b&&b.prototype;if(_&&(_[l]||s(_,l,f),_[p]||s(_,p,g),u[g]=f,y))for(v in r)_[v]||i(_,v,r[v],!0)}},function(e,t,n){"use strict";var r=n(504),o=n(505),i=n(128),a=n(155);e.exports=n(338)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t,n){var r=n(33)("unscopables"),o=Array.prototype;null==o[r]&&n(81)(o,r,{}),e.exports=function(e){o[r][e]=!0}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){"use strict";var r,o,i,a,s=n(198),u=n(41),c=n(153),l=n(150),p=n(35),f=n(98),h=n(154),d=n(507),m=n(508),v=n(204),g=n(344).set,y=n(513)(),b=n(205),_=n(345),w=n(514),x=n(346),E=u.TypeError,S=u.process,C=S&&S.versions,k=C&&C.v8||"",O=u.Promise,A="process"==l(S),T=function(){},j=o=b.f,P=!!function(){try{var e=O.resolve(1),t=(e.constructor={})[n(33)("species")]=function(e){e(T,T)};return(A||"function"==typeof PromiseRejectionEvent)&&e.then(T)instanceof t&&0!==k.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(e){}}(),I=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},M=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,o=1==e._s,i=0,a=function(t){var n,i,a,s=o?t.ok:t.fail,u=t.resolve,c=t.reject,l=t.domain;try{s?(o||(2==e._h&&D(e),e._h=1),!0===s?n=r:(l&&l.enter(),n=s(r),l&&(l.exit(),a=!0)),n===t.promise?c(E("Promise-chain cycle")):(i=I(n))?i.call(n,u,c):u(n)):c(r)}catch(e){l&&!a&&l.exit(),c(e)}};n.length>i;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&N(e)})}},N=function(e){g.call(u,function(){var t,n,r,o=e._v,i=R(e);if(i&&(t=_(function(){A?S.emit("unhandledRejection",o,e):(n=u.onunhandledrejection)?n({promise:e,reason:o}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",o)}),e._h=A||R(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},R=function(e){return 1!==e._h&&0===(e._a||e._c).length},D=function(e){g.call(u,function(){var t;A?S.emit("rejectionHandled",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},L=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),M(t,!0))},U=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw E("Promise can't be resolved itself");(t=I(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,c(U,r,1),c(L,r,1))}catch(e){L.call(r,e)}}):(n._v=e,n._s=1,M(n,!1))}catch(e){L.call({_w:n,_d:!1},e)}}};P||(O=function(e){d(this,O,"Promise","_h"),h(e),r.call(this);try{e(c(U,this,1),c(L,this,1))}catch(e){L.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(515)(O.prototype,{then:function(e,t){var n=j(v(this,O));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=A?S.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&M(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=c(U,e,1),this.reject=c(L,e,1)},b.f=j=function(e){return e===O||e===a?new i(e):o(e)}),p(p.G+p.W+p.F*!P,{Promise:O}),n(203)(O,"Promise"),n(516)("Promise"),a=n(72).Promise,p(p.S+p.F*!P,"Promise",{reject:function(e){var t=j(this);return(0,t.reject)(e),t.promise}}),p(p.S+p.F*(s||!P),"Promise",{resolve:function(e){return x(s&&this===a?O:this,e)}}),p(p.S+p.F*!(P&&n(517)(function(e){O.all(e).catch(T)})),"Promise",{all:function(e){var t=this,n=j(t),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;m(e,!1,function(e){var s=i++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(e){var t=this,n=j(t),r=n.reject,o=_(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(153),o=n(509),i=n(510),a=n(45),s=n(74),u=n(511),c={},l={};(t=e.exports=function(e,t,n,p,f){var h,d,m,v,g=f?function(){return e}:u(e),y=r(n,p,t?2:1),b=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(h=s(e.length);h>b;b++)if((v=t?y(a(d=e[b])[0],d[1]):y(e[b]))===c||v===l)return v}else for(m=g.call(e);!(d=m.next()).done;)if((v=o(m,y,d.value,t))===c||v===l)return v}).BREAK=c,t.RETURN=l},function(e,t,n){var r=n(45);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(128),o=n(33)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},function(e,t,n){var r=n(150),o=n(33)("iterator"),i=n(128);e.exports=n(72).getIteratorMethod=function(e){if(null!=e)return e[o]||e["@@iterator"]||i[r(e)]}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(41),o=n(344).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(125)(a);e.exports=function(){var e,t,n,c=function(){var r,o;for(u&&(r=a.domain)&&r.exit();e;){o=e.fn,e=e.next;try{o()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var l=s.resolve(void 0);n=function(){l.then(c)}}else n=function(){o.call(r,c)};else{var p=!0,f=document.createTextNode("");new i(c).observe(f,{characterData:!0}),n=function(){f.data=p=!p}}return function(r){var o={fn:r,next:void 0};t&&(t.next=o),e||(e=o,n()),t=o}}},function(e,t,n){var r=n(41).navigator;e.exports=r&&r.userAgent||""},function(e,t,n){var r=n(97);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){"use strict";var r=n(41),o=n(151),i=n(126),a=n(33)("species");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(33)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},function(e,t,n){"use strict";var r=n(35),o=n(72),i=n(41),a=n(204),s=n(346);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,o.Promise||i.Promise),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(35),o=n(205),i=n(345);r(r.S,"Promise",{try:function(e){var t=o.f(this),n=i(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){n(521),n(522),n(523),n(337),n(526),n(527),n(528),n(529),n(531),n(532),n(533),n(534),n(535),n(536),n(537),n(538),n(539),n(540),n(541),n(542),n(543),n(544),n(545),n(548),n(549),n(551),e.exports=n(72).String},function(e,t,n){var r=n(35),o=n(340),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){var r=n(35),o=n(155),i=n(74);r(r.S,"String",{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s<r&&a.push(String(arguments[s]));return a.join("")}})},function(e,t,n){"use strict";n(524)("trim",function(e){return function(){return e(this,3)}})},function(e,t,n){var r=n(35),o=n(73),i=n(99),a=n(525),s="["+a+"]",u=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),l=function(e,t,n){var o={},s=i(function(){return!!a[e]()||"​…"!="​…"[e]()}),u=o[e]=s?t(p):a[e];n&&(o[n]=u),r(r.P+r.F*s,"String",o)},p=l.trim=function(e,t){return e=String(o(e)),1&t&&(e=e.replace(u,"")),2&t&&(e=e.replace(c,"")),e};e.exports=l},function(e,t){e.exports="\t\n\v\f\r  ᠎              \u2028\u2029\ufeff"},function(e,t,n){"use strict";var r=n(35),o=n(201)(!1);r(r.P,"String",{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r=n(35),o=n(74),i=n(206),a="".endsWith;r(r.P+r.F*n(207)("endsWith"),"String",{endsWith:function(e){var t=i(this,e,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(t.length),s=void 0===n?r:Math.min(o(n),r),u=String(e);return a?a.call(t,u,s):t.slice(s-u.length,s)===u}})},function(e,t,n){"use strict";var r=n(35),o=n(206);r(r.P+r.F*n(207)("includes"),"String",{includes:function(e){return!!~o(this,e,"includes").indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){var r=n(35);r(r.P,"String",{repeat:n(530)})},function(e,t,n){"use strict";var r=n(127),o=n(73);e.exports=function(e){var t=String(o(this)),n="",i=r(e);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(35),o=n(74),i=n(206),a="".startsWith;r(r.P+r.F*n(207)("startsWith"),"String",{startsWith:function(e){var t=i(this,e,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return a?a.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";n(42)("anchor",function(e){return function(t){return e(this,"a","name",t)}})},function(e,t,n){"use strict";n(42)("big",function(e){return function(){return e(this,"big","","")}})},function(e,t,n){"use strict";n(42)("blink",function(e){return function(){return e(this,"blink","","")}})},function(e,t,n){"use strict";n(42)("bold",function(e){return function(){return e(this,"b","","")}})},function(e,t,n){"use strict";n(42)("fixed",function(e){return function(){return e(this,"tt","","")}})},function(e,t,n){"use strict";n(42)("fontcolor",function(e){return function(t){return e(this,"font","color",t)}})},function(e,t,n){"use strict";n(42)("fontsize",function(e){return function(t){return e(this,"font","size",t)}})},function(e,t,n){"use strict";n(42)("italics",function(e){return function(){return e(this,"i","","")}})},function(e,t,n){"use strict";n(42)("link",function(e){return function(t){return e(this,"a","href",t)}})},function(e,t,n){"use strict";n(42)("small",function(e){return function(){return e(this,"small","","")}})},function(e,t,n){"use strict";n(42)("strike",function(e){return function(){return e(this,"strike","","")}})},function(e,t,n){"use strict";n(42)("sub",function(e){return function(){return e(this,"sub","","")}})},function(e,t,n){"use strict";n(42)("sup",function(e){return function(){return e(this,"sup","","")}})},function(e,t,n){"use strict";var r=n(45),o=n(74),i=n(208),a=n(156);n(157)("match",1,function(e,t,n,s){return[function(n){var r=e(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=s(n,e,this);if(t.done)return t.value;var u=r(e),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;for(var p,f=[],h=0;null!==(p=a(u,c));){var d=String(p[0]);f[h]=d,""===d&&(u.lastIndex=i(c,o(u.lastIndex),l)),h++}return 0===h?null:f}]})},function(e,t,n){"use strict";var r=n(209);n(35)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){"use strict";var r=n(45);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var r=n(45),o=n(343),i=n(74),a=n(127),s=n(208),u=n(156),c=Math.max,l=Math.min,p=Math.floor,f=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g;n(157)("replace",2,function(e,t,n,d){return[function(r,o){var i=e(this),a=null==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(e,t){var o=d(n,e,this,t);if(o.done)return o.value;var p=r(e),f=String(this),h="function"==typeof t;h||(t=String(t));var v=p.global;if(v){var g=p.unicode;p.lastIndex=0}for(var y=[];;){var b=u(p,f);if(null===b)break;if(y.push(b),!v)break;""===String(b[0])&&(p.lastIndex=s(f,i(p.lastIndex),g))}for(var _,w="",x=0,E=0;E<y.length;E++){b=y[E];for(var S=String(b[0]),C=c(l(a(b.index),f.length),0),k=[],O=1;O<b.length;O++)k.push(void 0===(_=b[O])?_:String(_));var A=b.groups;if(h){var T=[S].concat(k,C,f);void 0!==A&&T.push(A);var j=String(t.apply(void 0,T))}else j=m(S,f,C,k,A,t);C>=x&&(w+=f.slice(x,C)+j,x=C+S.length)}return w+f.slice(x)}];function m(e,t,r,i,a,s){var u=r+e.length,c=i.length,l=h;return void 0!==a&&(a=o(a),l=f),n.call(s,l,function(n,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(u);case"<":s=a[o.slice(1,-1)];break;default:var l=+o;if(0===l)return n;if(l>c){var f=p(l/10);return 0===f?n:f<=c?void 0===i[f-1]?o.charAt(1):i[f-1]+o.charAt(1):n}s=i[l-1]}return void 0===s?"":s})}})},function(e,t,n){"use strict";var r=n(45),o=n(550),i=n(156);n(157)("search",1,function(e,t,n,a){return[function(n){var r=e(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=a(n,e,this);if(t.done)return t.value;var s=r(e),u=String(this),c=s.lastIndex;o(c,0)||(s.lastIndex=0);var l=i(s,u);return o(s.lastIndex,c)||(s.lastIndex=c),null===l?-1:l.index}]})},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(347),o=n(45),i=n(204),a=n(208),s=n(74),u=n(156),c=n(209),l=n(99),p=Math.min,f=[].push,h=!l(function(){RegExp(4294967295,"y")});n(157)("split",2,function(e,t,n,l){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,t){var o=String(this);if(void 0===e&&0===t)return[];if(!r(e))return n.call(o,e,t);for(var i,a,s,u=[],l=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),p=0,h=void 0===t?4294967295:t>>>0,d=new RegExp(e.source,l+"g");(i=c.call(d,o))&&!((a=d.lastIndex)>p&&(u.push(o.slice(p,i.index)),i.length>1&&i.index<o.length&&f.apply(u,i.slice(1)),s=i[0].length,p=a,u.length>=h));)d.lastIndex===i.index&&d.lastIndex++;return p===o.length?!s&&d.test("")||u.push(""):u.push(o.slice(p)),u.length>h?u.slice(0,h):u}:"0".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:n.call(this,e,t)}:n,[function(n,r){var o=e(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):d.call(String(o),n,r)},function(e,t){var r=l(d,e,this,t,d!==n);if(r.done)return r.value;var c=o(e),f=String(this),m=i(c,RegExp),v=c.unicode,g=(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(h?"y":"g"),y=new m(h?c:"^(?:"+c.source+")",g),b=void 0===t?4294967295:t>>>0;if(0===b)return[];if(0===f.length)return null===u(y,f)?[f]:[];for(var _=0,w=0,x=[];w<f.length;){y.lastIndex=h?w:0;var E,S=u(y,h?f:f.slice(w));if(null===S||(E=p(s(y.lastIndex+(h?0:w)),f.length))===_)w=a(f,w,v);else{if(x.push(f.slice(_,w)),x.length===b)return x;for(var C=1;C<=S.length-1;C++)if(x.push(S[C]),x.length===b)return x;w=_=E}}return x.push(f.slice(_)),x}]})},function(e,t,n){var r=n(22),o=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return o.stringify.apply(o,arguments)}},function(e,t,n){n(554),e.exports=n(22).Object.keys},function(e,t,n){var r=n(100),o=n(129);n(216)("keys",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(76),o=n(158),i=n(556);e.exports=function(e){return function(t,n,a){var s,u=r(t),c=o(u.length),l=i(a,c);if(e&&n!=n){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},function(e,t,n){var r=n(212),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},function(e,t,n){e.exports=n(558)},function(e,t,n){n(101),n(103),e.exports=n(221).f("iterator")},function(e,t,n){var r=n(212),o=n(210);e.exports=function(e){return function(t,n){var i,a,s=String(o(t)),u=r(n),c=s.length;return u<0||u>=c?e?"":void 0:(i=s.charCodeAt(u))<55296||i>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):i:e?s.slice(u,u+2):a-56320+(i-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(160),o=n(133),i=n(134),a={};n(77)(a,n(34)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},function(e,t,n){"use strict";var r=n(562),o=n(353),i=n(102),a=n(76);e.exports=n(219)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(){}},function(e,t,n){e.exports=n(564)},function(e,t,n){n(354),n(164),n(567),n(568),e.exports=n(22).Symbol},function(e,t,n){var r=n(129),o=n(161),i=n(162);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,s=n(e),u=i.f,c=0;s.length>c;)u.call(e,a=s[c++])&&t.push(a);return t}},function(e,t,n){var r=n(76),o=n(224).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(e){return a.slice()}}(e):o(r(e))}},function(e,t,n){n(222)("asyncIterator")},function(e,t,n){n(222)("observable")},function(e,t,n){"use strict";t.byteLength=function(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){for(var t,n=c(e),r=n[0],a=n[1],s=new i(function(e,t,n){return 3*(t+n)/4-n}(0,r,a)),u=0,l=a>0?r-4:r,p=0;p<l;p+=4)t=o[e.charCodeAt(p)]<<18|o[e.charCodeAt(p+1)]<<12|o[e.charCodeAt(p+2)]<<6|o[e.charCodeAt(p+3)],s[u++]=t>>16&255,s[u++]=t>>8&255,s[u++]=255&t;2===a&&(t=o[e.charCodeAt(p)]<<2|o[e.charCodeAt(p+1)]>>4,s[u++]=255&t);1===a&&(t=o[e.charCodeAt(p)]<<10|o[e.charCodeAt(p+1)]<<4|o[e.charCodeAt(p+2)]>>2,s[u++]=t>>8&255,s[u++]=255&t);return s},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,i=[],a=0,s=n-o;a<s;a+=16383)i.push(l(e,a,a+16383>s?s:a+16383));1===o?(t=e[n-1],i.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],i.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return i.join("")};for(var r=[],o=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s<u;++s)r[s]=a[s],o[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var o,i,a=[],s=t;s<n;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(r[(i=o)>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,c=u>>1,l=-7,p=n?o-1:0,f=n?-1:1,h=e[t+p];for(p+=f,i=h&(1<<-l)-1,h>>=-l,l+=s;l>0;i=256*i+e[t+p],p+=f,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=f,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)},t.write=function(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<<c)-1,p=l>>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,d=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?f/u:f*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=l?(s=0,a=l):a+p>=1?(s=(t*u-1)*Math.pow(2,o),a+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&s,h+=d,s/=256,o-=8);for(a=a<<o|s,c+=o;c>0;e[n+h]=255&a,h+=d,a/=256,c-=8);e[n+h-d]|=128*m}},function(e,t,n){n(572),e.exports=n(22).Array.isArray},function(e,t,n){var r=n(30);r(r.S,"Array",{isArray:n(223)})},function(e,t,n){n(574);var r=n(22).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){var r=n(30);r(r.S+r.F*!n(50),"Object",{defineProperty:n(49).f})},function(e,t,n){n(576),e.exports=n(22).Object.assign},function(e,t,n){var r=n(30);r(r.S+r.F,"Object",{assign:n(356)})},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){"use strict";var r=n(579),o=n(105),i=n(57),a=n(580),s=r.twoArgumentPooler,u=r.fourArgumentPooler,c=/\/+/g;function l(e){return(""+e).replace(c,"$&/")}function p(e,t){this.func=e,this.context=t,this.count=0}function f(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function h(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function d(e,t,n){var r=e.result,a=e.keyPrefix,s=e.func,u=e.context,c=s.call(u,t,e.count++);Array.isArray(c)?m(c,r,n,i.thatReturnsArgument):null!=c&&(o.isValidElement(c)&&(c=o.cloneAndReplaceKey(c,a+(!c.key||t&&t.key===c.key?"":l(c.key)+"/")+n)),r.push(c))}function m(e,t,n,r,o){var i="";null!=n&&(i=l(n)+"/");var s=h.getPooled(t,i,r,o);a(e,d,s),h.release(s)}function v(e,t,n){return null}p.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},r.addPoolingTo(p,s),h.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},r.addPoolingTo(h,u);var g={forEach:function(e,t,n){if(null==e)return e;var r=p.getPooled(t,n);a(e,f,r),p.release(r)},map:function(e,t,n){if(null==e)return e;var r=[];return m(e,r,null,t,n),r},mapIntoWithKeyPrefixInternal:m,count:function(e,t){return a(e,v,null)},toArray:function(e){var t=[];return m(e,t,null,i.thatReturnsArgument),t}};e.exports=g},function(e,t,n){"use strict";var r=n(136),o=(n(15),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),i=function(e){e instanceof this||r("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},a=o,s={addPoolingTo:function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||a,n.poolSize||(n.poolSize=10),n.release=i,n},oneArgumentPooler:o,twoArgumentPooler:function(e,t){if(this.instancePool.length){var n=this.instancePool.pop();return this.call(n,e,t),n}return new this(e,t)},threeArgumentPooler:function(e,t,n){if(this.instancePool.length){var r=this.instancePool.pop();return this.call(r,e,t,n),r}return new this(e,t,n)},fourArgumentPooler:function(e,t,n,r){if(this.instancePool.length){var o=this.instancePool.pop();return this.call(o,e,t,n,r),o}return new this(e,t,n,r)}};e.exports=s},function(e,t,n){"use strict";var r=n(136),o=(n(65),n(360)),i=n(581),a=(n(15),n(582)),s=(n(23),"."),u=":";function c(e,t){return e&&"object"==typeof e&&null!=e.key?a.escape(e.key):t.toString(36)}e.exports=function(e,t,n){return null==e?0:function e(t,n,l,p){var f,h=typeof t;if("undefined"!==h&&"boolean"!==h||(t=null),null===t||"string"===h||"number"===h||"object"===h&&t.$$typeof===o)return l(p,t,""===n?s+c(t,0):n),1;var d=0,m=""===n?s:n+u;if(Array.isArray(t))for(var v=0;v<t.length;v++)d+=e(f=t[v],m+c(f,v),l,p);else{var g=i(t);if(g){var y,b=g.call(t);if(g!==t.entries)for(var _=0;!(y=b.next()).done;)d+=e(f=y.value,m+c(f,_++),l,p);else for(;!(y=b.next()).done;){var w=y.value;w&&(d+=e(f=w[1],m+a.escape(w[0])+u+c(f,0),l,p))}}else if("object"===h){var x=String(t);r("31","[object Object]"===x?"object with keys {"+Object.keys(t).join(", ")+"}":x,"")}}return d}(e,"",t,n)}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=function(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}},function(e,t,n){"use strict";var r={escape:function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})},unescape:function(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}};e.exports=r},function(e,t,n){"use strict";var r=n(105).createFactory,o={a:r("a"),abbr:r("abbr"),address:r("address"),area:r("area"),article:r("article"),aside:r("aside"),audio:r("audio"),b:r("b"),base:r("base"),bdi:r("bdi"),bdo:r("bdo"),big:r("big"),blockquote:r("blockquote"),body:r("body"),br:r("br"),button:r("button"),canvas:r("canvas"),caption:r("caption"),cite:r("cite"),code:r("code"),col:r("col"),colgroup:r("colgroup"),data:r("data"),datalist:r("datalist"),dd:r("dd"),del:r("del"),details:r("details"),dfn:r("dfn"),dialog:r("dialog"),div:r("div"),dl:r("dl"),dt:r("dt"),em:r("em"),embed:r("embed"),fieldset:r("fieldset"),figcaption:r("figcaption"),figure:r("figure"),footer:r("footer"),form:r("form"),h1:r("h1"),h2:r("h2"),h3:r("h3"),h4:r("h4"),h5:r("h5"),h6:r("h6"),head:r("head"),header:r("header"),hgroup:r("hgroup"),hr:r("hr"),html:r("html"),i:r("i"),iframe:r("iframe"),img:r("img"),input:r("input"),ins:r("ins"),kbd:r("kbd"),keygen:r("keygen"),label:r("label"),legend:r("legend"),li:r("li"),link:r("link"),main:r("main"),map:r("map"),mark:r("mark"),menu:r("menu"),menuitem:r("menuitem"),meta:r("meta"),meter:r("meter"),nav:r("nav"),noscript:r("noscript"),object:r("object"),ol:r("ol"),optgroup:r("optgroup"),option:r("option"),output:r("output"),p:r("p"),param:r("param"),picture:r("picture"),pre:r("pre"),progress:r("progress"),q:r("q"),rp:r("rp"),rt:r("rt"),ruby:r("ruby"),s:r("s"),samp:r("samp"),script:r("script"),section:r("section"),select:r("select"),small:r("small"),source:r("source"),span:r("span"),strong:r("strong"),style:r("style"),sub:r("sub"),summary:r("summary"),sup:r("sup"),table:r("table"),tbody:r("tbody"),td:r("td"),textarea:r("textarea"),tfoot:r("tfoot"),th:r("th"),thead:r("thead"),time:r("time"),title:r("title"),tr:r("tr"),track:r("track"),u:r("u"),ul:r("ul"),var:r("var"),video:r("video"),wbr:r("wbr"),circle:r("circle"),clipPath:r("clipPath"),defs:r("defs"),ellipse:r("ellipse"),g:r("g"),image:r("image"),line:r("line"),linearGradient:r("linearGradient"),mask:r("mask"),path:r("path"),pattern:r("pattern"),polygon:r("polygon"),polyline:r("polyline"),radialGradient:r("radialGradient"),rect:r("rect"),stop:r("stop"),svg:r("svg"),text:r("text"),tspan:r("tspan")};e.exports=o},function(e,t,n){"use strict";var r=n(105).isValidElement,o=n(361);e.exports=o(r)},function(e,t,n){"use strict";var r=n(362),o=n(25),i=n(363),a=n(587),s=Function.call.bind(Object.prototype.hasOwnProperty),u=function(){};function c(){return null}e.exports=function(e,t){var n="function"==typeof Symbol&&Symbol.iterator,l="@@iterator";var p="<<anonymous>>",f={array:v("array"),bool:v("boolean"),func:v("function"),number:v("number"),object:v("object"),string:v("string"),symbol:v("symbol"),any:m(c),arrayOf:function(e){return m(function(t,n,r,o,a){if("function"!=typeof e)return new d("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s))return new d("Invalid "+o+" `"+a+"` of type `"+y(s)+"` supplied to `"+r+"`, expected an array.");for(var u=0;u<s.length;u++){var c=e(s,u,r,o,a+"["+u+"]",i);if(c instanceof Error)return c}return null})},element:m(function(t,n,r,o,i){var a=t[n];return e(a)?null:new d("Invalid "+o+" `"+i+"` of type `"+y(a)+"` supplied to `"+r+"`, expected a single ReactElement.")}),elementType:m(function(e,t,n,o,i){var a=e[t];return r.isValidElementType(a)?null:new d("Invalid "+o+" `"+i+"` of type `"+y(a)+"` supplied to `"+n+"`, expected a single ReactElement type.")}),instanceOf:function(e){return m(function(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||p;return new d("Invalid "+o+" `"+i+"` of type `"+function(e){if(!e.constructor||!e.constructor.name)return p;return e.constructor.name}(t[n])+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null})},node:m(function(e,t,n,r,o){return g(e[t])?null:new d("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(e){return m(function(t,n,r,o,a){if("function"!=typeof e)return new d("Property `"+a+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var u=t[n],c=y(u);if("object"!==c)return new d("Invalid "+o+" `"+a+"` of type `"+c+"` supplied to `"+r+"`, expected an object.");for(var l in u)if(s(u,l)){var p=e(u,l,r,o,a+"."+l,i);if(p instanceof Error)return p}return null})},oneOf:function(e){if(!Array.isArray(e))return c;return m(function(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(h(a,e[s]))return null;var u=JSON.stringify(e,function(e,t){return"symbol"===b(t)?String(t):t});return new d("Invalid "+o+" `"+i+"` of value `"+String(a)+"` supplied to `"+r+"`, expected one of "+u+".")})},oneOfType:function(e){if(!Array.isArray(e))return c;for(var t=0;t<e.length;t++){var n=e[t];if("function"!=typeof n)return u("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+_(n)+" at index "+t+"."),c}return m(function(t,n,r,o,a){for(var s=0;s<e.length;s++){if(null==(0,e[s])(t,n,r,o,a,i))return null}return new d("Invalid "+o+" `"+a+"` supplied to `"+r+"`.")})},shape:function(e){return m(function(t,n,r,o,a){var s=t[n],u=y(s);if("object"!==u)return new d("Invalid "+o+" `"+a+"` of type `"+u+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var l=e[c];if(l){var p=l(s,c,r,o,a+"."+c,i);if(p)return p}}return null})},exact:function(e){return m(function(t,n,r,a,s){var u=t[n],c=y(u);if("object"!==c)return new d("Invalid "+a+" `"+s+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var l=o({},t[n],e);for(var p in l){var f=e[p];if(!f)return new d("Invalid "+a+" `"+s+"` key `"+p+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var h=f(u,p,r,a,s+"."+p,i);if(h)return h}return null})}};function h(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function d(e){this.message=e,this.stack=""}function m(e){function n(n,r,o,a,s,u,c){if((a=a||p,u=u||o,c!==i)&&t){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}return null==r[o]?n?null===r[o]?new d("The "+s+" `"+u+"` is marked as required in `"+a+"`, but its value is `null`."):new d("The "+s+" `"+u+"` is marked as required in `"+a+"`, but its value is `undefined`."):null:e(r,o,a,s,u)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function v(e){return m(function(t,n,r,o,i,a){var s=t[n];return y(s)!==e?new d("Invalid "+o+" `"+i+"` of type `"+b(s)+"` supplied to `"+r+"`, expected `"+e+"`."):null})}function g(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(g);if(null===t||e(t))return!0;var r=function(e){var t=e&&(n&&e[n]||e[l]);if("function"==typeof t)return t}(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!g(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!g(a[1]))return!1}return!0;default:return!1}}function y(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function b(e){if(null==e)return""+e;var t=y(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function _(e){var t=b(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return d.prototype=Error.prototype,f.checkPropTypes=a,f.resetWarningCache=a.resetWarningCache,f.PropTypes=f,f}},function(e,t,n){"use strict"; +/** @license React v16.8.6 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&Symbol.for,o=r?Symbol.for("react.element"):60103,i=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,l=r?Symbol.for("react.context"):60110,p=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,h=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116;function g(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case p:case f:case a:case u:case s:case d:return e;default:switch(e=e&&e.$$typeof){case l:case h:case c:return e;default:return t}}case v:case m:case i:return t}}}function y(e){return g(e)===f}t.typeOf=g,t.AsyncMode=p,t.ConcurrentMode=f,t.ContextConsumer=l,t.ContextProvider=c,t.Element=o,t.ForwardRef=h,t.Fragment=a,t.Lazy=v,t.Memo=m,t.Portal=i,t.Profiler=u,t.StrictMode=s,t.Suspense=d,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===f||e===u||e===s||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===c||e.$$typeof===l||e.$$typeof===h)},t.isAsyncMode=function(e){return y(e)||g(e)===p},t.isConcurrentMode=y,t.isContextConsumer=function(e){return g(e)===l},t.isContextProvider=function(e){return g(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return g(e)===h},t.isFragment=function(e){return g(e)===a},t.isLazy=function(e){return g(e)===v},t.isMemo=function(e){return g(e)===m},t.isPortal=function(e){return g(e)===i},t.isProfiler=function(e){return g(e)===u},t.isStrictMode=function(e){return g(e)===s},t.isSuspense=function(e){return g(e)===d}},function(e,t,n){"use strict";function r(e,t,n,r,o){}r.resetWarningCache=function(){0},e.exports=r},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(357).Component,o=n(105).isValidElement,i=n(358),a=n(590);e.exports=a(r,o,i)},function(e,t,n){"use strict";var r=n(25),o=n(165),i=n(15),a="mixins";e.exports=function(e,t,n){var s=[],u={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},c={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},l={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)f(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=r({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=r({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=d(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=r({},e.propTypes,t)},statics:function(e,t){!function(e,t){if(!t)return;for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){if(i(!(n in l),'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n),n in e){var o=c.hasOwnProperty(n)?c[n]:null;return i("DEFINE_MANY_MERGED"===o,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),void(e[n]=d(e[n],r))}e[n]=r}}}(e,t)},autobind:function(){}};function p(e,t){var n=u.hasOwnProperty(t)?u[t]:null;b.hasOwnProperty(t)&&i("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&i("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function f(e,n){if(n){i("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),i(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,o=r.__reactAutoBindPairs;for(var s in n.hasOwnProperty(a)&&l.mixins(e,n.mixins),n)if(n.hasOwnProperty(s)&&s!==a){var c=n[s],f=r.hasOwnProperty(s);if(p(f,s),l.hasOwnProperty(s))l[s](e,c);else{var h=u.hasOwnProperty(s);if("function"==typeof c&&!h&&!f&&!1!==n.autobind)o.push(s,c),r[s]=c;else if(f){var v=u[s];i(h&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,s),"DEFINE_MANY_MERGED"===v?r[s]=d(r[s],c):"DEFINE_MANY"===v&&(r[s]=m(r[s],c))}else r[s]=c}}}else;}function h(e,t){for(var n in i(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(i(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function d(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return h(o,n),h(o,r),o}}function m(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function v(e,t){return t.bind(e)}var g={componentDidMount:function(){this.__isMounted=!0}},y={componentWillUnmount:function(){this.__isMounted=!1}},b={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},_=function(){};return r(_.prototype,e.prototype,b),function(e){var t=function(e,r,a){this.__reactAutoBindPairs.length&&function(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=v(e,o)}}(this),this.props=e,this.context=r,this.refs=o,this.updater=a||n,this.state=null;var s=this.getInitialState?this.getInitialState():null;i("object"==typeof s&&!Array.isArray(s),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=s};for(var r in t.prototype=new _,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],s.forEach(f.bind(null,t)),f(t,g),f(t,e),f(t,y),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),i(t.prototype.render,"createClass(...): Class specification must implement a `render` method."),u)t.prototype[r]||(t.prototype[r]=null);return t}}},function(e,t,n){"use strict";var r=n(136),o=n(105);n(15);e.exports=function(e){return o.isValidElement(e)||r("143"),e}},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(1),i=(r=o)&&r.__esModule?r:{default:r},a=n(594);t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.default.Map,n=Object.keys(e);return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t(),o=arguments[1];return r.withMutations(function(t){n.forEach(function(n){var r=(0,e[n])(t.get(n),o);(0,a.validateNextState)(r,n,o),t.set(n,r)})})}},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateNextState=t.getUnexpectedInvocationParameterMessage=t.getStateName=void 0;var r=a(n(364)),o=a(n(595)),i=a(n(596));function a(e){return e&&e.__esModule?e:{default:e}}t.getStateName=r.default,t.getUnexpectedInvocationParameterMessage=o.default,t.validateNextState=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(1)),o=i(n(364));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n){var i=Object.keys(t);if(!i.length)return"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";var a=(0,o.default)(n);if(!r.default.Iterable.isIterable(e))return"The "+a+' is of unexpected type. Expected argument to be an instance of Immutable.Iterable with the following properties: "'+i.join('", "')+'".';var s=e.keySeq().toArray().filter(function(e){return!t.hasOwnProperty(e)});return s.length>0?"Unexpected "+(1===s.length?"property":"properties")+' "'+s.join('", "')+'" found in '+a+'. Expected to find one of the known reducer property names instead: "'+i.join('", "')+'". Unexpected properties will be ignored.':null},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(void 0===e)throw new Error('Reducer "'+t+'" returned undefined when handling "'+n.type+'" action. To ignore an action, you must explicitly return the previous state.')},e.exports=t.default},function(e,t,n){var r=n(14);e.exports=function(e){if(r(e))return e}},function(e,t,n){var r=n(92);e.exports=function(e,t){var n=[],o=!0,i=!1,a=void 0;try{for(var s,u=r(e);!(o=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==u.return||u.return()}finally{if(i)throw a}}return n}},function(e,t,n){n(103),n(101),e.exports=n(600)},function(e,t,n){var r=n(46),o=n(225);e.exports=n(22).getIterator=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){var r=n(69),o=n(270);e.exports=function(e){return o(r(e).toLowerCase())}},function(e,t,n){var r=n(106),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[s]=n:delete e[s]),o}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(606),o=n(369),i=n(607),a=n(69);e.exports=function(e){return function(t){t=a(t);var n=o(t)?i(t):void 0,s=n?n[0]:t.charAt(0),u=n?r(n,1).join(""):t.slice(1);return s[e]()+u}}},function(e,t,n){var r=n(368);e.exports=function(e,t,n){var o=e.length;return n=void 0===n?o:n,!t&&n>=o?e:r(e,t,n)}},function(e,t,n){var r=n(608),o=n(369),i=n(609);e.exports=function(e){return o(e)?i(e):r(e)}},function(e,t){e.exports=function(e){return e.split("")}},function(e,t){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",i="[^\\ud800-\\udfff]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",u="(?:"+r+"|"+o+")"+"?",c="[\\ufe0e\\ufe0f]?"+u+("(?:\\u200d(?:"+[i,a,s].join("|")+")[\\ufe0e\\ufe0f]?"+u+")*"),l="(?:"+[i+r+"?",r,a,s,n].join("|")+")",p=RegExp(o+"(?="+o+")|"+l+c,"g");e.exports=function(e){return e.match(p)||[]}},function(e,t,n){var r=n(370),o=n(611),i=n(614),a=RegExp("['’]","g");e.exports=function(e){return function(t){return r(i(o(t).replace(a,"")),e,"")}}},function(e,t,n){var r=n(612),o=n(69),i=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,a=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");e.exports=function(e){return(e=o(e))&&e.replace(i,r).replace(a,"")}},function(e,t,n){var r=n(613)({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"});e.exports=r},function(e,t){e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},function(e,t,n){var r=n(615),o=n(616),i=n(69),a=n(617);e.exports=function(e,t,n){return e=i(e),void 0===(t=n?void 0:t)?o(e)?a(e):r(e):e.match(t)||[]}},function(e,t){var n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.exports=function(e){return e.match(n)||[]}},function(e,t){var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return n.test(e)}},function(e,t){var n="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",r="["+n+"]",o="\\d+",i="[\\u2700-\\u27bf]",a="[a-z\\xdf-\\xf6\\xf8-\\xff]",s="[^\\ud800-\\udfff"+n+o+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",u="(?:\\ud83c[\\udde6-\\uddff]){2}",c="[\\ud800-\\udbff][\\udc00-\\udfff]",l="[A-Z\\xc0-\\xd6\\xd8-\\xde]",p="(?:"+a+"|"+s+")",f="(?:"+l+"|"+s+")",h="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",d="[\\ufe0e\\ufe0f]?"+h+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",u,c].join("|")+")[\\ufe0e\\ufe0f]?"+h+")*"),m="(?:"+[i,u,c].join("|")+")"+d,v=RegExp([l+"?"+a+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[r,l,"$"].join("|")+")",f+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[r,l+p,"$"].join("|")+")",l+"?"+p+"+(?:['’](?:d|ll|m|re|s|t|ve))?",l+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",o,m].join("|"),"g");e.exports=function(e){return e.match(v)||[]}},function(e,t,n){var r=n(619),o=n(169),i=n(227);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(e,t,n){var r=n(620),o=n(625),i=n(626),a=n(627),s=n(628);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(168);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t,n){var r=n(371),o=n(622),i=n(52),a=n(372),s=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,l=u.toString,p=c.hasOwnProperty,f=RegExp("^"+l.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(r(e)?f:s).test(a(e))}},function(e,t,n){var r,o=n(623),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!i&&i in e}},function(e,t,n){var r=n(51)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(168),o="__lodash_hash_undefined__",i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return n===o?void 0:n}return i.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(168),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:o.call(t,e)}},function(e,t,n){var r=n(168),o="__lodash_hash_undefined__";e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?o:t,this}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(170),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0)&&(n==t.length-1?t.pop():o.call(t,n,1),--this.size,!0)}},function(e,t,n){var r=n(170);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(170);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(170);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},function(e,t,n){var r=n(171);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(171);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(171);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(171);e.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}},function(e,t,n){var r=n(172),o=n(107),i=n(85);e.exports=function(e){return function(t,n,a){var s=Object(t);if(!o(t)){var u=r(n,3);t=i(t),n=function(e){return u(s[e],e,s)}}var c=e(t,n,a);return c>-1?s[u?t[c]:c]:void 0}}},function(e,t,n){var r=n(641),o=n(667),i=n(384);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(228),o=n(373),i=1,a=2;e.exports=function(e,t,n,s){var u=n.length,c=u,l=!s;if(null==e)return!c;for(e=Object(e);u--;){var p=n[u];if(l&&p[2]?p[1]!==e[p[0]]:!(p[0]in e))return!1}for(;++u<c;){var f=(p=n[u])[0],h=e[f],d=p[1];if(l&&p[2]){if(void 0===h&&!(f in e))return!1}else{var m=new r;if(s)var v=s(h,d,f,e,t,m);if(!(void 0===v?o(d,h,i|a,s,m):v))return!1}}return!0}},function(e,t,n){var r=n(169);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(169),o=n(227),i=n(226),a=200;e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!o||s.length<a-1)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(s)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(228),o=n(374),i=n(652),a=n(655),s=n(176),u=n(37),c=n(232),l=n(381),p=1,f="[object Arguments]",h="[object Array]",d="[object Object]",m=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,v,g,y){var b=u(e),_=u(t),w=b?h:s(e),x=_?h:s(t),E=(w=w==f?d:w)==d,S=(x=x==f?d:x)==d,C=w==x;if(C&&c(e)){if(!c(t))return!1;b=!0,E=!1}if(C&&!E)return y||(y=new r),b||l(e)?o(e,t,n,v,g,y):i(e,t,w,n,v,g,y);if(!(n&p)){var k=E&&m.call(e,"__wrapped__"),O=S&&m.call(t,"__wrapped__");if(k||O){var A=k?e.value():e,T=O?t.value():t;return y||(y=new r),g(A,T,n,v,y)}}return!!C&&(y||(y=new r),a(e,t,n,v,g,y))}},function(e,t,n){var r=n(226),o=n(649),i=n(650);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=o,a.prototype.has=i,e.exports=a},function(e,t){var n="__lodash_hash_undefined__";e.exports=function(e){return this.__data__.set(e,n),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,n){var r=n(106),o=n(376),i=n(91),a=n(374),s=n(653),u=n(654),c=1,l=2,p="[object Boolean]",f="[object Date]",h="[object Error]",d="[object Map]",m="[object Number]",v="[object RegExp]",g="[object Set]",y="[object String]",b="[object Symbol]",_="[object ArrayBuffer]",w="[object DataView]",x=r?r.prototype:void 0,E=x?x.valueOf:void 0;e.exports=function(e,t,n,r,x,S,C){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!S(new o(e),new o(t)));case p:case f:case m:return i(+e,+t);case h:return e.name==t.name&&e.message==t.message;case v:case y:return e==t+"";case d:var k=s;case g:var O=r&c;if(k||(k=u),e.size!=t.size&&!O)return!1;var A=C.get(e);if(A)return A==t;r|=l,C.set(e,t);var T=a(k(e),k(t),r,x,S,C);return C.delete(e),T;case b:if(E)return E.call(e)==E.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}},function(e,t,n){var r=n(377),o=1,i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,a,s,u){var c=n&o,l=r(e),p=l.length;if(p!=r(t).length&&!c)return!1;for(var f=p;f--;){var h=l[f];if(!(c?h in t:i.call(t,h)))return!1}var d=u.get(e);if(d&&u.get(t))return d==t;var m=!0;u.set(e,t),u.set(t,e);for(var v=c;++f<p;){var g=e[h=l[f]],y=t[h];if(a)var b=c?a(y,g,h,t,e,u):a(g,y,h,e,t,u);if(!(void 0===b?g===y||s(g,y,n,a,u):b)){m=!1;break}v||(v="constructor"==h)}if(m&&!v){var _=e.constructor,w=t.constructor;_!=w&&"constructor"in e&&"constructor"in t&&!("function"==typeof _&&_ instanceof _&&"function"==typeof w&&w instanceof w)&&(m=!1)}return u.delete(e),u.delete(t),m}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){var r=n(83),o=n(66),i="[object Arguments]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,t){e.exports=function(){return!1}},function(e,t,n){var r=n(83),o=n(233),i=n(66),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&o(e.length)&&!!a[r(e)]}},function(e,t,n){var r=n(175),o=n(662),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t,n){var r=n(382)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(84)(n(51),"DataView");e.exports=r},function(e,t,n){var r=n(84)(n(51),"Promise");e.exports=r},function(e,t,n){var r=n(84)(n(51),"Set");e.exports=r},function(e,t,n){var r=n(84)(n(51),"WeakMap");e.exports=r},function(e,t,n){var r=n(383),o=n(85);e.exports=function(e){for(var t=o(e),n=t.length;n--;){var i=t[n],a=e[i];t[n]=[i,a,r(a)]}return t}},function(e,t,n){var r=n(373),o=n(93),i=n(385),a=n(236),s=n(383),u=n(384),c=n(109),l=1,p=2;e.exports=function(e,t){return a(e)&&s(t)?u(c(e),t):function(n){var a=o(n,e);return void 0===a&&a===t?i(n,e):r(t,a,l|p)}}},function(e,t,n){var r=n(670),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,a=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,function(e,n,r,o){t.push(r?o.replace(i,"$1"):n||e)}),t});e.exports=a},function(e,t,n){var r=n(271),o=500;e.exports=function(e){var t=r(e,function(e){return n.size===o&&n.clear(),e}),n=t.cache;return t}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,n){var r=n(108),o=n(231),i=n(37),a=n(174),s=n(233),u=n(109);e.exports=function(e,t,n){for(var c=-1,l=(t=r(t,e)).length,p=!1;++c<l;){var f=u(t[c]);if(!(p=null!=e&&n(e,f)))break;e=e[f]}return p||++c!=l?p:!!(l=null==e?0:e.length)&&s(l)&&a(f,l)&&(i(e)||o(e))}},function(e,t,n){var r=n(674),o=n(675),i=n(236),a=n(109);e.exports=function(e){return i(e)?r(a(e)):o(e)}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){var r=n(177);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t,n){var r=n(677),o=n(172),i=n(386),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var u=null==n?0:i(n);return u<0&&(u=a(s+u,0)),r(e,o(t,3),u)}},function(e,t){e.exports=function(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i<o;)if(t(e[i],i,e))return i;return-1}},function(e,t,n){var r=n(387),o=1/0,i=17976931348623157e292;e.exports=function(e){return e?(e=r(e))===o||e===-o?(e<0?-1:1)*i:e==e?e:0:0===e?e:0}},function(e,t,n){var r=n(388);e.exports=function(e,t){var n;return r(e,function(e,r,o){return!(n=t(e,r,o))}),!!n}},function(e,t,n){var r=n(681),o=n(85);e.exports=function(e,t){return e&&r(e,t,o)}},function(e,t,n){var r=n(682)();e.exports=r},function(e,t){e.exports=function(e){return function(t,n,r){for(var o=-1,i=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++o];if(!1===n(i[u],u,i))break}return t}}},function(e,t,n){var r=n(107);e.exports=function(e,t){return function(n,o){if(null==n)return n;if(!r(n))return e(n,o);for(var i=n.length,a=t?i:-1,s=Object(n);(t?a--:++a<i)&&!1!==o(s[a],a,s););return n}}},function(e,t){var n={"&":"&amp;",'"':"&quot;","'":"&apos;","<":"&lt;",">":"&gt;"};e.exports=function(e){return e&&e.replace?e.replace(/([&"<>'])/g,function(e,t){return n[t]}):e}},function(e,t,n){e.exports=o;var r=n(238).EventEmitter;function o(){r.call(this)}n(47)(o,r),o.Readable=n(239),o.Writable=n(692),o.Duplex=n(693),o.Transform=n(694),o.PassThrough=n(695),o.Stream=o,o.prototype.pipe=function(e,t){var n=this;function o(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function i(){n.readable&&n.resume&&n.resume()}n.on("data",o),e.on("drain",i),e._isStdio||t&&!1===t.end||(n.on("end",s),n.on("close",u));var a=!1;function s(){a||(a=!0,e.end())}function u(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(l(),0===r.listenerCount(this,"error"))throw e}function l(){n.removeListener("data",o),e.removeListener("drain",i),n.removeListener("end",s),n.removeListener("close",u),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",l),n.removeListener("close",l),e.removeListener("close",l)}return n.on("error",c),e.on("error",c),n.on("end",l),n.on("close",l),e.on("close",l),e.emit("pipe",n),e}},function(e,t){},function(e,t,n){"use strict";var r=n(48).Buffer,o=n(688);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,o,i=r.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=a.data,n=i,o=s,t.copy(n,o),s+=a.data.length,a=a.next;return i},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,s,u=1,c={},l=!1,p=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){d(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){d(e.data)},r=function(e){i.port2.postMessage(e)}):p&&"onreadystatechange"in p.createElement("script")?(o=p.documentElement,r=function(e){var t=p.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(d,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&d(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),f.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var o={callback:e,args:t};return c[u]=o,r(u),u++},f.clearImmediate=h}function h(e){delete c[e]}function d(e){if(l)setTimeout(d,0,e);else{var t=c[e];if(t){l=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{h(e),l=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(36),n(67))},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(36))},function(e,t,n){"use strict";e.exports=i;var r=n(395),o=n(137);function i(e){if(!(this instanceof i))return new i(e);r.call(this,e)}o.inherits=n(47),o.inherits(i,r),i.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(240)},function(e,t,n){e.exports=n(86)},function(e,t,n){e.exports=n(239).Transform},function(e,t,n){e.exports=n(239).PassThrough},function(e,t,n){"use strict";var r=n(697),o=Math.abs,i=Math.floor;e.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?r(e)*i(o(e)):e}},function(e,t,n){"use strict";e.exports=n(698)()?Math.sign:n(699)},function(e,t,n){"use strict";e.exports=function(){var e=Math.sign;return"function"==typeof e&&(1===e(10)&&-1===e(-20))}},function(e,t,n){"use strict";e.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}},function(e,t,n){"use strict";var r=n(78),o=n(179),i=n(89),a=n(702),s=n(398);e.exports=function e(t){var n,u,c;if(r(t),(n=Object(arguments[1])).async&&n.promise)throw new Error("Options 'async' and 'promise' cannot be used together");return hasOwnProperty.call(t,"__memoized__")&&!n.force?t:(u=s(n.length,t.length,n.async&&i.async),c=a(t,u,n),o(i,function(e,t){n[t]&&e(n[t],c,n)}),e.__profiler__&&e.__profiler__(c),c.updateEnv(),c.memoized)}},function(e,t,n){"use strict";var r=n(78),o=n(110),i=Function.prototype.bind,a=Function.prototype.call,s=Object.keys,u=Object.prototype.propertyIsEnumerable;e.exports=function(e,t){return function(n,c){var l,p=arguments[2],f=arguments[3];return n=Object(o(n)),r(c),l=s(n),f&&l.sort("function"==typeof f?i.call(f,n):void 0),"function"!=typeof e&&(e=l[e]),a.call(e,l,function(e,r){return u.call(n,e)?a.call(c,p,n[e],e,n,r):t})}}},function(e,t,n){"use strict";var r=n(703),o=n(400),i=n(180),a=n(713).methods,s=n(714),u=n(726),c=Function.prototype.apply,l=Function.prototype.call,p=Object.create,f=Object.defineProperties,h=a.on,d=a.emit;e.exports=function(e,t,n){var a,m,v,g,y,b,_,w,x,E,S,C,k,O,A,T=p(null);return m=!1!==t?t:isNaN(e.length)?1:e.length,n.normalizer&&(E=u(n.normalizer),v=E.get,g=E.set,y=E.delete,b=E.clear),null!=n.resolvers&&(A=s(n.resolvers)),O=v?o(function(t){var n,o,i=arguments;if(A&&(i=A(i)),null!==(n=v(i))&&hasOwnProperty.call(T,n))return S&&a.emit("get",n,i,this),T[n];if(o=1===i.length?l.call(e,this,i[0]):c.call(e,this,i),null===n){if(null!==(n=v(i)))throw r("Circular invocation","CIRCULAR_INVOCATION");n=g(i)}else if(hasOwnProperty.call(T,n))throw r("Circular invocation","CIRCULAR_INVOCATION");return T[n]=o,C&&a.emit("set",n,null,o),o},m):0===t?function(){var t;if(hasOwnProperty.call(T,"data"))return S&&a.emit("get","data",arguments,this),T.data;if(t=arguments.length?c.call(e,this,arguments):l.call(e,this),hasOwnProperty.call(T,"data"))throw r("Circular invocation","CIRCULAR_INVOCATION");return T.data=t,C&&a.emit("set","data",null,t),t}:function(t){var n,o,i=arguments;if(A&&(i=A(arguments)),o=String(i[0]),hasOwnProperty.call(T,o))return S&&a.emit("get",o,i,this),T[o];if(n=1===i.length?l.call(e,this,i[0]):c.call(e,this,i),hasOwnProperty.call(T,o))throw r("Circular invocation","CIRCULAR_INVOCATION");return T[o]=n,C&&a.emit("set",o,null,n),n},a={original:e,memoized:O,profileName:n.profileName,get:function(e){return A&&(e=A(e)),v?v(e):String(e[0])},has:function(e){return hasOwnProperty.call(T,e)},delete:function(e){var t;hasOwnProperty.call(T,e)&&(y&&y(e),t=T[e],delete T[e],k&&a.emit("delete",e,t))},clear:function(){var e=T;b&&b(),T=p(null),a.emit("clear",e)},on:function(e,t){return"get"===e?S=!0:"set"===e?C=!0:"delete"===e&&(k=!0),h.call(this,e,t)},emit:d,updateEnv:function(){e=a.original}},_=v?o(function(e){var t,n=arguments;A&&(n=A(n)),null!==(t=v(n))&&a.delete(t)},m):0===t?function(){return a.delete("data")}:function(e){return A&&(e=A(arguments)[0]),a.delete(e)},w=o(function(){var e,n=arguments;return 0===t?T.data:(A&&(n=A(n)),e=v?v(n):String(n[0]),T[e])}),x=o(function(){var e,n=arguments;return 0===t?a.has("data"):(A&&(n=A(n)),null!==(e=v?v(n):String(n[0]))&&a.has(e))}),f(O,{__memoized__:i(!0),delete:i(_),clear:i(a.clear),_get:i(w),_has:i(x)}),a}},function(e,t,n){"use strict";var r=n(399),o=n(709),i=n(87),a=Error.captureStackTrace;t=e.exports=function(e){var n=new Error(e),s=arguments[1],u=arguments[2];return i(u)||o(s)&&(u=s,s=null),i(u)&&r(n,u),i(s)&&(n.code=s),a&&a(n,t),n}},function(e,t,n){"use strict";e.exports=function(){var e,t=Object.assign;return"function"==typeof t&&(t(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},function(e,t,n){"use strict";var r=n(706),o=n(110),i=Math.max;e.exports=function(e,t){var n,a,s,u=i(arguments.length,2);for(e=Object(o(e)),s=function(r){try{e[r]=t[r]}catch(e){n||(n=e)}},a=1;a<u;++a)t=arguments[a],r(t).forEach(s);if(void 0!==n)throw n;return e}},function(e,t,n){"use strict";e.exports=n(707)()?Object.keys:n(708)},function(e,t,n){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}},function(e,t,n){"use strict";var r=n(87),o=Object.keys;e.exports=function(e){return o(r(e)?Object(e):e)}},function(e,t,n){"use strict";var r=n(87),o={function:!0,object:!0};e.exports=function(e){return r(e)&&o[typeof e]||!1}},function(e,t,n){"use strict";e.exports=n(711)()?String.prototype.contains:n(712)},function(e,t,n){"use strict";var r="razdwatrzy";e.exports=function(){return"function"==typeof r.contains&&(!0===r.contains("dwa")&&!1===r.contains("foo"))}},function(e,t,n){"use strict";var r=String.prototype.indexOf;e.exports=function(e){return r.call(this,e,arguments[1])>-1}},function(e,t,n){"use strict";var r,o,i,a,s,u,c,l=n(180),p=n(78),f=Function.prototype.apply,h=Function.prototype.call,d=Object.create,m=Object.defineProperty,v=Object.defineProperties,g=Object.prototype.hasOwnProperty,y={configurable:!0,enumerable:!1,writable:!0};o=function(e,t){var n,o;return p(t),o=this,r.call(this,e,n=function(){i.call(o,e,n),f.call(t,this,arguments)}),n.__eeOnceListener__=t,this},s={on:r=function(e,t){var n;return p(t),g.call(this,"__ee__")?n=this.__ee__:(n=y.value=d(null),m(this,"__ee__",y),y.value=null),n[e]?"object"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:o,off:i=function(e,t){var n,r,o,i;if(p(t),!g.call(this,"__ee__"))return this;if(!(n=this.__ee__)[e])return this;if("object"==typeof(r=n[e]))for(i=0;o=r[i];++i)o!==t&&o.__eeOnceListener__!==t||(2===r.length?n[e]=r[i?0:1]:r.splice(i,1));else r!==t&&r.__eeOnceListener__!==t||delete n[e];return this},emit:a=function(e){var t,n,r,o,i;if(g.call(this,"__ee__")&&(o=this.__ee__[e]))if("object"==typeof o){for(n=arguments.length,i=new Array(n-1),t=1;t<n;++t)i[t-1]=arguments[t];for(o=o.slice(),t=0;r=o[t];++t)f.call(r,this,i)}else switch(arguments.length){case 1:h.call(o,this);break;case 2:h.call(o,this,arguments[1]);break;case 3:h.call(o,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,i=new Array(n-1),t=1;t<n;++t)i[t-1]=arguments[t];f.call(o,this,i)}}},u={on:l(r),once:l(o),off:l(i),emit:l(a)},c=v({},u),e.exports=t=function(e){return null==e?d(c):v(Object(e),u)},t.methods=s},function(e,t,n){"use strict";var r,o=n(715),i=n(87),a=n(78),s=Array.prototype.slice;r=function(e){return this.map(function(t,n){return t?t(e[n]):e[n]}).concat(s.call(e,this.length))},e.exports=function(e){return(e=o(e)).forEach(function(e){i(e)&&a(e)}),r.bind(e)}},function(e,t,n){"use strict";var r=n(242),o=Array.isArray;e.exports=function(e){return o(e)?e:r(e)}},function(e,t,n){"use strict";e.exports=function(){var e,t,n=Array.from;return"function"==typeof n&&(t=n(e=["raz","dwa"]),Boolean(t&&t!==e&&"dwa"===t[1]))}},function(e,t,n){"use strict";var r=n(718).iterator,o=n(723),i=n(724),a=n(88),s=n(78),u=n(110),c=n(87),l=n(725),p=Array.isArray,f=Function.prototype.call,h={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(e){var t,n,m,v,g,y,b,_,w,x,E=arguments[1],S=arguments[2];if(e=Object(u(e)),c(E)&&s(E),this&&this!==Array&&i(this))t=this;else{if(!E){if(o(e))return 1!==(g=e.length)?Array.apply(null,e):((v=new Array(1))[0]=e[0],v);if(p(e)){for(v=new Array(g=e.length),n=0;n<g;++n)v[n]=e[n];return v}}v=[]}if(!p(e))if(void 0!==(w=e[r])){for(b=s(w).call(e),t&&(v=new t),_=b.next(),n=0;!_.done;)x=E?f.call(E,S,_.value,n):_.value,t?(h.value=x,d(v,n,h)):v[n]=x,_=b.next(),++n;g=n}else if(l(e)){for(g=e.length,t&&(v=new t),n=0,m=0;n<g;++n)x=e[n],n+1<g&&(y=x.charCodeAt(0))>=55296&&y<=56319&&(x+=e[++n]),x=E?f.call(E,S,x,m):x,t?(h.value=x,d(v,m,h)):v[m]=x,++m;g=m}if(void 0===g)for(g=a(e.length),t&&(v=new t(g)),n=0;n<g;++n)x=E?f.call(E,S,e[n],n):e[n],t?(h.value=x,d(v,n,h)):v[n]=x;return t&&(h.value=null,v.length=g),v}},function(e,t,n){"use strict";e.exports=n(719)()?Symbol:n(720)},function(e,t,n){"use strict";var r={object:!0,symbol:!0};e.exports=function(){var e;if("function"!=typeof Symbol)return!1;e=Symbol("test symbol");try{String(e)}catch(e){return!1}return!!r[typeof Symbol.iterator]&&(!!r[typeof Symbol.toPrimitive]&&!!r[typeof Symbol.toStringTag])}},function(e,t,n){"use strict";var r,o,i,a,s=n(180),u=n(721),c=Object.create,l=Object.defineProperties,p=Object.defineProperty,f=Object.prototype,h=c(null);if("function"==typeof Symbol){r=Symbol;try{String(r()),a=!0}catch(e){}}var d,m=(d=c(null),function(e){for(var t,n,r=0;d[e+(r||"")];)++r;return d[e+=r||""]=!0,p(f,t="@@"+e,s.gs(null,function(e){n||(n=!0,p(this,t,s(e)),n=!1)})),t});i=function(e){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return o(e)},e.exports=o=function e(t){var n;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return a?r(t):(n=c(i.prototype),t=void 0===t?"":String(t),l(n,{__description__:s("",t),__name__:s("",m(t))}))},l(o,{for:s(function(e){return h[e]?h[e]:h[e]=o(String(e))}),keyFor:s(function(e){var t;for(t in u(e),h)if(h[t]===e)return t}),hasInstance:s("",r&&r.hasInstance||o("hasInstance")),isConcatSpreadable:s("",r&&r.isConcatSpreadable||o("isConcatSpreadable")),iterator:s("",r&&r.iterator||o("iterator")),match:s("",r&&r.match||o("match")),replace:s("",r&&r.replace||o("replace")),search:s("",r&&r.search||o("search")),species:s("",r&&r.species||o("species")),split:s("",r&&r.split||o("split")),toPrimitive:s("",r&&r.toPrimitive||o("toPrimitive")),toStringTag:s("",r&&r.toStringTag||o("toStringTag")),unscopables:s("",r&&r.unscopables||o("unscopables"))}),l(i.prototype,{constructor:s(o),toString:s("",function(){return this.__name__})}),l(o.prototype,{toString:s(function(){return"Symbol ("+u(this).__description__+")"}),valueOf:s(function(){return u(this)})}),p(o.prototype,o.toPrimitive,s("",function(){var e=u(this);return"symbol"==typeof e?e:e.toString()})),p(o.prototype,o.toStringTag,s("c","Symbol")),p(i.prototype,o.toStringTag,s("c",o.prototype[o.toStringTag])),p(i.prototype,o.toPrimitive,s("c",o.prototype[o.toPrimitive]))},function(e,t,n){"use strict";var r=n(722);e.exports=function(e){if(!r(e))throw new TypeError(e+" is not a symbol");return e}},function(e,t,n){"use strict";e.exports=function(e){return!!e&&("symbol"==typeof e||!!e.constructor&&("Symbol"===e.constructor.name&&"Symbol"===e[e.constructor.toStringTag]))}},function(e,t,n){"use strict";var r=Object.prototype.toString,o=r.call(function(){return arguments}());e.exports=function(e){return r.call(e)===o}},function(e,t,n){"use strict";var r=Object.prototype.toString,o=r.call(n(397));e.exports=function(e){return"function"==typeof e&&r.call(e)===o}},function(e,t,n){"use strict";var r=Object.prototype.toString,o=r.call("");e.exports=function(e){return"string"==typeof e||e&&"object"==typeof e&&(e instanceof String||r.call(e)===o)||!1}},function(e,t,n){"use strict";var r=n(78);e.exports=function(e){var t;return"function"==typeof e?{set:e,get:e}:(t={get:r(e.get)},void 0!==e.set?(t.set=r(e.set),e.delete&&(t.delete=r(e.delete)),e.clear&&(t.clear=r(e.clear)),t):(t.set=t.get,t))}},function(e,t,n){"use strict";e.exports=function(e){var t,n,r=e.length;if(!r)return"";for(t=String(e[n=0]);--r;)t+=""+e[++n];return t}},function(e,t,n){"use strict";e.exports=function(e){return e?function(t){for(var n=String(t[0]),r=0,o=e;--o;)n+=""+t[++r];return n}:function(){return""}}},function(e,t,n){"use strict";var r=n(243),o=Object.create;e.exports=function(){var e=0,t=[],n=o(null);return{get:function(e){var n,o=0,i=t,a=e.length;if(0===a)return i[a]||null;if(i=i[a]){for(;o<a-1;){if(-1===(n=r.call(i[0],e[o])))return null;i=i[1][n],++o}return-1===(n=r.call(i[0],e[o]))?null:i[1][n]||null}return null},set:function(o){var i,a=0,s=t,u=o.length;if(0===u)s[u]=++e;else{for(s[u]||(s[u]=[[],[]]),s=s[u];a<u-1;)-1===(i=r.call(s[0],o[a]))&&(i=s[0].push(o[a])-1,s[1].push([[],[]])),s=s[1][i],++a;-1===(i=r.call(s[0],o[a]))&&(i=s[0].push(o[a])-1),s[1][i]=++e}return n[e]=o,e},delete:function(e){var o,i=0,a=t,s=n[e],u=s.length,c=[];if(0===u)delete a[u];else if(a=a[u]){for(;i<u-1;){if(-1===(o=r.call(a[0],s[i])))return;c.push(a,o),a=a[1][o],++i}if(-1===(o=r.call(a[0],s[i])))return;for(e=a[1][o],a[0].splice(o,1),a[1].splice(o,1);!a[0].length&&c.length;)o=c.pop(),(a=c.pop())[0].splice(o,1),a[1].splice(o,1)}delete n[e]},clear:function(){t=[],n=o(null)}}}},function(e,t,n){"use strict";e.exports=n(731)()?Number.isNaN:n(732)},function(e,t,n){"use strict";e.exports=function(){var e=Number.isNaN;return"function"==typeof e&&(!e({})&&e(NaN)&&!e(34))}},function(e,t,n){"use strict";e.exports=function(e){return e!=e}},function(e,t,n){"use strict";var r=n(243);e.exports=function(){var e=0,t=[],n=[];return{get:function(e){var o=r.call(t,e[0]);return-1===o?null:n[o]},set:function(r){return t.push(r[0]),n.push(++e),e},delete:function(e){var o=r.call(n,e);-1!==o&&(t.splice(o,1),n.splice(o,1))},clear:function(){t=[],n=[]}}}},function(e,t,n){"use strict";var r=n(243),o=Object.create;e.exports=function(e){var t=0,n=[[],[]],i=o(null);return{get:function(t){for(var o,i=0,a=n;i<e-1;){if(-1===(o=r.call(a[0],t[i])))return null;a=a[1][o],++i}return-1===(o=r.call(a[0],t[i]))?null:a[1][o]||null},set:function(o){for(var a,s=0,u=n;s<e-1;)-1===(a=r.call(u[0],o[s]))&&(a=u[0].push(o[s])-1,u[1].push([[],[]])),u=u[1][a],++s;return-1===(a=r.call(u[0],o[s]))&&(a=u[0].push(o[s])-1),u[1][a]=++t,i[t]=o,t},delete:function(t){for(var o,a=0,s=n,u=[],c=i[t];a<e-1;){if(-1===(o=r.call(s[0],c[a])))return;u.push(s,o),s=s[1][o],++a}if(-1!==(o=r.call(s[0],c[a]))){for(t=s[1][o],s[0].splice(o,1),s[1].splice(o,1);!s[0].length&&u.length;)o=u.pop(),(s=u.pop())[0].splice(o,1),s[1].splice(o,1);delete i[t]}},clear:function(){n=[[],[]],i=o(null)}}}},function(e,t,n){"use strict";var r=n(242),o=n(402),i=n(401),a=n(400),s=n(244),u=Array.prototype.slice,c=Function.prototype.apply,l=Object.create;n(89).async=function(e,t){var n,p,f,h=l(null),d=l(null),m=t.memoized,v=t.original;t.memoized=a(function(e){var t=arguments,r=t[t.length-1];return"function"==typeof r&&(n=r,t=u.call(t,0,-1)),m.apply(p=this,f=t)},m);try{i(t.memoized,m)}catch(e){}t.on("get",function(e){var r,o,i;if(n){if(h[e])return"function"==typeof h[e]?h[e]=[h[e],n]:h[e].push(n),void(n=null);r=n,o=p,i=f,n=p=f=null,s(function(){var a;hasOwnProperty.call(d,e)?(a=d[e],t.emit("getasync",e,i,o),c.call(r,a.context,a.args)):(n=r,p=o,f=i,m.apply(o,i))})}}),t.original=function(){var e,o,i,a;return n?(e=r(arguments),o=function e(n){var o,i,u=e.id;if(null!=u){if(delete e.id,o=h[u],delete h[u],o)return i=r(arguments),t.has(u)&&(n?t.delete(u):(d[u]={context:this,args:i},t.emit("setasync",u,"function"==typeof o?1:o.length))),"function"==typeof o?a=c.call(o,this,i):o.forEach(function(e){a=c.call(e,this,i)},this),a}else s(c.bind(e,this,arguments))},i=n,n=p=f=null,e.push(o),a=c.call(v,this,e),o.cb=i,n=o,a):c.call(v,this,arguments)},t.on("set",function(e){n?(h[e]?"function"==typeof h[e]?h[e]=[h[e],n.cb]:h[e].push(n.cb):h[e]=n.cb,delete n.cb,n.id=e,n=null):t.delete(e)}),t.on("delete",function(e){var n;hasOwnProperty.call(h,e)||d[e]&&(n=d[e],delete d[e],t.emit("deleteasync",e,u.call(n.args,1)))}),t.on("clear",function(){var e=d;d=l(null),t.emit("clearasync",o(e,function(e){return u.call(e.args,1)}))})}},function(e,t,n){"use strict";var r=n(402),o=n(737),i=n(738),a=n(740),s=n(403),u=n(244),c=Object.create,l=o("then","then:finally","done","done:finally");n(89).promise=function(e,t){var n=c(null),o=c(null),p=c(null);if(!0===e)e=null;else if(e=i(e),!l[e])throw new TypeError("'"+a(e)+"' is not valid promise mode");t.on("set",function(r,i,a){var c=!1;if(!s(a))return o[r]=a,void t.emit("setasync",r,1);n[r]=1,p[r]=a;var l=function(e){var i=n[r];if(c)throw new Error("Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode)\nConsider to rely on 'then' or 'done' mode instead.");i&&(delete n[r],o[r]=e,t.emit("setasync",r,i))},f=function(){c=!0,n[r]&&(delete n[r],delete p[r],t.delete(r))},h=e;if(h||(h="then"),"then"===h){var d=function(){u(f)};"function"==typeof(a=a.then(function(e){u(l.bind(this,e))},d)).finally&&a.finally(d)}else if("done"===h){if("function"!=typeof a.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done' mode");a.done(l,f)}else if("done:finally"===h){if("function"!=typeof a.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode");if("function"!=typeof a.finally)throw new Error("Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode");a.done(l),a.finally(f)}}),t.on("get",function(e,r,o){var i;if(n[e])++n[e];else{i=p[e];var a=function(){t.emit("getasync",e,r,o)};s(i)?"function"==typeof i.done?i.done(a):i.then(function(){u(a)}):a()}}),t.on("delete",function(e){if(delete p[e],n[e])delete n[e];else if(hasOwnProperty.call(o,e)){var r=o[e];delete o[e],t.emit("deleteasync",e,[r])}}),t.on("clear",function(){var e=o;o=c(null),n=c(null),p=c(null),t.emit("clearasync",r(e,function(e){return[e]}))})}},function(e,t,n){"use strict";var r=Array.prototype.forEach,o=Object.create;e.exports=function(e){var t=o(null);return r.call(arguments,function(e){t[e]=!0}),t}},function(e,t,n){"use strict";var r=n(110),o=n(739);e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var r=n(241);e.exports=function(e){try{return e&&r(e.toString)?e.toString():String(e)}catch(e){throw new TypeError("Passed argument cannot be stringifed")}}},function(e,t,n){"use strict";var r=n(741),o=/[\n\r\u2028\u2029]/g;e.exports=function(e){var t=r(e);return t.length>100&&(t=t.slice(0,99)+"…"),t=t.replace(o,function(e){return JSON.stringify(e).slice(1,-1)})}},function(e,t,n){"use strict";var r=n(241);e.exports=function(e){try{return e&&r(e.toString)?e.toString():String(e)}catch(e){return"<Non-coercible to string value>"}}},function(e,t,n){"use strict";var r=n(78),o=n(179),i=n(89),a=Function.prototype.apply;i.dispose=function(e,t,n){var s;if(r(e),n.async&&i.async||n.promise&&i.promise)return t.on("deleteasync",s=function(t,n){a.call(e,null,n)}),void t.on("clearasync",function(e){o(e,function(e,t){s(t,e)})});t.on("delete",s=function(t,n){e(n)}),t.on("clear",function(e){o(e,function(e,t){s(t,e)})})}},function(e,t,n){"use strict";var r=n(242),o=n(179),i=n(244),a=n(403),s=n(744),u=n(89),c=Function.prototype,l=Math.max,p=Math.min,f=Object.create;u.maxAge=function(e,t,n){var h,d,m,v;(e=s(e))&&(h=f(null),d=n.async&&u.async||n.promise&&u.promise?"async":"",t.on("set"+d,function(n){h[n]=setTimeout(function(){t.delete(n)},e),"function"==typeof h[n].unref&&h[n].unref(),v&&(v[n]&&"nextTick"!==v[n]&&clearTimeout(v[n]),v[n]=setTimeout(function(){delete v[n]},m),"function"==typeof v[n].unref&&v[n].unref())}),t.on("delete"+d,function(e){clearTimeout(h[e]),delete h[e],v&&("nextTick"!==v[e]&&clearTimeout(v[e]),delete v[e])}),n.preFetch&&(m=!0===n.preFetch||isNaN(n.preFetch)?.333:l(p(Number(n.preFetch),1),0))&&(v={},m=(1-m)*e,t.on("get"+d,function(e,o,s){v[e]||(v[e]="nextTick",i(function(){var i;"nextTick"===v[e]&&(delete v[e],t.delete(e),n.async&&(o=r(o)).push(c),i=t.memoized.apply(s,o),n.promise&&a(i)&&("function"==typeof i.done?i.done(c,c):i.then(c,c)))}))})),t.on("clear"+d,function(){o(h,function(e){clearTimeout(e)}),h={},v&&(o(v,function(e){"nextTick"!==e&&clearTimeout(e)}),v={})}))}},function(e,t,n){"use strict";var r=n(88),o=n(745);e.exports=function(e){if((e=r(e))>o)throw new TypeError(e+" exceeds maximum possible timeout");return e}},function(e,t,n){"use strict";e.exports=2147483647},function(e,t,n){"use strict";var r=n(88),o=n(747),i=n(89);i.max=function(e,t,n){var a,s,u;(e=r(e))&&(s=o(e),a=n.async&&i.async||n.promise&&i.promise?"async":"",t.on("set"+a,u=function(e){void 0!==(e=s.hit(e))&&t.delete(e)}),t.on("get"+a,u),t.on("delete"+a,s.delete),t.on("clear"+a,s.clear))}},function(e,t,n){"use strict";var r=n(88),o=Object.create,i=Object.prototype.hasOwnProperty;e.exports=function(e){var t,n=0,a=1,s=o(null),u=o(null),c=0;return e=r(e),{hit:function(r){var o=u[r],l=++c;if(s[l]=r,u[r]=l,!o){if(++n<=e)return;return r=s[a],t(r),r}if(delete s[o],a===o)for(;!i.call(s,++a);)continue},delete:t=function(e){var t=u[e];if(t&&(delete s[t],delete u[e],--n,a===t)){if(!n)return c=0,void(a=1);for(;!i.call(s,++a);)continue}},clear:function(){n=0,a=1,s=o(null),u=o(null),c=0}}}},function(e,t,n){"use strict";var r=n(180),o=n(89),i=Object.create,a=Object.defineProperties;o.refCounter=function(e,t,n){var s,u;s=i(null),u=n.async&&o.async||n.promise&&o.promise?"async":"",t.on("set"+u,function(e,t){s[e]=t||1}),t.on("get"+u,function(e){++s[e]}),t.on("delete"+u,function(e){delete s[e]}),t.on("clear"+u,function(){s={}}),a(t.memoized,{deleteRef:r(function(){var e=t.get(arguments);return null===e?null:s[e]?!--s[e]&&(t.delete(e),!0):null}),getRefCount:r(function(){var e=t.get(arguments);return null===e?0:s[e]?s[e]:0})})}},function(e,t,n){var r=n(47),o=n(111),i=n(48).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,o.call(this,64,56)}function c(e){return e<<30|e>>>2}function l(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,o),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,o=0|this._b,i=0|this._c,s=0|this._d,u=0|this._e,p=0;p<16;++p)n[p]=e.readInt32BE(4*p);for(;p<80;++p)n[p]=n[p-3]^n[p-8]^n[p-14]^n[p-16];for(var f=0;f<80;++f){var h=~~(f/20),d=0|((t=r)<<5|t>>>27)+l(h,o,i,s)+u+n[f]+a[h];u=s,s=i,i=c(o),o=r,r=d}this._a=r+this._a|0,this._b=o+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(47),o=n(111),i=n(48).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function u(){this.init(),this._w=s,o.call(this,64,56)}function c(e){return e<<5|e>>>27}function l(e){return e<<30|e>>>2}function p(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,o),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,o=0|this._b,i=0|this._c,s=0|this._d,u=0|this._e,f=0;f<16;++f)n[f]=e.readInt32BE(4*f);for(;f<80;++f)n[f]=(t=n[f-3]^n[f-8]^n[f-14]^n[f-16])<<1|t>>>31;for(var h=0;h<80;++h){var d=~~(h/20),m=c(r)+p(d,o,i,s)+u+n[h]+a[d]|0;u=s,s=i,i=l(o),o=r,r=m}this._a=r+this._a|0,this._b=o+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(47),o=n(404),i=n(111),a=n(48).Buffer,s=new Array(64);function u(){this.init(),this._w=s,i.call(this,64,56)}r(u,o),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var e=a.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u},function(e,t,n){var r=n(47),o=n(405),i=n(111),a=n(48).Buffer,s=new Array(160);function u(){this.init(),this._w=s,i.call(this,128,112)}r(u,o),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=a.allocUnsafe(48);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},function(e,t){e.exports=function(e,t,n,r,o){return o(e,function(e,o,i){n=r?(r=!1,e):t(n,e,o,i)}),n}},function(e,t,n){var r=n(14);e.exports=function(e){if(r(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t,n){var r=n(756),o=n(759);e.exports=function(e){if(o(Object(e))||"[object Arguments]"===Object.prototype.toString.call(e))return r(e)}},function(e,t,n){e.exports=n(757)},function(e,t,n){n(101),n(758),e.exports=n(22).Array.from},function(e,t,n){"use strict";var r=n(63),o=n(30),i=n(100),a=n(406),s=n(407),u=n(158),c=n(408),l=n(225);o(o.S+o.F*!n(409)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,o,p,f=i(e),h="function"==typeof this?this:Array,d=arguments.length,m=d>1?arguments[1]:void 0,v=void 0!==m,g=0,y=l(f);if(v&&(m=r(m,d>2?arguments[2]:void 0,2)),null==y||h==Array&&s(y))for(n=new h(t=u(f.length));t>g;g++)c(n,g,v?m(f[g],g):f[g]);else for(p=y.call(f),n=new h;!(o=p.next()).done;g++)c(n,g,v?a(p,m,[o.value,g],!0):o.value);return n.length=g,n}})},function(e,t,n){e.exports=n(760)},function(e,t,n){n(103),n(101),e.exports=n(761)},function(e,t,n){var r=n(166),o=n(34)("iterator"),i=n(102);e.exports=n(22).isIterable=function(e){var t=Object(e);return void 0!==t[o]||"@@iterator"in t||i.hasOwnProperty(r(t))}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t,n){n(764);var r=n(22).Object;e.exports=function(e,t){return r.defineProperties(e,t)}},function(e,t,n){var r=n(30);r(r.S+r.F*!n(50),"Object",{defineProperties:n(350)})},function(e,t,n){n(766),e.exports=n(22).Object.getOwnPropertyDescriptors},function(e,t,n){var r=n(30),o=n(767),i=n(76),a=n(163),s=n(408);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n,r=i(e),u=a.f,c=o(r),l={},p=0;c.length>p;)void 0!==(n=u(r,t=c[p++]))&&s(l,t,n);return l}})},function(e,t,n){var r=n(224),o=n(161),i=n(46),a=n(32).Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(i(e)),n=o.f;return n?t.concat(n(e)):t}},function(e,t,n){n(769);var r=n(22).Object;e.exports=function(e,t){return r.getOwnPropertyDescriptor(e,t)}},function(e,t,n){var r=n(76),o=n(163).f;n(216)("getOwnPropertyDescriptor",function(){return function(e,t){return o(r(e),t)}})},function(e,t,n){n(354),e.exports=n(22).Object.getOwnPropertySymbols},function(e,t,n){var r=n(17);e.exports=function(e,t){if(null==e)return{};var n,o,i={},a=r(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(i[n]=e[n]);return i}},function(e,t,n){n(773),e.exports=n(22).Date.now},function(e,t,n){var r=n(30);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(e,t,n){n(164),n(101),n(103),n(775),n(779),n(780),e.exports=n(22).Promise},function(e,t,n){"use strict";var r,o,i,a,s=n(131),u=n(32),c=n(63),l=n(166),p=n(30),f=n(43),h=n(132),d=n(181),m=n(112),v=n(410),g=n(411).set,y=n(777)(),b=n(245),_=n(412),w=n(778),x=n(413),E=u.TypeError,S=u.process,C=S&&S.versions,k=C&&C.v8||"",O=u.Promise,A="process"==l(S),T=function(){},j=o=b.f,P=!!function(){try{var e=O.resolve(1),t=(e.constructor={})[n(34)("species")]=function(e){e(T,T)};return(A||"function"==typeof PromiseRejectionEvent)&&e.then(T)instanceof t&&0!==k.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(e){}}(),I=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},M=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,o=1==e._s,i=0,a=function(t){var n,i,a,s=o?t.ok:t.fail,u=t.resolve,c=t.reject,l=t.domain;try{s?(o||(2==e._h&&D(e),e._h=1),!0===s?n=r:(l&&l.enter(),n=s(r),l&&(l.exit(),a=!0)),n===t.promise?c(E("Promise-chain cycle")):(i=I(n))?i.call(n,u,c):u(n)):c(r)}catch(e){l&&!a&&l.exit(),c(e)}};n.length>i;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&N(e)})}},N=function(e){g.call(u,function(){var t,n,r,o=e._v,i=R(e);if(i&&(t=_(function(){A?S.emit("unhandledRejection",o,e):(n=u.onunhandledrejection)?n({promise:e,reason:o}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",o)}),e._h=A||R(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},R=function(e){return 1!==e._h&&0===(e._a||e._c).length},D=function(e){g.call(u,function(){var t;A?S.emit("rejectionHandled",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},L=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),M(t,!0))},U=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw E("Promise can't be resolved itself");(t=I(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,c(U,r,1),c(L,r,1))}catch(e){L.call(r,e)}}):(n._v=e,n._s=1,M(n,!1))}catch(e){L.call({_w:n,_d:!1},e)}}};P||(O=function(e){d(this,O,"Promise","_h"),h(e),r.call(this);try{e(c(U,this,1),c(L,this,1))}catch(e){L.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(182)(O.prototype,{then:function(e,t){var n=j(v(this,O));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=A?S.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&M(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=c(U,e,1),this.reject=c(L,e,1)},b.f=j=function(e){return e===O||e===a?new i(e):o(e)}),p(p.G+p.W+p.F*!P,{Promise:O}),n(134)(O,"Promise"),n(414)("Promise"),a=n(22).Promise,p(p.S+p.F*!P,"Promise",{reject:function(e){var t=j(this);return(0,t.reject)(e),t.promise}}),p(p.S+p.F*(s||!P),"Promise",{resolve:function(e){return x(s&&this===a?O:this,e)}}),p(p.S+p.F*!(P&&n(409)(function(e){O.all(e).catch(T)})),"Promise",{all:function(e){var t=this,n=j(t),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;m(e,!1,function(e){var s=i++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(e){var t=this,n=j(t),r=n.reject,o=_(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(32),o=n(411).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(130)(a);e.exports=function(){var e,t,n,c=function(){var r,o;for(u&&(r=a.domain)&&r.exit();e;){o=e.fn,e=e.next;try{o()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var l=s.resolve(void 0);n=function(){l.then(c)}}else n=function(){o.call(r,c)};else{var p=!0,f=document.createTextNode("");new i(c).observe(f,{characterData:!0}),n=function(){f.data=p=!p}}return function(r){var o={fn:r,next:void 0};t&&(t.next=o),e||(e=o,n()),t=o}}},function(e,t,n){var r=n(32).navigator;e.exports=r&&r.userAgent||""},function(e,t,n){"use strict";var r=n(30),o=n(22),i=n(32),a=n(410),s=n(413);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,o.Promise||i.Promise),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(30),o=n(245),i=n(412);r(r.S,"Promise",{try:function(e){var t=o.f(this),n=i(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){var r=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function u(e,t,n,r){var o=t&&t.prototype instanceof m?t:m,i=Object.create(o.prototype),a=new O(r||[]);return i._invoke=function(e,t,n){var r=l;return function(o,i){if(r===f)throw new Error("Generator is already running");if(r===h){if("throw"===o)throw i;return T()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var u=c(e,t,n);if("normal"===u.type){if(r=n.done?h:p,u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(e,n,a),i}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l="suspendedStart",p="suspendedYield",f="executing",h="completed",d={};function m(){}function v(){}function g(){}var y={};y[i]=function(){return this};var b=Object.getPrototypeOf,_=b&&b(b(A([])));_&&_!==n&&r.call(_,i)&&(y=_);var w=g.prototype=m.prototype=Object.create(y);function x(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function E(e){var t;this._invoke=function(n,o){function i(){return new Promise(function(t,i){!function t(n,o,i,a){var s=c(e[n],e,o);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then(function(e){t("next",e,i,a)},function(e){t("throw",e,i,a)}):Promise.resolve(l).then(function(e){u.value=e,i(u)},function(e){return t("throw",e,i,a)})}a(s.arg)}(n,o,t,i)})}return t=t?t.then(i,i):i()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return d;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var o=c(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,d;var i=o.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,d):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,d)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function A(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}return{next:T}}function T(){return{value:t,done:!0}}return v.prototype=w.constructor=g,g.constructor=v,g[s]=v.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(w),e},e.awrap=function(e){return{__await:e}},x(E.prototype),E.prototype[a]=function(){return this},e.AsyncIterator=E,e.async=function(t,n,r,o){var i=new E(u(t,n,r,o));return e.isGeneratorFunction(n)?i:i.next().then(function(e){return e.done?e.value:i.next()})},x(w),w[s]="Generator",w[i]=function(){return this},w.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=A,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(k),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return s.type="throw",s.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;k(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:A(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),d}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";var r=n(783),o=n(802);function i(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=n(31),e.exports.Schema=n(114),e.exports.FAILSAFE_SCHEMA=n(246),e.exports.JSON_SCHEMA=n(416),e.exports.CORE_SCHEMA=n(415),e.exports.DEFAULT_SAFE_SCHEMA=n(139),e.exports.DEFAULT_FULL_SCHEMA=n(183),e.exports.load=r.load,e.exports.loadAll=r.loadAll,e.exports.safeLoad=r.safeLoad,e.exports.safeLoadAll=r.safeLoadAll,e.exports.dump=o.dump,e.exports.safeDump=o.safeDump,e.exports.YAMLException=n(138),e.exports.MINIMAL_SCHEMA=n(246),e.exports.SAFE_SCHEMA=n(139),e.exports.DEFAULT_SCHEMA=n(183),e.exports.scan=i("scan"),e.exports.parse=i("parse"),e.exports.compose=i("compose"),e.exports.addConstructor=i("addConstructor")},function(e,t,n){"use strict";var r=n(113),o=n(138),i=n(784),a=n(139),s=n(183),u=Object.prototype.hasOwnProperty,c=1,l=2,p=3,f=4,h=1,d=2,m=3,v=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,g=/[\x85\u2028\u2029]/,y=/[,\[\]\{\}]/,b=/^(?:!|!!|![a-z\-]+!)$/i,_=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function w(e){return Object.prototype.toString.call(e)}function x(e){return 10===e||13===e}function E(e){return 9===e||32===e}function S(e){return 9===e||32===e||10===e||13===e}function C(e){return 44===e||91===e||93===e||123===e||125===e}function k(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function O(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function A(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var T=new Array(256),j=new Array(256),P=0;P<256;P++)T[P]=O(P)?1:0,j[P]=O(P);function I(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function M(e,t){return new o(t,new i(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function N(e,t){throw M(e,t)}function R(e,t){e.onWarning&&e.onWarning.call(null,M(e,t))}var D={YAML:function(e,t,n){var r,o,i;null!==e.version&&N(e,"duplication of %YAML directive"),1!==n.length&&N(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&N(e,"ill-formed argument of the YAML directive"),o=parseInt(r[1],10),i=parseInt(r[2],10),1!==o&&N(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=i<2,1!==i&&2!==i&&R(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var r,o;2!==n.length&&N(e,"TAG directive accepts exactly two arguments"),r=n[0],o=n[1],b.test(r)||N(e,"ill-formed tag handle (first argument) of the TAG directive"),u.call(e.tagMap,r)&&N(e,'there is a previously declared suffix for "'+r+'" tag handle'),_.test(o)||N(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[r]=o}};function L(e,t,n,r){var o,i,a,s;if(t<n){if(s=e.input.slice(t,n),r)for(o=0,i=s.length;o<i;o+=1)9===(a=s.charCodeAt(o))||32<=a&&a<=1114111||N(e,"expected valid JSON character");else v.test(s)&&N(e,"the stream contains non-printable characters");e.result+=s}}function U(e,t,n,o){var i,a,s,c;for(r.isObject(n)||N(e,"cannot merge mappings; the provided source object is unacceptable"),s=0,c=(i=Object.keys(n)).length;s<c;s+=1)a=i[s],u.call(t,a)||(t[a]=n[a],o[a]=!0)}function q(e,t,n,r,o,i,a,s){var c,l;if(Array.isArray(o))for(c=0,l=(o=Array.prototype.slice.call(o)).length;c<l;c+=1)Array.isArray(o[c])&&N(e,"nested arrays are not supported inside keys"),"object"==typeof o&&"[object Object]"===w(o[c])&&(o[c]="[object Object]");if("object"==typeof o&&"[object Object]"===w(o)&&(o="[object Object]"),o=String(o),null===t&&(t={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(i))for(c=0,l=i.length;c<l;c+=1)U(e,t,i[c],n);else U(e,t,i,n);else e.json||u.call(n,o)||!u.call(t,o)||(e.line=a||e.line,e.position=s||e.position,N(e,"duplicated mapping key")),t[o]=i,delete n[o];return t}function F(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):N(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function B(e,t,n){for(var r=0,o=e.input.charCodeAt(e.position);0!==o;){for(;E(o);)o=e.input.charCodeAt(++e.position);if(t&&35===o)do{o=e.input.charCodeAt(++e.position)}while(10!==o&&13!==o&&0!==o);if(!x(o))break;for(F(e),o=e.input.charCodeAt(e.position),r++,e.lineIndent=0;32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position)}return-1!==n&&0!==r&&e.lineIndent<n&&R(e,"deficient indentation"),r}function z(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!S(t)))}function V(e,t){1===t?e.result+=" ":t>1&&(e.result+=r.repeat("\n",t-1))}function H(e,t){var n,r,o=e.tag,i=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),r=e.input.charCodeAt(e.position);0!==r&&45===r&&S(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,B(e,!0,-1)&&e.lineIndent<=t)a.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,p,!1,!0),a.push(e.result),B(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)N(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=o,e.anchor=i,e.kind="sequence",e.result=a,!0)}function W(e){var t,n,r,o,i=!1,a=!1;if(33!==(o=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&N(e,"duplication of a tag property"),60===(o=e.input.charCodeAt(++e.position))?(i=!0,o=e.input.charCodeAt(++e.position)):33===o?(a=!0,n="!!",o=e.input.charCodeAt(++e.position)):n="!",t=e.position,i){do{o=e.input.charCodeAt(++e.position)}while(0!==o&&62!==o);e.position<e.length?(r=e.input.slice(t,e.position),o=e.input.charCodeAt(++e.position)):N(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==o&&!S(o);)33===o&&(a?N(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),b.test(n)||N(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),o=e.input.charCodeAt(++e.position);r=e.input.slice(t,e.position),y.test(r)&&N(e,"tag suffix cannot contain flow indicator characters")}return r&&!_.test(r)&&N(e,"tag name cannot contain such characters: "+r),i?e.tag=r:u.call(e.tagMap,n)?e.tag=e.tagMap[n]+r:"!"===n?e.tag="!"+r:"!!"===n?e.tag="tag:yaml.org,2002:"+r:N(e,'undeclared tag handle "'+n+'"'),!0}function J(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&N(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!S(n)&&!C(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&N(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function K(e,t,n,o,i){var a,s,v,g,y,b,_,w,O=1,P=!1,I=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=s=v=f===n||p===n,o&&B(e,!0,-1)&&(P=!0,e.lineIndent>t?O=1:e.lineIndent===t?O=0:e.lineIndent<t&&(O=-1)),1===O)for(;W(e)||J(e);)B(e,!0,-1)?(P=!0,v=a,e.lineIndent>t?O=1:e.lineIndent===t?O=0:e.lineIndent<t&&(O=-1)):v=!1;if(v&&(v=P||i),1!==O&&f!==n||(_=c===n||l===n?t:t+1,w=e.position-e.lineStart,1===O?v&&(H(e,w)||function(e,t,n){var r,o,i,a,s,u=e.tag,c=e.anchor,p={},h={},d=null,m=null,v=null,g=!1,y=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=p),s=e.input.charCodeAt(e.position);0!==s;){if(r=e.input.charCodeAt(e.position+1),i=e.line,a=e.position,63!==s&&58!==s||!S(r)){if(!K(e,n,l,!1,!0))break;if(e.line===i){for(s=e.input.charCodeAt(e.position);E(s);)s=e.input.charCodeAt(++e.position);if(58===s)S(s=e.input.charCodeAt(++e.position))||N(e,"a whitespace character is expected after the key-value separator within a block mapping"),g&&(q(e,p,h,d,m,null),d=m=v=null),y=!0,g=!1,o=!1,d=e.tag,m=e.result;else{if(!y)return e.tag=u,e.anchor=c,!0;N(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!y)return e.tag=u,e.anchor=c,!0;N(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(g&&(q(e,p,h,d,m,null),d=m=v=null),y=!0,g=!0,o=!0):g?(g=!1,o=!0):N(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=r;if((e.line===i||e.lineIndent>t)&&(K(e,t,f,!0,o)&&(g?m=e.result:v=e.result),g||(q(e,p,h,d,m,v,i,a),d=m=v=null),B(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)N(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return g&&q(e,p,h,d,m,null),y&&(e.tag=u,e.anchor=c,e.kind="mapping",e.result=p),y}(e,w,_))||function(e,t){var n,r,o,i,a,s,u,l,p,f,h=!0,d=e.tag,m=e.anchor,v={};if(91===(f=e.input.charCodeAt(e.position)))o=93,s=!1,r=[];else{if(123!==f)return!1;o=125,s=!0,r={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=r),f=e.input.charCodeAt(++e.position);0!==f;){if(B(e,!0,t),(f=e.input.charCodeAt(e.position))===o)return e.position++,e.tag=d,e.anchor=m,e.kind=s?"mapping":"sequence",e.result=r,!0;h||N(e,"missed comma between flow collection entries"),p=null,i=a=!1,63===f&&S(e.input.charCodeAt(e.position+1))&&(i=a=!0,e.position++,B(e,!0,t)),n=e.line,K(e,t,c,!1,!0),l=e.tag,u=e.result,B(e,!0,t),f=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==f||(i=!0,f=e.input.charCodeAt(++e.position),B(e,!0,t),K(e,t,c,!1,!0),p=e.result),s?q(e,r,v,l,u,p):i?r.push(q(e,null,v,l,u,p)):r.push(u),B(e,!0,t),44===(f=e.input.charCodeAt(e.position))?(h=!0,f=e.input.charCodeAt(++e.position)):h=!1}N(e,"unexpected end of the stream within a flow collection")}(e,_)?I=!0:(s&&function(e,t){var n,o,i,a,s,u=h,c=!1,l=!1,p=t,f=0,v=!1;if(124===(a=e.input.charCodeAt(e.position)))o=!1;else{if(62!==a)return!1;o=!0}for(e.kind="scalar",e.result="";0!==a;)if(43===(a=e.input.charCodeAt(++e.position))||45===a)h===u?u=43===a?m:d:N(e,"repeat of a chomping mode identifier");else{if(!((i=48<=(s=a)&&s<=57?s-48:-1)>=0))break;0===i?N(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?N(e,"repeat of an indentation width identifier"):(p=t+i-1,l=!0)}if(E(a)){do{a=e.input.charCodeAt(++e.position)}while(E(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!x(a)&&0!==a)}for(;0!==a;){for(F(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!l||e.lineIndent<p)&&32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>p&&(p=e.lineIndent),x(a))f++;else{if(e.lineIndent<p){u===m?e.result+=r.repeat("\n",c?1+f:f):u===h&&c&&(e.result+="\n");break}for(o?E(a)?(v=!0,e.result+=r.repeat("\n",c?1+f:f)):v?(v=!1,e.result+=r.repeat("\n",f+1)):0===f?c&&(e.result+=" "):e.result+=r.repeat("\n",f):e.result+=r.repeat("\n",c?1+f:f),c=!0,l=!0,f=0,n=e.position;!x(a)&&0!==a;)a=e.input.charCodeAt(++e.position);L(e,n,e.position,!1)}}return!0}(e,_)||function(e,t){var n,r,o;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(L(e,r,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;r=e.position,e.position++,o=e.position}else x(n)?(L(e,r,o,!0),V(e,B(e,!1,t)),r=o=e.position):e.position===e.lineStart&&z(e)?N(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);N(e,"unexpected end of the stream within a single quoted scalar")}(e,_)||function(e,t){var n,r,o,i,a,s,u;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return L(e,n,e.position,!0),e.position++,!0;if(92===s){if(L(e,n,e.position,!0),x(s=e.input.charCodeAt(++e.position)))B(e,!1,t);else if(s<256&&T[s])e.result+=j[s],e.position++;else if((a=120===(u=s)?2:117===u?4:85===u?8:0)>0){for(o=a,i=0;o>0;o--)(a=k(s=e.input.charCodeAt(++e.position)))>=0?i=(i<<4)+a:N(e,"expected hexadecimal character");e.result+=A(i),e.position++}else N(e,"unknown escape sequence");n=r=e.position}else x(s)?(L(e,n,r,!0),V(e,B(e,!1,t)),n=r=e.position):e.position===e.lineStart&&z(e)?N(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}N(e,"unexpected end of the stream within a double quoted scalar")}(e,_)?I=!0:!function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!S(r)&&!C(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&N(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||N(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],B(e,!0,-1),!0}(e)?function(e,t,n){var r,o,i,a,s,u,c,l,p=e.kind,f=e.result;if(S(l=e.input.charCodeAt(e.position))||C(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(S(r=e.input.charCodeAt(e.position+1))||n&&C(r)))return!1;for(e.kind="scalar",e.result="",o=i=e.position,a=!1;0!==l;){if(58===l){if(S(r=e.input.charCodeAt(e.position+1))||n&&C(r))break}else if(35===l){if(S(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&z(e)||n&&C(l))break;if(x(l)){if(s=e.line,u=e.lineStart,c=e.lineIndent,B(e,!1,-1),e.lineIndent>=t){a=!0,l=e.input.charCodeAt(e.position);continue}e.position=i,e.line=s,e.lineStart=u,e.lineIndent=c;break}}a&&(L(e,o,i,!1),V(e,e.line-s),o=i=e.position,a=!1),E(l)||(i=e.position+1),l=e.input.charCodeAt(++e.position)}return L(e,o,i,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,_,c===n)&&(I=!0,null===e.tag&&(e.tag="?")):(I=!0,null===e.tag&&null===e.anchor||N(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===O&&(I=v&&H(e,w))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(g=0,y=e.implicitTypes.length;g<y;g+=1)if((b=e.implicitTypes[g]).resolve(e.result)){e.result=b.construct(e.result),e.tag=b.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else u.call(e.typeMap[e.kind||"fallback"],e.tag)?(b=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&b.kind!==e.kind&&N(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+b.kind+'", not "'+e.kind+'"'),b.resolve(e.result)?(e.result=b.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):N(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):N(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||I}function Y(e){var t,n,r,o,i=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(o=e.input.charCodeAt(e.position))&&(B(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==o));){for(a=!0,o=e.input.charCodeAt(++e.position),t=e.position;0!==o&&!S(o);)o=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&N(e,"directive name must not be less than one character in length");0!==o;){for(;E(o);)o=e.input.charCodeAt(++e.position);if(35===o){do{o=e.input.charCodeAt(++e.position)}while(0!==o&&!x(o));break}if(x(o))break;for(t=e.position;0!==o&&!S(o);)o=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==o&&F(e),u.call(D,n)?D[n](e,n,r):R(e,'unknown document directive "'+n+'"')}B(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,B(e,!0,-1)):a&&N(e,"directives end mark is expected"),K(e,e.lineIndent-1,f,!1,!0),B(e,!0,-1),e.checkLineBreaks&&g.test(e.input.slice(i,e.position))&&R(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&z(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,B(e,!0,-1)):e.position<e.length-1&&N(e,"end of the stream or a document separator is expected")}function $(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new I(e,t);for(n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Y(n);return n.documents}function G(e,t,n){var r,o,i=$(e,n);if("function"!=typeof t)return i;for(r=0,o=i.length;r<o;r+=1)t(i[r])}function Z(e,t){var n=$(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new o("expected a single document in the stream, but found more")}}e.exports.loadAll=G,e.exports.load=Z,e.exports.safeLoadAll=function(e,t,n){if("function"!=typeof t)return G(e,r.extend({schema:a},n));G(e,t,r.extend({schema:a},n))},e.exports.safeLoad=function(e,t){return Z(e,r.extend({schema:a},t))}},function(e,t,n){"use strict";var r=n(113);function o(e,t,n,r,o){this.name=e,this.buffer=t,this.position=n,this.line=r,this.column=o}o.prototype.getSnippet=function(e,t){var n,o,i,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",o=this.position;o>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(o-1));)if(o-=1,this.position-o>t/2-1){n=" ... ",o+=5;break}for(i="",a=this.position;a<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){i=" ... ",a-=5;break}return s=this.buffer.slice(o,a),r.repeat(" ",e)+n+s+i+"\n"+r.repeat(" ",e+this.position-o+n.length)+"^"},o.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=o},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(113),o=n(31);function i(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new o("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,o=0,s=!1;if(!r)return!1;if("-"!==(t=e[o])&&"+"!==t||(t=e[++o]),"0"===t){if(o+1===r)return!0;if("b"===(t=e[++o])){for(o++;o<r;o++)if("_"!==(t=e[o])){if("0"!==t&&"1"!==t)return!1;s=!0}return s&&"_"!==t}if("x"===t){for(o++;o<r;o++)if("_"!==(t=e[o])){if(!(48<=(n=e.charCodeAt(o))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;s=!0}return s&&"_"!==t}for(;o<r;o++)if("_"!==(t=e[o])){if(!i(e.charCodeAt(o)))return!1;s=!0}return s&&"_"!==t}if("_"===t)return!1;for(;o<r;o++)if("_"!==(t=e[o])){if(":"===t)break;if(!a(e.charCodeAt(o)))return!1;s=!0}return!(!s||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(o)))},construct:function(e){var t,n,r=e,o=1,i=[];return-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(t=r[0])&&"+"!==t||("-"===t&&(o=-1),t=(r=r.slice(1))[0]),"0"===r?0:"0"===t?"b"===r[1]?o*parseInt(r.slice(2),2):"x"===r[1]?o*parseInt(r,16):o*parseInt(r,8):-1!==r.indexOf(":")?(r.split(":").forEach(function(e){i.unshift(parseInt(e,10))}),r=0,n=1,i.forEach(function(e){r+=e*n,n*=60}),o*r):o*parseInt(r,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!r.isNegativeZero(e)},represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(e,t,n){"use strict";var r=n(113),o=n(31),i=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;e.exports=new o("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!i.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,r,o;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,o=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(e){o.unshift(parseFloat(e,10))}),t=0,r=1,o.forEach(function(e){t+=e*r,r*=60}),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(31),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==o.exec(e)||null!==i.exec(e))},construct:function(e){var t,n,r,a,s,u,c,l,p=0,f=null;if(null===(t=o.exec(e))&&(t=i.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],r=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(n,r,a));if(s=+t[4],u=+t[5],c=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+="0";p=+p}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(f=-f)),l=new Date(Date.UTC(n,r,a,s,u,c,p)),f&&l.setTime(l.getTime()-f),l},instanceOf:Date,represent:function(e){return e.toISOString()}})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},function(e,t,n){"use strict";var r;try{r=n(64).Buffer}catch(e){}var o=n(31),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new o("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=0,o=e.length,a=i;for(n=0;n<o;n++)if(!((t=a.indexOf(e.charAt(n)))>64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,o=e.replace(/[\r\n=]/g,""),a=o.length,s=i,u=0,c=[];for(t=0;t<a;t++)t%4==0&&t&&(c.push(u>>16&255),c.push(u>>8&255),c.push(255&u)),u=u<<6|s.indexOf(o.charAt(t));return 0===(n=a%4*6)?(c.push(u>>16&255),c.push(u>>8&255),c.push(255&u)):18===n?(c.push(u>>10&255),c.push(u>>2&255)):12===n&&c.push(u>>4&255),r?r.from?r.from(c):new r(c):c},predicate:function(e){return r&&r.isBuffer(e)},represent:function(e){var t,n,r="",o=0,a=e.length,s=i;for(t=0;t<a;t++)t%3==0&&t&&(r+=s[o>>18&63],r+=s[o>>12&63],r+=s[o>>6&63],r+=s[63&o]),o=(o<<8)+e[t];return 0===(n=a%3)?(r+=s[o>>18&63],r+=s[o>>12&63],r+=s[o>>6&63],r+=s[63&o]):2===n?(r+=s[o>>10&63],r+=s[o>>4&63],r+=s[o<<2&63],r+=s[64]):1===n&&(r+=s[o>>2&63],r+=s[o<<4&63],r+=s[64],r+=s[64]),r}})},function(e,t,n){"use strict";var r=n(31),o=Object.prototype.hasOwnProperty,i=Object.prototype.toString;e.exports=new r("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,r,a,s,u=[],c=e;for(t=0,n=c.length;t<n;t+=1){if(r=c[t],s=!1,"[object Object]"!==i.call(r))return!1;for(a in r)if(o.call(r,a)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==u.indexOf(a))return!1;u.push(a)}return!0},construct:function(e){return null!==e?e:[]}})},function(e,t,n){"use strict";var r=n(31),o=Object.prototype.toString;e.exports=new r("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,r,i,a,s=e;for(a=new Array(s.length),t=0,n=s.length;t<n;t+=1){if(r=s[t],"[object Object]"!==o.call(r))return!1;if(1!==(i=Object.keys(r)).length)return!1;a[t]=[i[0],r[i[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,r,o,i,a=e;for(i=new Array(a.length),t=0,n=a.length;t<n;t+=1)r=a[t],o=Object.keys(r),i[t]=[o[0],r[o[0]]];return i}})},function(e,t,n){"use strict";var r=n(31),o=Object.prototype.hasOwnProperty;e.exports=new r("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(o.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},function(e,t,n){"use strict";var r=n(31);e.exports=new r("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),r="";if("/"===t[0]){if(n&&(r=n[1]),r.length>3)return!1;if("/"!==t[t.length-r.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),r="";return"/"===t[0]&&(n&&(r=n[1]),t=t.slice(1,t.length-r.length-1)),new RegExp(t,r)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},function(e,t,n){"use strict";var r;try{r=n(801)}catch(e){"undefined"!=typeof window&&(r=window.esprima)}var o=n(31);e.exports=new o("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=r.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",o=r.parse(n,{range:!0}),i=[];if("Program"!==o.type||1!==o.body.length||"ExpressionStatement"!==o.body[0].type||"ArrowFunctionExpression"!==o.body[0].expression.type&&"FunctionExpression"!==o.body[0].expression.type)throw new Error("Failed to resolve function");return o.body[0].expression.params.forEach(function(e){i.push(e.name)}),t=o.body[0].expression.body.range,"BlockStatement"===o.body[0].expression.body.type?new Function(i,n.slice(t[0]+1,t[1]-1)):new Function(i,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},function(t,n){if(void 0===e){var r=new Error("Cannot find module 'esprima'");throw r.code="MODULE_NOT_FOUND",r}t.exports=e},function(e,t,n){"use strict";var r=n(113),o=n(138),i=n(183),a=n(139),s=Object.prototype.toString,u=Object.prototype.hasOwnProperty,c=9,l=10,p=32,f=33,h=34,d=35,m=37,v=38,g=39,y=42,b=44,_=45,w=58,x=62,E=63,S=64,C=91,k=93,O=96,A=123,T=124,j=125,P={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},I=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function M(e){var t,n,i;if(t=e.toString(16).toUpperCase(),e<=255)n="x",i=2;else if(e<=65535)n="u",i=4;else{if(!(e<=4294967295))throw new o("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+r.repeat("0",i-t.length)+t}function N(e){this.schema=e.schema||i,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=r.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,r,o,i,a,s,c;if(null===t)return{};for(n={},o=0,i=(r=Object.keys(t)).length;o<i;o+=1)a=r[o],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&u.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function R(e,t){for(var n,o=r.repeat(" ",t),i=0,a=-1,s="",u=e.length;i<u;)-1===(a=e.indexOf("\n",i))?(n=e.slice(i),i=u):(n=e.slice(i,a+1),i=a+1),n.length&&"\n"!==n&&(s+=o),s+=n;return s}function D(e,t){return"\n"+r.repeat(" ",e.indent*t)}function L(e){return e===p||e===c}function U(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function q(e){return U(e)&&65279!==e&&e!==b&&e!==C&&e!==k&&e!==A&&e!==j&&e!==w&&e!==d}function F(e){return/^\n* /.test(e)}var B=1,z=2,V=3,H=4,W=5;function J(e,t,n,r,o){var i,a,s,u=!1,c=!1,p=-1!==r,P=-1,I=U(s=e.charCodeAt(0))&&65279!==s&&!L(s)&&s!==_&&s!==E&&s!==w&&s!==b&&s!==C&&s!==k&&s!==A&&s!==j&&s!==d&&s!==v&&s!==y&&s!==f&&s!==T&&s!==x&&s!==g&&s!==h&&s!==m&&s!==S&&s!==O&&!L(e.charCodeAt(e.length-1));if(t)for(i=0;i<e.length;i++){if(!U(a=e.charCodeAt(i)))return W;I=I&&q(a)}else{for(i=0;i<e.length;i++){if((a=e.charCodeAt(i))===l)u=!0,p&&(c=c||i-P-1>r&&" "!==e[P+1],P=i);else if(!U(a))return W;I=I&&q(a)}c=c||p&&i-P-1>r&&" "!==e[P+1]}return u||c?n>9&&F(e)?W:c?H:V:I&&!o(e)?B:z}function K(e,t,n,r){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==I.indexOf(t))return"'"+t+"'";var i=e.indent*Math.max(1,n),a=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),s=r||e.flowLevel>-1&&n>=e.flowLevel;switch(J(t,s,e.indent,a,function(t){return function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n<r;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(e,t)})){case B:return t;case z:return"'"+t.replace(/'/g,"''")+"'";case V:return"|"+Y(t,e.indent)+$(R(t,i));case H:return">"+Y(t,e.indent)+$(R(function(e,t){var n,r,o=/(\n+)([^\n]*)/g,i=(s=e.indexOf("\n"),s=-1!==s?s:e.length,o.lastIndex=s,G(e.slice(0,s),t)),a="\n"===e[0]||" "===e[0];var s;for(;r=o.exec(e);){var u=r[1],c=r[2];n=" "===c[0],i+=u+(a||n||""===c?"":"\n")+G(c,t),a=n}return i}(t,a),i));case W:return'"'+function(e){for(var t,n,r,o="",i=0;i<e.length;i++)(t=e.charCodeAt(i))>=55296&&t<=56319&&(n=e.charCodeAt(i+1))>=56320&&n<=57343?(o+=M(1024*(t-55296)+n-56320+65536),i++):(r=P[t],o+=!r&&U(t)?e[i]:r||M(t));return o}(t)+'"';default:throw new o("impossible error: invalid scalar style")}}()}function Y(e,t){var n=F(e)?String(t):"",r="\n"===e[e.length-1];return n+(r&&("\n"===e[e.length-2]||"\n"===e)?"+":r?"":"-")+"\n"}function $(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function G(e,t){if(""===e||" "===e[0])return e;for(var n,r,o=/ [^ ]/g,i=0,a=0,s=0,u="";n=o.exec(e);)(s=n.index)-i>t&&(r=a>i?a:s,u+="\n"+e.slice(i,r),i=r+1),a=s;return u+="\n",e.length-i>t&&a>i?u+=e.slice(i,a)+"\n"+e.slice(a+1):u+=e.slice(i),u.slice(1)}function Z(e,t,n){var r,i,a,c,l,p;for(a=0,c=(i=n?e.explicitTypes:e.implicitTypes).length;a<c;a+=1)if(((l=i[a]).instanceOf||l.predicate)&&(!l.instanceOf||"object"==typeof t&&t instanceof l.instanceOf)&&(!l.predicate||l.predicate(t))){if(e.tag=n?l.tag:"?",l.represent){if(p=e.styleMap[l.tag]||l.defaultStyle,"[object Function]"===s.call(l.represent))r=l.represent(t,p);else{if(!u.call(l.represent,p))throw new o("!<"+l.tag+'> tag resolver accepts not "'+p+'" style');r=l.represent[p](t,p)}e.dump=r}return!0}return!1}function X(e,t,n,r,i,a){e.tag=null,e.dump=n,Z(e,n,!1)||Z(e,n,!0);var u=s.call(e.dump);r&&(r=e.flowLevel<0||e.flowLevel>t);var c,p,f="[object Object]"===u||"[object Array]"===u;if(f&&(p=-1!==(c=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||p||2!==e.indent&&t>0)&&(i=!1),p&&e.usedDuplicates[c])e.dump="*ref_"+c;else{if(f&&p&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),"[object Object]"===u)r&&0!==Object.keys(e.dump).length?(!function(e,t,n,r){var i,a,s,u,c,p,f="",h=e.tag,d=Object.keys(n);if(!0===e.sortKeys)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new o("sortKeys must be a boolean or a function");for(i=0,a=d.length;i<a;i+=1)p="",r&&0===i||(p+=D(e,t)),u=n[s=d[i]],X(e,t+1,s,!0,!0,!0)&&((c=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024)&&(e.dump&&l===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,c&&(p+=D(e,t)),X(e,t+1,u,!0,c)&&(e.dump&&l===e.dump.charCodeAt(0)?p+=":":p+=": ",f+=p+=e.dump));e.tag=h,e.dump=f||"{}"}(e,t,e.dump,i),p&&(e.dump="&ref_"+c+e.dump)):(!function(e,t,n){var r,o,i,a,s,u="",c=e.tag,l=Object.keys(n);for(r=0,o=l.length;r<o;r+=1)s=e.condenseFlow?'"':"",0!==r&&(s+=", "),a=n[i=l[r]],X(e,t,i,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),X(e,t,a,!1,!1)&&(u+=s+=e.dump));e.tag=c,e.dump="{"+u+"}"}(e,t,e.dump),p&&(e.dump="&ref_"+c+" "+e.dump));else if("[object Array]"===u){var h=e.noArrayIndent&&t>0?t-1:t;r&&0!==e.dump.length?(!function(e,t,n,r){var o,i,a="",s=e.tag;for(o=0,i=n.length;o<i;o+=1)X(e,t+1,n[o],!0,!0)&&(r&&0===o||(a+=D(e,t)),e.dump&&l===e.dump.charCodeAt(0)?a+="-":a+="- ",a+=e.dump);e.tag=s,e.dump=a||"[]"}(e,h,e.dump,i),p&&(e.dump="&ref_"+c+e.dump)):(!function(e,t,n){var r,o,i="",a=e.tag;for(r=0,o=n.length;r<o;r+=1)X(e,t,n[r],!1,!1)&&(0!==r&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=a,e.dump="["+i+"]"}(e,h,e.dump),p&&(e.dump="&ref_"+c+" "+e.dump))}else{if("[object String]"!==u){if(e.skipInvalid)return!1;throw new o("unacceptable kind of an object to dump "+u)}"?"!==e.tag&&K(e,e.dump,t,a)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function Q(e,t){var n,r,o=[],i=[];for(function e(t,n,r){var o,i,a;if(null!==t&&"object"==typeof t)if(-1!==(i=n.indexOf(t)))-1===r.indexOf(i)&&r.push(i);else if(n.push(t),Array.isArray(t))for(i=0,a=t.length;i<a;i+=1)e(t[i],n,r);else for(o=Object.keys(t),i=0,a=o.length;i<a;i+=1)e(t[o[i]],n,r)}(e,o,i),n=0,r=i.length;n<r;n+=1)t.duplicates.push(o[i[n]]);t.usedDuplicates=new Array(r)}function ee(e,t){var n=new N(t=t||{});return n.noRefs||Q(e,n),X(n,0,e,!0,!0)?n.dump+"\n":""}e.exports.dump=ee,e.exports.safeDump=function(e,t){return ee(e,r.extend({schema:a},t))}},function(e,t,n){"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(e,t,n){"use strict";var r,o=Object.prototype.hasOwnProperty;function i(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}t.stringify=function(e,t){t=t||"";var n,i,a=[];for(i in"string"!=typeof t&&(t="?"),e)if(o.call(e,i)){if((n=e[i])||null!==n&&n!==r&&!isNaN(n)||(n=""),i=encodeURIComponent(i),n=encodeURIComponent(n),null===i||null===n)continue;a.push(i+"="+n)}return a.length?t+a.join("&"):""},t.parse=function(e){for(var t,n=/([^=?&]+)=?([^&]*)/g,r={};t=n.exec(e);){var o=i(t[1]),a=i(t[2]);null===o||null===a||o in r||(r[o]=a)}return r}},function(e,t,n){var r=n(51);e.exports=function(){return r.Date.now()}},function(e,t,n){e.exports=n(807)},function(e,t,n){n(808),e.exports=n(22).Object.getPrototypeOf},function(e,t,n){var r=n(100),o=n(352);n(216)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){n(810),e.exports=n(22).Object.setPrototypeOf},function(e,t,n){var r=n(30);r(r.S,"Object",{setPrototypeOf:n(811).set})},function(e,t,n){var r=n(43),o=n(46),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(63)(Function.call,n(163).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},function(e,t,n){n(813);var r=n(22).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){var r=n(30);r(r.S,"Object",{create:n(160)})},function(e,t,n){var r=n(420);function o(t,n){return e.exports=o=r||function(e,t){return e.__proto__=t,e},o(t,n)}e.exports=o},function(e,t,n){"use strict";var r=n(27),o=n(816),i=n(445),a=n(116),s=n(58),u=n(888),c=n(889),l=n(446),p=n(890);n(23);o.inject();var f={findDOMNode:c,render:i.render,unmountComponentAtNode:i.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=l(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a}),e.exports=f},function(e,t,n){"use strict";var r=n(817),o=n(818),i=n(822),a=n(825),s=n(826),u=n(827),c=n(828),l=n(834),p=n(27),f=n(859),h=n(860),d=n(861),m=n(862),v=n(863),g=n(865),y=n(866),b=n(872),_=n(873),w=n(874),x=!1;e.exports={inject:function(){x||(x=!0,g.EventEmitter.injectReactEventListener(v),g.EventPluginHub.injectEventPluginOrder(a),g.EventPluginUtils.injectComponentTree(p),g.EventPluginUtils.injectTreeTraversal(h),g.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:w,EnterLeaveEventPlugin:s,ChangeEventPlugin:i,SelectEventPlugin:_,BeforeInputEventPlugin:o}),g.HostComponent.injectGenericComponentClass(l),g.HostComponent.injectTextComponentClass(d),g.DOMProperty.injectDOMPropertyConfig(r),g.DOMProperty.injectDOMPropertyConfig(u),g.DOMProperty.injectDOMPropertyConfig(b),g.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),g.Updates.injectReconcileTransaction(y),g.Updates.injectBatchingStrategy(m),g.Component.injectEnvironment(c))}}},function(e,t,n){"use strict";e.exports={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}}},function(e,t,n){"use strict";var r=n(140),o=n(38),i=n(819),a=n(820),s=n(821),u=[9,13,27,32],c=229,l=o.canUseDOM&&"CompositionEvent"in window,p=null;o.canUseDOM&&"documentMode"in document&&(p=document.documentMode);var f,h=o.canUseDOM&&"TextEvent"in window&&!p&&!("object"==typeof(f=window.opera)&&"function"==typeof f.version&&parseInt(f.version(),10)<=12),d=o.canUseDOM&&(!l||p&&p>8&&p<=11);var m=32,v=String.fromCharCode(m),g={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},y=!1;function b(e,t){switch(e){case"topKeyUp":return-1!==u.indexOf(t.keyCode);case"topKeyDown":return t.keyCode!==c;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function _(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}var w=null;function x(e,t,n,o){var s,u;if(l?s=function(e){switch(e){case"topCompositionStart":return g.compositionStart;case"topCompositionEnd":return g.compositionEnd;case"topCompositionUpdate":return g.compositionUpdate}}(e):w?b(e,n)&&(s=g.compositionEnd):function(e,t){return"topKeyDown"===e&&t.keyCode===c}(e,n)&&(s=g.compositionStart),!s)return null;d&&(w||s!==g.compositionStart?s===g.compositionEnd&&w&&(u=w.getData()):w=i.getPooled(o));var p=a.getPooled(s,t,n,o);if(u)p.data=u;else{var f=_(n);null!==f&&(p.data=f)}return r.accumulateTwoPhaseDispatches(p),p}function E(e,t,n,o){var a;if(!(a=h?function(e,t){switch(e){case"topCompositionEnd":return _(t);case"topKeyPress":return t.which!==m?null:(y=!0,v);case"topTextInput":var n=t.data;return n===v&&y?null:n;default:return null}}(e,n):function(e,t){if(w){if("topCompositionEnd"===e||!l&&b(e,t)){var n=w.getData();return i.release(w),w=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!function(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return d?null:t.data;default:return null}}(e,n)))return null;var u=s.getPooled(g.beforeInput,t,n,o);return u.data=a,r.accumulateTwoPhaseDispatches(u),u}var S={eventTypes:g,extractEvents:function(e,t,n,r){return[x(e,t,n,r),E(e,t,n,r)]}};e.exports=S},function(e,t,n){"use strict";var r=n(25),o=n(90),i=n(425);function a(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}r(a.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),o.addPoolingTo(a),e.exports=a},function(e,t,n){"use strict";var r=n(68);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){"use strict";var r=n(68);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){"use strict";var r=n(141),o=n(140),i=n(38),a=n(27),s=n(58),u=n(68),c=n(428),l=n(250),p=n(251),f=n(429),h={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}};function d(e,t,n){var r=u.getPooled(h.change,e,t,n);return r.type="change",o.accumulateTwoPhaseDispatches(r),r}var m=null,v=null;var g=!1;function y(e){var t=d(v,e,l(e));s.batchedUpdates(b,t)}function b(e){r.enqueueEvents(e),r.processEventQueue(!1)}function _(){m&&(m.detachEvent("onchange",y),m=null,v=null)}function w(e,t){var n=c.updateValueIfChanged(e),r=!0===t.simulated&&P._allowSimulatedPassThrough;if(n||r)return e}function x(e,t){if("topChange"===e)return t}function E(e,t,n){"topFocus"===e?(_(),function(e,t){v=t,(m=e).attachEvent("onchange",y)}(t,n)):"topBlur"===e&&_()}i.canUseDOM&&(g=p("change")&&(!document.documentMode||document.documentMode>8));var S=!1;function C(){m&&(m.detachEvent("onpropertychange",k),m=null,v=null)}function k(e){"value"===e.propertyName&&w(v,e)&&y(e)}function O(e,t,n){"topFocus"===e?(C(),function(e,t){v=t,(m=e).attachEvent("onpropertychange",k)}(t,n)):"topBlur"===e&&C()}function A(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return w(v,n)}function T(e,t,n){if("topClick"===e)return w(t,n)}function j(e,t,n){if("topInput"===e||"topChange"===e)return w(t,n)}i.canUseDOM&&(S=p("input")&&(!document.documentMode||document.documentMode>9));var P={eventTypes:h,_allowSimulatedPassThrough:!0,_isInputEventSupported:S,extractEvents:function(e,t,n,r){var o,i,s,u,c=t?a.getNodeFromInstance(t):window;if("select"===(u=(s=c).nodeName&&s.nodeName.toLowerCase())||"input"===u&&"file"===s.type?g?o=x:i=E:f(c)?S?o=j:(o=A,i=O):function(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}(c)&&(o=T),o){var l=o(e,t,n);if(l)return d(l,n,r)}i&&i(e,c,t),"topBlur"===e&&function(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}(t,c)}};e.exports=P},function(e,t,n){"use strict";var r=n(824),o={};o.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&function(e,t,n){"function"==typeof e?e(t.getPublicInstance()):r.addComponentAsRefTo(t,e,n)}(n,e,t._owner)}},o.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&"object"==typeof t&&(o=t.ref,i=t._owner),n!==o||"string"==typeof o&&i!==r},o.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&function(e,t,n){"function"==typeof e?e(null):r.removeComponentAsRefFrom(t,e,n)}(n,e,t._owner)}},e.exports=o},function(e,t,n){"use strict";var r=n(21);n(15);function o(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var i={addComponentAsRefTo:function(e,t,n){o(n)||r("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){o(n)||r("120");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}};e.exports=i},function(e,t,n){"use strict";e.exports=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"]},function(e,t,n){"use strict";var r=n(140),o=n(27),i=n(186),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u,c,l;if(s.window===s)u=s;else{var p=s.ownerDocument;u=p?p.defaultView||p.parentWindow:window}if("topMouseOut"===e){c=t;var f=n.relatedTarget||n.toElement;l=f?o.getClosestInstanceFromNode(f):null}else c=null,l=t;if(c===l)return null;var h=null==c?u:o.getNodeFromInstance(c),d=null==l?u:o.getNodeFromInstance(l),m=i.getPooled(a.mouseLeave,c,n,s);m.type="mouseleave",m.target=h,m.relatedTarget=d;var v=i.getPooled(a.mouseEnter,l,n,s);return v.type="mouseenter",v.target=d,v.relatedTarget=h,r.accumulateEnterLeaveDispatches(m,v,c,l),[m,v]}};e.exports=s},function(e,t,n){"use strict";var r=n(115),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=c},function(e,t,n){"use strict";var r=n(253),o={processChildrenUpdates:n(833).dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=o},function(e,t,n){"use strict";var r=n(21),o=n(117),i=n(38),a=n(830),s=n(57),u=(n(15),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM||r("56"),t||r("57"),"HTML"===e.nodeName&&r("58"),"string"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},function(e,t,n){"use strict";var r=n(38),o=n(831),i=n(832),a=n(15),s=r.canUseDOM?document.createElement("div"):null,u=/^\s*<(\w+)/;e.exports=function(e,t){var n=s;s||a(!1);var r=function(e){var t=e.match(u);return t&&t[1].toLowerCase()}(e),c=r&&i(r);if(c){n.innerHTML=c[1]+e+c[2];for(var l=c[0];l--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t||a(!1),o(p).forEach(t));for(var f=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}},function(e,t,n){"use strict";var r=n(15);e.exports=function(e){return function(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}(e)?Array.isArray(e)?e.slice():function(e){var t=e.length;if((Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e)&&r(!1),"number"!=typeof t&&r(!1),0===t||t-1 in e||r(!1),"function"==typeof e.callee&&r(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),o=0;o<t;o++)n[o]=e[o];return n}(e):[e]}},function(e,t,n){"use strict";var r=n(38),o=n(15),i=r.canUseDOM?document.createElement("div"):null,a={},s=[1,'<select multiple="true">',"</select>"],u=[1,"<table>","</table>"],c=[3,"<table><tbody><tr>","</tr></tbody></table>"],l=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],p={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:s,option:s,caption:u,colgroup:u,tbody:u,tfoot:u,thead:u,td:c,th:c};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){p[e]=l,a[e]=!0}),e.exports=function(e){return i||o(!1),p.hasOwnProperty(e)||(e="*"),a.hasOwnProperty(e)||(i.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",a[e]=!i.firstChild),a[e]?p[e]:null}},function(e,t,n){"use strict";var r=n(253),o=n(27),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(835),a=n(836),s=n(117),u=n(254),c=n(115),l=n(434),p=n(141),f=n(247),h=n(189),d=n(422),m=n(27),v=n(846),g=n(848),y=n(435),b=n(849),_=(n(53),n(850)),w=n(857),x=(n(57),n(188)),E=(n(15),n(251),n(258),n(428)),S=(n(262),n(23),d),C=p.deleteListener,k=m.getNodeFromInstance,O=h.listenTo,A=f.registrationNameModules,T={string:!0,number:!0},j="__html",P={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},I=11;function M(e,t){t&&(W[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&r("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&r("60"),"object"==typeof t.dangerouslySetInnerHTML&&j in t.dangerouslySetInnerHTML||r("61")),null!=t.style&&"object"!=typeof t.style&&r("62",function(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" This DOM node was rendered by `"+n+"`."}}return""}(e)))}function N(e,t,n,r){if(!(r instanceof w)){0;var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===I?o._node:o._ownerDocument;O(t,i),r.getReactMountReady().enqueue(R,{inst:e,registrationName:t,listener:n})}}function R(){p.putListener(this.inst,this.registrationName,this.listener)}function D(){v.postMountWrapper(this)}function L(){b.postMountWrapper(this)}function U(){g.postMountWrapper(this)}var q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"};function F(){E.track(this)}function B(){this._rootNodeID||r("63");var e=k(this);switch(e||r("64"),this._tag){case"iframe":case"object":this._wrapperState.listeners=[h.trapBubbledEvent("topLoad","load",e)];break;case"video":case"audio":for(var t in this._wrapperState.listeners=[],q)q.hasOwnProperty(t)&&this._wrapperState.listeners.push(h.trapBubbledEvent(t,q[t],e));break;case"source":this._wrapperState.listeners=[h.trapBubbledEvent("topError","error",e)];break;case"img":this._wrapperState.listeners=[h.trapBubbledEvent("topError","error",e),h.trapBubbledEvent("topLoad","load",e)];break;case"form":this._wrapperState.listeners=[h.trapBubbledEvent("topReset","reset",e),h.trapBubbledEvent("topSubmit","submit",e)];break;case"input":case"select":case"textarea":this._wrapperState.listeners=[h.trapBubbledEvent("topInvalid","invalid",e)]}}function z(){y.postUpdateWrapper(this)}var V={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},H={listing:!0,pre:!0,textarea:!0},W=o({menuitem:!0},V),J=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,K={},Y={}.hasOwnProperty;function $(e,t){return e.indexOf("-")>=0||null!=t.is}var G=1;function Z(e){var t=e.type;!function(e){Y.call(K,e)||(J.test(e)||r("65",e),K[e]=!0)}(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}Z.displayName="ReactDOMComponent",Z.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=G++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o,a,c,p=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(B,this);break;case"input":v.mountWrapper(this,p,t),p=v.getHostProps(this,p),e.getReactMountReady().enqueue(F,this),e.getReactMountReady().enqueue(B,this);break;case"option":g.mountWrapper(this,p,t),p=g.getHostProps(this,p);break;case"select":y.mountWrapper(this,p,t),p=y.getHostProps(this,p),e.getReactMountReady().enqueue(B,this);break;case"textarea":b.mountWrapper(this,p,t),p=b.getHostProps(this,p),e.getReactMountReady().enqueue(F,this),e.getReactMountReady().enqueue(B,this)}if(M(this,p),null!=t?(o=t._namespaceURI,a=t._tag):n._tag&&(o=n._namespaceURI,a=n._tag),(null==o||o===u.svg&&"foreignobject"===a)&&(o=u.html),o===u.html&&("svg"===this._tag?o=u.svg:"math"===this._tag&&(o=u.mathml)),this._namespaceURI=o,e.useCreateElement){var f,h=n._ownerDocument;if(o===u.html)if("script"===this._tag){var d=h.createElement("div"),_=this._currentElement.type;d.innerHTML="<"+_+"></"+_+">",f=d.removeChild(d.firstChild)}else f=p.is?h.createElement(this._currentElement.type,p.is):h.createElement(this._currentElement.type);else f=h.createElementNS(o,this._currentElement.type);m.precacheNode(this,f),this._flags|=S.hasCachedChildNodes,this._hostParent||l.setAttributeForRoot(f),this._updateDOMProperties(null,p,e);var w=s(f);this._createInitialChildren(e,p,r,w),c=w}else{var x=this._createOpenTagMarkupAndPutListeners(e,p),E=this._createContentMarkup(e,p,r);c=!E&&V[this._tag]?x+"/>":x+">"+E+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(D,this),p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(L,this),p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"select":case"button":p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(U,this)}return c},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(A.hasOwnProperty(r))i&&N(this,r,i,e);else{"style"===r&&(i&&(i=this._previousStyleCopy=o({},t.style)),i=a.createMarkupForStyles(i,this));var s=null;null!=this._tag&&$(this._tag,t)?P.hasOwnProperty(r)||(s=l.createMarkupForCustomAttribute(r,i)):s=l.createMarkupForProperty(r,i),s&&(n+=" "+s)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+l.createMarkupForRoot()),n+=" "+l.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=T[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=x(i);else if(null!=a){r=this.mountChildren(a,e,n).join("")}}return H[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&s.queueHTML(r,o.__html);else{var i=T[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&s.queueText(r,i);else if(null!=a)for(var u=this.mountChildren(a,e,n),c=0;c<u.length;c++)s.queueChild(r,u[c])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var o=t.props,i=this._currentElement.props;switch(this._tag){case"input":o=v.getHostProps(this,o),i=v.getHostProps(this,i);break;case"option":o=g.getHostProps(this,o),i=g.getHostProps(this,i);break;case"select":o=y.getHostProps(this,o),i=y.getHostProps(this,i);break;case"textarea":o=b.getHostProps(this,o),i=b.getHostProps(this,i)}switch(M(this,i),this._updateDOMProperties(o,i,e),this._updateDOMChildren(o,i,e,r),this._tag){case"input":v.updateWrapper(this),E.updateValueIfChanged(this);break;case"textarea":b.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(z,this)}},_updateDOMProperties:function(e,t,n){var r,i,s;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if("style"===r){var u=this._previousStyleCopy;for(i in u)u.hasOwnProperty(i)&&((s=s||{})[i]="");this._previousStyleCopy=null}else A.hasOwnProperty(r)?e[r]&&C(this,r):$(this._tag,e)?P.hasOwnProperty(r)||l.deleteValueForAttribute(k(this),r):(c.properties[r]||c.isCustomAttribute(r))&&l.deleteValueForProperty(k(this),r);for(r in t){var p=t[r],f="style"===r?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&p!==f&&(null!=p||null!=f))if("style"===r)if(p?p=this._previousStyleCopy=o({},p):this._previousStyleCopy=null,f){for(i in f)!f.hasOwnProperty(i)||p&&p.hasOwnProperty(i)||((s=s||{})[i]="");for(i in p)p.hasOwnProperty(i)&&f[i]!==p[i]&&((s=s||{})[i]=p[i])}else s=p;else if(A.hasOwnProperty(r))p?N(this,r,p,n):f&&C(this,r);else if($(this._tag,t))P.hasOwnProperty(r)||l.setValueForAttribute(k(this),r,p);else if(c.properties[r]||c.isCustomAttribute(r)){var h=k(this);null!=p?l.setValueForProperty(h,r,p):l.deleteValueForProperty(h,r)}}s&&a.setValueForStyles(k(this),s,this)},_updateDOMChildren:function(e,t,n,r){var o=T[typeof e.children]?e.children:null,i=T[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,c=null!=i?null:t.children,l=null!=o||null!=a,p=null!=i||null!=s;null!=u&&null==c?this.updateChildren(null,n,r):l&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=s?a!==s&&this.updateMarkup(""+s):null!=c&&this.updateChildren(c,n,r)},getHostNode:function(){return k(this)},unmountComponent:function(e){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case"input":case"textarea":E.stopTracking(this);break;case"html":case"head":case"body":r("66",this._tag)}this.unmountChildren(e),m.uncacheNode(this),p.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return k(this)}},o(Z.prototype,Z.Mixin,_.Mixin),e.exports=Z},function(e,t,n){"use strict";var r=n(27),o=n(432),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){"use strict";var r=n(433),o=n(38),i=(n(53),n(837),n(839)),a=n(840),s=n(842),u=(n(23),s(function(e){return a(e)})),c=!1,l="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){c=!0}void 0===document.documentElement.style.cssFloat&&(l="styleFloat")}var f={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),a=e[r];0,null!=a&&(n+=u(r)+":",n+=i(r,a,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf("--");0;var u=i(a,t[a],n,s);if("float"!==a&&"cssFloat"!==a||(a=l),s)o.setProperty(a,u);else if(u)o[a]=u;else{var p=c&&r.shorthandPropertyExpansions[a];if(p)for(var f in p)o[f]="";else o[a]=""}}}};e.exports=f},function(e,t,n){"use strict";var r=n(838),o=/^-ms-/;e.exports=function(e){return r(e.replace(o,"ms-"))}},function(e,t,n){"use strict";var r=/-(.)/g;e.exports=function(e){return e.replace(r,function(e,t){return t.toUpperCase()})}},function(e,t,n){"use strict";var r=n(433),o=(n(23),r.isUnitlessNumber);e.exports=function(e,t,n,r){if(null==t||"boolean"==typeof t||""===t)return"";var i=isNaN(t);return r||i||0===t||o.hasOwnProperty(e)&&o[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}},function(e,t,n){"use strict";var r=n(841),o=/^ms-/;e.exports=function(e){return r(e).replace(o,"-ms-")}},function(e,t,n){"use strict";var r=/([A-Z])/g;e.exports=function(e){return e.replace(r,"-$1").toLowerCase()}},function(e,t,n){"use strict";e.exports=function(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}},function(e,t,n){"use strict";var r=n(188);e.exports=function(e){return'"'+r(e)+'"'}},function(e,t,n){"use strict";var r=n(141);var o={handleTopLevel:function(e,t,n,o){!function(e){r.enqueueEvents(e),r.processEventQueue(!1)}(r.extractEvents(e,t,n,o))}};e.exports=o},function(e,t,n){"use strict";var r=n(38);function o(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var i={animationend:o("Animation","AnimationEnd"),animationiteration:o("Animation","AnimationIteration"),animationstart:o("Animation","AnimationStart"),transitionend:o("Transition","TransitionEnd")},a={},s={};r.canUseDOM&&(s=document.createElement("div").style,"AnimationEvent"in window||(delete i.animationend.animation,delete i.animationiteration.animation,delete i.animationstart.animation),"TransitionEvent"in window||delete i.transitionend.transition),e.exports=function(e){if(a[e])return a[e];if(!i[e])return e;var t=i[e];for(var n in t)if(t.hasOwnProperty(n)&&n in s)return a[e]=t[n];return""}},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(434),a=n(256),s=n(27),u=n(58);n(15),n(23);function c(){this._rootNodeID&&p.updateWrapper(this)}function l(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}var p={getHostProps:function(e,t){var n=a.getValue(t),r=a.getChecked(t);return o({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:f.bind(e),controlled:l(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&i.setValueForProperty(s.getNodeFromInstance(e),"checked",n||!1);var r=s.getNodeFromInstance(e),o=a.getValue(t);if(null!=o)if(0===o&&""===r.value)r.value="0";else if("number"===t.type){var u=parseFloat(r.value,10)||0;(o!=u||o==u&&r.value!=o)&&(r.value=""+o)}else r.value!==""+o&&(r.value=""+o);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==""+t.defaultValue&&(r.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=s.getNodeFromInstance(e);switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":n.value="",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;""!==r&&(n.name=""),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,""!==r&&(n.name=r)}};function f(e){var t=this._currentElement.props,n=a.executeOnChange(t,e);u.asap(c,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=s.getNodeFromInstance(this),l=i;l.parentNode;)l=l.parentNode;for(var p=l.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),f=0;f<p.length;f++){var h=p[f];if(h!==i&&h.form===i.form){var d=s.getInstanceFromNode(h);d||r("90"),u.asap(c,d)}}}return n}e.exports=p},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(25),o=n(104),i=n(27),a=n(435),s=(n(23),!1);function u(e){var t="";return o.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:s||(s=!0))}),t}var c={mountWrapper:function(e,t,n){var r=null;if(null!=n){var o=n;"optgroup"===o._tag&&(o=o._hostParent),null!=o&&"select"===o._tag&&(r=a.getSelectValueContext(o))}var i,s=null;if(null!=r)if(i=null!=t.value?t.value+"":u(t.children),s=!1,Array.isArray(r)){for(var c=0;c<r.length;c++)if(""+r[c]===i){s=!0;break}}else s=""+r===i;e._wrapperState={selected:s}},postMountWrapper:function(e){var t=e._currentElement.props;null!=t.value&&i.getNodeFromInstance(e).setAttribute("value",t.value)},getHostProps:function(e,t){var n=r({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var o=u(t.children);return o&&(n.children=o),n}};e.exports=c},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(256),a=n(27),s=n(58);n(15),n(23);function u(){this._rootNodeID&&c.updateWrapper(this)}var c={getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&r("91"),o({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=i.getValue(t),o=n;if(null==n){var a=t.defaultValue,s=t.children;null!=s&&(null!=a&&r("92"),Array.isArray(s)&&(s.length<=1||r("93"),s=s[0]),a=""+s),null==a&&(a=""),o=a}e._wrapperState={initialValue:""+o,listeners:null,onChange:l.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=a.getNodeFromInstance(e),r=i.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=a.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}};function l(e){var t=this._currentElement.props,n=i.executeOnChange(t,e);return s.asap(u,this),n}e.exports=c},function(e,t,n){"use strict";var r=n(21),o=n(257),i=(n(143),n(53),n(65),n(116)),a=n(851),s=(n(57),n(856));n(15);function u(e,t){return t&&(e=e||[]).push(t),e}function c(e,t){o.processChildrenUpdates(e,t)}var l={Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return a.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var u;return u=s(t,0),a.updateChildren(e,u,n,r,o,this,this._hostContainerInfo,i,0),u},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],a=0;for(var s in r)if(r.hasOwnProperty(s)){var u=r[s];0;var c=i.mountComponent(u,t,this,this._hostContainerInfo,n,0);u._mountIndex=a++,o.push(c)}return o},updateTextContent:function(e){var t,n=this._renderedChildren;for(var o in a.unmountChildren(n,!1),n)n.hasOwnProperty(o)&&r("118");c(this,[(t=e,{type:"TEXT_CONTENT",content:t,fromIndex:null,fromNode:null,toIndex:null,afterNode:null})])},updateMarkup:function(e){var t,n=this._renderedChildren;for(var o in a.unmountChildren(n,!1),n)n.hasOwnProperty(o)&&r("118");c(this,[(t=e,{type:"SET_MARKUP",content:t,fromIndex:null,fromNode:null,toIndex:null,afterNode:null})])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},a=[],s=this._reconcilerUpdateChildren(r,e,a,o,t,n);if(s||r){var l,p=null,f=0,h=0,d=0,m=null;for(l in s)if(s.hasOwnProperty(l)){var v=r&&r[l],g=s[l];v===g?(p=u(p,this.moveChild(v,m,f,h)),h=Math.max(v._mountIndex,h),v._mountIndex=f):(v&&(h=Math.max(v._mountIndex,h)),p=u(p,this._mountChildAtIndex(g,a[d],m,f,t,n)),d++),f++,m=i.getHostNode(g)}for(l in o)o.hasOwnProperty(l)&&(p=u(p,this._unmountChild(r[l],o[l])));p&&c(this,p),this._renderedChildren=s}},unmountChildren:function(e){var t=this._renderedChildren;a.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return function(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:i.getHostNode(e),toIndex:n,afterNode:t}}(e,t,n)},createChild:function(e,t,n){return function(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}(n,t,e._mountIndex)},removeChild:function(e,t){return function(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}};e.exports=l},function(e,t,n){"use strict";(function(t){var r=n(116),o=n(436),i=(n(260),n(259)),a=n(440);n(23);function s(e,t,n,r){var i=void 0===e[n];null!=t&&i&&(e[n]=o(t,!0))}void 0!==t&&t.env;var u={instantiateChildren:function(e,t,n,r){if(null==e)return null;var o={};return a(e,s,o),o},updateChildren:function(e,t,n,a,s,u,c,l,p){if(t||e){var f,h;for(f in t)if(t.hasOwnProperty(f)){var d=(h=e&&e[f])&&h._currentElement,m=t[f];if(null!=h&&i(d,m))r.receiveComponent(h,m,s,l),t[f]=h;else{h&&(a[f]=r.getHostNode(h),r.unmountComponent(h,!1));var v=o(m,!0);t[f]=v;var g=r.mountComponent(v,s,u,c,l,p);n.push(g)}}for(f in e)!e.hasOwnProperty(f)||t&&t.hasOwnProperty(f)||(h=e[f],a[f]=r.getHostNode(h),r.unmountComponent(h,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];r.unmountComponent(o,t)}}};e.exports=u}).call(this,n(67))},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(104),a=n(257),s=n(65),u=n(249),c=n(143),l=(n(53),n(437)),p=n(116),f=n(165),h=(n(15),n(258)),d=n(259),m=(n(23),0),v=1,g=2;function y(e){}function b(e,t){0}y.prototype.render=function(){var e=c.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return b(e,t),t};var _=1,w={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,o){this._context=o,this._mountOrder=_++,this._hostParent=t,this._hostContainerInfo=n;var a,s=this._currentElement.props,u=this._processContext(o),l=this._currentElement.type,p=e.getUpdateQueue(),h=function(e){return!(!e.prototype||!e.prototype.isReactComponent)}(l),d=this._constructComponent(h,s,u,p);h||null!=d&&null!=d.render?!function(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}(l)?this._compositeType=m:this._compositeType=v:(a=d,b(),null===d||!1===d||i.isValidElement(d)||r("105",l.displayName||l.name||"Component"),d=new y(l),this._compositeType=g),d.props=s,d.context=u,d.refs=f,d.updater=p,this._instance=d,c.set(d,this);var w,x=d.state;return void 0===x&&(d.state=x=null),("object"!=typeof x||Array.isArray(x))&&r("106",this.getName()||"ReactCompositeComponent"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,w=d.unstable_handleError?this.performInitialMountWithErrorHandling(a,t,n,e,o):this.performInitialMount(a,t,n,e,o),d.componentDidMount&&e.getReactMountReady().enqueue(d.componentDidMount,d),w},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var a=l.getType(e);this._renderedNodeType=a;var s=this._instantiateReactComponent(e,a!==l.EMPTY);return this._renderedComponent=s,p.mountComponent(s,r,t,n,this._processChildContext(o),0)},getHostNode:function(){return p.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";u.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(p.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,c.remove(t)}},_maskContext:function(e){var t=this._currentElement.type.contextTypes;if(!t)return f;var n={};for(var r in t)n[r]=e[r];return n},_processContext:function(e){return this._maskContext(e)},_processChildContext:function(e){var t,n=this._currentElement.type,i=this._instance;if(i.getChildContext&&(t=i.getChildContext()),t){for(var a in"object"!=typeof n.childContextTypes&&r("107",this.getName()||"ReactCompositeComponent"),t)a in n.childContextTypes||r("108",this.getName()||"ReactCompositeComponent",a);return o({},e,t)}return e},_checkContextTypes:function(e,t,n){0},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?p.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,o,i){var a=this._instance;null==a&&r("136",this.getName()||"ReactCompositeComponent");var s,u=!1;this._context===i?s=a.context:(s=this._processContext(i),u=!0);var c=t.props,l=n.props;t!==n&&(u=!0),u&&a.componentWillReceiveProps&&a.componentWillReceiveProps(l,s);var p=this._processPendingState(l,s),f=!0;this._pendingForceUpdate||(a.shouldComponentUpdate?f=a.shouldComponentUpdate(l,p,s):this._compositeType===v&&(f=!h(c,l)||!h(a.state,p))),this._updateBatchNumber=null,f?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,l,p,s,e,i)):(this._currentElement=n,this._context=i,a.props=l,a.state=p,a.context=s)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,i=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(i&&1===r.length)return r[0];for(var a=o({},i?r[0]:n.state),s=i?1:0;s<r.length;s++){var u=r[s];o(a,"function"==typeof u?u.call(n,a,e,t):u)}return a},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,c=this._instance,l=Boolean(c.componentDidUpdate);l&&(a=c.props,s=c.state,u=c.context),c.componentWillUpdate&&c.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,c.props=t,c.state=n,c.context=r,this._updateRenderedComponent(o,i),l&&o.getReactMountReady().enqueue(c.componentDidUpdate.bind(c,a,s,u),c)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent();if(d(r,o))p.receiveComponent(n,o,e,this._processChildContext(t));else{var i=p.getHostNode(n);p.unmountComponent(n,!1);var a=l.getType(o);this._renderedNodeType=a;var s=this._instantiateReactComponent(o,a!==l.EMPTY);this._renderedComponent=s;var u=p.mountComponent(s,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),0);this._replaceNodeWithMarkup(i,u,n)}},_replaceNodeWithMarkup:function(e,t,n){a.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){return this._instance.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==g){s.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{s.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||!1===e||i.isValidElement(e)||r("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n&&r("110");var o=t.getPublicInstance();(n.refs===f?n.refs={}:n.refs)[e]=o},detachRef:function(e){delete this.getPublicInstance().refs[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===g?null:e},_instantiateReactComponent:null};e.exports=w},function(e,t,n){"use strict";var r=1;e.exports=function(){return r++}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=function(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}},function(e,t,n){"use strict";(function(t){n(260);var r=n(440);n(23);function o(e,t,n,r){if(e&&"object"==typeof e){var o=e;0,void 0===o[n]&&null!=t&&(o[n]=t)}}void 0!==t&&t.env,e.exports=function(e,t){if(null==e)return e;var n={};return r(e,o,n),n}}).call(this,n(67))},function(e,t,n){"use strict";var r=n(25),o=n(90),i=n(185),a=(n(53),n(858)),s=[];var u={enqueue:function(){}};function c(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new a(this)}var l={getTransactionWrappers:function(){return s},getReactMountReady:function(){return u},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};r(c.prototype,i,l),o.addPoolingTo(c),e.exports=c},function(e,t,n){"use strict";var r=n(261);n(23);var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&r.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()&&r.enqueueForceUpdate(e)},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()&&r.enqueueReplaceState(e,t)},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()&&r.enqueueSetState(e,t)},e}();e.exports=o},function(e,t,n){"use strict";var r=n(25),o=n(117),i=n(27),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument.createComment(s);return i.precacheNode(this,u),o(u)}return e.renderToStaticMarkup?"":"\x3c!--"+s+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t,n){"use strict";var r=n(21);n(15);function o(e,t){"_hostNode"in e||r("33"),"_hostNode"in t||r("33");for(var n=0,o=e;o;o=o._hostParent)n++;for(var i=0,a=t;a;a=a._hostParent)i++;for(;n-i>0;)e=e._hostParent,n--;for(;i-n>0;)t=t._hostParent,i--;for(var s=n;s--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}e.exports={isAncestor:function(e,t){"_hostNode"in e||r("35"),"_hostNode"in t||r("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1},getLowestCommonAncestor:o,getParentInstance:function(e){return"_hostNode"in e||r("36"),e._hostParent},traverseTwoPhase:function(e,t,n){for(var r,o=[];e;)o.push(e),e=e._hostParent;for(r=o.length;r-- >0;)t(o[r],"captured",n);for(r=0;r<o.length;r++)t(o[r],"bubbled",n)},traverseEnterLeave:function(e,t,n,r,i){for(var a=e&&t?o(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u,c=[];t&&t!==a;)c.push(t),t=t._hostParent;for(u=0;u<s.length;u++)n(s[u],"bubbled",r);for(u=c.length;u-- >0;)n(c[u],"captured",i)}}},function(e,t,n){"use strict";var r=n(21),o=n(25),i=n(253),a=n(117),s=n(27),u=n(188),c=(n(15),n(262),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(c.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,l=c.createComment(i),p=c.createComment(" /react-text "),f=a(c.createDocumentFragment());return a.queueChild(f,a(l)),this._stringText&&a.queueChild(f,a(c.createTextNode(this._stringText))),a.queueChild(f,a(p)),s.precacheNode(this,l),this._closingComment=p,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:"\x3c!--"+i+"--\x3e"+h+"\x3c!-- /react-text --\x3e"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this).nextSibling;;){if(null==t&&r("67",this._domID),8===t.nodeType&&" /react-text "===t.nodeValue){this._closingComment=t;break}t=t.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=c},function(e,t,n){"use strict";var r=n(25),o=n(58),i=n(185),a=n(57),s={initialize:a,close:function(){p.isBatchingUpdates=!1}},u=[{initialize:a,close:o.flushBatchedUpdates.bind(o)},s];function c(){this.reinitializeTransaction()}r(c.prototype,i,{getTransactionWrappers:function(){return u}});var l=new c,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=p.isBatchingUpdates;return p.isBatchingUpdates=!0,a?e(t,n,r,o,i):l.perform(e,null,t,n,r,o,i)}};e.exports=p},function(e,t,n){"use strict";var r=n(25),o=n(442),i=n(38),a=n(90),s=n(27),u=n(58),c=n(250),l=n(864);function p(e){for(;e._hostParent;)e=e._hostParent;var t=s.getNodeFromInstance(e).parentNode;return s.getClosestInstanceFromNode(t)}function f(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function h(e){var t=c(e.nativeEvent),n=s.getClosestInstanceFromNode(t),r=n;do{e.ancestors.push(r),r=r&&p(r)}while(r);for(var o=0;o<e.ancestors.length;o++)n=e.ancestors[o],d._handleTopLevel(e.topLevelType,n,e.nativeEvent,c(e.nativeEvent))}r(f.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),a.addPoolingTo(f,a.twoArgumentPooler);var d={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:i.canUseDOM?window:null,setHandleTopLevel:function(e){d._handleTopLevel=e},setEnabled:function(e){d._enabled=!!e},isEnabled:function(){return d._enabled},trapBubbledEvent:function(e,t,n){return n?o.listen(n,t,d.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?o.capture(n,t,d.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=function(e){e(l(window))}.bind(null,e);o.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(d._enabled){var n=f.getPooled(e,t);try{u.batchedUpdates(h,n)}finally{f.release(n)}}}};e.exports=d},function(e,t,n){"use strict";e.exports=function(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}},function(e,t,n){"use strict";var r=n(115),o=n(141),i=n(248),a=n(257),s=n(438),u=n(189),c=n(439),l=n(58),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:c.injection,Updates:l.injection};e.exports=p},function(e,t,n){"use strict";var r=n(25),o=n(426),i=n(90),a=n(189),s=n(443),u=(n(53),n(185)),c=n(261),l=[{initialize:s.getSelectionInformation,close:s.restoreSelection},{initialize:function(){var e=a.isEnabled();return a.setEnabled(!1),e},close:function(e){a.setEnabled(e)}},{initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}}];function p(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.useCreateElement=e}var f={getTransactionWrappers:function(){return l},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return c},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};r(p.prototype,u,f),i.addPoolingTo(p),e.exports=p},function(e,t,n){"use strict";var r=n(38),o=n(868),i=n(425);function a(e,t,n,r){return e===n&&t===r}var s=r.canUseDOM&&"selection"in document&&!("getSelection"in window),u={getOffsets:s?function(e){var t=document.selection.createRange(),n=t.text.length,r=t.duplicate();r.moveToElementText(e),r.setEndPoint("EndToStart",t);var o=r.text.length;return{start:o,end:o+n}}:function(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,r=t.anchorOffset,o=t.focusNode,i=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=a(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset)?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var l=a(c.startContainer,c.startOffset,c.endContainer,c.endOffset)?0:c.toString().length,p=l+u,f=document.createRange();f.setStart(n,r),f.setEnd(o,i);var h=f.collapsed;return{start:h?p:l,end:h?l:p}},setOffsets:s?function(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?r=n=t.start:t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}:function(e,t){if(window.getSelection){var n=window.getSelection(),r=e[i()].length,a=Math.min(t.start,r),s=void 0===t.end?a:Math.min(t.end,r);if(!n.extend&&a>s){var u=s;s=a,a=u}var c=o(e,a),l=o(e,s);if(c&&l){var p=document.createRange();p.setStart(c.node,c.offset),n.removeAllRanges(),a>s?(n.addRange(p),n.extend(l.node,l.offset)):(p.setEnd(l.node,l.offset),n.addRange(p))}}}};e.exports=u},function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}e.exports=function(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}},function(e,t,n){"use strict";var r=n(870);e.exports=function e(t,n){return!(!t||!n)&&(t===n||!r(t)&&(r(n)?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}},function(e,t,n){"use strict";var r=n(871);e.exports=function(e){return r(e)&&3==e.nodeType}},function(e,t,n){"use strict";e.exports=function(e){var t=(e?e.ownerDocument||e:document).defaultView||window;return!(!e||!("function"==typeof t.Node?e instanceof t.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}},function(e,t,n){"use strict";var r="http://www.w3.org/1999/xlink",o="http://www.w3.org/XML/1998/namespace",i={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},a={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r,xlinkArcrole:r,xlinkHref:r,xlinkRole:r,xlinkShow:r,xlinkTitle:r,xlinkType:r,xmlBase:o,xmlLang:o,xmlSpace:o},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){a.Properties[e]=0,i[e]&&(a.DOMAttributeNames[e]=i[e])}),e.exports=a},function(e,t,n){"use strict";var r=n(140),o=n(38),i=n(27),a=n(443),s=n(68),u=n(444),c=n(429),l=n(258),p=o.canUseDOM&&"documentMode"in document&&document.documentMode<=11,f={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},h=null,d=null,m=null,v=!1,g=!1;function y(e,t){if(v||null==h||h!==u())return null;var n=function(e){if("selectionStart"in e&&a.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}(h);if(!m||!l(m,n)){m=n;var o=s.getPooled(f.select,d,e,t);return o.type="select",o.target=h,r.accumulateTwoPhaseDispatches(o),o}return null}var b={eventTypes:f,extractEvents:function(e,t,n,r){if(!g)return null;var o=t?i.getNodeFromInstance(t):window;switch(e){case"topFocus":(c(o)||"true"===o.contentEditable)&&(h=o,d=t,m=null);break;case"topBlur":h=null,d=null,m=null;break;case"topMouseDown":v=!0;break;case"topContextMenu":case"topMouseUp":return v=!1,y(n,r);case"topSelectionChange":if(p)break;case"topKeyDown":case"topKeyUp":return y(n,r)}return null},didPutListener:function(e,t,n){"onSelect"===t&&(g=!0)}};e.exports=b},function(e,t,n){"use strict";var r=n(21),o=n(442),i=n(140),a=n(27),s=n(875),u=n(876),c=n(68),l=n(877),p=n(878),f=n(186),h=n(880),d=n(881),m=n(882),v=n(142),g=n(883),y=n(57),b=n(263),_=(n(15),{}),w={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t,r="top"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[r]};_[e]=o,w[r]=o});var x={};function E(e){return"."+e._rootNodeID}function S(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var C={eventTypes:_,extractEvents:function(e,t,n,o){var a,y=w[e];if(!y)return null;switch(e){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":a=c;break;case"topKeyPress":if(0===b(n))return null;case"topKeyDown":case"topKeyUp":a=p;break;case"topBlur":case"topFocus":a=l;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=f;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=h;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=d;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=s;break;case"topTransitionEnd":a=m;break;case"topScroll":a=v;break;case"topWheel":a=g;break;case"topCopy":case"topCut":case"topPaste":a=u}a||r("86",e);var _=a.getPooled(y,t,n,o);return i.accumulateTwoPhaseDispatches(_),_},didPutListener:function(e,t,n){if("onClick"===t&&!S(e._tag)){var r=E(e),i=a.getNodeFromInstance(e);x[r]||(x[r]=o.listen(i,"click",y))}},willDeleteListener:function(e,t){if("onClick"===t&&!S(e._tag)){var n=E(e);x[n].remove(),delete x[n]}}};e.exports=C},function(e,t,n){"use strict";var r=n(68);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{animationName:null,elapsedTime:null,pseudoElement:null}),e.exports=o},function(e,t,n){"use strict";var r=n(68),o={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};function i(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(i,o),e.exports=i},function(e,t,n){"use strict";var r=n(142);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{relatedTarget:null}),e.exports=o},function(e,t,n){"use strict";var r=n(142),o=n(263),i={key:n(879),location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:n(252),charCode:function(e){return"keypress"===e.type?o(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?o(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r=n(263),o={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},i={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};e.exports=function(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=r(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":""}},function(e,t,n){"use strict";var r=n(186);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{dataTransfer:null}),e.exports=o},function(e,t,n){"use strict";var r=n(142),o={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:n(252)};function i(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(i,o),e.exports=i},function(e,t,n){"use strict";var r=n(68);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{propertyName:null,elapsedTime:null,pseudoElement:null}),e.exports=o},function(e,t,n){"use strict";var r=n(186);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),e.exports=o},function(e,t,n){"use strict";n(262);var r=9;e.exports=function(e,t){return{_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===r?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null}}},function(e,t,n){"use strict";e.exports={useCreateElement:!0,useFiber:!1}},function(e,t,n){"use strict";var r=n(887),o=/\/?>/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};e.exports=a},function(e,t,n){"use strict";var r=65521;e.exports=function(e){for(var t=1,n=0,o=0,i=e.length,a=-4&i;o<a;){for(var s=Math.min(o+4096,a);o<s;o+=4)n+=(t+=e.charCodeAt(o))+(t+=e.charCodeAt(o+1))+(t+=e.charCodeAt(o+2))+(t+=e.charCodeAt(o+3));t%=r,n%=r}for(;o<i;o++)n+=t+=e.charCodeAt(o);return(t%=r)|(n%=r)<<16}},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(21),o=(n(65),n(27)),i=n(143),a=n(446);n(15),n(23);e.exports=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=i.get(e);if(t)return(t=a(t))?o.getNodeFromInstance(t):null;"function"==typeof e.render?r("44"):r("45",Object.keys(e))}},function(e,t,n){"use strict";var r=n(445);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=n(0),o=a(n(10)),i=a(n(447));a(n(448));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n,r));return o.store=n.store,o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){return r.Children.only(this.props.children)},t}(r.Component);t.default=s,s.propTypes={store:i.default.isRequired,children:o.default.element.isRequired},s.childContextTypes={store:i.default.isRequired}},function(e,t,n){"use strict";var r=n(363);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(e,t,n){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},v=Boolean(e),g=e||p,y=void 0;y="function"==typeof t?t:t?(0,s.default)(t):f;var b=n||h,_=l.pure,w=void 0===_||_,x=l.withRef,E=void 0!==x&&x,S=w&&b!==h,C=m++;return function(e){var t="Connect("+function(e){return e.displayName||e.name||"Component"}(e)+")";var n=function(n){function i(e,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,n.call(this,e,r));o.version=C,o.store=e.store||r.store,(0,c.default)(o.store,'Could not find "store" in either the context or props of "'+t+'". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "'+t+'".');var a=o.store.getState();return o.state={storeState:a},o.clearCache(),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,n),i.prototype.shouldComponentUpdate=function(){return!w||this.haveOwnPropsChanged||this.hasStoreStateChanged},i.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var n=e.getState();return this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,t):this.finalMapStateToProps(n)},i.prototype.configureFinalMapState=function(e,t){var n=g(e.getState(),t),r="function"==typeof n;return this.finalMapStateToProps=r?n:g,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(e,t):n},i.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var n=e.dispatch;return this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,t):this.finalMapDispatchToProps(n)},i.prototype.configureFinalMapDispatch=function(e,t){var n=y(e.dispatch,t),r="function"==typeof n;return this.finalMapDispatchToProps=r?n:y,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(e,t):n},i.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,a.default)(e,this.stateProps))&&(this.stateProps=e,!0)},i.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,a.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},i.prototype.updateMergedPropsIfNeeded=function(){var e,t,n,r=(e=this.stateProps,t=this.dispatchProps,n=this.props,b(e,t,n));return!(this.mergedProps&&S&&(0,a.default)(r,this.mergedProps))&&(this.mergedProps=r,!0)},i.prototype.isSubscribed=function(){return"function"==typeof this.unsubscribe},i.prototype.trySubscribe=function(){v&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},i.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},i.prototype.componentDidMount=function(){this.trySubscribe()},i.prototype.componentWillReceiveProps=function(e){w&&(0,a.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},i.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},i.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},i.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!w||t!==e){if(w&&!this.doStatePropsDependOnOwnProps){var n=function(e,t){try{return e.apply(t)}catch(e){return d.value=e,d}}(this.updateStatePropsIfNeeded,this);if(!n)return;n===d&&(this.statePropsPrecalculationError=d.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},i.prototype.getWrappedInstance=function(){return(0,c.default)(E,"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call."),this.refs.wrappedInstance},i.prototype.render=function(){var t=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,i=this.haveStatePropsBeenPrecalculated,a=this.statePropsPrecalculationError,s=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,a)throw a;var u=!0,c=!0;w&&s&&(u=n||t&&this.doStatePropsDependOnOwnProps,c=t&&this.doDispatchPropsDependOnOwnProps);var l=!1,p=!1;i?l=!0:u&&(l=this.updateStatePropsIfNeeded()),c&&(p=this.updateDispatchPropsIfNeeded());return!(!!(l||p||t)&&this.updateMergedPropsIfNeeded())&&s?s:(this.renderedElement=E?(0,o.createElement)(e,r({},this.mergedProps,{ref:"wrappedInstance"})):(0,o.createElement)(e,this.mergedProps),this.renderedElement)},i}(o.Component);return n.displayName=t,n.WrappedComponent=e,n.contextTypes={store:i.default},n.propTypes={store:i.default},(0,u.default)(n,e)}};var o=n(0),i=l(n(447)),a=l(n(894)),s=l(n(895)),u=(l(n(448)),l(n(264)),l(n(896))),c=l(n(897));function l(e){return e&&e.__esModule?e:{default:e}}var p=function(e){return{}},f=function(e){return{dispatch:e}},h=function(e,t,n){return r({},n,e,t)};var d={value:null};var m=0},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i<n.length;i++)if(!o.call(t,n[i])||e[n[i]]!==t[n[i]])return!1;return!0}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){return function(t){return(0,r.bindActionCreators)(e,t)}};var r=n(124)},function(e,t,n){"use strict";var r=n(362),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return r.isMemo(e)?a:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var c=Object.defineProperty,l=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,h=Object.getPrototypeOf,d=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(d){var o=h(n);o&&o!==d&&e(t,o,r)}var a=l(n);p&&(a=a.concat(p(n)));for(var s=u(t),m=u(n),v=0;v<a.length;++v){var g=a[v];if(!(i[g]||r&&r[g]||m&&m[g]||s&&s[g])){var y=f(n,g);try{c(t,g,y)}catch(e){}}}return t}return t}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,i,a,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,s],l=0;(u=new Error(t.replace(/%s/g,function(){return c[l++]}))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},function(e,t,n){var r=n(118),o=n(85);e.exports=function(e,t){return e&&r(t,o(t),e)}},function(e,t,n){var r=n(118),o=n(450);e.exports=function(e,t){return e&&r(t,o(t),e)}},function(e,t,n){var r=n(52),o=n(175),i=n(902),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=o(e),n=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){(function(e){var r=n(51),o=t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(173)(e))},function(e,t){e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},function(e,t,n){var r=n(118),o=n(230);e.exports=function(e,t){return r(e,o(e),t)}},function(e,t,n){var r=n(118),o=n(451);e.exports=function(e,t){return r(e,o(e),t)}},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},function(e,t,n){var r=n(266),o=n(909),i=n(910),a=n(911),s=n(912),u="[object Boolean]",c="[object Date]",l="[object Map]",p="[object Number]",f="[object RegExp]",h="[object Set]",d="[object String]",m="[object Symbol]",v="[object ArrayBuffer]",g="[object DataView]",y="[object Float32Array]",b="[object Float64Array]",_="[object Int8Array]",w="[object Int16Array]",x="[object Int32Array]",E="[object Uint8Array]",S="[object Uint8ClampedArray]",C="[object Uint16Array]",k="[object Uint32Array]";e.exports=function(e,t,n){var O=e.constructor;switch(t){case v:return r(e);case u:case c:return new O(+e);case g:return o(e,n);case y:case b:case _:case w:case x:case E:case S:case C:case k:return s(e,n);case l:return new O;case p:case d:return new O(e);case f:return i(e);case h:return new O;case m:return a(e)}}},function(e,t,n){var r=n(266);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},function(e,t){var n=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,n){var r=n(106),o=r?r.prototype:void 0,i=o?o.valueOf:void 0;e.exports=function(e){return i?Object(i.call(e)):{}}},function(e,t,n){var r=n(266);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){var r=n(914),o=n(265),i=n(175);e.exports=function(e){return"function"!=typeof e.constructor||i(e)?{}:r(o(e))}},function(e,t,n){var r=n(52),o=Object.create,i=function(){function e(){}return function(t){if(!r(t))return{};if(o)return o(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=i},function(e,t,n){var r=n(916),o=n(234),i=n(235),a=i&&i.isMap,s=a?o(a):r;e.exports=s},function(e,t,n){var r=n(176),o=n(66),i="[object Map]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,t,n){var r=n(918),o=n(234),i=n(235),a=i&&i.isSet,s=a?o(a):r;e.exports=s},function(e,t,n){var r=n(176),o=n(66),i="[object Set]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,t,n){var r=n(108),o=n(920),i=n(921),a=n(109);e.exports=function(e,t){return t=r(t,e),null==(e=i(e,t))||delete e[a(o(t))]}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(177),o=n(368);e.exports=function(e,t){return t.length<2?e:r(e,o(t,0,-1))}},function(e,t,n){var r=n(264);e.exports=function(e){return r(e)?void 0:e}},function(e,t,n){var r=n(924);e.exports=function(e){return(null==e?0:e.length)?r(e,1):[]}},function(e,t,n){var r=n(229),o=n(925);e.exports=function e(t,n,i,a,s){var u=-1,c=t.length;for(i||(i=o),s||(s=[]);++u<c;){var l=t[u];n>0&&i(l)?n>1?e(l,n-1,i,a,s):r(s,l):a||(s[s.length]=l)}return s}},function(e,t,n){var r=n(106),o=n(231),i=n(37),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||o(e)||!!(a&&e&&e[a])}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(928),o=n(419),i=n(237),a=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:i;e.exports=a},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){var n=800,r=16,o=Date.now;e.exports=function(e){var t=0,i=0;return function(){var a=o(),s=r-(a-i);if(i=a,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){"use strict";var r=n(931),o=n(932);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=b,t.resolve=function(e,t){return b(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?b(e,!1,!0).resolveObject(t):t},t.format=function(e){o.isString(e)&&(e=b(e));return e instanceof i?e.format():i.prototype.format.call(e)},t.Url=i;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),l=["'"].concat(c),p=["%","/","?",";","#"].concat(l),f=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},v={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=n(933);function b(e,t,n){if(e&&o.isObject(e)&&e instanceof i)return e;var r=new i;return r.parse(e,t,n),r}i.prototype.parse=function(e,t,n){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),s=-1!==i&&i<e.indexOf("#")?"?":"#",c=e.split(s);c[0]=c[0].replace(/\\/g,"/");var b=e=c.join(s);if(b=b.trim(),!n&&1===e.split("#").length){var _=u.exec(b);if(_)return this.path=b,this.href=b,this.pathname=_[1],_[2]?(this.search=_[2],this.query=t?y.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var w=a.exec(b);if(w){var x=(w=w[0]).toLowerCase();this.protocol=x,b=b.substr(w.length)}if(n||w||b.match(/^\/\/[^@\/]+@[^@\/]+/)){var E="//"===b.substr(0,2);!E||w&&v[w]||(b=b.substr(2),this.slashes=!0)}if(!v[w]&&(E||w&&!g[w])){for(var S,C,k=-1,O=0;O<f.length;O++){-1!==(A=b.indexOf(f[O]))&&(-1===k||A<k)&&(k=A)}-1!==(C=-1===k?b.lastIndexOf("@"):b.lastIndexOf("@",k))&&(S=b.slice(0,C),b=b.slice(C+1),this.auth=decodeURIComponent(S)),k=-1;for(O=0;O<p.length;O++){var A;-1!==(A=b.indexOf(p[O]))&&(-1===k||A<k)&&(k=A)}-1===k&&(k=b.length),this.host=b.slice(0,k),b=b.slice(k),this.parseHost(),this.hostname=this.hostname||"";var T="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!T)for(var j=this.hostname.split(/\./),P=(O=0,j.length);O<P;O++){var I=j[O];if(I&&!I.match(h)){for(var M="",N=0,R=I.length;N<R;N++)I.charCodeAt(N)>127?M+="x":M+=I[N];if(!M.match(h)){var D=j.slice(0,O),L=j.slice(O+1),U=I.match(d);U&&(D.push(U[1]),L.unshift(U[2])),L.length&&(b="/"+L.join(".")+b),this.hostname=D.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),T||(this.hostname=r.toASCII(this.hostname));var q=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+q,this.href+=this.host,T&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!m[x])for(O=0,P=l.length;O<P;O++){var B=l[O];if(-1!==b.indexOf(B)){var z=encodeURIComponent(B);z===B&&(z=escape(B)),b=b.split(B).join(z)}}var V=b.indexOf("#");-1!==V&&(this.hash=b.substr(V),b=b.slice(0,V));var H=b.indexOf("?");if(-1!==H?(this.search=b.substr(H),this.query=b.substr(H+1),t&&(this.query=y.parse(this.query)),b=b.slice(0,H)):t&&(this.search="",this.query={}),b&&(this.pathname=b),g[x]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){q=this.pathname||"";var W=this.search||"";this.path=q+W}return this.href=this.format(),this},i.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",i=!1,a="";this.host?i=e+this.host:this.hostname&&(i=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(i+=":"+this.port)),this.query&&o.isObject(this.query)&&Object.keys(this.query).length&&(a=y.stringify(this.query));var s=this.search||a&&"?"+a||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||g[t])&&!1!==i?(i="//"+(i||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):i||(i=""),r&&"#"!==r.charAt(0)&&(r="#"+r),s&&"?"!==s.charAt(0)&&(s="?"+s),t+i+(n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}))+(s=s.replace("#","%23"))+r},i.prototype.resolve=function(e){return this.resolveObject(b(e,!1,!0)).format()},i.prototype.resolveObject=function(e){if(o.isString(e)){var t=new i;t.parse(e,!1,!0),e=t}for(var n=new i,r=Object.keys(this),a=0;a<r.length;a++){var s=r[a];n[s]=this[s]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var u=Object.keys(e),c=0;c<u.length;c++){var l=u[c];"protocol"!==l&&(n[l]=e[l])}return g[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!g[e.protocol]){for(var p=Object.keys(e),f=0;f<p.length;f++){var h=p[f];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||v[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var m=n.pathname||"",y=n.search||"";n.path=m+y}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var b=n.pathname&&"/"===n.pathname.charAt(0),_=e.host||e.pathname&&"/"===e.pathname.charAt(0),w=_||b||n.host&&e.pathname,x=w,E=n.pathname&&n.pathname.split("/")||[],S=(d=e.pathname&&e.pathname.split("/")||[],n.protocol&&!g[n.protocol]);if(S&&(n.hostname="",n.port=null,n.host&&(""===E[0]?E[0]=n.host:E.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),w=w&&(""===d[0]||""===E[0])),_)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,E=d;else if(d.length)E||(E=[]),E.pop(),E=E.concat(d),n.search=e.search,n.query=e.query;else if(!o.isNullOrUndefined(e.search)){if(S)n.hostname=n.host=E.shift(),(T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift());return n.search=e.search,n.query=e.query,o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=E.slice(-1)[0],k=(n.host||e.host||E.length>1)&&("."===C||".."===C)||""===C,O=0,A=E.length;A>=0;A--)"."===(C=E[A])?E.splice(A,1):".."===C?(E.splice(A,1),O++):O&&(E.splice(A,1),O--);if(!w&&!x)for(;O--;O)E.unshift("..");!w||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),k&&"/"!==E.join("/").substr(-1)&&E.push("");var T,j=""===E[0]||E[0]&&"/"===E[0].charAt(0);S&&(n.hostname=n.host=j?"":E.length?E.shift():"",(T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift()));return(w=w||n.host&&E.length)&&!j&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var e=this.host,t=s.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){(function(e,r){var o;/*! https://mths.be/punycode v1.3.2 by @mathias */!function(i){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof r&&r;a.global!==a&&a.window!==a&&a.self;var s,u=2147483647,c=36,l=1,p=26,f=38,h=700,d=72,m=128,v="-",g=/^xn--/,y=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,_={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},w=c-l,x=Math.floor,E=String.fromCharCode;function S(e){throw RangeError(_[e])}function C(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function k(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+C((e=e.replace(b,".")).split("."),t).join(".")}function O(e){for(var t,n,r=[],o=0,i=e.length;o<i;)(t=e.charCodeAt(o++))>=55296&&t<=56319&&o<i?56320==(64512&(n=e.charCodeAt(o++)))?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--):r.push(t);return r}function A(e){return C(e,function(e){var t="";return e>65535&&(t+=E((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=E(e)}).join("")}function T(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:c}function j(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function P(e,t,n){var r=0;for(e=n?x(e/h):e>>1,e+=x(e/t);e>w*p>>1;r+=c)e=x(e/w);return x(r+(w+1)*e/(e+f))}function I(e){var t,n,r,o,i,a,s,f,h,g,y=[],b=e.length,_=0,w=m,E=d;for((n=e.lastIndexOf(v))<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&S("not-basic"),y.push(e.charCodeAt(r));for(o=n>0?n+1:0;o<b;){for(i=_,a=1,s=c;o>=b&&S("invalid-input"),((f=T(e.charCodeAt(o++)))>=c||f>x((u-_)/a))&&S("overflow"),_+=f*a,!(f<(h=s<=E?l:s>=E+p?p:s-E));s+=c)a>x(u/(g=c-h))&&S("overflow"),a*=g;E=P(_-i,t=y.length+1,0==i),x(_/t)>u-w&&S("overflow"),w+=x(_/t),_%=t,y.splice(_++,0,w)}return A(y)}function M(e){var t,n,r,o,i,a,s,f,h,g,y,b,_,w,C,k=[];for(b=(e=O(e)).length,t=m,n=0,i=d,a=0;a<b;++a)(y=e[a])<128&&k.push(E(y));for(r=o=k.length,o&&k.push(v);r<b;){for(s=u,a=0;a<b;++a)(y=e[a])>=t&&y<s&&(s=y);for(s-t>x((u-n)/(_=r+1))&&S("overflow"),n+=(s-t)*_,t=s,a=0;a<b;++a)if((y=e[a])<t&&++n>u&&S("overflow"),y==t){for(f=n,h=c;!(f<(g=h<=i?l:h>=i+p?p:h-i));h+=c)C=f-g,w=c-g,k.push(E(j(g+C%w,0))),f=x(C/w);k.push(E(j(f,0))),i=P(n,_,r==o),n=0,++r}++n,++t}return k.join("")}s={version:"1.3.2",ucs2:{decode:O,encode:A},decode:I,encode:M,toASCII:function(e){return k(e,function(e){return y.test(e)?"xn--"+M(e):e})},toUnicode:function(e){return k(e,function(e){return g.test(e)?I(e.slice(4).toLowerCase()):e})}},void 0===(o=function(){return s}.call(t,n,t,e))||(e.exports=o)}()}).call(this,n(173)(e),n(36))},function(e,t,n){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){"use strict";t.decode=t.parse=n(934),t.encode=t.stringify=n(935)},function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,i){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;var s=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var l=0;l<c;++l){var p,f,h,d,m=e[l].replace(s,"%20"),v=m.indexOf(n);v>=0?(p=m.substr(0,v),f=m.substr(v+1)):(p=m,f=""),h=decodeURIComponent(p),d=decodeURIComponent(f),r(a,h)?o(a[h])?a[h].push(d):a[h]=[a[h],d]:a[h]=d}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,s){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?i(a(e),function(a){var s=encodeURIComponent(r(a))+n;return o(e[a])?i(e[a],function(e){return s+encodeURIComponent(r(e))}).join(t):s+encodeURIComponent(r(e[a]))}).join(t):s?encodeURIComponent(r(s))+n+encodeURIComponent(r(e)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function i(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){var r=n(184),o=n(118),i=n(937),a=n(107),s=n(175),u=n(85),c=Object.prototype.hasOwnProperty,l=i(function(e,t){if(s(t)||a(t))o(t,u(t),e);else for(var n in t)c.call(t,n)&&r(e,n,t[n])});e.exports=l},function(e,t,n){var r=n(938),o=n(389);e.exports=function(e){return r(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&o(n[0],n[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var u=n[r];u&&e(t,u,r,a)}return t})}},function(e,t,n){var r=n(237),o=n(454),i=n(455);e.exports=function(e,t){return i(o(e,t,r),e+"")}},function(e,t,n){ +/*! + * https://github.com/Starcounter-Jack/JSON-Patch + * (c) 2017 Joachim Wester + * MIT license + */ +var r=n(267),o=n(456),i=n(456);t.applyOperation=i.applyOperation,t.applyPatch=i.applyPatch,t.applyReducer=i.applyReducer,t.getValueByPointer=i.getValueByPointer,t.validate=i.validate,t.validator=i.validator;var a=n(267);t.JsonPatchError=a.PatchError,t.deepClone=a._deepClone,t.escapePathComponent=a.escapePathComponent,t.unescapePathComponent=a.unescapePathComponent;var s=new WeakMap,u=function(e){this.observers=new Map,this.obj=e},c=function(e,t){this.callback=e,this.observer=t};function l(e){var t=s.get(e.object);p(t.value,e.object,e.patches,""),e.patches.length&&o.applyPatch(t.value,e.patches);var n=e.patches;return n.length>0&&(e.patches=[],e.callback&&e.callback(n)),n}function p(e,t,n,o){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var i=r._objectKeys(t),a=r._objectKeys(e),s=!1,u=a.length-1;u>=0;u--){var c=e[f=a[u]];if(!r.hasOwnProperty(t,f)||void 0===t[f]&&void 0!==c&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(n.push({op:"remove",path:o+"/"+r.escapePathComponent(f)}),s=!0):(n.push({op:"replace",path:o,value:t}),!0);else{var l=t[f];"object"==typeof c&&null!=c&&"object"==typeof l&&null!=l?p(c,l,n,o+"/"+r.escapePathComponent(f)):c!==l&&(!0,n.push({op:"replace",path:o+"/"+r.escapePathComponent(f),value:r._deepClone(l)}))}}if(s||i.length!=a.length)for(u=0;u<i.length;u++){var f=i[u];r.hasOwnProperty(e,f)||void 0===t[f]||n.push({op:"add",path:o+"/"+r.escapePathComponent(f),value:r._deepClone(t[f])})}}}t.unobserve=function(e,t){t.unobserve()},t.observe=function(e,t){var n,o=function(e){return s.get(e)}(e);if(o){var i=function(e,t){return e.observers.get(t)}(o,t);n=i&&i.observer}else o=new u(e),s.set(e,o);if(n)return n;if(n={},o.value=r._deepClone(e),t){n.callback=t,n.next=null;var a=function(){l(n)},p=function(){clearTimeout(n.next),n.next=setTimeout(a)};"undefined"!=typeof window&&(window.addEventListener?(window.addEventListener("mouseup",p),window.addEventListener("keyup",p),window.addEventListener("mousedown",p),window.addEventListener("keydown",p),window.addEventListener("change",p)):(document.documentElement.attachEvent("onmouseup",p),document.documentElement.attachEvent("onkeyup",p),document.documentElement.attachEvent("onmousedown",p),document.documentElement.attachEvent("onkeydown",p),document.documentElement.attachEvent("onchange",p)))}return n.patches=[],n.object=e,n.unobserve=function(){l(n),clearTimeout(n.next),function(e,t){e.observers.delete(t.callback)}(o,n),"undefined"!=typeof window&&(window.removeEventListener?(window.removeEventListener("mouseup",p),window.removeEventListener("keyup",p),window.removeEventListener("mousedown",p),window.removeEventListener("keydown",p)):(document.documentElement.detachEvent("onmouseup",p),document.documentElement.detachEvent("onkeyup",p),document.documentElement.detachEvent("onmousedown",p),document.documentElement.detachEvent("onkeydown",p)))},o.observers.set(t,new c(t,n)),n},t.generate=l,t.compare=function(e,t){var n=[];return p(e,t,n,""),n}},function(e,t,n){var r=Array.prototype.slice,o=n(941),i=n(942),a=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?n.strict?e===t:e==t:function(e,t,n){var c,l;if(s(e)||s(t))return!1;if(e.prototype!==t.prototype)return!1;if(i(e))return!!i(t)&&(e=r.call(e),t=r.call(t),a(e,t,n));if(u(e)){if(!u(t))return!1;if(e.length!==t.length)return!1;for(c=0;c<e.length;c++)if(e[c]!==t[c])return!1;return!0}try{var p=o(e),f=o(t)}catch(e){return!1}if(p.length!=f.length)return!1;for(p.sort(),f.sort(),c=p.length-1;c>=0;c--)if(p[c]!=f[c])return!1;for(c=p.length-1;c>=0;c--)if(l=p[c],!a(e[l],t[l],n))return!1;return typeof e==typeof t}(e,t,n))};function s(e){return null==e}function u(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&!(e.length>0&&"number"!=typeof e[0]))}},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}(e.exports="function"==typeof Object.keys?Object.keys:n).shim=n},function(e,t){var n="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();function r(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function o(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee")||!1}(t=e.exports=n?r:o).supported=r,t.unsupported=o},function(e,t,n){(function(t){!function(){"use strict";e.exports=function(e){return(e instanceof t?e:new t(e.toString(),"binary")).toString("base64")}}()}).call(this,n(64).Buffer)},function(e,t,n){var r=n(945),o=n(365),i=n(386),a=n(69);e.exports=function(e,t,n){return e=a(e),n=null==n?0:r(i(n),0,e.length),t=o(t),e.slice(n,n+t.length)==t}},function(e,t){e.exports=function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}},function(e,t,n){"use strict";var r=n(947),o=n(948),i=n(458);e.exports={formats:i,parse:o,stringify:r}},function(e,t,n){"use strict";var r=n(457),o=n(458),i=Object.prototype.hasOwnProperty,a={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},s=Array.isArray,u=Array.prototype.push,c=function(e,t){u.apply(e,s(t)?t:[t])},l=Date.prototype.toISOString,p={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,formatter:o.formatters[o.default],indices:!1,serializeDate:function(e){return l.call(e)},skipNulls:!1,strictNullHandling:!1},f=function e(t,n,o,i,a,u,l,f,h,d,m,v,g){var y=t;if("function"==typeof l?y=l(n,y):y instanceof Date?y=d(y):"comma"===o&&s(y)&&(y=y.join(",")),null===y){if(i)return u&&!v?u(n,p.encoder,g):n;y=""}if("string"==typeof y||"number"==typeof y||"boolean"==typeof y||r.isBuffer(y))return u?[m(v?n:u(n,p.encoder,g))+"="+m(u(y,p.encoder,g))]:[m(n)+"="+m(String(y))];var b,_=[];if(void 0===y)return _;if(s(l))b=l;else{var w=Object.keys(y);b=f?w.sort(f):w}for(var x=0;x<b.length;++x){var E=b[x];a&&null===y[E]||(s(y)?c(_,e(y[E],"function"==typeof o?o(n,E):n,o,i,a,u,l,f,h,d,m,v,g)):c(_,e(y[E],n+(h?"."+E:"["+E+"]"),o,i,a,u,l,f,h,d,m,v,g)))}return _};e.exports=function(e,t){var n,r=e,u=function(e){if(!e)return p;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||p.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=o.default;if(void 0!==e.format){if(!i.call(o.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var r=o.formatters[n],a=p.filter;return("function"==typeof e.filter||s(e.filter))&&(a=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:p.addQueryPrefix,allowDots:void 0===e.allowDots?p.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:p.charsetSentinel,delimiter:void 0===e.delimiter?p.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:p.encode,encoder:"function"==typeof e.encoder?e.encoder:p.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:p.encodeValuesOnly,filter:a,formatter:r,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:p.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:p.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:p.strictNullHandling}}(t);"function"==typeof u.filter?r=(0,u.filter)("",r):s(u.filter)&&(n=u.filter);var l,h=[];if("object"!=typeof r||null===r)return"";l=t&&t.arrayFormat in a?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var d=a[l];n||(n=Object.keys(r)),u.sort&&n.sort(u.sort);for(var m=0;m<n.length;++m){var v=n[m];u.skipNulls&&null===r[v]||c(h,f(r[v],v,d,u.strictNullHandling,u.skipNulls,u.encode?u.encoder:null,u.filter,u.sort,u.allowDots,u.serializeDate,u.formatter,u.encodeValuesOnly,u.charset))}var g=h.join(u.delimiter),y=!0===u.addQueryPrefix?"?":"";return u.charsetSentinel&&("iso-8859-1"===u.charset?y+="utf8=%26%2310003%3B&":y+="utf8=%E2%9C%93&"),g.length>0?y+g:""}},function(e,t,n){"use strict";var r=n(457),o=Object.prototype.hasOwnProperty,i={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},a=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})},s=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,a=/(\[[^[\]]*])/.exec(r),s=a?r.slice(0,a.index):r,u=[];if(s){if(!n.plainObjects&&o.call(Object.prototype,s)&&!n.allowPrototypes)return;u.push(s)}for(var c=0;null!==(a=i.exec(r))&&c<n.depth;){if(c+=1,!n.plainObjects&&o.call(Object.prototype,a[1].slice(1,-1))&&!n.allowPrototypes)return;u.push(a[1])}return a&&u.push("["+r.slice(a.index)+"]"),function(e,t,n){for(var r=t,o=e.length-1;o>=0;--o){var i,a=e[o];if("[]"===a&&n.parseArrays)i=[].concat(r);else{i=n.plainObjects?Object.create(null):{};var s="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,u=parseInt(s,10);n.parseArrays||""!==s?!isNaN(u)&&a!==s&&String(u)===s&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(i=[])[u]=r:i[s]=r:i={0:r}}r=i}return r}(u,t,n)}};e.exports=function(e,t){var n=function(e){if(!e)return i;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?i.charset:e.charset;return{allowDots:void 0===e.allowDots?i.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:i.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:i.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:i.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:i.comma,decoder:"function"==typeof e.decoder?e.decoder:i.decoder,delimiter:"string"==typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:i.delimiter,depth:"number"==typeof e.depth?e.depth:i.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:i.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:i.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:i.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:i.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var u="string"==typeof e?function(e,t){var n,s={},u=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,c=t.parameterLimit===1/0?void 0:t.parameterLimit,l=u.split(t.delimiter,c),p=-1,f=t.charset;if(t.charsetSentinel)for(n=0;n<l.length;++n)0===l[n].indexOf("utf8=")&&("utf8=%E2%9C%93"===l[n]?f="utf-8":"utf8=%26%2310003%3B"===l[n]&&(f="iso-8859-1"),p=n,n=l.length);for(n=0;n<l.length;++n)if(n!==p){var h,d,m=l[n],v=m.indexOf("]="),g=-1===v?m.indexOf("="):v+1;-1===g?(h=t.decoder(m,i.decoder,f),d=t.strictNullHandling?null:""):(h=t.decoder(m.slice(0,g),i.decoder,f),d=t.decoder(m.slice(g+1),i.decoder,f)),d&&t.interpretNumericEntities&&"iso-8859-1"===f&&(d=a(d)),d&&t.comma&&d.indexOf(",")>-1&&(d=d.split(",")),o.call(s,h)?s[h]=r.combine(s[h],d):s[h]=d}return s}(e,n):e,c=n.plainObjects?Object.create(null):{},l=Object.keys(u),p=0;p<l.length;++p){var f=l[p],h=s(f,u[f],n);c=r.merge(c,h,n)}return r.compact(c)}},function(e,t,n){"use strict";var r=t,o=n(64).Buffer;function i(e,t){try{return decodeURIComponent(e)}catch(n){return r.unescapeBuffer(e,t).toString()}}r.unescapeBuffer=function(e,t){for(var n,r,i,a=new o(e.length),s=0,u=0,c=0;u<=e.length;u++){var l=u<e.length?e.charCodeAt(u):NaN;switch(s){case 0:switch(l){case 37:n=0,r=0,s=1;break;case 43:t&&(l=32);default:a[c++]=l}break;case 1:if(i=l,l>=48&&l<=57)n=l-48;else if(l>=65&&l<=70)n=l-65+10;else{if(!(l>=97&&l<=102)){a[c++]=37,a[c++]=l,s=0;break}n=l-97+10}s=2;break;case 2:if(s=0,l>=48&&l<=57)r=l-48;else if(l>=65&&l<=70)r=l-65+10;else{if(!(l>=97&&l<=102)){a[c++]=37,a[c++]=i,a[c++]=l;break}r=l-97+10}a[c++]=16*n+r}}return a.slice(0,c-1)},r.unescape=i;for(var a=new Array(256),s=0;s<256;++s)a[s]="%"+((s<16?"0":"")+s.toString(16)).toUpperCase();r.escape=function(e){"string"!=typeof e&&(e+="");for(var t="",n=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);if(!(33===o||45===o||46===o||95===o||126===o||o>=39&&o<=42||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122))if(r-n>0&&(t+=e.slice(n,r)),o<128)n=r+1,t+=a[o];else if(o<2048)n=r+1,t+=a[192|o>>6]+a[128|63&o];else if(o<55296||o>=57344)n=r+1,t+=a[224|o>>12]+a[128|o>>6&63]+a[128|63&o];else{var i;if(!(++r<e.length))throw new URIError("URI malformed");i=1023&e.charCodeAt(r),n=r+1,t+=a[240|(o=65536+((1023&o)<<10|i))>>18]+a[128|o>>12&63]+a[128|o>>6&63]+a[128|63&o]}}return 0===n?e:n<e.length?t+e.slice(n):t};var u=function(e){return"string"==typeof e?e:"number"==typeof e&&isFinite(e)?""+e:"boolean"==typeof e?e?"true":"false":""};function c(e,t){try{return t(e)}catch(t){return r.unescape(e,!0)}}r.stringify=r.encode=function(e,t,n,o){t=t||"&",n=n||"=";var i=r.escape;if(o&&"function"==typeof o.encodeURIComponent&&(i=o.encodeURIComponent),null!==e&&"object"==typeof e){for(var a=Object.keys(e),s=a.length,c=s-1,l="",p=0;p<s;++p){var f=a[p],h=e[f],d=i(u(f))+n;if(Array.isArray(h)){for(var m=h.length,v=m-1,g=0;g<m;++g)l+=d+i(u(h[g])),g<v&&(l+=t);m&&p<c&&(l+=t)}else l+=d+i(u(h)),p<c&&(l+=t)}return l}return""},r.parse=r.decode=function(e,t,n,o){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;"string"!=typeof t&&(t+="");var s=n.length,u=t.length,l=1e3;o&&"number"==typeof o.maxKeys&&(l=o.maxKeys);var p=1/0;l>0&&(p=l);var f=r.unescape;o&&"function"==typeof o.decodeURIComponent&&(f=o.decodeURIComponent);for(var h=f!==i,d=[],m=0,v=0,g=0,y="",b="",_=h,w=h,x=0,E=0;E<e.length;++E){var S=e.charCodeAt(E);if(S!==t.charCodeAt(v)){if(v=0,w||(37===S?x=1:x>0&&(S>=48&&S<=57||S>=65&&S<=70||S>=97&&S<=102)?3==++x&&(w=!0):x=0),g<s){if(S===n.charCodeAt(g)){if(++g===s)m<(k=E-g+1)&&(y+=e.slice(m,k)),x=0,m=E+1;continue}g=0,_||(37===S?x=1:x>0&&(S>=48&&S<=57||S>=65&&S<=70||S>=97&&S<=102)?3==++x&&(_=!0):x=0)}43===S&&(g<s?(E-m>0&&(y+=e.slice(m,E)),y+="%20",_=!0):(E-m>0&&(b+=e.slice(m,E)),b+="%20",w=!0),m=E+1)}else if(++v===u){var C,k=E-v+1;if(g<s?m<k&&(y+=e.slice(m,k)):m<k&&(b+=e.slice(m,k)),_&&(y=c(y,f)),w&&(b=c(b,f)),-1===d.indexOf(y))a[y]=b,d[d.length]=y;else(C=a[y])instanceof Array?C[C.length]=b:a[y]=[C,b];if(0==--p)break;_=w=h,x=0,y=b="",m=E+1,v=g=0}}p>0&&(m<e.length||g>0)&&(m<e.length&&(g<s?y+=e.slice(m):v<u&&(b+=e.slice(m))),_&&(y=c(y,f)),w&&(b=c(b,f)),-1===d.indexOf(y)?(a[y]=b,d[d.length]=y):(C=a[y])instanceof Array?C[C.length]=b:a[y]=[C,b]);return a}},function(e,t,n){"use strict";(function(t){ +/*! + * @description Recursive object extending + * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com> + * @license MIT + * + * The MIT License (MIT) + * + * Copyright (c) 2013-2018 Viacheslav Lotsmanov + * + * 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. + */ +function n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=t.alloc?t.alloc(e.length):new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function o(e){var t=[];return e.forEach(function(e,i){"object"==typeof e&&null!==e?Array.isArray(e)?t[i]=o(e):n(e)?t[i]=r(e):t[i]=a({},e):t[i]=e}),t}function i(e,t){return"__proto__"===t?void 0:e[t]}var a=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,s=arguments[0],u=Array.prototype.slice.call(arguments,1);return u.forEach(function(u){"object"!=typeof u||null===u||Array.isArray(u)||Object.keys(u).forEach(function(c){return t=i(s,c),(e=i(u,c))===s?void 0:"object"!=typeof e||null===e?void(s[c]=e):Array.isArray(e)?void(s[c]=o(e)):n(e)?void(s[c]=r(e)):"object"!=typeof t||null===t||Array.isArray(t)?void(s[c]=a({},e)):void(s[c]=a(t,e))})}),s}}).call(this,n(64).Buffer)},function(e,t,n){e.exports=n(952)},function(e,t,n){n(164),n(103),n(953),n(957),n(958),e.exports=n(22).WeakMap},function(e,t,n){"use strict";var r,o=n(32),i=n(268)(0),a=n(220),s=n(135),u=n(356),c=n(956),l=n(43),p=n(144),f=n(144),h=!o.ActiveXObject&&"ActiveXObject"in o,d=s.getWeak,m=Object.isExtensible,v=c.ufstore,g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(l(e)){var t=d(e);return!0===t?v(p(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return c.def(p(this,"WeakMap"),e,t)}},b=e.exports=n(459)("WeakMap",g,y,c,!0,!0);f&&h&&(u((r=c.getConstructor(g,"WeakMap")).prototype,y),s.NEED=!0,i(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];a(t,e,function(t,o){if(l(t)&&!m(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return"set"==e?this:i}return n.call(this,t,o)})}))},function(e,t,n){var r=n(955);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(43),o=n(223),i=n(34)("species");e.exports=function(e){var t;return o(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){"use strict";var r=n(182),o=n(135).getWeak,i=n(46),a=n(43),s=n(181),u=n(112),c=n(268),l=n(75),p=n(144),f=c(5),h=c(6),d=0,m=function(e){return e._l||(e._l=new v)},v=function(){this.a=[]},g=function(e,t){return f(e.a,function(e){return e[0]===t})};v.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=d++,e._l=void 0,null!=r&&u(r,n,e[i],e)});return r(c.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return!0===n?m(p(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return!0===n?m(p(this,t)).has(e):n&&l(n,this._i)}}),c},def:function(e,t,n){var r=o(i(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){n(460)("WeakMap")},function(e,t,n){n(461)("WeakMap")},function(e,t){var n={};!function(e){"use strict";function t(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function n(e){return"string"!=typeof e&&(e=String(e)),e}function r(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return d.iterable&&(t[Symbol.iterator]=function(){return t}),t}function o(e){this.map={},e instanceof o?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function i(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function a(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function s(e){var t=new FileReader,n=a(t);return t.readAsArrayBuffer(e),n}function u(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function c(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(d.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(d.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(d.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(d.arrayBuffer&&d.blob&&v(e))this._bodyArrayBuffer=u(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!d.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!g(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=u(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):d.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},d.blob&&(this.blob=function(){var e=i(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?i(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(s)}),this.text=function(){var e=i(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,n=a(t);return t.readAsText(e),n}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},d.formData&&(this.formData=function(){return this.text().then(p)}),this.json=function(){return this.text().then(JSON.parse)},this}function l(e,t){var n=(t=t||{}).body;if(e instanceof l){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=function(e){var t=e.toUpperCase();return y.indexOf(t)>-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function p(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function f(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function h(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var d={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(d.arrayBuffer)var m=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],v=function(e){return e&&DataView.prototype.isPrototypeOf(e)},g=ArrayBuffer.isView||function(e){return e&&m.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},d.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var y=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];l.prototype.clone=function(){return new l(this,{body:this._bodyInit})},c.call(l.prototype),c.call(h.prototype),h.prototype.clone=function(){return new h(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},h.error=function(){var e=new h(null,{status:0,statusText:""});return e.type="error",e};var b=[301,302,303,307,308];h.redirect=function(e,t){if(-1===b.indexOf(t))throw new RangeError("Invalid status code");return new h(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=l,e.Response=h,e.fetch=function(e,t){return new Promise(function(n,r){var o=new l(e,t),i=new XMLHttpRequest;i.onload=function(){var e={status:i.status,statusText:i.statusText,headers:f(i.getAllResponseHeaders()||"")};e.url="responseURL"in i?i.responseURL:e.headers.get("X-Request-URL");var t="response"in i?i.response:i.responseText;n(new h(t,e))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&d.blob&&(i.responseType="blob"),o.headers.forEach(function(e,t){i.setRequestHeader(t,e)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}(void 0!==n?n:this),e.exports=n},function(e,t){var n=e.exports=function(e){return new r(e)};function r(e){this.value=e}function o(e,t,n){var r=[],o=[],s=!0;return function e(p){var f=n?i(p):p,h={},d=!0,m={node:f,node_:p,path:[].concat(r),parent:o[o.length-1],parents:o,key:r.slice(-1)[0],isRoot:0===r.length,level:r.length,circular:null,update:function(e,t){m.isRoot||(m.parent.node[m.key]=e),m.node=e,t&&(d=!1)},delete:function(e){delete m.parent.node[m.key],e&&(d=!1)},remove:function(e){u(m.parent.node)?m.parent.node.splice(m.key,1):delete m.parent.node[m.key],e&&(d=!1)},keys:null,before:function(e){h.before=e},after:function(e){h.after=e},pre:function(e){h.pre=e},post:function(e){h.post=e},stop:function(){s=!1},block:function(){d=!1}};if(!s)return m;function v(){if("object"==typeof m.node&&null!==m.node){m.keys&&m.node_===m.node||(m.keys=a(m.node)),m.isLeaf=0==m.keys.length;for(var e=0;e<o.length;e++)if(o[e].node_===p){m.circular=o[e];break}}else m.isLeaf=!0,m.keys=null;m.notLeaf=!m.isLeaf,m.notRoot=!m.isRoot}v();var g=t.call(m,m.node);return void 0!==g&&m.update&&m.update(g),h.before&&h.before.call(m,m.node),d?("object"!=typeof m.node||null===m.node||m.circular||(o.push(m),v(),c(m.keys,function(t,o){r.push(t),h.pre&&h.pre.call(m,m.node[t],t);var i=e(m.node[t]);n&&l.call(m.node,t)&&(m.node[t]=i.node),i.isLast=o==m.keys.length-1,i.isFirst=0==o,h.post&&h.post.call(m,i),r.pop()}),o.pop()),h.after&&h.after.call(m,m.node),m):m}(e).node}function i(e){if("object"==typeof e&&null!==e){var t;if(u(e))t=[];else if("[object Date]"===s(e))t=new Date(e.getTime?e.getTime():e);else if(function(e){return"[object RegExp]"===s(e)}(e))t=new RegExp(e);else if(function(e){return"[object Error]"===s(e)}(e))t={message:e.message};else if(function(e){return"[object Boolean]"===s(e)}(e))t=new Boolean(e);else if(function(e){return"[object Number]"===s(e)}(e))t=new Number(e);else if(function(e){return"[object String]"===s(e)}(e))t=new String(e);else if(Object.create&&Object.getPrototypeOf)t=Object.create(Object.getPrototypeOf(e));else if(e.constructor===Object)t={};else{var n=e.constructor&&e.constructor.prototype||e.__proto__||{},r=function(){};r.prototype=n,t=new r}return c(a(e),function(n){t[n]=e[n]}),t}return e}r.prototype.get=function(e){for(var t=this.value,n=0;n<e.length;n++){var r=e[n];if(!t||!l.call(t,r)){t=void 0;break}t=t[r]}return t},r.prototype.has=function(e){for(var t=this.value,n=0;n<e.length;n++){var r=e[n];if(!t||!l.call(t,r))return!1;t=t[r]}return!0},r.prototype.set=function(e,t){for(var n=this.value,r=0;r<e.length-1;r++){var o=e[r];l.call(n,o)||(n[o]={}),n=n[o]}return n[e[r]]=t,t},r.prototype.map=function(e){return o(this.value,e,!0)},r.prototype.forEach=function(e){return this.value=o(this.value,e,!1),this.value},r.prototype.reduce=function(e,t){var n=1===arguments.length,r=n?this.value:t;return this.forEach(function(t){this.isRoot&&n||(r=e.call(this,r,t))}),r},r.prototype.paths=function(){var e=[];return this.forEach(function(t){e.push(this.path)}),e},r.prototype.nodes=function(){var e=[];return this.forEach(function(t){e.push(this.node)}),e},r.prototype.clone=function(){var e=[],t=[];return function n(r){for(var o=0;o<e.length;o++)if(e[o]===r)return t[o];if("object"==typeof r&&null!==r){var s=i(r);return e.push(r),t.push(s),c(a(r),function(e){s[e]=n(r[e])}),e.pop(),t.pop(),s}return r}(this.value)};var a=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};function s(e){return Object.prototype.toString.call(e)}var u=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},c=function(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n<e.length;n++)t(e[n],n,e)};c(a(r.prototype),function(e){n[e]=function(t){var n=[].slice.call(arguments,1),o=new r(t);return o[e].apply(o,n)}});var l=Object.hasOwnProperty||function(e,t){return t in e}},function(e,t,n){var r=n(962),o=n(453)(function(e,t){return null==e?{}:r(e,t)});e.exports=o},function(e,t,n){var r=n(963),o=n(385);e.exports=function(e,t){return r(e,t,function(t,n){return o(e,n)})}},function(e,t,n){var r=n(177),o=n(417),i=n(108);e.exports=function(e,t,n){for(var a=-1,s=t.length,u={};++a<s;){var c=t[a],l=r(e,c);n(l,c)&&o(u,i(c,e),l)}return u}},function(e,t,n){"use strict"; +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var n={},o=t||{},a=e.split(i),u=o.decode||r,c=0;c<a.length;c++){var l=a[c],p=l.indexOf("=");if(!(p<0)){var f=l.substr(0,p).trim(),h=l.substr(++p,l.length).trim();'"'==h[0]&&(h=h.slice(1,-1)),null==n[f]&&(n[f]=s(h,u))}}return n},t.serialize=function(e,t,n){var r=n||{},i=r.encode||o;if("function"!=typeof i)throw new TypeError("option encode is invalid");if(!a.test(e))throw new TypeError("argument name is invalid");var s=i(t);if(s&&!a.test(s))throw new TypeError("argument val is invalid");var u=e+"="+s;if(null!=r.maxAge){var c=r.maxAge-0;if(isNaN(c))throw new Error("maxAge should be a Number");u+="; Max-Age="+Math.floor(c)}if(r.domain){if(!a.test(r.domain))throw new TypeError("option domain is invalid");u+="; Domain="+r.domain}if(r.path){if(!a.test(r.path))throw new TypeError("option path is invalid");u+="; Path="+r.path}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw new TypeError("option expires is invalid");u+="; Expires="+r.expires.toUTCString()}r.httpOnly&&(u+="; HttpOnly");r.secure&&(u+="; Secure");if(r.sameSite){switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:u+="; SameSite=Strict";break;case"lax":u+="; SameSite=Lax";break;case"strict":u+="; SameSite=Strict";break;default:throw new TypeError("option sameSite is invalid")}}return u};var r=decodeURIComponent,o=encodeURIComponent,i=/; */,a=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function s(e,t){try{return t(e)}catch(t){return e}}},function(e,t){e.exports=function(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r>=55296&&r<=56319&&n+1<e.length){var o=e.charCodeAt(n+1);if(o>=56320&&o<=57343){var i=1024*(r-55296)+o-56320+65536;t.push(240+Math.floor(i/64/64/64),128+Math.floor(i/64/64)%64,128+Math.floor(i/64)%64,128+i%64),n+=1;continue}}r>=2048?t.push(224+Math.floor(r/64/64),128+Math.floor(r/64)%64,128+r%64):r>=128?t.push(192+Math.floor(r/64),128+r%64):t.push(r)}return t}},function(e,t,n){!function(){var e;function n(e,t){function n(e,t,n){if(!r(e))return n;for(var o=0,i=0;;){var a,s=t.exec(e);for(a=s?s.index:e.length;i<n;){if(o==a){i<n&&(i++,s?o+=s[0].length:o++);break}o++,i++}if(i==n)break;if(o>=e.length||!s)return-1}return o}function r(e){return a.test(e)}function o(e,n){null==e&&(e=["[^]"]),null==n&&(n="g");var r=[];return t.forEach(function(e){r.push(e.source)}),r.push(i.source),r=r.concat(e),new RegExp(r.join("|"),n)}e.findCharIndex=function(e,t){if(t>=e.length)return-1;if(!r(e))return t;for(var n=o(),i=0;null!==n.exec(e)&&!(n.lastIndex>t);)i++;return i},e.findByteIndex=function(e,t){return t>=this.length(e)?-1:n(e,o(),t)},e.charAt=function(e,t){var n=this.findByteIndex(e,t);if(n<0||n>=e.length)return"";var r=e.slice(n,n+8),o=a.exec(r);return null===o?r[0]:o[0]},e.charCodeAt=function(e,t){var r=function(e,t){return n(e,new RegExp(i.source,"g"),t)}(e,t);if(r<0)return NaN;var o=e.charCodeAt(r);return 55296<=o&&o<=56319?1024*(o-55296)+(e.charCodeAt(r+1)-56320)+65536:o},e.fromCharCode=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e))):String.fromCharCode(e)},e.indexOf=function(e,t,n){null==n&&(n=0);var r=this.findByteIndex(e,n),o=e.indexOf(t,r);return o<0?-1:this.findCharIndex(e,o)},e.lastIndexOf=function(e,t,n){var r;if(null==n)r=e.lastIndexOf(t);else{var o=this.findByteIndex(e,n);r=e.lastIndexOf(t,o)}return r<0?-1:this.findCharIndex(e,r)},e.slice=function(e,t,n){var r,o=this.findByteIndex(e,t);return o<0&&(o=e.length),null==n?r=e.length:(r=this.findByteIndex(e,n))<0&&(r=e.length),e.slice(o,r)},e.substr=function(e,t,n){return t<0&&(t=this.length(e)+t),null==n?this.slice(e,t):this.slice(e,t,t+n)},e.substring=e.slice,e.length=function(e){return this.findCharIndex(e,e.length-1)+1},e.stringToCodePoints=function(e){for(var t=[],n=0;n<e.length&&(codePoint=this.charCodeAt(e,n),codePoint);n++)t.push(codePoint);return t},e.codePointsToString=function(e){for(var t=[],n=0;n<e.length;n++)t.push(this.fromCharCode(e[n]));return t.join("")},e.stringToBytes=function(e){for(var t=[],n=0;n<e.length;n++){for(var r=e.charCodeAt(n),o=[];r>0;)o.push(255&r),r>>=8;1==o.length&&o.push(0),t=t.concat(o.reverse())}return t},e.bytesToString=function(e){for(var t=[],n=0;n<e.length;n+=2){var r=e[n]<<8|e[n+1];t.push(String.fromCharCode(r))}return t.join("")},e.stringToCharArray=function(e){var t=[],n=o();do{var r=n.exec(e);if(null===r)break;t.push(r[0])}while(null!==r);return t};var i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,a=o([],"")}null!==t?e=t:"undefined"!=typeof window&&null!==window&&(void 0!==window.UtfString&&null!==window.UtfString||(window.UtfString={}),e=window.UtfString);e.visual={},n(e,[]),n(e.visual,[/\uD83C[\uDDE6-\uDDFF]\uD83C[\uDDE6-\uDDFF]/])}()},function(e,t,n){var r=n(449),o=1,i=4;e.exports=function(e){return r(e,o|i)}},function(e,t){!function(e){"use strict";function t(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function n(e){return"string"!=typeof e&&(e=String(e)),e}function r(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return d.iterable&&(t[Symbol.iterator]=function(){return t}),t}function o(e){this.map={},e instanceof o?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function i(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function a(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function s(e){var t=new FileReader,n=a(t);return t.readAsArrayBuffer(e),n}function u(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function c(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(d.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(d.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(d.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(d.arrayBuffer&&d.blob&&v(e))this._bodyArrayBuffer=u(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!d.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!g(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=u(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):d.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},d.blob&&(this.blob=function(){var e=i(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?i(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(s)}),this.text=function(){var e=i(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,n=a(t);return t.readAsText(e),n}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},d.formData&&(this.formData=function(){return this.text().then(p)}),this.json=function(){return this.text().then(JSON.parse)},this}function l(e,t){var n=(t=t||{}).body;if(e instanceof l){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=function(e){var t=e.toUpperCase();return y.indexOf(t)>-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function p(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function f(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function h(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var d={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(d.arrayBuffer)var m=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],v=function(e){return e&&DataView.prototype.isPrototypeOf(e)},g=ArrayBuffer.isView||function(e){return e&&m.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},d.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var y=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];l.prototype.clone=function(){return new l(this,{body:this._bodyInit})},c.call(l.prototype),c.call(h.prototype),h.prototype.clone=function(){return new h(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},h.error=function(){var e=new h(null,{status:0,statusText:""});return e.type="error",e};var b=[301,302,303,307,308];h.redirect=function(e,t){if(-1===b.indexOf(t))throw new RangeError("Invalid status code");return new h(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=l,e.Response=h,e.fetch=function(e,t){return new Promise(function(n,r){var o=new l(e,t),i=new XMLHttpRequest;i.onload=function(){var e={status:i.status,statusText:i.statusText,headers:f(i.getAllResponseHeaders()||"")};e.url="responseURL"in i?i.responseURL:e.headers.get("X-Request-URL");var t="response"in i?i.response:i.responseText;n(new h(t,e))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&d.blob&&(i.responseType="blob"),o.headers.forEach(function(e,t){i.setRequestHeader(t,e)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!=typeof self?self:this)},function(e,t){e.exports=FormData},function(e,t,n){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}},function(e,t,n){n(164),n(101),n(103),n(972),n(974),n(977),n(978),e.exports=n(22).Map},function(e,t,n){"use strict";var r=n(973),o=n(144);e.exports=n(459)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(o(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(49).f,o=n(160),i=n(182),a=n(63),s=n(181),u=n(112),c=n(219),l=n(353),p=n(414),f=n(50),h=n(135).fastKey,d=n(144),m=f?"_s":"size",v=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var l=e(function(e,r){s(e,l,t,"_i"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&u(r,n,e[c],e)});return i(l.prototype,{clear:function(){for(var e=d(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=d(this,t),r=v(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[m]--}return!!r},forEach:function(e){d(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!v(d(this,t),e)}}),f&&r(l.prototype,"size",{get:function(){return d(this,t)[m]}}),l},def:function(e,t,n){var r,o,i=v(e,t);return i?i.v=n:(e._l=i={i:o=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[m]++,"F"!==o&&(e._i[o]=i)),e},getEntry:v,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=d(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),p(t)}}},function(e,t,n){var r=n(30);r(r.P+r.R,"Map",{toJSON:n(975)("Map")})},function(e,t,n){var r=n(166),o=n(976);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic");return o(this)}}},function(e,t,n){var r=n(112);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){n(460)("Map")},function(e,t,n){n(461)("Map")},function(e,t,n){"use strict"; +/*! + * repeat-string <https://github.com/jonschlinkert/repeat-string> + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */var r,o="";e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("expected a string");if(1===t)return e;if(2===t)return e+e;var n=e.length*t;if(r!==e||void 0===r)r=e,o="";else if(o.length>=n)return o.substr(0,n);for(;n>o.length&&t>1;)1&t&&(o+=e),t>>=1,e+=e;return o=(o+=e).substr(0,n)}},function(e,t,n){"use strict";var r=n(39).assign,o=n(981),i=n(983),a=n(994),s=n(1009),u=n(190),c={default:n(1028),full:n(1029),commonmark:n(1030)};function l(e,t,n){this.src=t,this.env=n,this.options=e.options,this.tokens=[],this.inlineMode=!1,this.inline=e.inline,this.block=e.block,this.renderer=e.renderer,this.typographer=e.typographer}function p(e,t){"string"!=typeof e&&(t=e,e="default"),this.inline=new s,this.block=new a,this.core=new i,this.renderer=new o,this.ruler=new u,this.options={},this.configure(c[e]),this.set(t||{})}p.prototype.set=function(e){r(this.options,e)},p.prototype.configure=function(e){var t=this;if(!e)throw new Error("Wrong `remarkable` preset, check name/content");e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enable(e.components[n].rules,!0)})},p.prototype.use=function(e,t){return e(this,t),this},p.prototype.parse=function(e,t){var n=new l(this,e,t);return this.core.process(n),n.tokens},p.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},p.prototype.parseInline=function(e,t){var n=new l(this,e,t);return n.inlineMode=!0,this.core.process(n),n.tokens},p.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},e.exports=p,e.exports.utils=n(39)},function(e,t,n){"use strict";var r=n(39),o=n(982);function i(){this.rules=r.assign({},o),this.getBreak=o.getBreak}e.exports=i,i.prototype.renderInline=function(e,t,n){for(var r=this.rules,o=e.length,i=0,a="";o--;)a+=r[e[i].type](e,i++,t,n,this);return a},i.prototype.render=function(e,t,n){for(var r=this.rules,o=e.length,i=-1,a="";++i<o;)"inline"===e[i].type?a+=this.renderInline(e[i].children,t,n):a+=r[e[i].type](e,i,t,n,this);return a}},function(e,t,n){"use strict";var r=n(39).has,o=n(39).unescapeMd,i=n(39).replaceEntities,a=n(39).escapeHtml,s={};s.blockquote_open=function(){return"<blockquote>\n"},s.blockquote_close=function(e,t){return"</blockquote>"+u(e,t)},s.code=function(e,t){return e[t].block?"<pre><code>"+a(e[t].content)+"</code></pre>"+u(e,t):"<code>"+a(e[t].content)+"</code>"},s.fence=function(e,t,n,s,c){var l,p,f=e[t],h="",d=n.langPrefix;if(f.params){if(p=(l=f.params.split(/\s+/g)).join(" "),r(c.rules.fence_custom,l[0]))return c.rules.fence_custom[l[0]](e,t,n,s,c);h=' class="'+d+a(i(o(p)))+'"'}return"<pre><code"+h+">"+(n.highlight&&n.highlight.apply(n.highlight,[f.content].concat(l))||a(f.content))+"</code></pre>"+u(e,t)},s.fence_custom={},s.heading_open=function(e,t){return"<h"+e[t].hLevel+">"},s.heading_close=function(e,t){return"</h"+e[t].hLevel+">\n"},s.hr=function(e,t,n){return(n.xhtmlOut?"<hr />":"<hr>")+u(e,t)},s.bullet_list_open=function(){return"<ul>\n"},s.bullet_list_close=function(e,t){return"</ul>"+u(e,t)},s.list_item_open=function(){return"<li>"},s.list_item_close=function(){return"</li>\n"},s.ordered_list_open=function(e,t){var n=e[t];return"<ol"+(n.order>1?' start="'+n.order+'"':"")+">\n"},s.ordered_list_close=function(e,t){return"</ol>"+u(e,t)},s.paragraph_open=function(e,t){return e[t].tight?"":"<p>"},s.paragraph_close=function(e,t){var n=!(e[t].tight&&t&&"inline"===e[t-1].type&&!e[t-1].content);return(e[t].tight?"":"</p>")+(n?u(e,t):"")},s.link_open=function(e,t,n){var r=e[t].title?' title="'+a(i(e[t].title))+'"':"",o=n.linkTarget?' target="'+n.linkTarget+'"':"";return'<a href="'+a(e[t].href)+'"'+r+o+">"},s.link_close=function(){return"</a>"},s.image=function(e,t,n){var r=' src="'+a(e[t].src)+'"',s=e[t].title?' title="'+a(i(e[t].title))+'"':"";return"<img"+r+(' alt="'+(e[t].alt?a(i(o(e[t].alt))):"")+'"')+s+(n.xhtmlOut?" /":"")+">"},s.table_open=function(){return"<table>\n"},s.table_close=function(){return"</table>\n"},s.thead_open=function(){return"<thead>\n"},s.thead_close=function(){return"</thead>\n"},s.tbody_open=function(){return"<tbody>\n"},s.tbody_close=function(){return"</tbody>\n"},s.tr_open=function(){return"<tr>"},s.tr_close=function(){return"</tr>\n"},s.th_open=function(e,t){var n=e[t];return"<th"+(n.align?' style="text-align:'+n.align+'"':"")+">"},s.th_close=function(){return"</th>"},s.td_open=function(e,t){var n=e[t];return"<td"+(n.align?' style="text-align:'+n.align+'"':"")+">"},s.td_close=function(){return"</td>"},s.strong_open=function(){return"<strong>"},s.strong_close=function(){return"</strong>"},s.em_open=function(){return"<em>"},s.em_close=function(){return"</em>"},s.del_open=function(){return"<del>"},s.del_close=function(){return"</del>"},s.ins_open=function(){return"<ins>"},s.ins_close=function(){return"</ins>"},s.mark_open=function(){return"<mark>"},s.mark_close=function(){return"</mark>"},s.sub=function(e,t){return"<sub>"+a(e[t].content)+"</sub>"},s.sup=function(e,t){return"<sup>"+a(e[t].content)+"</sup>"},s.hardbreak=function(e,t,n){return n.xhtmlOut?"<br />\n":"<br>\n"},s.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?"<br />\n":"<br>\n":"\n"},s.text=function(e,t){return a(e[t].content)},s.htmlblock=function(e,t){return e[t].content},s.htmltag=function(e,t){return e[t].content},s.abbr_open=function(e,t){return'<abbr title="'+a(i(e[t].title))+'">'},s.abbr_close=function(){return"</abbr>"},s.footnote_ref=function(e,t){var n=Number(e[t].id+1).toString(),r="fnref"+n;return e[t].subId>0&&(r+=":"+e[t].subId),'<sup class="footnote-ref"><a href="#fn'+n+'" id="'+r+'">['+n+"]</a></sup>"},s.footnote_block_open=function(e,t,n){return(n.xhtmlOut?'<hr class="footnotes-sep" />\n':'<hr class="footnotes-sep">\n')+'<section class="footnotes">\n<ol class="footnotes-list">\n'},s.footnote_block_close=function(){return"</ol>\n</section>\n"},s.footnote_open=function(e,t){return'<li id="fn'+Number(e[t].id+1).toString()+'" class="footnote-item">'},s.footnote_close=function(){return"</li>\n"},s.footnote_anchor=function(e,t){var n="fnref"+Number(e[t].id+1).toString();return e[t].subId>0&&(n+=":"+e[t].subId),' <a href="#'+n+'" class="footnote-backref">↩</a>'},s.dl_open=function(){return"<dl>\n"},s.dt_open=function(){return"<dt>"},s.dd_open=function(){return"<dd>"},s.dl_close=function(){return"</dl>\n"},s.dt_close=function(){return"</dt>\n"},s.dd_close=function(){return"</dd>\n"};var u=s.getBreak=function(e,t){return(t=function e(t,n){return++n>=t.length-2?n:"paragraph_open"===t[n].type&&t[n].tight&&"inline"===t[n+1].type&&0===t[n+1].content.length&&"paragraph_close"===t[n+2].type&&t[n+2].tight?e(t,n+2):n}(e,t))<e.length&&"list_item_close"===e[t].type?"":"\n"};e.exports=s},function(e,t,n){"use strict";var r=n(190),o=[["block",n(984)],["abbr",n(985)],["references",n(986)],["inline",n(987)],["footnote_tail",n(988)],["abbr2",n(989)],["replacements",n(990)],["smartquotes",n(991)],["linkify",n(992)]];function i(){this.options={},this.ruler=new r;for(var e=0;e<o.length;e++)this.ruler.push(o[e][0],o[e][1])}i.prototype.process=function(e){var t,n,r;for(t=0,n=(r=this.ruler.getRules("")).length;t<n;t++)r[t](e)},e.exports=i},function(e,t,n){"use strict";e.exports=function(e){e.inlineMode?e.tokens.push({type:"inline",content:e.src.replace(/\n/g," ").trim(),level:0,lines:[0,1],children:[]}):e.block.parse(e.src,e.options,e.env,e.tokens)}},function(e,t,n){"use strict";var r=n(269),o=n(191);function i(e,t,n,i){var a,s,u,c,l,p;if(42!==e.charCodeAt(0))return-1;if(91!==e.charCodeAt(1))return-1;if(-1===e.indexOf("]:"))return-1;if(a=new r(e,t,n,i,[]),(s=o(a,1))<0||58!==e.charCodeAt(s+1))return-1;for(c=a.posMax,u=s+2;u<c&&10!==a.src.charCodeAt(u);u++);return l=e.slice(2,s),0===(p=e.slice(s+2,u).trim()).length?-1:(i.abbreviations||(i.abbreviations={}),void 0===i.abbreviations[":"+l]&&(i.abbreviations[":"+l]=p),u)}e.exports=function(e){var t,n,r,o,a=e.tokens;if(!e.inlineMode)for(t=1,n=a.length-1;t<n;t++)if("paragraph_open"===a[t-1].type&&"inline"===a[t].type&&"paragraph_close"===a[t+1].type){for(r=a[t].content;r.length&&!((o=i(r,e.inline,e.options,e.env))<0);)r=r.slice(o).trim();a[t].content=r,r.length||(a[t-1].tight=!0,a[t+1].tight=!0)}}},function(e,t,n){"use strict";var r=n(269),o=n(191),i=n(464),a=n(466),s=n(467);function u(e,t,n,u){var c,l,p,f,h,d,m,v,g;if(91!==e.charCodeAt(0))return-1;if(-1===e.indexOf("]:"))return-1;if(c=new r(e,t,n,u,[]),(l=o(c,0))<0||58!==e.charCodeAt(l+1))return-1;for(f=c.posMax,p=l+2;p<f&&(32===(h=c.src.charCodeAt(p))||10===h);p++);if(!i(c,p))return-1;for(m=c.linkContent,d=p=c.pos,p+=1;p<f&&(32===(h=c.src.charCodeAt(p))||10===h);p++);for(p<f&&d!==p&&a(c,p)?(v=c.linkContent,p=c.pos):(v="",p=d);p<f&&32===c.src.charCodeAt(p);)p++;return p<f&&10!==c.src.charCodeAt(p)?-1:(g=s(e.slice(1,l)),void 0===u.references[g]&&(u.references[g]={title:v,href:m}),p)}e.exports=function(e){var t,n,r,o,i=e.tokens;if(e.env.references=e.env.references||{},!e.inlineMode)for(t=1,n=i.length-1;t<n;t++)if("inline"===i[t].type&&"paragraph_open"===i[t-1].type&&"paragraph_close"===i[t+1].type){for(r=i[t].content;r.length&&!((o=u(r,e.inline,e.options,e.env))<0);)r=r.slice(o).trim();i[t].content=r,r.length||(i[t-1].tight=!0,i[t+1].tight=!0)}}},function(e,t,n){"use strict";e.exports=function(e){var t,n,r,o=e.tokens;for(n=0,r=o.length;n<r;n++)"inline"===(t=o[n]).type&&e.inline.parse(t.content,e.options,e.env,t.children)}},function(e,t,n){"use strict";e.exports=function(e){var t,n,r,o,i,a,s,u,c,l=0,p=!1,f={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return"footnote_reference_open"===e.type?(p=!0,u=[],c=e.label,!1):"footnote_reference_close"===e.type?(p=!1,f[":"+c]=u,!1):(p&&u.push(e),!p)}),e.env.footnotes.list)){for(a=e.env.footnotes.list,e.tokens.push({type:"footnote_block_open",level:l++}),t=0,n=a.length;t<n;t++){for(e.tokens.push({type:"footnote_open",id:t,level:l++}),a[t].tokens?((s=[]).push({type:"paragraph_open",tight:!1,level:l++}),s.push({type:"inline",content:"",level:l,children:a[t].tokens}),s.push({type:"paragraph_close",tight:!1,level:--l})):a[t].label&&(s=f[":"+a[t].label]),e.tokens=e.tokens.concat(s),i="paragraph_close"===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,o=a[t].count>0?a[t].count:1,r=0;r<o;r++)e.tokens.push({type:"footnote_anchor",id:t,subId:r,level:l});i&&e.tokens.push(i),e.tokens.push({type:"footnote_close",level:--l})}e.tokens.push({type:"footnote_block_close",level:--l})}}},function(e,t,n){"use strict";function r(e){return e.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1")}e.exports=function(e){var t,n,o,i,a,s,u,c,l,p,f,h,d=e.tokens;if(e.env.abbreviations)for(e.env.abbrRegExp||(h="(^|["+" \n()[]'\".,!?-".split("").map(r).join("")+"])("+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(r).join("|")+")($|["+" \n()[]'\".,!?-".split("").map(r).join("")+"])",e.env.abbrRegExp=new RegExp(h,"g")),p=e.env.abbrRegExp,n=0,o=d.length;n<o;n++)if("inline"===d[n].type)for(t=(i=d[n].children).length-1;t>=0;t--)if("text"===(a=i[t]).type){for(c=0,s=a.content,p.lastIndex=0,l=a.level,u=[];f=p.exec(s);)p.lastIndex>c&&u.push({type:"text",content:s.slice(c,f.index+f[1].length),level:l}),u.push({type:"abbr_open",title:e.env.abbreviations[":"+f[2]],level:l++}),u.push({type:"text",content:f[2],level:l}),u.push({type:"abbr_close",level:--l}),c=p.lastIndex-f[3].length;u.length&&(c<s.length&&u.push({type:"text",content:s.slice(c),level:l}),d[n].children=i=[].concat(i.slice(0,t),u,i.slice(t+1)))}}},function(e,t,n){"use strict";var r=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,o=/\((c|tm|r|p)\)/gi,i={c:"©",r:"®",p:"§",tm:"™"};e.exports=function(e){var t,n,a,s,u,c;if(e.options.typographer)for(u=e.tokens.length-1;u>=0;u--)if("inline"===e.tokens[u].type)for(t=(s=e.tokens[u].children).length-1;t>=0;t--)"text"===(n=s[t]).type&&(a=n.content,a=(c=a).indexOf("(")<0?c:c.replace(o,function(e,t){return i[t.toLowerCase()]}),r.test(a)&&(a=a.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/gm,"$1—$2").replace(/(^|\s)--(\s|$)/gm,"$1–$2").replace(/(^|[^-\s])--([^-\s]|$)/gm,"$1–$2")),n.content=a)}},function(e,t,n){"use strict";var r=/['"]/,o=/['"]/g,i=/[-\s()\[\]]/;function a(e,t){return!(t<0||t>=e.length)&&!i.test(e[t])}function s(e,t,n){return e.substr(0,t)+n+e.substr(t+1)}e.exports=function(e){var t,n,i,u,c,l,p,f,h,d,m,v,g,y,b,_,w;if(e.options.typographer)for(w=[],b=e.tokens.length-1;b>=0;b--)if("inline"===e.tokens[b].type)for(_=e.tokens[b].children,w.length=0,t=0;t<_.length;t++)if("text"===(n=_[t]).type&&!r.test(n.text)){for(p=_[t].level,g=w.length-1;g>=0&&!(w[g].level<=p);g--);w.length=g+1,c=0,l=(i=n.content).length;e:for(;c<l&&(o.lastIndex=c,u=o.exec(i));)if(f=!a(i,u.index-1),c=u.index+1,y="'"===u[0],(h=!a(i,c))||f){if(m=!h,v=!f)for(g=w.length-1;g>=0&&(d=w[g],!(w[g].level<p));g--)if(d.single===y&&w[g].level===p){d=w[g],y?(_[d.token].content=s(_[d.token].content,d.pos,e.options.quotes[2]),n.content=s(n.content,u.index,e.options.quotes[3])):(_[d.token].content=s(_[d.token].content,d.pos,e.options.quotes[0]),n.content=s(n.content,u.index,e.options.quotes[1])),w.length=g;continue e}m?w.push({token:t,pos:u.index,single:y,level:p}):v&&y&&(n.content=s(n.content,u.index,"’"))}else y&&(n.content=s(n.content,u.index,"’"))}}},function(e,t,n){"use strict";var r=n(993),o=/www|@|\:\/\//;function i(e){return/^<\/a\s*>/i.test(e)}function a(){var e=[],t=new r({stripPrefix:!1,url:!0,email:!0,twitter:!1,replaceFn:function(t,n){switch(n.getType()){case"url":e.push({text:n.matchedText,url:n.getUrl()});break;case"email":e.push({text:n.matchedText,url:"mailto:"+n.getEmail().replace(/^mailto:/i,"")})}return!1}});return{links:e,autolinker:t}}e.exports=function(e){var t,n,r,s,u,c,l,p,f,h,d,m,v,g,y=e.tokens,b=null;if(e.options.linkify)for(n=0,r=y.length;n<r;n++)if("inline"===y[n].type)for(d=0,t=(s=y[n].children).length-1;t>=0;t--)if("link_close"!==(u=s[t]).type){if("htmltag"===u.type&&(g=u.content,/^<a[>\s]/i.test(g)&&d>0&&d--,i(u.content)&&d++),!(d>0)&&"text"===u.type&&o.test(u.content)){if(b||(m=(b=a()).links,v=b.autolinker),c=u.content,m.length=0,v.link(c),!m.length)continue;for(l=[],h=u.level,p=0;p<m.length;p++)e.inline.validateLink(m[p].url)&&((f=c.indexOf(m[p].text))&&(h=h,l.push({type:"text",content:c.slice(0,f),level:h})),l.push({type:"link_open",href:m[p].url,title:"",level:h++}),l.push({type:"text",content:m[p].text,level:h}),l.push({type:"link_close",level:--h}),c=c.slice(f+m[p].text.length));c.length&&l.push({type:"text",content:c,level:h}),y[n].children=s=[].concat(s.slice(0,t),l,s.slice(t+1))}}else for(t--;s[t].level!==u.level&&"link_open"!==s[t].type;)t--}},function(e,t,n){var r,o,i; +/*! + * Autolinker.js + * 0.28.1 + * + * Copyright(c) 2016 Gregory Jacobs <greg@greg-jacobs.com> + * MIT License + * + * https://github.com/gregjacobs/Autolinker.js + */o=[],void 0===(i="function"==typeof(r=function(){var e,t,n,r,o,i,a,s=function(e){e=e||{},this.version=s.version,this.urls=this.normalizeUrlsCfg(e.urls),this.email="boolean"!=typeof e.email||e.email,this.twitter="boolean"!=typeof e.twitter||e.twitter,this.phone="boolean"!=typeof e.phone||e.phone,this.hashtag=e.hashtag||!1,this.newWindow="boolean"!=typeof e.newWindow||e.newWindow,this.stripPrefix="boolean"!=typeof e.stripPrefix||e.stripPrefix;var t=this.hashtag;if(!1!==t&&"twitter"!==t&&"facebook"!==t&&"instagram"!==t)throw new Error("invalid `hashtag` cfg - see docs");this.truncate=this.normalizeTruncateCfg(e.truncate),this.className=e.className||"",this.replaceFn=e.replaceFn||null,this.htmlParser=null,this.matchers=null,this.tagBuilder=null};return s.link=function(e,t){return new s(t).link(e)},s.version="0.28.1",s.prototype={constructor:s,normalizeUrlsCfg:function(e){return null==e&&(e=!0),"boolean"==typeof e?{schemeMatches:e,wwwMatches:e,tldMatches:e}:{schemeMatches:"boolean"!=typeof e.schemeMatches||e.schemeMatches,wwwMatches:"boolean"!=typeof e.wwwMatches||e.wwwMatches,tldMatches:"boolean"!=typeof e.tldMatches||e.tldMatches}},normalizeTruncateCfg:function(e){return"number"==typeof e?{length:e,location:"end"}:s.Util.defaults(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})},parse:function(e){for(var t=this.getHtmlParser().parse(e),n=0,r=[],o=0,i=t.length;o<i;o++){var a=t[o],s=a.getType();if("element"===s&&"a"===a.getTagName())a.isClosing()?n=Math.max(n-1,0):n++;else if("text"===s&&0===n){var u=this.parseText(a.getText(),a.getOffset());r.push.apply(r,u)}}return r=this.compactMatches(r),r=this.removeUnwantedMatches(r)},compactMatches:function(e){e.sort(function(e,t){return e.getOffset()-t.getOffset()});for(var t=0;t<e.length-1;t++)for(var n=e[t],r=n.getOffset()+n.getMatchedText().length;t+1<e.length&&e[t+1].getOffset()<=r;)e.splice(t+1,1);return e},removeUnwantedMatches:function(e){var t=s.Util.remove;return this.hashtag||t(e,function(e){return"hashtag"===e.getType()}),this.email||t(e,function(e){return"email"===e.getType()}),this.phone||t(e,function(e){return"phone"===e.getType()}),this.twitter||t(e,function(e){return"twitter"===e.getType()}),this.urls.schemeMatches||t(e,function(e){return"url"===e.getType()&&"scheme"===e.getUrlMatchType()}),this.urls.wwwMatches||t(e,function(e){return"url"===e.getType()&&"www"===e.getUrlMatchType()}),this.urls.tldMatches||t(e,function(e){return"url"===e.getType()&&"tld"===e.getUrlMatchType()}),e},parseText:function(e,t){t=t||0;for(var n=this.getMatchers(),r=[],o=0,i=n.length;o<i;o++){for(var a=n[o].parseMatches(e),s=0,u=a.length;s<u;s++)a[s].setOffset(t+a[s].getOffset());r.push.apply(r,a)}return r},link:function(e){if(!e)return"";for(var t=this.parse(e),n=[],r=0,o=0,i=t.length;o<i;o++){var a=t[o];n.push(e.substring(r,a.getOffset())),n.push(this.createMatchReturnVal(a)),r=a.getOffset()+a.getMatchedText().length}return n.push(e.substring(r)),n.join("")},createMatchReturnVal:function(e){var t;return this.replaceFn&&(t=this.replaceFn.call(this,this,e)),"string"==typeof t?t:!1===t?e.getMatchedText():t instanceof s.HtmlTag?t.toAnchorString():e.buildTag().toAnchorString()},getHtmlParser:function(){var e=this.htmlParser;return e||(e=this.htmlParser=new s.htmlParser.HtmlParser),e},getMatchers:function(){if(this.matchers)return this.matchers;var e=s.matcher,t=this.getTagBuilder(),n=[new e.Hashtag({tagBuilder:t,serviceName:this.hashtag}),new e.Email({tagBuilder:t}),new e.Phone({tagBuilder:t}),new e.Twitter({tagBuilder:t}),new e.Url({tagBuilder:t,stripPrefix:this.stripPrefix})];return this.matchers=n},getTagBuilder:function(){var e=this.tagBuilder;return e||(e=this.tagBuilder=new s.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),e}},s.match={},s.matcher={},s.htmlParser={},s.truncate={},s.Util={abstractMethod:function(){throw"abstract"},trimRegex:/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,assign:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},defaults:function(e,t){for(var n in t)t.hasOwnProperty(n)&&void 0===e[n]&&(e[n]=t[n]);return e},extend:function(e,t){var n,r=e.prototype,o=function(){};o.prototype=r;var i=(n=t.hasOwnProperty("constructor")?t.constructor:function(){r.constructor.apply(this,arguments)}).prototype=new o;return i.constructor=n,i.superclass=r,delete t.constructor,s.Util.assign(i,t),n},ellipsis:function(e,t,n){return e.length>t&&(n=null==n?"..":n,e=e.substring(0,t-n.length)+n),e},indexOf:function(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},remove:function(e,t){for(var n=e.length-1;n>=0;n--)!0===t(e[n])&&e.splice(n,1)},splitAndCapture:function(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var n,r=[],o=0;n=t.exec(e);)r.push(e.substring(o,n.index)),r.push(n[0]),o=n.index+n[0].length;return r.push(e.substring(o)),r},trim:function(e){return e.replace(this.trimRegex,"")}},s.HtmlTag=s.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(e){s.Util.assign(this,e),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(e){return this.tagName=e,this},getTagName:function(){return this.tagName||""},setAttr:function(e,t){return this.getAttrs()[e]=t,this},getAttr:function(e){return this.getAttrs()[e]},setAttrs:function(e){var t=this.getAttrs();return s.Util.assign(t,e),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(e){return this.setAttr("class",e)},addClass:function(e){for(var t,n=this.getClass(),r=this.whitespaceRegex,o=s.Util.indexOf,i=n?n.split(r):[],a=e.split(r);t=a.shift();)-1===o(i,t)&&i.push(t);return this.getAttrs().class=i.join(" "),this},removeClass:function(e){for(var t,n=this.getClass(),r=this.whitespaceRegex,o=s.Util.indexOf,i=n?n.split(r):[],a=e.split(r);i.length&&(t=a.shift());){var u=o(i,t);-1!==u&&i.splice(u,1)}return this.getAttrs().class=i.join(" "),this},getClass:function(){return this.getAttrs().class||""},hasClass:function(e){return-1!==(" "+this.getClass()+" ").indexOf(" "+e+" ")},setInnerHtml:function(e){return this.innerHtml=e,this},getInnerHtml:function(){return this.innerHtml||""},toAnchorString:function(){var e=this.getTagName(),t=this.buildAttrsStr();return["<",e,t=t?" "+t:"",">",this.getInnerHtml(),"</",e,">"].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var e=this.getAttrs(),t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+'="'+e[n]+'"');return t.join(" ")}}),s.RegexLib={alphaNumericCharsStr:a="A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",domainNameRegex:new RegExp("["+a+".\\-]*["+a+"\\-]"),tldRegex:/(?:travelersinsurance|sandvikcoromant|kerryproperties|cancerresearch|weatherchannel|kerrylogistics|spreadbetting|international|wolterskluwer|lifeinsurance|construction|pamperedchef|scholarships|versicherung|bridgestone|creditunion|kerryhotels|investments|productions|blackfriday|enterprises|lamborghini|photography|motorcycles|williamhill|playstation|contractors|barclaycard|accountants|redumbrella|engineering|management|telefonica|protection|consulting|tatamotors|creditcard|vlaanderen|schaeffler|associates|properties|foundation|republican|bnpparibas|boehringer|eurovision|extraspace|industries|immobilien|university|technology|volkswagen|healthcare|restaurant|cuisinella|vistaprint|apartments|accountant|travelers|homedepot|institute|vacations|furniture|fresenius|insurance|christmas|bloomberg|solutions|barcelona|firestone|financial|kuokgroup|fairwinds|community|passagens|goldpoint|equipment|lifestyle|yodobashi|aquarelle|marketing|analytics|education|amsterdam|statefarm|melbourne|allfinanz|directory|microsoft|stockholm|montblanc|accenture|lancaster|landrover|everbank|istanbul|graphics|grainger|ipiranga|softbank|attorney|pharmacy|saarland|catering|airforce|yokohama|mortgage|frontier|mutuelle|stcgroup|memorial|pictures|football|symantec|cipriani|ventures|telecity|cityeats|verisign|flsmidth|boutique|cleaning|firmdale|clinique|clothing|redstone|infiniti|deloitte|feedback|services|broadway|plumbing|commbank|training|barclays|exchange|computer|brussels|software|delivery|barefoot|builders|business|bargains|engineer|holdings|download|security|helsinki|lighting|movistar|discount|hdfcbank|supplies|marriott|property|diamonds|capetown|partners|democrat|jpmorgan|bradesco|budapest|rexroth|zuerich|shriram|academy|science|support|youtube|singles|surgery|alibaba|statoil|dentist|schwarz|android|cruises|cricket|digital|markets|starhub|systems|courses|coupons|netbank|country|domains|corsica|network|neustar|realtor|lincoln|limited|schmidt|yamaxun|cooking|contact|auction|spiegel|liaison|leclerc|latrobe|lasalle|abogado|compare|lanxess|exposed|express|company|cologne|college|avianca|lacaixa|fashion|recipes|ferrero|komatsu|storage|wanggou|clubmed|sandvik|fishing|fitness|bauhaus|kitchen|flights|florist|flowers|watches|weather|temasek|samsung|bentley|forsale|channel|theater|frogans|theatre|okinawa|website|tickets|jewelry|gallery|tiffany|iselect|shiksha|brother|organic|wedding|genting|toshiba|origins|philips|hyundai|hotmail|hoteles|hosting|rentals|windows|cartier|bugatti|holiday|careers|whoswho|hitachi|panerai|caravan|reviews|guitars|capital|trading|hamburg|hangout|finance|stream|family|abbott|health|review|travel|report|hermes|hiphop|gratis|career|toyota|hockey|dating|repair|google|social|soccer|reisen|global|otsuka|giving|unicom|casino|photos|center|broker|rocher|orange|bostik|garden|insure|ryukyu|bharti|safety|physio|sakura|oracle|online|jaguar|gallup|piaget|tienda|futbol|pictet|joburg|webcam|berlin|office|juegos|kaufen|chanel|chrome|xihuan|church|tennis|circle|kinder|flickr|bayern|claims|clinic|viajes|nowruz|xperia|norton|yachts|studio|coffee|camera|sanofi|nissan|author|expert|events|comsec|lawyer|tattoo|viking|estate|villas|condos|realty|yandex|energy|emerck|virgin|vision|durban|living|school|coupon|london|taobao|natura|taipei|nagoya|luxury|walter|aramco|sydney|madrid|credit|maison|makeup|schule|market|anquan|direct|design|swatch|suzuki|alsace|vuelos|dental|alipay|voyage|shouji|voting|airtel|mutual|degree|supply|agency|museum|mobily|dealer|monash|select|mormon|active|moscow|racing|datsun|quebec|nissay|rodeo|email|gifts|works|photo|chloe|edeka|cheap|earth|vista|tushu|koeln|glass|shoes|globo|tunes|gmail|nokia|space|kyoto|black|ricoh|seven|lamer|sener|epson|cisco|praxi|trust|citic|crown|shell|lease|green|legal|lexus|ninja|tatar|gripe|nikon|group|video|wales|autos|gucci|party|nexus|guide|linde|adult|parts|amica|lixil|boats|azure|loans|locus|cymru|lotte|lotto|stada|click|poker|quest|dabur|lupin|nadex|paris|faith|dance|canon|place|gives|trade|skype|rocks|mango|cloud|boots|smile|final|swiss|homes|honda|media|horse|cards|deals|watch|bosch|house|pizza|miami|osaka|tours|total|xerox|coach|sucks|style|delta|toray|iinet|tools|money|codes|beats|tokyo|salon|archi|movie|baidu|study|actor|yahoo|store|apple|world|forex|today|bible|tmall|tirol|irish|tires|forum|reise|vegas|vodka|sharp|omega|weber|jetzt|audio|promo|build|bingo|chase|gallo|drive|dubai|rehab|press|solar|sale|beer|bbva|bank|band|auto|sapo|sarl|saxo|audi|asia|arte|arpa|army|yoga|ally|zara|scor|scot|sexy|seat|zero|seek|aero|adac|zone|aarp|maif|meet|meme|menu|surf|mini|mobi|mtpc|porn|desi|star|ltda|name|talk|navy|love|loan|live|link|news|limo|like|spot|life|nico|lidl|lgbt|land|taxi|team|tech|kred|kpmg|sony|song|kiwi|kddi|jprs|jobs|sohu|java|itau|tips|info|immo|icbc|hsbc|town|host|page|toys|here|help|pars|haus|guru|guge|tube|goog|golf|gold|sncf|gmbh|gift|ggee|gent|gbiz|game|vana|pics|fund|ford|ping|pink|fish|film|fast|farm|play|fans|fail|plus|skin|pohl|fage|moda|post|erni|dvag|prod|doha|prof|docs|viva|diet|luxe|site|dell|sina|dclk|show|qpon|date|vote|cyou|voto|read|coop|cool|wang|club|city|chat|cern|cash|reit|rent|casa|cars|care|camp|rest|call|cafe|weir|wien|rich|wiki|buzz|wine|book|bond|room|work|rsvp|shia|ruhr|blue|bing|shaw|bike|safe|xbox|best|pwc|mtn|lds|aig|boo|fyi|nra|nrw|ntt|car|gal|obi|zip|aeg|vin|how|one|ong|onl|dad|ooo|bet|esq|org|htc|bar|uol|ibm|ovh|gdn|ice|icu|uno|gea|ifm|bot|top|wtf|lol|day|pet|eus|wtc|ubs|tvs|aco|ing|ltd|ink|tab|abb|afl|cat|int|pid|pin|bid|cba|gle|com|cbn|ads|man|wed|ceb|gmo|sky|ist|gmx|tui|mba|fan|ski|iwc|app|pro|med|ceo|jcb|jcp|goo|dev|men|aaa|meo|pub|jlc|bom|jll|gop|jmp|mil|got|gov|win|jot|mma|joy|trv|red|cfa|cfd|bio|moe|moi|mom|ren|biz|aws|xin|bbc|dnp|buy|kfh|mov|thd|xyz|fit|kia|rio|rip|kim|dog|vet|nyc|bcg|mtr|bcn|bms|bmw|run|bzh|rwe|tel|stc|axa|kpn|fly|krd|cab|bnl|foo|crs|eat|tci|sap|srl|nec|sas|net|cal|sbs|sfr|sca|scb|csc|edu|new|xxx|hiv|fox|wme|ngo|nhk|vip|sex|frl|lat|yun|law|you|tax|soy|sew|om|ac|hu|se|sc|sg|sh|sb|sa|rw|ru|rs|ro|re|qa|py|si|pw|pt|ps|sj|sk|pr|pn|pm|pl|sl|sm|pk|sn|ph|so|pg|pf|pe|pa|zw|nz|nu|nr|np|no|nl|ni|ng|nf|sr|ne|st|nc|na|mz|my|mx|mw|mv|mu|mt|ms|mr|mq|mp|mo|su|mn|mm|ml|mk|mh|mg|me|sv|md|mc|sx|sy|ma|ly|lv|sz|lu|lt|ls|lr|lk|li|lc|lb|la|tc|kz|td|ky|kw|kr|kp|kn|km|ki|kh|tf|tg|th|kg|ke|jp|jo|jm|je|it|is|ir|tj|tk|tl|tm|iq|tn|to|io|in|im|il|ie|ad|sd|ht|hr|hn|hm|tr|hk|gy|gw|gu|gt|gs|gr|gq|tt|gp|gn|gm|gl|tv|gi|tw|tz|ua|gh|ug|uk|gg|gf|ge|gd|us|uy|uz|va|gb|ga|vc|ve|fr|fo|fm|fk|fj|vg|vi|fi|eu|et|es|er|eg|ee|ec|dz|do|dm|dk|vn|dj|de|cz|cy|cx|cw|vu|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|wf|bz|by|bw|bv|bt|bs|br|bo|bn|bm|bj|bi|ws|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ye|ar|aq|ao|am|al|yt|ai|za|ag|af|ae|zm|id)\b/},s.AnchorTagBuilder=s.Util.extend(Object,{constructor:function(e){s.Util.assign(this,e)},build:function(e){return new s.HtmlTag({tagName:"a",attrs:this.createAttrs(e.getType(),e.getAnchorHref()),innerHtml:this.processAnchorText(e.getAnchorText())})},createAttrs:function(e,t){var n={href:t},r=this.createCssClass(e);return r&&(n.class=r),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),n},createCssClass:function(e){var t=this.className;return t?t+" "+t+"-"+e:""},processAnchorText:function(e){return e=this.doTruncate(e)},doTruncate:function(e){var t=this.truncate;if(!t||!t.length)return e;var n=t.length,r=t.location;return"smart"===r?s.truncate.TruncateSmart(e,n,".."):"middle"===r?s.truncate.TruncateMiddle(e,n,".."):s.truncate.TruncateEnd(e,n,"..")}}),s.htmlParser.HtmlParser=s.Util.extend(Object,{htmlRegex:(o=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,i=/[^\s"'>\/=\x00-\x1F\x7F]+/.source+"(?:\\s*=\\s*"+o.source+")?",new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",i,"|",o.source+")",")*",">",")","|","(?:","<(/)?","(?:",/!--([\s\S]+?)--/.source,"|","(?:","("+/[0-9a-zA-Z][0-9a-zA-Z:]*/.source+")","(?:","(?:\\s+|\\b)",i,")*","\\s*/?",")",")",">",")"].join(""),"gi")),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(e){for(var t,n,r=this.htmlRegex,o=0,i=[];null!==(t=r.exec(e));){var a=t[0],s=t[3],u=t[1]||t[4],c=!!t[2],l=t.index,p=e.substring(o,l);p&&(n=this.parseTextAndEntityNodes(o,p),i.push.apply(i,n)),s?i.push(this.createCommentNode(l,a,s)):i.push(this.createElementNode(l,a,u,c)),o=l+a.length}if(o<e.length){var f=e.substring(o);f&&(n=this.parseTextAndEntityNodes(o,f),i.push.apply(i,n))}return i},parseTextAndEntityNodes:function(e,t){for(var n=[],r=s.Util.splitAndCapture(t,this.htmlCharacterEntitiesRegex),o=0,i=r.length;o<i;o+=2){var a=r[o],u=r[o+1];a&&(n.push(this.createTextNode(e,a)),e+=a.length),u&&(n.push(this.createEntityNode(e,u)),e+=u.length)}return n},createCommentNode:function(e,t,n){return new s.htmlParser.CommentNode({offset:e,text:t,comment:s.Util.trim(n)})},createElementNode:function(e,t,n,r){return new s.htmlParser.ElementNode({offset:e,text:t,tagName:n.toLowerCase(),closing:r})},createEntityNode:function(e,t){return new s.htmlParser.EntityNode({offset:e,text:t})},createTextNode:function(e,t){return new s.htmlParser.TextNode({offset:e,text:t})}}),s.htmlParser.HtmlNode=s.Util.extend(Object,{offset:void 0,text:void 0,constructor:function(e){if(s.Util.assign(this,e),null==this.offset)throw new Error("`offset` cfg required");if(null==this.text)throw new Error("`text` cfg required")},getType:s.Util.abstractMethod,getOffset:function(){return this.offset},getText:function(){return this.text}}),s.htmlParser.CommentNode=s.Util.extend(s.htmlParser.HtmlNode,{comment:"",getType:function(){return"comment"},getComment:function(){return this.comment}}),s.htmlParser.ElementNode=s.Util.extend(s.htmlParser.HtmlNode,{tagName:"",closing:!1,getType:function(){return"element"},getTagName:function(){return this.tagName},isClosing:function(){return this.closing}}),s.htmlParser.EntityNode=s.Util.extend(s.htmlParser.HtmlNode,{getType:function(){return"entity"}}),s.htmlParser.TextNode=s.Util.extend(s.htmlParser.HtmlNode,{getType:function(){return"text"}}),s.match.Match=s.Util.extend(Object,{constructor:function(e){if(null==e.tagBuilder)throw new Error("`tagBuilder` cfg required");if(null==e.matchedText)throw new Error("`matchedText` cfg required");if(null==e.offset)throw new Error("`offset` cfg required");this.tagBuilder=e.tagBuilder,this.matchedText=e.matchedText,this.offset=e.offset},getType:s.Util.abstractMethod,getMatchedText:function(){return this.matchedText},setOffset:function(e){this.offset=e},getOffset:function(){return this.offset},getAnchorHref:s.Util.abstractMethod,getAnchorText:s.Util.abstractMethod,buildTag:function(){return this.tagBuilder.build(this)}}),s.match.Email=s.Util.extend(s.match.Match,{constructor:function(e){if(s.match.Match.prototype.constructor.call(this,e),!e.email)throw new Error("`email` cfg required");this.email=e.email},getType:function(){return"email"},getEmail:function(){return this.email},getAnchorHref:function(){return"mailto:"+this.email},getAnchorText:function(){return this.email}}),s.match.Hashtag=s.Util.extend(s.match.Match,{constructor:function(e){if(s.match.Match.prototype.constructor.call(this,e),!e.hashtag)throw new Error("`hashtag` cfg required");this.serviceName=e.serviceName,this.hashtag=e.hashtag},getType:function(){return"hashtag"},getServiceName:function(){return this.serviceName},getHashtag:function(){return this.hashtag},getAnchorHref:function(){var e=this.serviceName,t=this.hashtag;switch(e){case"twitter":return"https://twitter.com/hashtag/"+t;case"facebook":return"https://www.facebook.com/hashtag/"+t;case"instagram":return"https://instagram.com/explore/tags/"+t;default:throw new Error("Unknown service name to point hashtag to: ",e)}},getAnchorText:function(){return"#"+this.hashtag}}),s.match.Phone=s.Util.extend(s.match.Match,{constructor:function(e){if(s.match.Match.prototype.constructor.call(this,e),!e.number)throw new Error("`number` cfg required");if(null==e.plusSign)throw new Error("`plusSign` cfg required");this.number=e.number,this.plusSign=e.plusSign},getType:function(){return"phone"},getNumber:function(){return this.number},getAnchorHref:function(){return"tel:"+(this.plusSign?"+":"")+this.number},getAnchorText:function(){return this.matchedText}}),s.match.Twitter=s.Util.extend(s.match.Match,{constructor:function(e){if(s.match.Match.prototype.constructor.call(this,e),!e.twitterHandle)throw new Error("`twitterHandle` cfg required");this.twitterHandle=e.twitterHandle},getType:function(){return"twitter"},getTwitterHandle:function(){return this.twitterHandle},getAnchorHref:function(){return"https://twitter.com/"+this.twitterHandle},getAnchorText:function(){return"@"+this.twitterHandle}}),s.match.Url=s.Util.extend(s.match.Match,{constructor:function(e){if(s.match.Match.prototype.constructor.call(this,e),"scheme"!==e.urlMatchType&&"www"!==e.urlMatchType&&"tld"!==e.urlMatchType)throw new Error('`urlMatchType` cfg must be one of: "scheme", "www", or "tld"');if(!e.url)throw new Error("`url` cfg required");if(null==e.protocolUrlMatch)throw new Error("`protocolUrlMatch` cfg required");if(null==e.protocolRelativeMatch)throw new Error("`protocolRelativeMatch` cfg required");if(null==e.stripPrefix)throw new Error("`stripPrefix` cfg required");this.urlMatchType=e.urlMatchType,this.url=e.url,this.protocolUrlMatch=e.protocolUrlMatch,this.protocolRelativeMatch=e.protocolRelativeMatch,this.stripPrefix=e.stripPrefix},urlPrefixRegex:/^(https?:\/\/)?(www\.)?/i,protocolRelativeRegex:/^\/\//,protocolPrepended:!1,getType:function(){return"url"},getUrlMatchType:function(){return this.urlMatchType},getUrl:function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url="http://"+e,this.protocolPrepended=!0),e},getAnchorHref:function(){return this.getUrl().replace(/&amp;/g,"&")},getAnchorText:function(){var e=this.getMatchedText();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix&&(e=this.stripUrlPrefix(e)),e=this.removeTrailingSlash(e)},stripUrlPrefix:function(e){return e.replace(this.urlPrefixRegex,"")},stripProtocolRelativePrefix:function(e){return e.replace(this.protocolRelativeRegex,"")},removeTrailingSlash:function(e){return"/"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e}}),s.matcher.Matcher=s.Util.extend(Object,{constructor:function(e){if(!e.tagBuilder)throw new Error("`tagBuilder` cfg required");this.tagBuilder=e.tagBuilder},parseMatches:s.Util.abstractMethod}),s.matcher.Email=s.Util.extend(s.matcher.Matcher,{matcherRegex:(e=s.RegexLib.alphaNumericCharsStr,t=new RegExp("["+e+"\\-_';:&=+$.,]+@"),n=s.RegexLib.domainNameRegex,r=s.RegexLib.tldRegex,new RegExp([t.source,n.source,"\\.",r.source].join(""),"gi")),parseMatches:function(e){for(var t,n=this.matcherRegex,r=this.tagBuilder,o=[];null!==(t=n.exec(e));){var i=t[0];o.push(new s.match.Email({tagBuilder:r,matchedText:i,offset:t.index,email:i}))}return o}}),s.matcher.Hashtag=s.Util.extend(s.matcher.Matcher,{matcherRegex:new RegExp("#[_"+s.RegexLib.alphaNumericCharsStr+"]{1,139}","g"),nonWordCharRegex:new RegExp("[^"+s.RegexLib.alphaNumericCharsStr+"]"),constructor:function(e){s.matcher.Matcher.prototype.constructor.call(this,e),this.serviceName=e.serviceName},parseMatches:function(e){for(var t,n=this.matcherRegex,r=this.nonWordCharRegex,o=this.serviceName,i=this.tagBuilder,a=[];null!==(t=n.exec(e));){var u=t.index,c=e.charAt(u-1);if(0===u||r.test(c)){var l=t[0],p=t[0].slice(1);a.push(new s.match.Hashtag({tagBuilder:i,matchedText:l,offset:u,serviceName:o,hashtag:p}))}}return a}}),s.matcher.Phone=s.Util.extend(s.matcher.Matcher,{matcherRegex:/(?:(\+)?\d{1,3}[-\040.])?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]\d{4}/g,parseMatches:function(e){for(var t,n=this.matcherRegex,r=this.tagBuilder,o=[];null!==(t=n.exec(e));){var i=t[0],a=i.replace(/\D/g,""),u=!!t[1];o.push(new s.match.Phone({tagBuilder:r,matchedText:i,offset:t.index,number:a,plusSign:u}))}return o}}),s.matcher.Twitter=s.Util.extend(s.matcher.Matcher,{matcherRegex:new RegExp("@[_"+s.RegexLib.alphaNumericCharsStr+"]{1,20}","g"),nonWordCharRegex:new RegExp("[^"+s.RegexLib.alphaNumericCharsStr+"]"),parseMatches:function(e){for(var t,n=this.matcherRegex,r=this.nonWordCharRegex,o=this.tagBuilder,i=[];null!==(t=n.exec(e));){var a=t.index,u=e.charAt(a-1);if(0===a||r.test(u)){var c=t[0],l=t[0].slice(1);i.push(new s.match.Twitter({tagBuilder:o,matchedText:c,offset:a,twitterHandle:l}))}}return i}}),s.matcher.Url=s.Util.extend(s.matcher.Matcher,{matcherRegex:function(){var e=s.RegexLib.domainNameRegex,t=s.RegexLib.tldRegex,n=s.RegexLib.alphaNumericCharsStr,r=new RegExp("["+n+"\\-+&@#/%=~_()|'$*\\[\\]?!:,.;]*["+n+"\\-+&@#/%=~_()|'$*\\[\\]]");return new RegExp(["(?:","(",/(?:[A-Za-z][-.+A-Za-z0-9]*:(?![A-Za-z][-.+A-Za-z0-9]*:\/\/)(?!\d+\/?)(?:\/\/)?)/.source,e.source,")","|","(","(//)?",/(?:www\.)/.source,e.source,")","|","(","(//)?",e.source+"\\.",t.source,")",")","(?:"+r.source+")?"].join(""),"gi")}(),wordCharRegExp:/\w/,openParensRe:/\(/g,closeParensRe:/\)/g,constructor:function(e){if(s.matcher.Matcher.prototype.constructor.call(this,e),this.stripPrefix=e.stripPrefix,null==this.stripPrefix)throw new Error("`stripPrefix` cfg required")},parseMatches:function(e){for(var t,n=this.matcherRegex,r=this.stripPrefix,o=this.tagBuilder,i=[];null!==(t=n.exec(e));){var a=t[0],u=t[1],c=t[2],l=t[3],p=t[5],f=t.index,h=l||p,d=e.charAt(f-1);if(s.matcher.UrlMatchValidator.isValid(a,u)&&!(f>0&&"@"===d||f>0&&h&&this.wordCharRegExp.test(d))){if(this.matchHasUnbalancedClosingParen(a))a=a.substr(0,a.length-1);else{var m=this.matchHasInvalidCharAfterTld(a,u);m>-1&&(a=a.substr(0,m))}var v=u?"scheme":c?"www":"tld",g=!!u;i.push(new s.match.Url({tagBuilder:o,matchedText:a,offset:f,urlMatchType:v,url:a,protocolUrlMatch:g,protocolRelativeMatch:!!h,stripPrefix:r}))}}return i},matchHasUnbalancedClosingParen:function(e){if(")"===e.charAt(e.length-1)){var t=e.match(this.openParensRe),n=e.match(this.closeParensRe);if((t&&t.length||0)<(n&&n.length||0))return!0}return!1},matchHasInvalidCharAfterTld:function(e,t){if(!e)return-1;var n=0;t&&(n=e.indexOf(":"),e=e.slice(n));var r=/^((.?\/\/)?[A-Za-z0-9\u00C0-\u017F\.\-]*[A-Za-z0-9\u00C0-\u017F\-]\.[A-Za-z]+)/.exec(e);return null===r?-1:(n+=r[1].length,e=e.slice(r[1].length),/^[^.A-Za-z:\/?#]/.test(e)?n:-1)}}),s.matcher.UrlMatchValidator={hasFullProtocolRegex:/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,uriSchemeRegex:/^[A-Za-z][-.+A-Za-z0-9]*:/,hasWordCharAfterProtocolRegex:/:[^\s]*?[A-Za-z\u00C0-\u017F]/,ipRegex:/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,isValid:function(e,t){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)&&!this.isValidIpAddress(e))},isValidIpAddress:function(e){var t=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==e.match(t)},isValidUriScheme:function(e){var t=e.match(this.uriSchemeRegex)[0].toLowerCase();return"javascript:"!==t&&"vbscript:"!==t},urlMatchDoesNotHaveProtocolOrDot:function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf("."))},urlMatchDoesNotHaveAtLeastOneWordChar:function(e,t){return!(!e||!t||this.hasWordCharAfterProtocolRegex.test(e))}},s.truncate.TruncateEnd=function(e,t,n){return s.Util.ellipsis(e,t,n)},s.truncate.TruncateMiddle=function(e,t,n){if(e.length<=t)return e;var r=t-n.length,o="";return r>0&&(o=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+o).substr(0,t)},s.truncate.TruncateSmart=function(e,t,n){var r=function(e){var t="";return e.scheme&&e.host&&(t+=e.scheme+"://"),e.host&&(t+=e.host),e.path&&(t+="/"+e.path),e.query&&(t+="?"+e.query),e.fragment&&(t+="#"+e.fragment),t},o=function(e,t){var r=t/2,o=Math.ceil(r),i=-1*Math.floor(r),a="";return i<0&&(a=e.substr(i)),e.substr(0,o)+n+a};if(e.length<=t)return e;var i=t-n.length,a=function(e){var t={},n=e,r=n.match(/^([a-z]+):\/\//i);return r&&(t.scheme=r[1],n=n.substr(r[0].length)),(r=n.match(/^(.*?)(?=(\?|#|\/|$))/i))&&(t.host=r[1],n=n.substr(r[0].length)),(r=n.match(/^\/(.*?)(?=(\?|#|$))/i))&&(t.path=r[1],n=n.substr(r[0].length)),(r=n.match(/^\?(.*?)(?=(#|$))/i))&&(t.query=r[1],n=n.substr(r[0].length)),(r=n.match(/^#(.*?)$/i))&&(t.fragment=r[1]),t}(e);if(a.query){var s=a.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);s&&(a.query=a.query.substr(0,s[1].length),e=r(a))}if(e.length<=t)return e;if(a.host&&(a.host=a.host.replace(/^www\./,""),e=r(a)),e.length<=t)return e;var u="";if(a.host&&(u+=a.host),u.length>=i)return a.host.length==t?(a.host.substr(0,t-n.length)+n).substr(0,t):o(u,i).substr(0,t);var c="";if(a.path&&(c+="/"+a.path),a.query&&(c+="?"+a.query),c){if((u+c).length>=i)return(u+c).length==t?(u+c).substr(0,t):(u+o(c,i-u.length)).substr(0,t);u+=c}if(a.fragment){var l="#"+a.fragment;if((u+l).length>=i)return(u+l).length==t?(u+l).substr(0,t):(u+o(l,i-u.length)).substr(0,t);u+=l}if(a.scheme&&a.host){var p=a.scheme+"://";if((u+p).length<i)return(p+u).substr(0,t)}if(u.length<=t)return u;var f="";return i>0&&(f=u.substr(-1*Math.floor(i/2))),(u.substr(0,Math.ceil(i/2))+n+f).substr(0,t)},s})?r.apply(t,o):r)||(e.exports=i)},function(e,t,n){"use strict";var r=n(190),o=n(995),i=[["code",n(996)],["fences",n(997),["paragraph","blockquote","list"]],["blockquote",n(998),["paragraph","blockquote","list"]],["hr",n(999),["paragraph","blockquote","list"]],["list",n(1e3),["paragraph","blockquote"]],["footnote",n(1001),["paragraph"]],["heading",n(1002),["paragraph","blockquote"]],["lheading",n(1003)],["htmlblock",n(1004),["paragraph","blockquote"]],["table",n(1006),["paragraph"]],["deflist",n(1007),["paragraph"]],["paragraph",n(1008)]];function a(){this.ruler=new r;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1],{alt:(i[e][2]||[]).slice()})}a.prototype.tokenize=function(e,t,n){for(var r,o=this.ruler.getRules(""),i=o.length,a=t,s=!1;a<n&&(e.line=a=e.skipEmptyLines(a),!(a>=n))&&!(e.tShift[a]<e.blkIndent);){for(r=0;r<i&&!o[r](e,a,n,!1);r++);if(e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),(a=e.line)<n&&e.isEmpty(a)){if(s=!0,++a<n&&"list"===e.parentType&&e.isEmpty(a))break;e.line=a}}};var s=/[\n\t]/g,u=/\r[\n\u0085]|[\u2424\u2028\u0085]/g,c=/\u00a0/g;a.prototype.parse=function(e,t,n,r){var i,a=0,l=0;if(!e)return[];(e=(e=e.replace(c," ")).replace(u,"\n")).indexOf("\t")>=0&&(e=e.replace(s,function(t,n){var r;return 10===e.charCodeAt(n)?(a=n+1,l=0,t):(r=" ".slice((n-a-l)%4),l=n-a+1,r)})),i=new o(e,this,t,n,r),this.tokenize(i,i.line,i.lineMax)},e.exports=a},function(e,t,n){"use strict";function r(e,t,n,r,o){var i,a,s,u,c,l,p;for(this.src=e,this.parser=t,this.options=n,this.env=r,this.tokens=o,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType="root",this.ddIndent=-1,this.level=0,this.result="",l=0,p=!1,s=u=l=0,c=(a=this.src).length;u<c;u++){if(i=a.charCodeAt(u),!p){if(32===i){l++;continue}p=!0}10!==i&&u!==c-1||(10!==i&&u++,this.bMarks.push(s),this.eMarks.push(u),this.tShift.push(l),p=!1,l=0,s=u+1)}this.bMarks.push(a.length),this.eMarks.push(a.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}r.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},r.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},r.prototype.skipSpaces=function(e){for(var t=this.src.length;e<t&&32===this.src.charCodeAt(e);e++);return e},r.prototype.skipChars=function(e,t){for(var n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e},r.prototype.skipCharsBack=function(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e},r.prototype.getLines=function(e,t,n,r){var o,i,a,s,u,c=e;if(e>=t)return"";if(c+1===t)return i=this.bMarks[c]+Math.min(this.tShift[c],n),a=r?this.eMarks[c]+1:this.eMarks[c],this.src.slice(i,a);for(s=new Array(t-e),o=0;c<t;c++,o++)(u=this.tShift[c])>n&&(u=n),u<0&&(u=0),i=this.bMarks[c]+u,a=c+1<t||r?this.eMarks[c]+1:this.eMarks[c],s[o]=this.src.slice(i,a);return s.join("")},e.exports=r},function(e,t,n){"use strict";e.exports=function(e,t,n){var r,o;if(e.tShift[t]-e.blkIndent<4)return!1;for(o=r=t+1;r<n;)if(e.isEmpty(r))r++;else{if(!(e.tShift[r]-e.blkIndent>=4))break;o=++r}return e.line=r,e.tokens.push({type:"code",content:e.getLines(t,o,4+e.blkIndent,!0),block:!0,lines:[t,e.line],level:e.level}),!0}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var o,i,a,s,u,c=!1,l=e.bMarks[t]+e.tShift[t],p=e.eMarks[t];if(l+3>p)return!1;if(126!==(o=e.src.charCodeAt(l))&&96!==o)return!1;if(u=l,(i=(l=e.skipChars(l,o))-u)<3)return!1;if((a=e.src.slice(l,p).trim()).indexOf("`")>=0)return!1;if(r)return!0;for(s=t;!(++s>=n)&&!((l=u=e.bMarks[s]+e.tShift[s])<(p=e.eMarks[s])&&e.tShift[s]<e.blkIndent);)if(e.src.charCodeAt(l)===o&&!(e.tShift[s]-e.blkIndent>=4||(l=e.skipChars(l,o))-u<i||(l=e.skipSpaces(l))<p)){c=!0;break}return i=e.tShift[t],e.line=s+(c?1:0),e.tokens.push({type:"fence",params:a,content:e.getLines(t+1,s,i,!0),lines:[t,e.line],level:e.level}),!0}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var o,i,a,s,u,c,l,p,f,h,d,m=e.bMarks[t]+e.tShift[t],v=e.eMarks[t];if(m>v)return!1;if(62!==e.src.charCodeAt(m++))return!1;if(e.level>=e.options.maxNesting)return!1;if(r)return!0;for(32===e.src.charCodeAt(m)&&m++,u=e.blkIndent,e.blkIndent=0,s=[e.bMarks[t]],e.bMarks[t]=m,i=(m=m<v?e.skipSpaces(m):m)>=v,a=[e.tShift[t]],e.tShift[t]=m-e.bMarks[t],p=e.parser.ruler.getRules("blockquote"),o=t+1;o<n&&!((m=e.bMarks[o]+e.tShift[o])>=(v=e.eMarks[o]));o++)if(62!==e.src.charCodeAt(m++)){if(i)break;for(d=!1,f=0,h=p.length;f<h;f++)if(p[f](e,o,n,!0)){d=!0;break}if(d)break;s.push(e.bMarks[o]),a.push(e.tShift[o]),e.tShift[o]=-1337}else 32===e.src.charCodeAt(m)&&m++,s.push(e.bMarks[o]),e.bMarks[o]=m,i=(m=m<v?e.skipSpaces(m):m)>=v,a.push(e.tShift[o]),e.tShift[o]=m-e.bMarks[o];for(c=e.parentType,e.parentType="blockquote",e.tokens.push({type:"blockquote_open",lines:l=[t,0],level:e.level++}),e.parser.tokenize(e,t,o),e.tokens.push({type:"blockquote_close",level:--e.level}),e.parentType=c,l[1]=e.line,f=0;f<a.length;f++)e.bMarks[f+t]=s[f],e.tShift[f+t]=a[f];return e.blkIndent=u,!0}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var o,i,a,s=e.bMarks[t],u=e.eMarks[t];if((s+=e.tShift[t])>u)return!1;if(42!==(o=e.src.charCodeAt(s++))&&45!==o&&95!==o)return!1;for(i=1;s<u;){if((a=e.src.charCodeAt(s++))!==o&&32!==a)return!1;a===o&&i++}return!(i<3)&&(!!r||(e.line=t+1,e.tokens.push({type:"hr",lines:[t,e.line],level:e.level}),!0))}},function(e,t,n){"use strict";function r(e,t){var n,r,o;return(r=e.bMarks[t]+e.tShift[t])>=(o=e.eMarks[t])?-1:42!==(n=e.src.charCodeAt(r++))&&45!==n&&43!==n?-1:r<o&&32!==e.src.charCodeAt(r)?-1:r}function o(e,t){var n,r=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(r+1>=o)return-1;if((n=e.src.charCodeAt(r++))<48||n>57)return-1;for(;;){if(r>=o)return-1;if(!((n=e.src.charCodeAt(r++))>=48&&n<=57)){if(41===n||46===n)break;return-1}}return r<o&&32!==e.src.charCodeAt(r)?-1:r}e.exports=function(e,t,n,i){var a,s,u,c,l,p,f,h,d,m,v,g,y,b,_,w,x,E,S,C,k,O=!0;if((h=o(e,t))>=0)g=!0;else{if(!((h=r(e,t))>=0))return!1;g=!1}if(e.level>=e.options.maxNesting)return!1;if(v=e.src.charCodeAt(h-1),i)return!0;for(b=e.tokens.length,g?(f=e.bMarks[t]+e.tShift[t],m=Number(e.src.substr(f,h-f-1)),e.tokens.push({type:"ordered_list_open",order:m,lines:w=[t,0],level:e.level++})):e.tokens.push({type:"bullet_list_open",lines:w=[t,0],level:e.level++}),a=t,_=!1,E=e.parser.ruler.getRules("list");!(!(a<n)||((d=(y=e.skipSpaces(h))>=e.eMarks[a]?1:y-h)>4&&(d=1),d<1&&(d=1),s=h-e.bMarks[a]+d,e.tokens.push({type:"list_item_open",lines:x=[t,0],level:e.level++}),c=e.blkIndent,l=e.tight,u=e.tShift[t],p=e.parentType,e.tShift[t]=y-e.bMarks[t],e.blkIndent=s,e.tight=!0,e.parentType="list",e.parser.tokenize(e,t,n,!0),e.tight&&!_||(O=!1),_=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=c,e.tShift[t]=u,e.tight=l,e.parentType=p,e.tokens.push({type:"list_item_close",level:--e.level}),a=t=e.line,x[1]=a,y=e.bMarks[t],a>=n)||e.isEmpty(a)||e.tShift[a]<e.blkIndent);){for(k=!1,S=0,C=E.length;S<C;S++)if(E[S](e,a,n,!0)){k=!0;break}if(k)break;if(g){if((h=o(e,a))<0)break}else if((h=r(e,a))<0)break;if(v!==e.src.charCodeAt(h-1))break}return e.tokens.push({type:g?"ordered_list_close":"bullet_list_close",level:--e.level}),w[1]=a,e.line=a,O&&function(e,t){var n,r,o=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===o&&"paragraph_open"===e.tokens[n].type&&(e.tokens[n+2].tight=!0,e.tokens[n].tight=!0,n+=2)}(e,b),!0}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var o,i,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(c+4>l)return!1;if(91!==e.src.charCodeAt(c))return!1;if(94!==e.src.charCodeAt(c+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(s=c+2;s<l;s++){if(32===e.src.charCodeAt(s))return!1;if(93===e.src.charCodeAt(s))break}return s!==c+2&&(!(s+1>=l||58!==e.src.charCodeAt(++s))&&(!!r||(s++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),u=e.src.slice(c+2,s-2),e.env.footnotes.refs[":"+u]=-1,e.tokens.push({type:"footnote_reference_open",label:u,level:e.level++}),o=e.bMarks[t],i=e.tShift[t],a=e.parentType,e.tShift[t]=e.skipSpaces(s)-s,e.bMarks[t]=s,e.blkIndent+=4,e.parentType="footnote",e.tShift[t]<e.blkIndent&&(e.tShift[t]+=e.blkIndent,e.bMarks[t]-=e.blkIndent),e.parser.tokenize(e,t,n,!0),e.parentType=a,e.blkIndent-=4,e.tShift[t]=i,e.bMarks[t]=o,e.tokens.push({type:"footnote_reference_close",level:--e.level}),!0)))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var o,i,a,s=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(s>=u)return!1;if(35!==(o=e.src.charCodeAt(s))||s>=u)return!1;for(i=1,o=e.src.charCodeAt(++s);35===o&&s<u&&i<=6;)i++,o=e.src.charCodeAt(++s);return!(i>6||s<u&&32!==o)&&(!!r||(u=e.skipCharsBack(u,32,s),(a=e.skipCharsBack(u,35,s))>s&&32===e.src.charCodeAt(a-1)&&(u=a),e.line=t+1,e.tokens.push({type:"heading_open",hLevel:i,lines:[t,e.line],level:e.level}),s<u&&e.tokens.push({type:"inline",content:e.src.slice(s,u).trim(),level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:"heading_close",hLevel:i,level:e.level}),!0))}},function(e,t,n){"use strict";e.exports=function(e,t,n){var r,o,i,a=t+1;return!(a>=n)&&(!(e.tShift[a]<e.blkIndent)&&(!(e.tShift[a]-e.blkIndent>3)&&(!((o=e.bMarks[a]+e.tShift[a])>=(i=e.eMarks[a]))&&((45===(r=e.src.charCodeAt(o))||61===r)&&(o=e.skipChars(o,r),!((o=e.skipSpaces(o))<i)&&(o=e.bMarks[t]+e.tShift[t],e.line=a+1,e.tokens.push({type:"heading_open",hLevel:61===r?1:2,lines:[t,e.line],level:e.level}),e.tokens.push({type:"inline",content:e.src.slice(o,e.eMarks[t]).trim(),level:e.level+1,lines:[t,e.line-1],children:[]}),e.tokens.push({type:"heading_close",hLevel:61===r?1:2,level:e.level}),!0))))))}},function(e,t,n){"use strict";var r=n(1005),o=/^<([a-zA-Z]{1,15})[\s\/>]/,i=/^<\/([a-zA-Z]{1,15})[\s>]/;e.exports=function(e,t,n,a){var s,u,c,l=e.bMarks[t],p=e.eMarks[t],f=e.tShift[t];if(l+=f,!e.options.html)return!1;if(f>3||l+2>=p)return!1;if(60!==e.src.charCodeAt(l))return!1;if(33===(s=e.src.charCodeAt(l+1))||63===s){if(a)return!0}else{if(47!==s&&!function(e){var t=32|e;return t>=97&&t<=122}(s))return!1;if(47===s){if(!(u=e.src.slice(l,p).match(i)))return!1}else if(!(u=e.src.slice(l,p).match(o)))return!1;if(!0!==r[u[1].toLowerCase()])return!1;if(a)return!0}for(c=t+1;c<e.lineMax&&!e.isEmpty(c);)c++;return e.line=c,e.tokens.push({type:"htmlblock",level:e.level,lines:[t,e.line],content:e.getLines(t,c,0,!0)}),!0}},function(e,t,n){"use strict";var r={};["article","aside","button","blockquote","body","canvas","caption","col","colgroup","dd","div","dl","dt","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","iframe","li","map","object","ol","output","p","pre","progress","script","section","style","table","tbody","td","textarea","tfoot","th","tr","thead","ul","video"].forEach(function(e){r[e]=!0}),e.exports=r},function(e,t,n){"use strict";function r(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}e.exports=function(e,t,n,o){var i,a,s,u,c,l,p,f,h,d,m;if(t+2>n)return!1;if(c=t+1,e.tShift[c]<e.blkIndent)return!1;if((s=e.bMarks[c]+e.tShift[c])>=e.eMarks[c])return!1;if(124!==(i=e.src.charCodeAt(s))&&45!==i&&58!==i)return!1;if(a=r(e,t+1),!/^[-:| ]+$/.test(a))return!1;if((l=a.split("|"))<=2)return!1;for(f=[],u=0;u<l.length;u++){if(!(h=l[u].trim())){if(0===u||u===l.length-1)continue;return!1}if(!/^:?-+:?$/.test(h))return!1;58===h.charCodeAt(h.length-1)?f.push(58===h.charCodeAt(0)?"center":"right"):58===h.charCodeAt(0)?f.push("left"):f.push("")}if(-1===(a=r(e,t).trim()).indexOf("|"))return!1;if(l=a.replace(/^\||\|$/g,"").split("|"),f.length!==l.length)return!1;if(o)return!0;for(e.tokens.push({type:"table_open",lines:d=[t,0],level:e.level++}),e.tokens.push({type:"thead_open",lines:[t,t+1],level:e.level++}),e.tokens.push({type:"tr_open",lines:[t,t+1],level:e.level++}),u=0;u<l.length;u++)e.tokens.push({type:"th_open",align:f[u],lines:[t,t+1],level:e.level++}),e.tokens.push({type:"inline",content:l[u].trim(),lines:[t,t+1],level:e.level,children:[]}),e.tokens.push({type:"th_close",level:--e.level});for(e.tokens.push({type:"tr_close",level:--e.level}),e.tokens.push({type:"thead_close",level:--e.level}),e.tokens.push({type:"tbody_open",lines:m=[t+2,0],level:e.level++}),c=t+2;c<n&&!(e.tShift[c]<e.blkIndent)&&-1!==(a=r(e,c).trim()).indexOf("|");c++){for(l=a.replace(/^\||\|$/g,"").split("|"),e.tokens.push({type:"tr_open",level:e.level++}),u=0;u<l.length;u++)e.tokens.push({type:"td_open",align:f[u],level:e.level++}),p=l[u].substring(124===l[u].charCodeAt(0)?1:0,124===l[u].charCodeAt(l[u].length-1)?l[u].length-1:l[u].length).trim(),e.tokens.push({type:"inline",content:p,level:e.level,children:[]}),e.tokens.push({type:"td_close",level:--e.level});e.tokens.push({type:"tr_close",level:--e.level})}return e.tokens.push({type:"tbody_close",level:--e.level}),e.tokens.push({type:"table_close",level:--e.level}),d[1]=m[1]=c,e.line=c,!0}},function(e,t,n){"use strict";function r(e,t){var n,r,o=e.bMarks[t]+e.tShift[t],i=e.eMarks[t];return o>=i?-1:126!==(r=e.src.charCodeAt(o++))&&58!==r?-1:o===(n=e.skipSpaces(o))?-1:n>=i?-1:n}e.exports=function(e,t,n,o){var i,a,s,u,c,l,p,f,h,d,m,v,g,y;if(o)return!(e.ddIndent<0)&&r(e,t)>=0;if(p=t+1,e.isEmpty(p)&&++p>n)return!1;if(e.tShift[p]<e.blkIndent)return!1;if((i=r(e,p))<0)return!1;if(e.level>=e.options.maxNesting)return!1;l=e.tokens.length,e.tokens.push({type:"dl_open",lines:c=[t,0],level:e.level++}),s=t,a=p;e:for(;;){for(y=!0,g=!1,e.tokens.push({type:"dt_open",lines:[s,s],level:e.level++}),e.tokens.push({type:"inline",content:e.getLines(s,s+1,e.blkIndent,!1).trim(),level:e.level+1,lines:[s,s],children:[]}),e.tokens.push({type:"dt_close",level:--e.level});;){if(e.tokens.push({type:"dd_open",lines:u=[p,0],level:e.level++}),v=e.tight,h=e.ddIndent,f=e.blkIndent,m=e.tShift[a],d=e.parentType,e.blkIndent=e.ddIndent=e.tShift[a]+2,e.tShift[a]=i-e.bMarks[a],e.tight=!0,e.parentType="deflist",e.parser.tokenize(e,a,n,!0),e.tight&&!g||(y=!1),g=e.line-a>1&&e.isEmpty(e.line-1),e.tShift[a]=m,e.tight=v,e.parentType=d,e.blkIndent=f,e.ddIndent=h,e.tokens.push({type:"dd_close",level:--e.level}),u[1]=p=e.line,p>=n)break e;if(e.tShift[p]<e.blkIndent)break e;if((i=r(e,p))<0)break;a=p}if(p>=n)break;if(s=p,e.isEmpty(s))break;if(e.tShift[s]<e.blkIndent)break;if((a=s+1)>=n)break;if(e.isEmpty(a)&&a++,a>=n)break;if(e.tShift[a]<e.blkIndent)break;if((i=r(e,a))<0)break}return e.tokens.push({type:"dl_close",level:--e.level}),c[1]=p,e.line=p,y&&function(e,t){var n,r,o=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===o&&"paragraph_open"===e.tokens[n].type&&(e.tokens[n+2].tight=!0,e.tokens[n].tight=!0,n+=2)}(e,l),!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i,a,s,u=t+1;if(u<(n=e.lineMax)&&!e.isEmpty(u))for(s=e.parser.ruler.getRules("paragraph");u<n&&!e.isEmpty(u);u++)if(!(e.tShift[u]-e.blkIndent>3)){for(o=!1,i=0,a=s.length;i<a;i++)if(s[i](e,u,n,!0)){o=!0;break}if(o)break}return r=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,r.length&&(e.tokens.push({type:"paragraph_open",tight:!1,lines:[t,e.line],level:e.level}),e.tokens.push({type:"inline",content:r,level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:"paragraph_close",tight:!1,level:e.level})),!0}},function(e,t,n){"use strict";var r=n(190),o=n(269),i=n(39),a=[["text",n(1010)],["newline",n(1011)],["escape",n(1012)],["backticks",n(1013)],["del",n(1014)],["ins",n(1015)],["mark",n(1016)],["emphasis",n(1017)],["sub",n(1018)],["sup",n(1019)],["links",n(1020)],["footnote_inline",n(1021)],["footnote_ref",n(1022)],["autolink",n(1023)],["htmltag",n(1025)],["entity",n(1027)]];function s(){this.ruler=new r;for(var e=0;e<a.length;e++)this.ruler.push(a[e][0],a[e][1]);this.validateLink=u}function u(e){var t=e.trim().toLowerCase();return-1===(t=i.replaceEntities(t)).indexOf(":")||-1===["vbscript","javascript","file","data"].indexOf(t.split(":")[0])}s.prototype.skipToken=function(e){var t,n,r=this.ruler.getRules(""),o=r.length,i=e.pos;if((n=e.cacheGet(i))>0)e.pos=n;else{for(t=0;t<o;t++)if(r[t](e,!0))return void e.cacheSet(i,e.pos);e.pos++,e.cacheSet(i,e.pos)}},s.prototype.tokenize=function(e){for(var t,n,r=this.ruler.getRules(""),o=r.length,i=e.posMax;e.pos<i;){for(n=0;n<o&&!(t=r[n](e,!1));n++);if(t){if(e.pos>=i)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},s.prototype.parse=function(e,t,n,r){var i=new o(e,this,t,n,r);this.tokenize(i)},e.exports=s},function(e,t,n){"use strict";function r(e){switch(e){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}e.exports=function(e,t){for(var n=e.pos;n<e.posMax&&!r(e.src.charCodeAt(n));)n++;return n!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;if(n=e.pending.length-1,r=e.posMax,!t)if(n>=0&&32===e.pending.charCodeAt(n))if(n>=1&&32===e.pending.charCodeAt(n-1)){for(var i=n-2;i>=0;i--)if(32!==e.pending.charCodeAt(i)){e.pending=e.pending.substring(0,i+1);break}e.push({type:"hardbreak",level:e.level})}else e.pending=e.pending.slice(0,-1),e.push({type:"softbreak",level:e.level});else e.push({type:"softbreak",level:e.level});for(o++;o<r&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}},function(e,t,n){"use strict";for(var r=[],o=0;o<256;o++)r.push(0);"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e){r[e.charCodeAt(0)]=1}),e.exports=function(e,t){var n,o=e.pos,i=e.posMax;if(92!==e.src.charCodeAt(o))return!1;if(++o<i){if((n=e.src.charCodeAt(o))<256&&0!==r[n])return t||(e.pending+=e.src[o]),e.pos+=2,!0;if(10===n){for(t||e.push({type:"hardbreak",level:e.level}),o++;o<i&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}}return t||(e.pending+="\\"),e.pos++,!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i,a,s=e.pos;if(96!==e.src.charCodeAt(s))return!1;for(n=s,s++,r=e.posMax;s<r&&96===e.src.charCodeAt(s);)s++;for(o=e.src.slice(n,s),i=a=s;-1!==(i=e.src.indexOf("`",a));){for(a=i+1;a<r&&96===e.src.charCodeAt(a);)a++;if(a-i===o.length)return t||e.push({type:"code",content:e.src.slice(s,i).replace(/[ \n]+/g," ").trim(),block:!1,level:e.level}),e.pos=a,!0}return t||(e.pending+=o),e.pos+=o.length,!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i,a,s=e.posMax,u=e.pos;if(126!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=s)return!1;if(126!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(i=u>0?e.src.charCodeAt(u-1):-1,a=e.src.charCodeAt(u+2),126===i)return!1;if(126===a)return!1;if(32===a||10===a)return!1;for(r=u+2;r<s&&126===e.src.charCodeAt(r);)r++;if(r>u+3)return e.pos+=r-u,t||(e.pending+=e.src.slice(u,r)),!0;for(e.pos=u+2,o=1;e.pos+1<s;){if(126===e.src.charCodeAt(e.pos)&&126===e.src.charCodeAt(e.pos+1)&&(i=e.src.charCodeAt(e.pos-1),126!==(a=e.pos+2<s?e.src.charCodeAt(e.pos+2):-1)&&126!==i&&(32!==i&&10!==i?o--:32!==a&&10!==a&&o++,o<=0))){n=!0;break}e.parser.skipToken(e)}return n?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:"del_open",level:e.level++}),e.parser.tokenize(e),e.push({type:"del_close",level:--e.level})),e.pos=e.posMax+2,e.posMax=s,!0):(e.pos=u,!1)}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i,a,s=e.posMax,u=e.pos;if(43!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=s)return!1;if(43!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(i=u>0?e.src.charCodeAt(u-1):-1,a=e.src.charCodeAt(u+2),43===i)return!1;if(43===a)return!1;if(32===a||10===a)return!1;for(r=u+2;r<s&&43===e.src.charCodeAt(r);)r++;if(r!==u+2)return e.pos+=r-u,t||(e.pending+=e.src.slice(u,r)),!0;for(e.pos=u+2,o=1;e.pos+1<s;){if(43===e.src.charCodeAt(e.pos)&&43===e.src.charCodeAt(e.pos+1)&&(i=e.src.charCodeAt(e.pos-1),43!==(a=e.pos+2<s?e.src.charCodeAt(e.pos+2):-1)&&43!==i&&(32!==i&&10!==i?o--:32!==a&&10!==a&&o++,o<=0))){n=!0;break}e.parser.skipToken(e)}return n?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:"ins_open",level:e.level++}),e.parser.tokenize(e),e.push({type:"ins_close",level:--e.level})),e.pos=e.posMax+2,e.posMax=s,!0):(e.pos=u,!1)}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i,a,s=e.posMax,u=e.pos;if(61!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=s)return!1;if(61!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(i=u>0?e.src.charCodeAt(u-1):-1,a=e.src.charCodeAt(u+2),61===i)return!1;if(61===a)return!1;if(32===a||10===a)return!1;for(r=u+2;r<s&&61===e.src.charCodeAt(r);)r++;if(r!==u+2)return e.pos+=r-u,t||(e.pending+=e.src.slice(u,r)),!0;for(e.pos=u+2,o=1;e.pos+1<s;){if(61===e.src.charCodeAt(e.pos)&&61===e.src.charCodeAt(e.pos+1)&&(i=e.src.charCodeAt(e.pos-1),61!==(a=e.pos+2<s?e.src.charCodeAt(e.pos+2):-1)&&61!==i&&(32!==i&&10!==i?o--:32!==a&&10!==a&&o++,o<=0))){n=!0;break}e.parser.skipToken(e)}return n?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:"mark_open",level:e.level++}),e.parser.tokenize(e),e.push({type:"mark_close",level:--e.level})),e.pos=e.posMax+2,e.posMax=s,!0):(e.pos=u,!1)}},function(e,t,n){"use strict";function r(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function o(e,t){var n,o,i,a=t,s=!0,u=!0,c=e.posMax,l=e.src.charCodeAt(t);for(n=t>0?e.src.charCodeAt(t-1):-1;a<c&&e.src.charCodeAt(a)===l;)a++;return a>=c&&(s=!1),(i=a-t)>=4?s=u=!1:(32!==(o=a<c?e.src.charCodeAt(a):-1)&&10!==o||(s=!1),32!==n&&10!==n||(u=!1),95===l&&(r(n)&&(s=!1),r(o)&&(u=!1))),{can_open:s,can_close:u,delims:i}}e.exports=function(e,t){var n,r,i,a,s,u,c,l=e.posMax,p=e.pos,f=e.src.charCodeAt(p);if(95!==f&&42!==f)return!1;if(t)return!1;if(n=(c=o(e,p)).delims,!c.can_open)return e.pos+=n,t||(e.pending+=e.src.slice(p,e.pos)),!0;if(e.level>=e.options.maxNesting)return!1;for(e.pos=p+n,u=[n];e.pos<l;)if(e.src.charCodeAt(e.pos)!==f)e.parser.skipToken(e);else{if(r=(c=o(e,e.pos)).delims,c.can_close){for(a=u.pop(),s=r;a!==s;){if(s<a){u.push(a-s);break}if(s-=a,0===u.length)break;e.pos+=a,a=u.pop()}if(0===u.length){n=a,i=!0;break}e.pos+=r;continue}c.can_open&&u.push(r),e.pos+=r}return i?(e.posMax=e.pos,e.pos=p+n,t||(2!==n&&3!==n||e.push({type:"strong_open",level:e.level++}),1!==n&&3!==n||e.push({type:"em_open",level:e.level++}),e.parser.tokenize(e),1!==n&&3!==n||e.push({type:"em_close",level:--e.level}),2!==n&&3!==n||e.push({type:"strong_close",level:--e.level})),e.pos=e.posMax+n,e.posMax=l,!0):(e.pos=p,!1)}},function(e,t,n){"use strict";var r=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;e.exports=function(e,t){var n,o,i=e.posMax,a=e.pos;if(126!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+2>=i)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=a+1;e.pos<i;){if(126===e.src.charCodeAt(e.pos)){n=!0;break}e.parser.skipToken(e)}return n&&a+1!==e.pos?(o=e.src.slice(a+1,e.pos)).match(/(^|[^\\])(\\\\)*\s/)?(e.pos=a,!1):(e.posMax=e.pos,e.pos=a+1,t||e.push({type:"sub",level:e.level,content:o.replace(r,"$1")}),e.pos=e.posMax+1,e.posMax=i,!0):(e.pos=a,!1)}},function(e,t,n){"use strict";var r=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;e.exports=function(e,t){var n,o,i=e.posMax,a=e.pos;if(94!==e.src.charCodeAt(a))return!1;if(t)return!1;if(a+2>=i)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=a+1;e.pos<i;){if(94===e.src.charCodeAt(e.pos)){n=!0;break}e.parser.skipToken(e)}return n&&a+1!==e.pos?(o=e.src.slice(a+1,e.pos)).match(/(^|[^\\])(\\\\)*\s/)?(e.pos=a,!1):(e.posMax=e.pos,e.pos=a+1,t||e.push({type:"sup",level:e.level,content:o.replace(r,"$1")}),e.pos=e.posMax+1,e.posMax=i,!0):(e.pos=a,!1)}},function(e,t,n){"use strict";var r=n(191),o=n(464),i=n(466),a=n(467);e.exports=function(e,t){var n,s,u,c,l,p,f,h,d=!1,m=e.pos,v=e.posMax,g=e.pos,y=e.src.charCodeAt(g);if(33===y&&(d=!0,y=e.src.charCodeAt(++g)),91!==y)return!1;if(e.level>=e.options.maxNesting)return!1;if(n=g+1,(s=r(e,g))<0)return!1;if((p=s+1)<v&&40===e.src.charCodeAt(p)){for(p++;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);if(p>=v)return!1;for(g=p,o(e,p)?(c=e.linkContent,p=e.pos):c="",g=p;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);if(p<v&&g!==p&&i(e,p))for(l=e.linkContent,p=e.pos;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);else l="";if(p>=v||41!==e.src.charCodeAt(p))return e.pos=m,!1;p++}else{if(e.linkLevel>0)return!1;for(;p<v&&(32===(h=e.src.charCodeAt(p))||10===h);p++);if(p<v&&91===e.src.charCodeAt(p)&&(g=p+1,(p=r(e,p))>=0?u=e.src.slice(g,p++):p=g-1),u||(void 0===u&&(p=s+1),u=e.src.slice(n,s)),!(f=e.env.references[a(u)]))return e.pos=m,!1;c=f.href,l=f.title}return t||(e.pos=n,e.posMax=s,d?e.push({type:"image",src:c,title:l,alt:e.src.substr(n,s-n),level:e.level}):(e.push({type:"link_open",href:c,title:l,level:e.level++}),e.linkLevel++,e.parser.tokenize(e),e.linkLevel--,e.push({type:"link_close",level:--e.level}))),e.pos=p,e.posMax=v,!0}},function(e,t,n){"use strict";var r=n(191);e.exports=function(e,t){var n,o,i,a,s=e.posMax,u=e.pos;return!(u+2>=s)&&(94===e.src.charCodeAt(u)&&(91===e.src.charCodeAt(u+1)&&(!(e.level>=e.options.maxNesting)&&(n=u+2,!((o=r(e,u+1))<0)&&(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),i=e.env.footnotes.list.length,e.pos=n,e.posMax=o,e.push({type:"footnote_ref",id:i,level:e.level}),e.linkLevel++,a=e.tokens.length,e.parser.tokenize(e),e.env.footnotes.list[i]={tokens:e.tokens.splice(a)},e.linkLevel--),e.pos=o+1,e.posMax=s,!0)))))}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,i,a=e.posMax,s=e.pos;if(s+3>a)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(s))return!1;if(94!==e.src.charCodeAt(s+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(r=s+2;r<a;r++){if(32===e.src.charCodeAt(r))return!1;if(10===e.src.charCodeAt(r))return!1;if(93===e.src.charCodeAt(r))break}return r!==s+2&&(!(r>=a)&&(r++,n=e.src.slice(s+2,r-1),void 0!==e.env.footnotes.refs[":"+n]&&(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[":"+n]<0?(o=e.env.footnotes.list.length,e.env.footnotes.list[o]={label:n,count:0},e.env.footnotes.refs[":"+n]=o):o=e.env.footnotes.refs[":"+n],i=e.env.footnotes.list[o].count,e.env.footnotes.list[o].count++,e.push({type:"footnote_ref",id:o,subId:i,level:e.level})),e.pos=r,e.posMax=a,!0)))}},function(e,t,n){"use strict";var r=n(1024),o=n(465),i=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,a=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;e.exports=function(e,t){var n,s,u,c,l,p=e.pos;return 60===e.src.charCodeAt(p)&&(!((n=e.src.slice(p)).indexOf(">")<0)&&((s=n.match(a))?!(r.indexOf(s[1].toLowerCase())<0)&&(c=s[0].slice(1,-1),l=o(c),!!e.parser.validateLink(c)&&(t||(e.push({type:"link_open",href:l,level:e.level}),e.push({type:"text",content:c,level:e.level+1}),e.push({type:"link_close",level:e.level})),e.pos+=s[0].length,!0)):!!(u=n.match(i))&&(c=u[0].slice(1,-1),l=o("mailto:"+c),!!e.parser.validateLink(l)&&(t||(e.push({type:"link_open",href:l,level:e.level}),e.push({type:"text",content:c,level:e.level+1}),e.push({type:"link_close",level:e.level})),e.pos+=u[0].length,!0))))}},function(e,t,n){"use strict";e.exports=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"]},function(e,t,n){"use strict";var r=n(1026).HTML_TAG_RE;e.exports=function(e,t){var n,o,i,a=e.pos;return!!e.options.html&&(i=e.posMax,!(60!==e.src.charCodeAt(a)||a+2>=i)&&(!(33!==(n=e.src.charCodeAt(a+1))&&63!==n&&47!==n&&!function(e){var t=32|e;return t>=97&&t<=122}(n))&&(!!(o=e.src.slice(a).match(r))&&(t||e.push({type:"htmltag",content:e.src.slice(a,a+o[0].length),level:e.level}),e.pos+=o[0].length,!0))))}},function(e,t,n){"use strict";function r(e,t){return e=e.source,t=t||"",function n(r,o){return r?(o=o.source||o,e=e.replace(r,o),n):new RegExp(e,t)}}var o=r(/(?:unquoted|single_quoted|double_quoted)/)("unquoted",/[^"'=<>`\x00-\x20]+/)("single_quoted",/'[^']*'/)("double_quoted",/"[^"]*"/)(),i=r(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)("attr_name",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)("attr_value",o)(),a=r(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)("attribute",i)(),s=r(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)("open_tag",a)("close_tag",/<\/[A-Za-z][A-Za-z0-9]*\s*>/)("comment",/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)("processing",/<[?].*?[?]>/)("declaration",/<![A-Z]+\s+[^>]*>/)("cdata",/<!\[CDATA\[[\s\S]*?\]\]>/)();e.exports.HTML_TAG_RE=s},function(e,t,n){"use strict";var r=n(463),o=n(39).has,i=n(39).isValidEntityCode,a=n(39).fromCodePoint,s=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,u=/^&([a-z][a-z0-9]{1,31});/i;e.exports=function(e,t){var n,c,l=e.pos,p=e.posMax;if(38!==e.src.charCodeAt(l))return!1;if(l+1<p)if(35===e.src.charCodeAt(l+1)){if(c=e.src.slice(l).match(s))return t||(n="x"===c[1][0].toLowerCase()?parseInt(c[1].slice(1),16):parseInt(c[1],10),e.pending+=i(n)?a(n):a(65533)),e.pos+=c[0].length,!0}else if((c=e.src.slice(l).match(u))&&o(r,c[1]))return t||(e.pending+=r[c[1]]),e.pos+=c[0].length,!0;return t||(e.pending+="&"),e.pos++,!0}},function(e,t,n){"use strict";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","replacements","linkify","smartquotes","references","abbr2","footnote_tail"]},block:{rules:["blockquote","code","fences","footnote","heading","hr","htmlblock","lheading","list","paragraph","table"]},inline:{rules:["autolink","backticks","del","emphasis","entity","escape","footnote_ref","htmltag","links","newline","text"]}}}},function(e,t,n){"use strict";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}}},function(e,t,n){"use strict";e.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","abbr2"]},block:{rules:["blockquote","code","fences","heading","hr","htmlblock","lheading","list","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","htmltag","links","newline","text"]}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebounceInput=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=s(n(0)),a=s(n(1032));function s(e){return e&&e.__esModule?e:{default:e}}(t.DebounceInput=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onChange=function(e){e.persist();var t=n.state.value;n.setState({value:e.target.value},function(){var o=n.state.value;o.length>=n.props.minLength?n.notify(e):t.length>o.length&&n.notify(r({},e,{target:r({},e.target,{value:""})}))})},n.onKeyDown=function(e){var t=n.props.onKeyDown;"Enter"===e.key&&n.forceNotify(e),t&&t(e)},n.onBlur=function(e){var t=n.props.onBlur;n.forceNotify(e),t&&t(e)},n.createNotifier=function(e){if(e<0)n.notify=function(){return null};else if(0===e)n.notify=n.doNotify;else{var t=(0,a.default)(function(e){n.isDebouncing=!1,n.doNotify(e)},e);n.notify=function(e){n.isDebouncing=!0,t(e)},n.flush=function(){return t.flush()},n.cancel=function(){n.isDebouncing=!1,t.cancel()}}},n.doNotify=function(){var e=n.props.onChange;e.apply(void 0,arguments)},n.forceNotify=function(e){if(n.isDebouncing){n.cancel&&n.cancel();var t=n.state.value,o=n.props.minLength;t.length>=o?n.doNotify(e):n.doNotify(r({},e,{target:r({},e.target,{value:t})}))}},n.state={value:e.value||""},n.isDebouncing=!1,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.PureComponent),o(t,[{key:"componentWillMount",value:function(){this.createNotifier(this.props.debounceTimeout)}},{key:"componentWillReceiveProps",value:function(e){var t=e.value,n=e.debounceTimeout;this.isDebouncing||(void 0!==t&&this.state.value!==t&&this.setState({value:t}),n!==this.props.debounceTimeout&&this.createNotifier(n))}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var e=this.props,t=e.element,n=(e.onChange,e.value,e.minLength,e.debounceTimeout,e.forceNotifyByEnter),o=e.forceNotifyOnBlur,a=e.onKeyDown,s=e.onBlur,u=e.inputRef,c=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),l=void 0;l=n?{onKeyDown:this.onKeyDown}:a?{onKeyDown:a}:{};var p=void 0;p=o?{onBlur:this.onBlur}:s?{onBlur:s}:{};var f=u?{ref:u}:{};return i.default.createElement(t,r({},c,{onChange:this.onChange,value:this.state.value},l,p,f))}}]),t}()).defaultProps={element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0}},function(e,t,n){(function(t){var n="Expected a function",r=NaN,o="[object Symbol]",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt,l="object"==typeof t&&t&&t.Object===Object&&t,p="object"==typeof self&&self&&self.Object===Object&&self,f=l||p||Function("return this")(),h=Object.prototype.toString,d=Math.max,m=Math.min,v=function(){return f.Date.now()};function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&h.call(e)==o}(e))return r;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=s.test(e);return n||u.test(e)?c(e.slice(2),n?2:8):a.test(e)?r:+e}e.exports=function(e,t,r){var o,i,a,s,u,c,l=0,p=!1,f=!1,h=!0;if("function"!=typeof e)throw new TypeError(n);function b(t){var n=o,r=i;return o=i=void 0,l=t,s=e.apply(r,n)}function _(e){var n=e-c;return void 0===c||n>=t||n<0||f&&e-l>=a}function w(){var e=v();if(_(e))return x(e);u=setTimeout(w,function(e){var n=t-(e-c);return f?m(n,a-(e-l)):n}(e))}function x(e){return u=void 0,h&&o?b(e):(o=i=void 0,s)}function E(){var e=v(),n=_(e);if(o=arguments,i=this,c=e,n){if(void 0===u)return function(e){return l=e,u=setTimeout(w,t),p?b(e):s}(c);if(f)return u=setTimeout(w,t),b(c)}return void 0===u&&(u=setTimeout(w,t)),s}return t=y(t)||0,g(r)&&(p=!!r.leading,a=(f="maxWait"in r)?d(y(r.maxWait)||0,t):a,h="trailing"in r?!!r.trailing:h),E.cancel=function(){void 0!==u&&clearTimeout(u),l=0,o=c=i=u=void 0},E.flush=function(){return void 0===u?s:x(v())},E}}).call(this,n(36))},function(e,t,n){var r={"./all.js":328,"./auth/actions.js":71,"./auth/index.js":290,"./auth/reducers.js":291,"./auth/selectors.js":292,"./auth/spec-wrap-actions.js":293,"./configs/actions.js":121,"./configs/helpers.js":147,"./configs/index.js":329,"./configs/reducers.js":298,"./configs/selectors.js":297,"./configs/spec-actions.js":296,"./deep-linking/helpers.js":149,"./deep-linking/index.js":299,"./deep-linking/layout.js":300,"./deep-linking/operation-tag-wrapper.jsx":302,"./deep-linking/operation-wrapper.jsx":301,"./download-url.js":295,"./err/actions.js":44,"./err/error-transformers/hook.js":96,"./err/error-transformers/transformers/not-of-type.js":275,"./err/error-transformers/transformers/parameter-oneof.js":276,"./err/index.js":273,"./err/reducers.js":274,"./err/selectors.js":277,"./filter/index.js":303,"./filter/opsFilter.js":304,"./layout/actions.js":79,"./layout/index.js":278,"./layout/reducers.js":279,"./layout/selectors.js":280,"./logs/index.js":287,"./oas3/actions.js":62,"./oas3/auth-extensions/wrap-selectors.js":308,"./oas3/components/callbacks.jsx":311,"./oas3/components/http-auth.jsx":317,"./oas3/components/index.js":310,"./oas3/components/operation-link.jsx":313,"./oas3/components/operation-servers.jsx":318,"./oas3/components/request-body-editor.jsx":316,"./oas3/components/request-body.jsx":312,"./oas3/components/servers-container.jsx":315,"./oas3/components/servers.jsx":314,"./oas3/helpers.jsx":24,"./oas3/index.js":306,"./oas3/reducers.js":327,"./oas3/selectors.js":326,"./oas3/spec-extensions/selectors.js":309,"./oas3/spec-extensions/wrap-selectors.js":307,"./oas3/wrap-components/auth-item.jsx":321,"./oas3/wrap-components/index.js":319,"./oas3/wrap-components/json-schema-string.jsx":325,"./oas3/wrap-components/markdown.jsx":320,"./oas3/wrap-components/model.jsx":324,"./oas3/wrap-components/online-validator-badge.js":323,"./oas3/wrap-components/version-stamp.jsx":322,"./on-complete/index.js":305,"./samples/fn.js":120,"./samples/index.js":286,"./spec/actions.js":29,"./spec/index.js":281,"./spec/reducers.js":282,"./spec/selectors.js":70,"./spec/wrap-actions.js":284,"./swagger-js/configs-wrap-actions.js":289,"./swagger-js/index.js":288,"./util/index.js":294,"./view/index.js":285,"./view/root-injects.jsx":148};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=i,e.exports=o,o.id=1033},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"Container",function(){return jt}),n.d(r,"Col",function(){return It}),n.d(r,"Row",function(){return Mt}),n.d(r,"Button",function(){return Nt}),n.d(r,"TextArea",function(){return Rt}),n.d(r,"Input",function(){return Dt}),n.d(r,"Select",function(){return Lt}),n.d(r,"Link",function(){return Ut}),n.d(r,"Collapse",function(){return Ft});var o={};n.r(o),n.d(o,"JsonSchemaForm",function(){return Tn}),n.d(o,"JsonSchema_string",function(){return jn}),n.d(o,"JsonSchema_array",function(){return Pn}),n.d(o,"JsonSchema_boolean",function(){return In}),n.d(o,"JsonSchema_object",function(){return Mn});var i=n(28),a=n.n(i),s=n(17),u=n.n(s),c=n(26),l=n.n(c),p=n(80),f=n.n(p),h=n(14),d=n.n(h),m=n(2),v=n.n(m),g=n(16),y=n.n(g),b=n(4),_=n.n(b),w=n(5),x=n.n(w),E=n(0),S=n.n(E),C=n(124),k=n(1),O=n.n(k),A=n(470),T=n(119),j=n.n(T),P=n(145),I=n.n(P),M=n(44),N=n(18),R=n.n(N),D=n(3),L=function(e){return e};var U=function(){function e(){var t,n,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_()(this,e),f()(this,{state:{},plugins:[],system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},o),this.getSystem=this._getSystem.bind(this),this.store=(t=L,n=Object(k.fromJS)(this.state),r=this.getSystem,function(e,t,n){var r=[Object(D.J)(n)],o=R.a.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||C.compose;return Object(C.createStore)(e,t,o(C.applyMiddleware.apply(void 0,r)))}(t,n,r)),this.buildSystem(!1),this.register(this.plugins)}return x()(e,[{key:"getStore",value:function(){return this.store}},{key:"register",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=q(e,this.getSystem());B(this.system,n),t&&this.buildSystem();var r=F.call(this.system,e,this.getSystem());r&&this.buildSystem()}},{key:"buildSystem",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.getStore().dispatch,n=this.getStore().getState;this.boundSystem=y()({},this.getRootInjects(),this.getWrappedAndBoundActions(t),this.getWrappedAndBoundSelectors(n,this.getSystem),this.getStateThunks(n),this.getFn(),this.getConfigs()),e&&this.rebuildReducer()}},{key:"_getSystem",value:function(){return this.boundSystem}},{key:"getRootInjects",value:function(){return y()({getSystem:this.getSystem,getStore:this.getStore.bind(this),getComponents:this.getComponents.bind(this),getState:this.getStore().getState,getConfigs:this._getConfigs.bind(this),Im:O.a,React:S.a},this.system.rootInjects||{})}},{key:"_getConfigs",value:function(){return this.system.configs}},{key:"getConfigs",value:function(){return{configs:this.system.configs}}},{key:"setConfigs",value:function(e){this.system.configs=e}},{key:"rebuildReducer",value:function(){var e,t,n;this.store.replaceReducer((n=this.system.statePlugins,e=Object(D.y)(n,function(e){return e.reducers}),t=u()(e).reduce(function(t,n){var r;return t[n]=(r=e[n],function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new k.Map,t=arguments.length>1?arguments[1]:void 0;if(!r)return e;var n=r[t.type];if(n){var o=z(n)(e,t);return null===o?e:o}return e}),t},{}),u()(t).length?Object(A.combineReducers)(t):L))}},{key:"getType",value:function(e){var t=e[0].toUpperCase()+e.slice(1);return Object(D.z)(this.system.statePlugins,function(n,r){var o=n[e];if(o)return v()({},r+t,o)})}},{key:"getSelectors",value:function(){return this.getType("selectors")}},{key:"getActions",value:function(){var e=this.getType("actions");return Object(D.y)(e,function(e){return Object(D.z)(e,function(e,t){if(Object(D.r)(e))return v()({},t,e)})})}},{key:"getWrappedAndBoundActions",value:function(e){var t=this,n=this.getBoundActions(e);return Object(D.y)(n,function(e,n){var r=t.system.statePlugins[n.slice(0,-7)].wrapActions;return r?Object(D.y)(e,function(e,n){var o=r[n];return o?(d()(o)||(o=[o]),o.reduce(function(e,n){var r=function(){return n(e,t.getSystem()).apply(void 0,arguments)};if(!Object(D.r)(r))throw new TypeError("wrapActions needs to return a function that returns a new function (ie the wrapped action)");return z(r)},e||Function.prototype)):e}):e})}},{key:"getWrappedAndBoundSelectors",value:function(e,t){var n=this,r=this.getBoundSelectors(e,t);return Object(D.y)(r,function(t,r){var o=[r.slice(0,-9)],i=n.system.statePlugins[o].wrapSelectors;return i?Object(D.y)(t,function(t,r){var a=i[r];return a?(d()(a)||(a=[a]),a.reduce(function(t,r){var i=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return r(t,n.getSystem()).apply(void 0,[e().getIn(o)].concat(a))};if(!Object(D.r)(i))throw new TypeError("wrapSelector needs to return a function that returns a new function (ie the wrapped action)");return i},t||Function.prototype)):t}):t})}},{key:"getStates",value:function(e){return u()(this.system.statePlugins).reduce(function(t,n){return t[n]=e.get(n),t},{})}},{key:"getStateThunks",value:function(e){return u()(this.system.statePlugins).reduce(function(t,n){return t[n]=function(){return e().get(n)},t},{})}},{key:"getFn",value:function(){return{fn:this.system.fn}}},{key:"getComponents",value:function(e){var t=this,n=this.system.components[e];return d()(n)?n.reduce(function(e,n){return n(e,t.getSystem())}):void 0!==e?this.system.components[e]:this.system.components}},{key:"getBoundSelectors",value:function(e,t){return Object(D.y)(this.getSelectors(),function(n,r){var o=[r.slice(0,-9)],i=function(){return e().getIn(o)};return Object(D.y)(n,function(e){return function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];var a=z(e).apply(null,[i()].concat(r));return"function"==typeof a&&(a=z(a)(t())),a}})})}},{key:"getBoundActions",value:function(e){e=e||this.getStore().dispatch;var t=this.getActions();return Object(D.y)(t,function(t){return Object(C.bindActionCreators)(function e(t){return"function"!=typeof t?Object(D.y)(t,function(t){return e(t)}):function(){var e=null;try{e=t.apply(void 0,arguments)}catch(t){e={type:M.NEW_THROWN_ERR,error:!0,payload:j()(t)}}finally{return e}}}(t),e)})}},{key:"getMapStateToProps",value:function(){var e=this;return function(){return y()({},e.getSystem())}}},{key:"getMapDispatchToProps",value:function(e){var t=this;return function(n){return f()({},t.getWrappedAndBoundActions(n),t.getFn(),e)}}}]),e}();function q(e,t){return Object(D.u)(e)&&!Object(D.q)(e)?I()({},e):Object(D.s)(e)?q(e(t),t):Object(D.q)(e)?e.map(function(e){return q(e,t)}).reduce(B,{}):{}}function F(e,t){var n=this,r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).hasLoaded;return Object(D.u)(e)&&!Object(D.q)(e)&&"function"==typeof e.afterLoad&&(r=!0,z(e.afterLoad).call(this,t)),Object(D.s)(e)?F.call(this,e(t),t,{hasLoaded:r}):Object(D.q)(e)?e.map(function(e){return F.call(n,e,t,{hasLoaded:r})}):r}function B(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Object(D.u)(e))return{};if(!Object(D.u)(t))return e;t.wrapComponents&&(Object(D.y)(t.wrapComponents,function(n,r){var o=e.components&&e.components[r];o&&d()(o)?(e.components[r]=o.concat([n]),delete t.wrapComponents[r]):o&&(e.components[r]=[o,n],delete t.wrapComponents[r])}),u()(t.wrapComponents).length||delete t.wrapComponents);var n=e.statePlugins;if(Object(D.u)(n))for(var r in n){var o=n[r];if(Object(D.u)(o)&&Object(D.u)(o.wrapActions)){var i=o.wrapActions;for(var a in i){var s=i[a];d()(s)||(s=[s],i[a]=s),t&&t.statePlugins&&t.statePlugins[r]&&t.statePlugins[r].wrapActions&&t.statePlugins[r].wrapActions[a]&&(t.statePlugins[r].wrapActions[a]=i[a].concat(t.statePlugins[r].wrapActions[a]))}}}return f()(e,t)}function z(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).logErrors,n=void 0===t||t;return"function"!=typeof e?e:function(){try{for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return e.call.apply(e,[this].concat(r))}catch(e){return n&&console.error(e),null}}}var V=n(273),H=n(278),W=n(281),J=n(285),K=n(286),Y=n(287),$=n(288),G=n(290),Z=n(294),X=n(295),Q=n(329),ee=n(299),te=n(303),ne=n(305),re=n(6),oe=n.n(re),ie=n(7),ae=n.n(ie),se=n(9),ue=n.n(se),ce=n(8),le=n.n(ce),pe=(n(10),n(19),n(56).helpers.opId),fe=function(e){function t(e,n){var r;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"toggleShown",function(){var e=r.props,t=e.layoutActions,n=e.tag,o=e.operationId,i=e.isShown,a=r.getResolvedSubtree();i||void 0!==a||r.requestResolvedSubtree(),t.show(["operations",n,o],!i)}),v()(ue()(r),"onCancelClick",function(){r.setState({tryItOutEnabled:!r.state.tryItOutEnabled})}),v()(ue()(r),"onTryoutClick",function(){var e=r.props,t=e.specActions,n=e.path,o=e.method;r.setState({tryItOutEnabled:!r.state.tryItOutEnabled}),t.clearValidateParams([n,o])}),v()(ue()(r),"onExecute",function(){r.setState({executeInProgress:!0})}),v()(ue()(r),"getResolvedSubtree",function(){var e=r.props,t=e.specSelectors,n=e.path,o=e.method,i=e.specPath;return i?t.specResolvedSubtree(i.toJS()):t.specResolvedSubtree(["paths",n,o])}),v()(ue()(r),"requestResolvedSubtree",function(){var e=r.props,t=e.specActions,n=e.path,o=e.method,i=e.specPath;return i?t.requestResolvedSubtree(i.toJS()):t.requestResolvedSubtree(["paths",n,o])}),r.state={tryItOutEnabled:!1,executeInProgress:!1},r}return le()(t,e),x()(t,[{key:"mapStateToProps",value:function(e,t){var n=t.op,r=t.layoutSelectors,o=(0,t.getConfigs)(),i=o.docExpansion,a=o.deepLinking,s=o.displayOperationId,u=o.displayRequestDuration,c=o.supportedSubmitMethods,l=r.showSummary(),p=n.getIn(["operation","__originalOperationId"])||n.getIn(["operation","operationId"])||pe(n.get("operation"),t.path,t.method)||n.get("id"),f=["operations",t.tag,p],h=a&&"false"!==a,d=c.indexOf(t.method)>=0&&(void 0===t.allowTryItOut?t.specSelectors.allowTryItOutFor(t.path,t.method):t.allowTryItOut),m=n.getIn(["operation","security"])||t.specSelectors.security();return{operationId:p,isDeepLinkingEnabled:h,showSummary:l,displayOperationId:s,displayRequestDuration:u,allowTryItOut:d,security:m,isAuthorized:t.authSelectors.isAuthorized(m),isShown:r.isShown(f,"full"===i),jumpToKey:"paths.".concat(t.path,".").concat(t.method),response:t.specSelectors.responseFor(t.path,t.method),request:t.specSelectors.requestFor(t.path,t.method)}}},{key:"componentDidMount",value:function(){var e=this.props.isShown,t=this.getResolvedSubtree();e&&void 0===t&&this.requestResolvedSubtree()}},{key:"componentWillReceiveProps",value:function(e){var t=e.response,n=e.isShown,r=this.getResolvedSubtree();t!==this.props.response&&this.setState({executeInProgress:!1}),n&&void 0===r&&this.requestResolvedSubtree()}},{key:"render",value:function(){var e=this.props,t=e.op,n=e.tag,r=e.path,o=e.method,i=e.security,a=e.isAuthorized,s=e.operationId,u=e.showSummary,c=e.isShown,l=e.jumpToKey,p=e.allowTryItOut,f=e.response,h=e.request,d=e.displayOperationId,m=e.displayRequestDuration,v=e.isDeepLinkingEnabled,g=e.specPath,y=e.specSelectors,b=e.specActions,_=e.getComponent,w=e.getConfigs,x=e.layoutSelectors,E=e.layoutActions,C=e.authActions,O=e.authSelectors,A=e.oas3Actions,T=e.oas3Selectors,j=e.fn,P=_("operation"),I=this.getResolvedSubtree()||Object(k.Map)(),M=Object(k.fromJS)({op:I,tag:n,path:r,summary:t.getIn(["operation","summary"])||"",deprecated:I.get("deprecated")||t.getIn(["operation","deprecated"])||!1,method:o,security:i,isAuthorized:a,operationId:s,originalOperationId:I.getIn(["operation","__originalOperationId"]),showSummary:u,isShown:c,jumpToKey:l,allowTryItOut:p,request:h,displayOperationId:d,displayRequestDuration:m,isDeepLinkingEnabled:v,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return S.a.createElement(P,{operation:M,response:f,request:h,isShown:c,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:g,specActions:b,specSelectors:y,oas3Actions:A,oas3Selectors:T,layoutActions:E,layoutSelectors:x,authActions:C,authSelectors:O,getComponent:_,getConfigs:w,fn:j})}}]),t}(E.PureComponent);v()(fe,"defaultProps",{showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1});var he=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"getLayout",value:function(){var e=this.props,t=e.getComponent,n=e.layoutSelectors.current(),r=t(n,!0);return r||function(){return S.a.createElement("h1",null,' No layout defined for "',n,'" ')}}},{key:"render",value:function(){var e=this.getLayout();return S.a.createElement(e,null)}}]),t}(S.a.Component);he.defaultProps={};var de=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"close",function(){n.props.authActions.showDefinitions(!1)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.authSelectors,n=e.authActions,r=e.getComponent,o=e.errSelectors,i=e.specSelectors,a=e.fn.AST,s=void 0===a?{}:a,u=t.shownDefinitions(),c=r("auths");return S.a.createElement("div",{className:"dialog-ux"},S.a.createElement("div",{className:"backdrop-ux"}),S.a.createElement("div",{className:"modal-ux"},S.a.createElement("div",{className:"modal-dialog-ux"},S.a.createElement("div",{className:"modal-ux-inner"},S.a.createElement("div",{className:"modal-ux-header"},S.a.createElement("h3",null,"Available authorizations"),S.a.createElement("button",{type:"button",className:"close-modal",onClick:this.close},S.a.createElement("svg",{width:"20",height:"20"},S.a.createElement("use",{href:"#close",xlinkHref:"#close"})))),S.a.createElement("div",{className:"modal-ux-content"},u.valueSeq().map(function(e,a){return S.a.createElement(c,{key:a,AST:s,definitions:e,getComponent:r,errSelectors:o,authSelectors:t,authActions:n,specSelectors:i})}))))))}}]),t}(S.a.Component),me=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.isAuthorized,n=e.showPopup,r=e.onClick,o=(0,e.getComponent)("authorizationPopup",!0);return S.a.createElement("div",{className:"auth-wrapper"},S.a.createElement("button",{className:t?"btn authorize locked":"btn authorize unlocked",onClick:r},S.a.createElement("span",null,"Authorize"),S.a.createElement("svg",{width:"20",height:"20"},S.a.createElement("use",{href:t?"#locked":"#unlocked",xlinkHref:t?"#locked":"#unlocked"}))),n&&S.a.createElement(o,null))}}]),t}(S.a.Component),ve=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.authActions,n=e.authSelectors,r=e.specSelectors,o=e.getComponent,i=r.securityDefinitions(),a=n.definitionsToAuthorize(),s=o("authorizeBtn");return i?S.a.createElement(s,{onClick:function(){return t.showDefinitions(a)},isAuthorized:!!n.authorized().size,showPopup:!!n.shownDefinitions(),getComponent:o}):null}}]),t}(S.a.Component),ge=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onClick",function(e){e.stopPropagation();var t=n.props.onClick;t&&t()}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props.isAuthorized;return S.a.createElement("button",{className:e?"authorization__btn locked":"authorization__btn unlocked","aria-label":e?"authorization button locked":"authorization button unlocked",onClick:this.onClick},S.a.createElement("svg",{width:"20",height:"20"},S.a.createElement("use",{href:e?"#locked":"#unlocked",xlinkHref:e?"#locked":"#unlocked"})))}}]),t}(S.a.Component),ye=function(e){function t(e,n){var r;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"onAuthChange",function(e){var t=e.name;r.setState(v()({},t,e))}),v()(ue()(r),"submitAuth",function(e){e.preventDefault(),r.props.authActions.authorize(r.state)}),v()(ue()(r),"logoutClick",function(e){e.preventDefault();var t=r.props,n=t.authActions,o=t.definitions.map(function(e,t){return t}).toArray();r.setState(o.reduce(function(e,t){return e[t]="",e},{})),n.logout(o)}),v()(ue()(r),"close",function(e){e.preventDefault(),r.props.authActions.showDefinitions(!1)}),r.state={},r}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this,t=this.props,n=t.definitions,r=t.getComponent,o=t.authSelectors,i=t.errSelectors,a=r("AuthItem"),s=r("oauth2",!0),u=r("Button"),c=o.authorized(),l=n.filter(function(e,t){return!!c.get(t)}),p=n.filter(function(e){return"oauth2"!==e.get("type")}),f=n.filter(function(e){return"oauth2"===e.get("type")});return S.a.createElement("div",{className:"auth-container"},!!p.size&&S.a.createElement("form",{onSubmit:this.submitAuth},p.map(function(t,n){return S.a.createElement(a,{key:n,schema:t,name:n,getComponent:r,onAuthChange:e.onAuthChange,authorized:c,errSelectors:i})}).toArray(),S.a.createElement("div",{className:"auth-btn-wrapper"},p.size===l.size?S.a.createElement(u,{className:"btn modal-btn auth",onClick:this.logoutClick},"Logout"):S.a.createElement(u,{type:"submit",className:"btn modal-btn auth authorize"},"Authorize"),S.a.createElement(u,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close"))),f&&f.size?S.a.createElement("div",null,S.a.createElement("div",{className:"scope-def"},S.a.createElement("p",null,"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."),S.a.createElement("p",null,"API requires the following scopes. Select which ones you want to grant to Swagger UI.")),n.filter(function(e){return"oauth2"===e.get("type")}).map(function(e,t){return S.a.createElement("div",{key:t},S.a.createElement(s,{authorized:c,schema:e,name:t}))}).toArray()):null)}}]),t}(S.a.Component),be=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e,t=this.props,n=t.schema,r=t.name,o=t.getComponent,i=t.onAuthChange,a=t.authorized,s=t.errSelectors,u=o("apiKeyAuth"),c=o("basicAuth"),l=n.get("type");switch(l){case"apiKey":e=S.a.createElement(u,{key:r,schema:n,name:r,errSelectors:s,authorized:a,getComponent:o,onChange:i});break;case"basic":e=S.a.createElement(c,{key:r,schema:n,name:r,errSelectors:s,authorized:a,getComponent:o,onChange:i});break;default:e=S.a.createElement("div",{key:r},"Unknown security definition type ",l)}return S.a.createElement("div",{key:"".concat(r,"-jump")},e)}}]),t}(S.a.Component),_e=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props.error,t=e.get("level"),n=e.get("message"),r=e.get("source");return S.a.createElement("div",{className:"errors",style:{backgroundColor:"#ffeeee",color:"red",margin:"1em"}},S.a.createElement("b",{style:{textTransform:"capitalize",marginRight:"1em"}},r," ",t),S.a.createElement("span",null,n))}}]),t}(S.a.Component),we=function(e){function t(e,n){var r;_()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"onChange",function(e){var t=r.props.onChange,n=e.target.value,o=y()({},r.state,{value:n});r.setState(o),t(o)});var o=r.props,i=o.name,a=o.schema,s=r.getValue();return r.state={name:i,schema:a,value:s},r}return le()(t,e),x()(t,[{key:"getValue",value:function(){var e=this.props,t=e.name,n=e.authorized;return n&&n.getIn([t,"value"])}},{key:"render",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.errSelectors,o=e.name,i=n("Input"),a=n("Row"),s=n("Col"),u=n("authError"),c=n("Markdown"),l=n("JumpToPath",!0),p=this.getValue(),f=r.allErrors().filter(function(e){return e.get("authId")===o});return S.a.createElement("div",null,S.a.createElement("h4",null,S.a.createElement("code",null,o||t.get("name"))," (apiKey)",S.a.createElement(l,{path:["securityDefinitions",o]})),p&&S.a.createElement("h6",null,"Authorized"),S.a.createElement(a,null,S.a.createElement(c,{source:t.get("description")})),S.a.createElement(a,null,S.a.createElement("p",null,"Name: ",S.a.createElement("code",null,t.get("name")))),S.a.createElement(a,null,S.a.createElement("p",null,"In: ",S.a.createElement("code",null,t.get("in")))),S.a.createElement(a,null,S.a.createElement("label",null,"Value:"),p?S.a.createElement("code",null," ****** "):S.a.createElement(s,null,S.a.createElement(i,{type:"text",onChange:this.onChange}))),f.valueSeq().map(function(e,t){return S.a.createElement(u,{error:e,key:t})}))}}]),t}(S.a.Component),xe=function(e){function t(e,n){var r;_()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"onChange",function(e){var t=r.props.onChange,n=e.target,o=n.value,i=n.name,a=r.state.value;a[i]=o,r.setState({value:a}),t(r.state)});var o=r.props,i=o.schema,a=o.name,s=r.getValue().username;return r.state={name:a,schema:i,value:s?{username:s}:{}},r}return le()(t,e),x()(t,[{key:"getValue",value:function(){var e=this.props,t=e.authorized,n=e.name;return t&&t.getIn([n,"value"])||{}}},{key:"render",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.name,o=e.errSelectors,i=n("Input"),a=n("Row"),s=n("Col"),u=n("authError"),c=n("JumpToPath",!0),l=n("Markdown"),p=this.getValue().username,f=o.allErrors().filter(function(e){return e.get("authId")===r});return S.a.createElement("div",null,S.a.createElement("h4",null,"Basic authorization",S.a.createElement(c,{path:["securityDefinitions",r]})),p&&S.a.createElement("h6",null,"Authorized"),S.a.createElement(a,null,S.a.createElement(l,{source:t.get("description")})),S.a.createElement(a,null,S.a.createElement("label",null,"Username:"),p?S.a.createElement("code",null," ",p," "):S.a.createElement(s,null,S.a.createElement(i,{type:"text",required:"required",name:"username",onChange:this.onChange}))),S.a.createElement(a,null,S.a.createElement("label",null,"Password:"),p?S.a.createElement("code",null," ****** "):S.a.createElement(s,null,S.a.createElement(i,{required:"required",autoComplete:"new-password",name:"password",type:"password",onChange:this.onChange}))),f.valueSeq().map(function(e,t){return S.a.createElement(u,{error:e,key:t})}))}}]),t}(S.a.Component);function Ee(e){var t=e.example,n=e.showValue,r=e.getComponent,o=r("Markdown"),i=r("highlightCode");return t?S.a.createElement("div",{className:"example"},t.get("description")?S.a.createElement("section",{className:"example__section"},S.a.createElement("div",{className:"example__section-header"},"Example Description"),S.a.createElement("p",null,S.a.createElement(o,{source:t.get("description")}))):null,n&&t.has("value")?S.a.createElement("section",{className:"example__section"},S.a.createElement("div",{className:"example__section-header"},"Example Value"),S.a.createElement(i,{value:Object(D.I)(t.get("value"))})):null):null}var Se=n(483),Ce=n.n(Se),ke=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"_onSelect",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.isSyntheticChange,o=void 0!==r&&r;"function"==typeof n.props.onSelect&&n.props.onSelect(e,{isSyntheticChange:o})}),v()(ue()(n),"_onDomSelect",function(e){if("function"==typeof n.props.onSelect){var t=e.target.selectedOptions[0].getAttribute("value");n._onSelect(t,{isSyntheticChange:!1})}}),v()(ue()(n),"getCurrentExample",function(){var e=n.props,t=e.examples,r=e.currentExampleKey,o=t.get(r),i=t.keySeq().first(),a=t.get(i);return o||a||Ce()({})}),n}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.onSelect,n=e.examples;if("function"==typeof t){var r=n.first(),o=n.keyOf(r);this._onSelect(o,{isSyntheticChange:!0})}}},{key:"componentWillReceiveProps",value:function(e){var t=e.currentExampleKey,n=e.examples;if(n!==this.props.examples&&!n.has(t)){var r=n.first(),o=n.keyOf(r);this._onSelect(o,{isSyntheticChange:!0})}}},{key:"render",value:function(){var e=this.props,t=e.examples,n=e.currentExampleKey,r=e.isValueModified,o=e.isModifiedValueAvailable,i=e.showLabels;return S.a.createElement("div",{className:"examples-select"},i?S.a.createElement("span",{className:"examples-select__section-label"},"Examples: "):null,S.a.createElement("select",{onChange:this._onDomSelect,value:o&&r?"__MODIFIED__VALUE__":n||""},o?S.a.createElement("option",{value:"__MODIFIED__VALUE__"},"[Modified value]"):null,t.map(function(e,t){return S.a.createElement("option",{key:t,value:t},e.get("summary")||t)}).valueSeq()))}}]),t}(S.a.PureComponent);v()(ke,"defaultProps",{examples:O.a.Map({}),onSelect:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=console).log.apply(e,["DEBUG: ExamplesSelect was not given an onSelect callback"].concat(n))},currentExampleKey:null,showLabels:!0});var Oe=function(e){return k.List.isList(e)?e:Object(D.I)(e)},Ae=function(e){function t(e){var n;_()(this,t),n=oe()(this,ae()(t).call(this,e)),v()(ue()(n),"_getStateForCurrentNamespace",function(){var e=n.props.currentNamespace;return(n.state[e]||Object(k.Map)()).toObject()}),v()(ue()(n),"_setStateForCurrentNamespace",function(e){var t=n.props.currentNamespace;return n._setStateForNamespace(t,e)}),v()(ue()(n),"_setStateForNamespace",function(e,t){var r=(n.state[e]||Object(k.Map)()).mergeDeep(t);return n.setState(v()({},e,r))}),v()(ue()(n),"_isCurrentUserInputSameAsExampleValue",function(){var e=n.props.currentUserInputValue;return n._getCurrentExampleValue()===e}),v()(ue()(n),"_getValueForExample",function(e,t){var r=(t||n.props).examples;return Oe((r||Object(k.Map)({})).getIn([e,"value"]))}),v()(ue()(n),"_getCurrentExampleValue",function(e){var t=(e||n.props).currentKey;return n._getValueForExample(t,e||n.props)}),v()(ue()(n),"_onExamplesSelect",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.isSyntheticChange,o=n.props,i=o.onSelect,a=o.updateValue,s=o.currentUserInputValue,u=n._getStateForCurrentNamespace(),c=u.lastUserEditedValue,l=n._getValueForExample(e);if("__MODIFIED__VALUE__"===e)return a(Oe(c)),n._setStateForCurrentNamespace({isModifiedValueSelected:!0});if("function"==typeof i){for(var p=arguments.length,f=new Array(p>2?p-2:0),h=2;h<p;h++)f[h-2]=arguments[h];i.apply(void 0,[e,{isSyntheticChange:r}].concat(f))}n._setStateForCurrentNamespace({lastDownstreamValue:l,isModifiedValueSelected:r&&!!s&&s!==l}),r||"function"==typeof a&&a(Oe(l))});var r=n._getCurrentExampleValue();return n.state=v()({},e.currentNamespace,Object(k.Map)({lastUserEditedValue:n.props.currentUserInputValue,lastDownstreamValue:r,isModifiedValueSelected:n.props.currentUserInputValue!==r})),n}return le()(t,e),x()(t,[{key:"componentWillReceiveProps",value:function(e){var t=e.currentUserInputValue,n=e.examples,r=e.onSelect,o=this._getStateForCurrentNamespace(),i=o.lastUserEditedValue,a=o.lastDownstreamValue,s=this._getValueForExample(e.currentKey,e),u=n.find(function(e){return e.get("value")===t||Object(D.I)(e.get("value"))===t});u?r(n.keyOf(u),{isSyntheticChange:!0}):t!==this.props.currentUserInputValue&&t!==i&&t!==a&&this._setStateForNamespace(e.currentNamespace,{lastUserEditedValue:e.currentUserInputValue,isModifiedValueSelected:t!==s})}},{key:"render",value:function(){var e=this.props,t=e.currentUserInputValue,n=e.examples,r=e.currentKey,o=e.getComponent,i=this._getStateForCurrentNamespace(),a=i.lastDownstreamValue,s=i.lastUserEditedValue,u=i.isModifiedValueSelected,c=o("ExamplesSelect");return S.a.createElement(c,{examples:n,currentExampleKey:r,onSelect:this._onExamplesSelect,isModifiedValueAvailable:!!s&&s!==a,isValueModified:void 0!==t&&u&&t!==this._getCurrentExampleValue()})}}]),t}(S.a.PureComponent);v()(Ae,"defaultProps",{examples:Object(k.Map)({}),currentNamespace:"__DEFAULT__NAMESPACE__",onSelect:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=console).log.apply(e,["ExamplesSelectValueRetainer: no `onSelect` function was provided"].concat(n))},updateValue:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=console).log.apply(e,["ExamplesSelectValueRetainer: no `updateValue` function was provided"].concat(n))}});var Te=function(e){function t(e,n){var r;_()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"close",function(e){e.preventDefault(),r.props.authActions.showDefinitions(!1)}),v()(ue()(r),"authorize",function(){var e=r.props,t=e.authActions,n=e.errActions,o=e.getConfigs,i=e.authSelectors,a=o(),s=i.getConfigs();n.clear({authId:name,type:"auth",source:"auth"}),function(e){var t=e.auth,n=e.authActions,r=e.errActions,o=e.configs,i=e.authConfigs,a=void 0===i?{}:i,s=t.schema,u=t.scopes,c=t.name,l=t.clientId,p=s.get("flow"),f=[];switch(p){case"password":return void n.authorizePassword(t);case"application":return void n.authorizeApplication(t);case"accessCode":f.push("response_type=code");break;case"implicit":f.push("response_type=token");break;case"clientCredentials":return void n.authorizeApplication(t);case"authorizationCode":f.push("response_type=code")}"string"==typeof l&&f.push("client_id="+encodeURIComponent(l));var h=o.oauth2RedirectUrl;if(void 0!==h){if(f.push("redirect_uri="+encodeURIComponent(h)),d()(u)&&0<u.length){var m=a.scopeSeparator||" ";f.push("scope="+encodeURIComponent(u.join(m)))}var v=Object(D.a)(new Date);if(f.push("state="+encodeURIComponent(v)),void 0!==a.realm&&f.push("realm="+encodeURIComponent(a.realm)),"authorizationCode"===p&&a.usePkceWithAuthorizationCodeGrant){var g=Object(D.j)(),y=Object(D.c)(g);f.push("code_challenge="+y),f.push("code_challenge_method=S256"),t.codeVerifier=g}var b=a.additionalQueryStringParams;for(var _ in b)void 0!==b[_]&&f.push([_,b[_]].map(encodeURIComponent).join("="));var w,x=s.get("authorizationUrl"),E=[Object(D.F)(x),f.join("&")].join(-1===x.indexOf("?")?"?":"&");w="implicit"===p?n.preAuthorizeImplicit:a.useBasicAuthenticationWithAccessCodeGrant?n.authorizeAccessCodeWithBasicAuthentication:n.authorizeAccessCodeWithFormParams,R.a.swaggerUIRedirectOauth2={auth:t,state:v,redirectUrl:h,callback:w,errCb:r.newAuthErr},R.a.open(E)}else r.newAuthErr({authId:c,source:"validation",level:"error",message:"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed."})}({auth:r.state,authActions:t,errActions:n,configs:a,authConfigs:s})}),v()(ue()(r),"onScopeChange",function(e){var t=e.target,n=t.checked,o=t.dataset.value;if(n&&-1===r.state.scopes.indexOf(o)){var i=r.state.scopes.concat([o]);r.setState({scopes:i})}else!n&&r.state.scopes.indexOf(o)>-1&&r.setState({scopes:r.state.scopes.filter(function(e){return e!==o})})}),v()(ue()(r),"onInputChange",function(e){var t=e.target,n=t.dataset.name,o=t.value,i=v()({},n,o);r.setState(i)}),v()(ue()(r),"logout",function(e){e.preventDefault();var t=r.props,n=t.authActions,o=t.errActions,i=t.name;o.clear({authId:i,type:"auth",source:"auth"}),n.logout([i])});var o=r.props,i=o.name,a=o.schema,s=o.authorized,u=o.authSelectors,c=s&&s.get(i),l=u.getConfigs()||{},p=c&&c.get("username")||"",f=c&&c.get("clientId")||l.clientId||"",h=c&&c.get("clientSecret")||l.clientSecret||"",m=c&&c.get("passwordType")||"basic";return r.state={appName:l.appName,name:i,schema:a,scopes:[],clientId:f,clientSecret:h,username:p,password:"",passwordType:m},r}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this,t=this.props,n=t.schema,r=t.getComponent,o=t.authSelectors,i=t.errSelectors,a=t.name,s=t.specSelectors,u=r("Input"),c=r("Row"),l=r("Col"),p=r("Button"),f=r("authError"),h=r("JumpToPath",!0),d=r("Markdown"),m=r("InitializedInput"),v=s.isOAS3,g=v()?"authorizationCode":"accessCode",y=v()?"clientCredentials":"application",b=n.get("flow"),_=n.get("allowedScopes")||n.get("scopes"),w=!!o.authorized().get(a),x=i.allErrors().filter(function(e){return e.get("authId")===a}),E=!x.filter(function(e){return"validation"===e.get("source")}).size,C=n.get("description");return S.a.createElement("div",null,S.a.createElement("h4",null,a," (OAuth2, ",n.get("flow"),") ",S.a.createElement(h,{path:["securityDefinitions",a]})),this.state.appName?S.a.createElement("h5",null,"Application: ",this.state.appName," "):null,C&&S.a.createElement(d,{source:n.get("description")}),w&&S.a.createElement("h6",null,"Authorized"),("implicit"===b||b===g)&&S.a.createElement("p",null,"Authorization URL: ",S.a.createElement("code",null,n.get("authorizationUrl"))),("password"===b||b===g||b===y)&&S.a.createElement("p",null,"Token URL:",S.a.createElement("code",null," ",n.get("tokenUrl"))),S.a.createElement("p",{className:"flow"},"Flow: ",S.a.createElement("code",null,n.get("flow"))),"password"!==b?null:S.a.createElement(c,null,S.a.createElement(c,null,S.a.createElement("label",{htmlFor:"oauth_username"},"username:"),w?S.a.createElement("code",null," ",this.state.username," "):S.a.createElement(l,{tablet:10,desktop:10},S.a.createElement("input",{id:"oauth_username",type:"text","data-name":"username",onChange:this.onInputChange}))),S.a.createElement(c,null,S.a.createElement("label",{htmlFor:"oauth_password"},"password:"),w?S.a.createElement("code",null," ****** "):S.a.createElement(l,{tablet:10,desktop:10},S.a.createElement("input",{id:"oauth_password",type:"password","data-name":"password",onChange:this.onInputChange}))),S.a.createElement(c,null,S.a.createElement("label",{htmlFor:"password_type"},"Client credentials location:"),w?S.a.createElement("code",null," ",this.state.passwordType," "):S.a.createElement(l,{tablet:10,desktop:10},S.a.createElement("select",{id:"password_type","data-name":"passwordType",onChange:this.onInputChange},S.a.createElement("option",{value:"basic"},"Authorization header"),S.a.createElement("option",{value:"request-body"},"Request body"))))),(b===y||"implicit"===b||b===g||"password"===b)&&(!w||w&&this.state.clientId)&&S.a.createElement(c,null,S.a.createElement("label",{htmlFor:"client_id"},"client_id:"),w?S.a.createElement("code",null," ****** "):S.a.createElement(l,{tablet:10,desktop:10},S.a.createElement(m,{id:"client_id",type:"text",required:"password"===b,initialValue:this.state.clientId,"data-name":"clientId",onChange:this.onInputChange}))),(b===y||b===g||"password"===b)&&S.a.createElement(c,null,S.a.createElement("label",{htmlFor:"client_secret"},"client_secret:"),w?S.a.createElement("code",null," ****** "):S.a.createElement(l,{tablet:10,desktop:10},S.a.createElement(m,{id:"client_secret",initialValue:this.state.clientSecret,type:"password","data-name":"clientSecret",onChange:this.onInputChange}))),!w&&_&&_.size?S.a.createElement("div",{className:"scopes"},S.a.createElement("h2",null,"Scopes:"),_.map(function(t,n){return S.a.createElement(c,{key:n},S.a.createElement("div",{className:"checkbox"},S.a.createElement(u,{"data-value":n,id:"".concat(n,"-").concat(b,"-checkbox-").concat(e.state.name),disabled:w,type:"checkbox",onChange:e.onScopeChange}),S.a.createElement("label",{htmlFor:"".concat(n,"-").concat(b,"-checkbox-").concat(e.state.name)},S.a.createElement("span",{className:"item"}),S.a.createElement("div",{className:"text"},S.a.createElement("p",{className:"name"},n),S.a.createElement("p",{className:"description"},t)))))}).toArray()):null,x.valueSeq().map(function(e,t){return S.a.createElement(f,{error:e,key:t})}),S.a.createElement("div",{className:"auth-btn-wrapper"},E&&(w?S.a.createElement(p,{className:"btn modal-btn auth authorize",onClick:this.logout},"Logout"):S.a.createElement(p,{className:"btn modal-btn auth authorize",onClick:this.authorize},"Authorize")),S.a.createElement(p,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close")))}}]),t}(S.a.Component),je=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onClick",function(){var e=n.props,t=e.specActions,r=e.path,o=e.method;t.clearResponse(r,o),t.clearRequest(r,o)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){return S.a.createElement("button",{className:"btn btn-clear opblock-control__btn",onClick:this.onClick},"Clear")}}]),t}(E.Component),Pe=function(e){var t=e.headers;return S.a.createElement("div",null,S.a.createElement("h5",null,"Response headers"),S.a.createElement("pre",{className:"microlight"},t))},Ie=function(e){var t=e.duration;return S.a.createElement("div",null,S.a.createElement("h5",null,"Request duration"),S.a.createElement("pre",{className:"microlight"},t," ms"))},Me=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"shouldComponentUpdate",value:function(e){return this.props.response!==e.response||this.props.path!==e.path||this.props.method!==e.method||this.props.displayRequestDuration!==e.displayRequestDuration}},{key:"render",value:function(){var e=this.props,t=e.response,n=e.getComponent,r=e.getConfigs,o=e.displayRequestDuration,i=e.specSelectors,a=e.path,s=e.method,c=r().showMutatedRequest?i.mutatedRequestFor(a,s):i.requestFor(a,s),l=t.get("status"),p=c.get("url"),f=t.get("headers").toJS(),h=t.get("notDocumented"),d=t.get("error"),m=t.get("text"),v=t.get("duration"),g=u()(f),y=f["content-type"]||f["Content-Type"],b=n("curl"),_=n("responseBody"),w=g.map(function(e){return S.a.createElement("span",{className:"headerline",key:e}," ",e,": ",f[e]," ")}),x=0!==w.length;return S.a.createElement("div",null,c&&S.a.createElement(b,{request:c}),p&&S.a.createElement("div",null,S.a.createElement("h4",null,"Request URL"),S.a.createElement("div",{className:"request-url"},S.a.createElement("pre",{className:"microlight"},p))),S.a.createElement("h4",null,"Server response"),S.a.createElement("table",{className:"responses-table live-responses-table"},S.a.createElement("thead",null,S.a.createElement("tr",{className:"responses-header"},S.a.createElement("td",{className:"col_header response-col_status"},"Code"),S.a.createElement("td",{className:"col_header response-col_description"},"Details"))),S.a.createElement("tbody",null,S.a.createElement("tr",{className:"response"},S.a.createElement("td",{className:"response-col_status"},l,h?S.a.createElement("div",{className:"response-undocumented"},S.a.createElement("i",null," Undocumented ")):null),S.a.createElement("td",{className:"response-col_description"},d?S.a.createElement("span",null,"".concat(t.get("name"),": ").concat(t.get("message"))):null,m?S.a.createElement(_,{content:m,contentType:y,url:p,headers:f,getComponent:n}):null,x?S.a.createElement(Pe,{headers:w}):null,o&&v?S.a.createElement(Ie,{duration:v}):null)))))}}]),t}(S.a.Component),Ne=n(95),Re=n.n(Ne),De=function(e){function t(e,n){var r;_()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"getDefinitionUrl",function(){var e=r.props.specSelectors;return new Re.a(e.url(),R.a.location).toString()});var o=(0,e.getConfigs)().validatorUrl;return r.state={url:r.getDefinitionUrl(),validatorUrl:void 0===o?"https://validator.swagger.io/validator":o},r}return le()(t,e),x()(t,[{key:"componentWillReceiveProps",value:function(e){var t=(0,e.getConfigs)().validatorUrl;this.setState({url:this.getDefinitionUrl(),validatorUrl:void 0===t?"https://validator.swagger.io/validator":t})}},{key:"render",value:function(){var e=(0,this.props.getConfigs)().spec,t=Object(D.F)(this.state.validatorUrl);return"object"===l()(e)&&u()(e).length?null:!this.state.url||!this.state.validatorUrl||this.state.url.indexOf("localhost")>=0||this.state.url.indexOf("127.0.0.1")>=0?null:S.a.createElement("span",{style:{float:"right"}},S.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"".concat(t,"/debug?url=").concat(encodeURIComponent(this.state.url))},S.a.createElement(Le,{src:"".concat(t,"?url=").concat(encodeURIComponent(this.state.url)),alt:"Online validator badge"})))}}]),t}(S.a.Component),Le=function(e){function t(e){var n;return _()(this,t),(n=oe()(this,ae()(t).call(this,e))).state={loaded:!1,error:!1},n}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){var e=this,t=new Image;t.onload=function(){e.setState({loaded:!0})},t.onerror=function(){e.setState({error:!0})},t.src=this.props.src}},{key:"componentWillReceiveProps",value:function(e){var t=this;if(e.src!==this.props.src){var n=new Image;n.onload=function(){t.setState({loaded:!0})},n.onerror=function(){t.setState({error:!0})},n.src=e.src}}},{key:"render",value:function(){return this.state.error?S.a.createElement("img",{alt:"Error"}):this.state.loaded?S.a.createElement("img",{src:this.props.src,alt:this.props.alt}):null}}]),t}(S.a.Component),Ue=["get","put","post","delete","options","head","patch"],qe=Ue.concat(["trace"]),Fe=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.specSelectors,n=e.getComponent,r=e.layoutSelectors,o=e.layoutActions,i=e.getConfigs,a=e.fn,s=t.taggedOperations(),u=n("OperationContainer",!0),c=n("OperationTag"),l=i().maxDisplayedTags,p=r.currentFilter();return p&&!0!==p&&(s=a.opsFilter(s,p)),l&&!isNaN(l)&&l>=0&&(s=s.slice(0,l)),S.a.createElement("div",null,s.map(function(e,a){var s=e.get("operations");return S.a.createElement(c,{key:"operation-"+a,tagObj:e,tag:a,layoutSelectors:r,layoutActions:o,getConfigs:i,getComponent:n},s.map(function(e){var n=e.get("path"),r=e.get("method"),o=O.a.List(["paths",n,r]);return-1===(t.isOAS3()?qe:Ue).indexOf(r)?null:S.a.createElement(u,{key:"".concat(n,"-").concat(r),specPath:o,op:e,path:n,method:r,tag:a})}).toArray())}).toArray(),s.size<1?S.a.createElement("h3",null," No operations defined in spec! "):null)}}]),t}(S.a.Component),Be=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.tagObj,n=e.tag,r=e.children,o=e.layoutSelectors,i=e.layoutActions,a=e.getConfigs,s=e.getComponent,u=a(),c=u.docExpansion,l=u.deepLinking,p=l&&"false"!==l,f=s("Collapse"),h=s("Markdown"),d=s("DeepLink"),m=s("Link"),v=t.getIn(["tagDetails","description"],null),g=t.getIn(["tagDetails","externalDocs","description"]),y=t.getIn(["tagDetails","externalDocs","url"]),b=["operations-tag",n],_=o.isShown(b,"full"===c||"list"===c);return S.a.createElement("div",{className:_?"opblock-tag-section is-open":"opblock-tag-section"},S.a.createElement("h4",{onClick:function(){return i.show(b,!_)},className:v?"opblock-tag":"opblock-tag no-desc",id:b.map(function(e){return Object(D.g)(e)}).join("-"),"data-tag":n,"data-is-open":_},S.a.createElement(d,{enabled:p,isShown:_,path:Object(D.d)(n),text:n}),v?S.a.createElement("small",null,S.a.createElement(h,{source:v})):S.a.createElement("small",null),S.a.createElement("div",null,g?S.a.createElement("small",null,g,y?": ":null,y?S.a.createElement(m,{href:Object(D.F)(y),onClick:function(e){return e.stopPropagation()},target:"_blank"},y):null):null),S.a.createElement("button",{className:"expand-operation",title:_?"Collapse operation":"Expand operation",onClick:function(){return i.show(b,!_)}},S.a.createElement("svg",{className:"arrow",width:"20",height:"20"},S.a.createElement("use",{href:_?"#large-arrow-down":"#large-arrow",xlinkHref:_?"#large-arrow-down":"#large-arrow"})))),S.a.createElement(f,{isOpened:_},r))}}]),t}(S.a.Component);v()(Be,"defaultProps",{tagObj:O.a.fromJS({}),tag:""});var ze=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.specPath,r=e.response,o=e.request,i=e.toggleShown,a=e.onTryoutClick,s=e.onCancelClick,u=e.onExecute,c=e.fn,l=e.getComponent,p=e.getConfigs,f=e.specActions,h=e.specSelectors,d=e.authActions,m=e.authSelectors,v=e.oas3Actions,g=e.oas3Selectors,y=this.props.operation,b=y.toJS(),_=b.deprecated,w=b.isShown,x=b.path,E=b.method,C=b.op,k=b.tag,O=b.operationId,A=b.allowTryItOut,T=b.displayRequestDuration,j=b.tryItOutEnabled,P=b.executeInProgress,I=C.description,M=C.externalDocs,N=C.schemes,R=y.getIn(["op"]),L=R.get("responses"),U=Object(D.n)(R,["parameters"]),q=h.operationScheme(x,E),F=["operations",k,O],B=Object(D.m)(R),z=l("responses"),V=l("parameters"),H=l("execute"),W=l("clear"),J=l("Collapse"),K=l("Markdown"),Y=l("schemes"),$=l("OperationServers"),G=l("OperationExt"),Z=l("OperationSummary"),X=l("Link"),Q=p().showExtensions;if(L&&r&&r.size>0){var ee=!L.get(String(r.get("status")))&&!L.get("default");r=r.set("notDocumented",ee)}var te=[x,E];return S.a.createElement("div",{className:_?"opblock opblock-deprecated":w?"opblock opblock-".concat(E," is-open"):"opblock opblock-".concat(E),id:Object(D.g)(F.join("-"))},S.a.createElement(Z,{operationProps:y,toggleShown:i,getComponent:l,authActions:d,authSelectors:m,specPath:t}),S.a.createElement(J,{isOpened:w},S.a.createElement("div",{className:"opblock-body"},R&&R.size||null===R?null:S.a.createElement("img",{height:"32px",width:"32px",src:n(462),className:"opblock-loading-animation"}),_&&S.a.createElement("h4",{className:"opblock-title_normal"}," Warning: Deprecated"),I&&S.a.createElement("div",{className:"opblock-description-wrapper"},S.a.createElement("div",{className:"opblock-description"},S.a.createElement(K,{source:I}))),M&&M.url?S.a.createElement("div",{className:"opblock-external-docs-wrapper"},S.a.createElement("h4",{className:"opblock-title_normal"},"Find more details"),S.a.createElement("div",{className:"opblock-external-docs"},S.a.createElement("span",{className:"opblock-external-docs__description"},S.a.createElement(K,{source:M.description})),S.a.createElement(X,{target:"_blank",className:"opblock-external-docs__link",href:Object(D.F)(M.url)},M.url))):null,R&&R.size?S.a.createElement(V,{parameters:U,specPath:t.push("parameters"),operation:R,onChangeKey:te,onTryoutClick:a,onCancelClick:s,tryItOutEnabled:j,allowTryItOut:A,fn:c,getComponent:l,specActions:f,specSelectors:h,pathMethod:[x,E],getConfigs:p,oas3Actions:v,oas3Selectors:g}):null,j?S.a.createElement($,{getComponent:l,path:x,method:E,operationServers:R.get("servers"),pathServers:h.paths().getIn([x,"servers"]),getSelectedServer:g.selectedServer,setSelectedServer:v.setSelectedServer,setServerVariableValue:v.setServerVariableValue,getServerVariable:g.serverVariableValue,getEffectiveServerValue:g.serverEffectiveValue}):null,j&&A&&N&&N.size?S.a.createElement("div",{className:"opblock-schemes"},S.a.createElement(Y,{schemes:N,path:x,method:E,specActions:f,currentScheme:q})):null,S.a.createElement("div",{className:j&&r&&A?"btn-group":"execute-wrapper"},j&&A?S.a.createElement(H,{operation:R,specActions:f,specSelectors:h,path:x,method:E,onExecute:u}):null,j&&r&&A?S.a.createElement(W,{specActions:f,path:x,method:E}):null),P?S.a.createElement("div",{className:"loading-container"},S.a.createElement("div",{className:"loading"})):null,L?S.a.createElement(z,{responses:L,request:o,tryItOutResponse:r,getComponent:l,getConfigs:p,specSelectors:h,oas3Actions:v,oas3Selectors:g,specActions:f,produces:h.producesOptionsFor([x,E]),producesValue:h.currentProducesFor([x,E]),specPath:t.push("responses"),path:x,method:E,displayRequestDuration:T,fn:c}):null,Q&&B.size?S.a.createElement(G,{extensions:B,getComponent:l}):null)))}}]),t}(E.PureComponent);v()(ze,"defaultProps",{operation:null,response:null,request:null,specPath:Object(k.List)(),summary:""});var Ve=n(69),He=n.n(Ve),We=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.toggleShown,n=e.getComponent,r=e.authActions,o=e.authSelectors,i=e.operationProps,a=e.specPath,s=i.toJS(),u=s.summary,c=s.isAuthorized,l=s.method,p=s.op,f=s.showSummary,h=s.operationId,d=s.originalOperationId,m=s.displayOperationId,v=p.summary,g=i.get("security"),y=n("authorizeOperationBtn"),b=n("OperationSummaryMethod"),_=n("OperationSummaryPath"),w=n("JumpToPath",!0);return S.a.createElement("div",{className:"opblock-summary opblock-summary-".concat(l),onClick:t},S.a.createElement(b,{method:l}),S.a.createElement(_,{getComponent:n,operationProps:i,specPath:a}),f?S.a.createElement("div",{className:"opblock-summary-description"},He()(v||u)):null,m&&(d||h)?S.a.createElement("span",{className:"opblock-summary-operation-id"},d||h):null,g&&g.count()?S.a.createElement(y,{isAuthorized:c,onClick:function(){var e=o.definitionsForRequirements(g);r.showDefinitions(e)}}):null,S.a.createElement(w,{path:a}))}}]),t}(E.PureComponent);v()(We,"defaultProps",{operationProps:null,specPath:Object(k.List)(),summary:""});var Je=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props.method;return S.a.createElement("span",{className:"opblock-summary-method"},e.toUpperCase())}}]),t}(E.PureComponent);v()(Je,"defaultProps",{operationProps:null});var Ke=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onCopyCapture",function(e){e.clipboardData.setData("text/plain",n.props.operationProps.get("path")),e.preventDefault()}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.getComponent,n=e.operationProps.toJS(),r=n.deprecated,o=n.isShown,i=n.path,a=n.tag,s=n.operationId,u=n.isDeepLinkingEnabled,c=t("DeepLink");return S.a.createElement("span",{className:r?"opblock-summary-path__deprecated":"opblock-summary-path",onCopyCapture:this.onCopyCapture,"data-path":i},S.a.createElement(c,{enabled:u,isShown:o,path:Object(D.d)("".concat(a,"/").concat(s)),text:i.replace(/\//g,"​/")}))}}]),t}(E.PureComponent),Ye=n(13),$e=n.n(Ye),Ge=function(e){var t=e.extensions,n=(0,e.getComponent)("OperationExtRow");return S.a.createElement("div",{className:"opblock-section"},S.a.createElement("div",{className:"opblock-section-header"},S.a.createElement("h4",null,"Extensions")),S.a.createElement("div",{className:"table-container"},S.a.createElement("table",null,S.a.createElement("thead",null,S.a.createElement("tr",null,S.a.createElement("td",{className:"col_header"},"Field"),S.a.createElement("td",{className:"col_header"},"Value"))),S.a.createElement("tbody",null,t.entrySeq().map(function(e){var t=$e()(e,2),r=t[0],o=t[1];return S.a.createElement(n,{key:"".concat(r,"-").concat(o),xKey:r,xVal:o})})))))},Ze=function(e){var t=e.xKey,n=e.xVal,r=n?n.toJS?n.toJS():n:null;return S.a.createElement("tr",null,S.a.createElement("td",null,t),S.a.createElement("td",null,a()(r)))},Xe=n(484),Qe=n.n(Xe),et=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"initializeComponent",function(e){n.el=e}),v()(ue()(n),"downloadText",function(){Qe()(n.props.value,n.props.fileName||"response.txt")}),v()(ue()(n),"preventYScrollingBeyondElement",function(e){var t=e.target,n=e.nativeEvent.deltaY,r=t.scrollHeight,o=t.offsetHeight,i=t.scrollTop;r>o&&(0===i&&n<0||o+i>=r&&n>0)&&e.preventDefault()}),n}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){Object(D.p)(this.el)}},{key:"componentDidUpdate",value:function(){Object(D.p)(this.el)}},{key:"render",value:function(){var e=this.props,t=e.value,n=e.className,r=e.downloadable;return n=n||"",S.a.createElement("div",{className:"highlight-code"},r?S.a.createElement("div",{className:"download-contents",onClick:this.downloadText},"Download"):null,S.a.createElement("pre",{ref:this.initializeComponent,onWheel:this.preventYScrollingBeyondElement,className:n+" microlight"},t))}}]),t}(E.Component),tt=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onChangeProducesWrapper",function(e){return n.props.specActions.changeProducesValue([n.props.path,n.props.method],e)}),v()(ue()(n),"onResponseContentTypeChange",function(e){var t=e.controlsAcceptHeader,r=e.value,o=n.props,i=o.oas3Actions,a=o.path,s=o.method;t&&i.setResponseContentType({value:r,path:a,method:s})}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this,n=this.props,r=n.responses,o=n.tryItOutResponse,i=n.getComponent,a=n.getConfigs,s=n.specSelectors,u=n.fn,c=n.producesValue,l=n.displayRequestDuration,p=n.specPath,f=n.path,h=n.method,d=n.oas3Selectors,m=n.oas3Actions,v=Object(D.f)(r),g=i("contentType"),y=i("liveResponse"),b=i("response"),_=this.props.produces&&this.props.produces.size?this.props.produces:t.defaultProps.produces,w=s.isOAS3()?Object(D.k)(r):null;return S.a.createElement("div",{className:"responses-wrapper"},S.a.createElement("div",{className:"opblock-section-header"},S.a.createElement("h4",null,"Responses"),s.isOAS3()?null:S.a.createElement("label",null,S.a.createElement("span",null,"Response content type"),S.a.createElement(g,{value:c,onChange:this.onChangeProducesWrapper,contentTypes:_,className:"execute-content-type"}))),S.a.createElement("div",{className:"responses-inner"},o?S.a.createElement("div",null,S.a.createElement(y,{response:o,getComponent:i,getConfigs:a,specSelectors:s,path:this.props.path,method:this.props.method,displayRequestDuration:l}),S.a.createElement("h4",null,"Responses")):null,S.a.createElement("table",{className:"responses-table"},S.a.createElement("thead",null,S.a.createElement("tr",{className:"responses-header"},S.a.createElement("td",{className:"col_header response-col_status"},"Code"),S.a.createElement("td",{className:"col_header response-col_description"},"Description"),s.isOAS3()?S.a.createElement("td",{className:"col col_header response-col_links"},"Links"):null)),S.a.createElement("tbody",null,r.entrySeq().map(function(t){var n=$e()(t,2),r=n[0],l=n[1],g=o&&o.get("status")==r?"response_current":"";return S.a.createElement(b,{key:r,path:f,method:h,specPath:p.push(r),isDefault:v===r,fn:u,className:g,code:r,response:l,specSelectors:s,controlsAcceptHeader:l===w,onContentTypeChange:e.onResponseContentTypeChange,contentType:c,getConfigs:a,activeExamplesKey:d.activeExamplesMember(f,h,"responses",r),oas3Actions:m,getComponent:i})}).toArray()))))}}]),t}(S.a.Component);v()(tt,"defaultProps",{tryItOutResponse:null,produces:Object(k.fromJS)(["application/json"]),displayRequestDuration:!1});var nt=n(59),rt=n.n(nt),ot=function(e){function t(e,n){var r;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"_onContentTypeChange",function(e){var t=r.props,n=t.onContentTypeChange,o=t.controlsAcceptHeader;r.setState({responseContentType:e}),n({value:e,controlsAcceptHeader:o})}),v()(ue()(r),"getTargetExamplesKey",function(){var e=r.props,t=e.response,n=e.contentType,o=e.activeExamplesKey,i=r.state.responseContentType||n,a=t.getIn(["content",i],Object(k.Map)({})).get("examples",null).keySeq().first();return o||a}),r.state={responseContentType:""},r}return le()(t,e),x()(t,[{key:"render",value:function(){var e,t,n,r=this.props,o=r.path,i=r.method,a=r.code,s=r.response,u=r.className,c=r.specPath,l=r.fn,p=r.getComponent,f=r.getConfigs,h=r.specSelectors,d=r.contentType,m=r.controlsAcceptHeader,v=r.oas3Actions,g=l.inferSchema,y=h.isOAS3(),b=s.get("headers"),_=s.get("links"),w=p("headers"),x=p("highlightCode"),E=p("modelExample"),C=p("Markdown"),O=p("operationLink"),A=p("contentType"),T=p("ExamplesSelect"),j=p("Example"),P=this.state.responseContentType||d,I=s.getIn(["content",P],Object(k.Map)({})),M=I.get("examples",null);if(y){var N=I.get("schema");t=N?g(N.toJS()):null,n=N?Object(k.List)(["content",this.state.responseContentType,"schema"]):c}else t=s.get("schema"),n=s.has("schema")?c.push("schema"):c;if(y){var R=I.get("schema",Object(k.Map)({}));if(M){var L=this.getTargetExamplesKey(),U=M.get(L,Object(k.Map)({}));e=Object(D.I)(U.get("value"))}else e=void 0!==I.get("example")?Object(D.I)(I.get("example")):Object(D.o)(R.toJS(),this.state.responseContentType,{includeReadOnly:!0})}else e=s.getIn(["examples",P])?s.getIn(["examples",P]):t?Object(D.o)(t.toJS(),P,{includeReadOnly:!0,includeWriteOnly:!0}):null;var q=function(e,t){return null!=e?S.a.createElement("div",null,S.a.createElement(t,{className:"example",value:Object(D.I)(e)})):null}(e,x);return S.a.createElement("tr",{className:"response "+(u||""),"data-code":a},S.a.createElement("td",{className:"response-col_status"},a),S.a.createElement("td",{className:"response-col_description"},S.a.createElement("div",{className:"response-col_description__inner"},S.a.createElement(C,{source:s.get("description")})),y&&s.get("content")?S.a.createElement("section",{className:"response-controls"},S.a.createElement("div",{className:rt()("response-control-media-type",{"response-control-media-type--accept-controller":m})},S.a.createElement("small",{className:"response-control-media-type__title"},"Media type"),S.a.createElement(A,{value:this.state.responseContentType,contentTypes:s.get("content")?s.get("content").keySeq():Object(k.Seq)(),onChange:this._onContentTypeChange}),m?S.a.createElement("small",{className:"response-control-media-type__accept-message"},"Controls ",S.a.createElement("code",null,"Accept")," header."):null),M?S.a.createElement("div",{className:"response-control-examples"},S.a.createElement("small",{className:"response-control-examples__title"},"Examples"),S.a.createElement(T,{examples:M,currentExampleKey:this.getTargetExamplesKey(),onSelect:function(e){return v.setActiveExamplesMember({name:e,pathMethod:[o,i],contextType:"responses",contextName:a})},showLabels:!1})):null):null,q||t?S.a.createElement(E,{specPath:n,getComponent:p,getConfigs:f,specSelectors:h,schema:Object(D.i)(t),example:q}):null,y&&M?S.a.createElement(j,{example:M.get(this.getTargetExamplesKey(),Object(k.Map)({})),getComponent:p,omitValue:!0}):null,b?S.a.createElement(w,{headers:b,getComponent:p}):null),y?S.a.createElement("td",{className:"response-col_links"},_?_.toSeq().map(function(e,t){return S.a.createElement(O,{key:t,name:t,link:e,getComponent:p})}):S.a.createElement("i",null,"No links")):null)}}]),t}(S.a.Component);v()(ot,"defaultProps",{response:Object(k.fromJS)({}),onContentTypeChange:function(){}});var it=n(485),at=n.n(it),st=n(486),ut=n.n(st),ct=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"state",{parsedContent:null}),v()(ue()(n),"updateParsedContent",function(e){var t=n.props.content;if(e!==t)if(t&&t instanceof Blob){var r=new FileReader;r.onload=function(){n.setState({parsedContent:r.result})},r.readAsText(t)}else n.setState({parsedContent:t.toString()})}),n}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){this.updateParsedContent(null)}},{key:"componentDidUpdate",value:function(e){this.updateParsedContent(e.content)}},{key:"render",value:function(){var e,t,n=this.props,r=n.content,o=n.contentType,i=n.url,s=n.headers,u=void 0===s?{}:s,c=n.getComponent,l=this.state.parsedContent,p=c("highlightCode"),f="response_"+(new Date).getTime();if(i=i||"",/^application\/octet-stream/i.test(o)||u["Content-Disposition"]&&/attachment/i.test(u["Content-Disposition"])||u["content-disposition"]&&/attachment/i.test(u["content-disposition"])||u["Content-Description"]&&/File Transfer/i.test(u["Content-Description"])||u["content-description"]&&/File Transfer/i.test(u["content-description"]))if("Blob"in window){var h=o||"text/html",d=r instanceof Blob?r:new Blob([r],{type:h}),m=window.URL.createObjectURL(d),v=[h,i.substr(i.lastIndexOf("/")+1),m].join(":"),g=u["content-disposition"]||u["Content-Disposition"];if(void 0!==g){var y=Object(D.h)(g);null!==y&&(v=y)}t=R.a.navigator&&R.a.navigator.msSaveOrOpenBlob?S.a.createElement("div",null,S.a.createElement("a",{href:m,onClick:function(){return R.a.navigator.msSaveOrOpenBlob(d,v)}},"Download file")):S.a.createElement("div",null,S.a.createElement("a",{href:m,download:v},"Download file"))}else t=S.a.createElement("pre",{className:"microlight"},"Download headers detected but your browser does not support downloading binary via XHR (Blob).");else if(/json/i.test(o)){try{e=a()(JSON.parse(r),null," ")}catch(t){e="can't parse JSON. Raw result:\n\n"+r}t=S.a.createElement(p,{downloadable:!0,fileName:"".concat(f,".json"),value:e})}else/xml/i.test(o)?(e=at()(r,{textNodesOnSameLine:!0,indentor:" "}),t=S.a.createElement(p,{downloadable:!0,fileName:"".concat(f,".xml"),value:e})):t="text/html"===ut()(o)||/text\/plain/.test(o)?S.a.createElement(p,{downloadable:!0,fileName:"".concat(f,".html"),value:r}):/^image\//i.test(o)?o.includes("svg")?S.a.createElement("div",null," ",r," "):S.a.createElement("img",{style:{maxWidth:"100%"},src:window.URL.createObjectURL(r)}):/^audio\//i.test(o)?S.a.createElement("pre",{className:"microlight"},S.a.createElement("audio",{controls:!0},S.a.createElement("source",{src:i,type:o}))):"string"==typeof r?S.a.createElement(p,{downloadable:!0,fileName:"".concat(f,".txt"),value:r}):r.size>0?l?S.a.createElement("div",null,S.a.createElement("p",{className:"i"},"Unrecognized response type; displaying content as text."),S.a.createElement(p,{downloadable:!0,fileName:"".concat(f,".txt"),value:l})):S.a.createElement("p",{className:"i"},"Unrecognized response type; unable to display."):null;return t?S.a.createElement("div",null,S.a.createElement("h5",null,"Response body"),t):null}}]),t}(S.a.PureComponent),lt=n(12),pt=n.n(lt),ft=function(e){function t(e){var n;return _()(this,t),n=oe()(this,ae()(t).call(this,e)),v()(ue()(n),"onChange",function(e,t,r){var o=n.props;(0,o.specActions.changeParamByIdentity)(o.onChangeKey,e,t,r)}),v()(ue()(n),"onChangeConsumesWrapper",function(e){var t=n.props;(0,t.specActions.changeConsumesValue)(t.onChangeKey,e)}),v()(ue()(n),"toggleTab",function(e){return"parameters"===e?n.setState({parametersVisible:!0,callbackVisible:!1}):"callbacks"===e?n.setState({callbackVisible:!0,parametersVisible:!1}):void 0}),n.state={callbackVisible:!1,parametersVisible:!0},n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this,t=this.props,n=t.onTryoutClick,r=t.onCancelClick,o=t.parameters,i=t.allowTryItOut,a=t.tryItOutEnabled,s=t.specPath,u=t.fn,c=t.getComponent,l=t.getConfigs,p=t.specSelectors,f=t.specActions,h=t.pathMethod,d=t.oas3Actions,m=t.oas3Selectors,v=t.operation,g=c("parameterRow"),y=c("TryItOutButton"),b=c("contentType"),_=c("Callbacks",!0),w=c("RequestBody",!0),x=a&&i,E=p.isOAS3(),C=v.get("requestBody");return S.a.createElement("div",{className:"opblock-section"},S.a.createElement("div",{className:"opblock-section-header"},E?S.a.createElement("div",{className:"tab-header"},S.a.createElement("div",{onClick:function(){return e.toggleTab("parameters")},className:"tab-item ".concat(this.state.parametersVisible&&"active")},S.a.createElement("h4",{className:"opblock-title"},S.a.createElement("span",null,"Parameters"))),v.get("callbacks")?S.a.createElement("div",{onClick:function(){return e.toggleTab("callbacks")},className:"tab-item ".concat(this.state.callbackVisible&&"active")},S.a.createElement("h4",{className:"opblock-title"},S.a.createElement("span",null,"Callbacks"))):null):S.a.createElement("div",{className:"tab-header"},S.a.createElement("h4",{className:"opblock-title"},"Parameters")),i?S.a.createElement(y,{enabled:a,onCancelClick:r,onTryoutClick:n}):null),this.state.parametersVisible?S.a.createElement("div",{className:"parameters-container"},o.count()?S.a.createElement("div",{className:"table-container"},S.a.createElement("table",{className:"parameters"},S.a.createElement("thead",null,S.a.createElement("tr",null,S.a.createElement("th",{className:"col_header parameters-col_name"},"Name"),S.a.createElement("th",{className:"col_header parameters-col_description"},"Description"))),S.a.createElement("tbody",null,function(e,t){return e.valueSeq().filter(O.a.Map.isMap).map(t)}(o,function(t,n){return S.a.createElement(g,{fn:u,specPath:s.push(n.toString()),getComponent:c,getConfigs:l,rawParam:t,param:p.parameterWithMetaByIdentity(h,t),key:"".concat(t.get("in"),".").concat(t.get("name")),onChange:e.onChange,onChangeConsumes:e.onChangeConsumesWrapper,specSelectors:p,specActions:f,oas3Actions:d,oas3Selectors:m,pathMethod:h,isExecute:x})}).toArray()))):S.a.createElement("div",{className:"opblock-description-wrapper"},S.a.createElement("p",null,"No parameters"))):null,this.state.callbackVisible?S.a.createElement("div",{className:"callbacks-container opblock-description-wrapper"},S.a.createElement(_,{callbacks:Object(k.Map)(v.get("callbacks")),specPath:s.slice(0,-1).push("callbacks")})):null,E&&C&&this.state.parametersVisible&&S.a.createElement("div",{className:"opblock-section opblock-section-request-body"},S.a.createElement("div",{className:"opblock-section-header"},S.a.createElement("h4",{className:"opblock-title parameter__name ".concat(C.get("required")&&"required")},"Request body"),S.a.createElement("label",null,S.a.createElement(b,{value:m.requestContentType.apply(m,pt()(h)),contentTypes:C.get("content",Object(k.List)()).keySeq(),onChange:function(e){d.setRequestContentType({value:e,pathMethod:h})},className:"body-param-content-type"}))),S.a.createElement("div",{className:"opblock-description-wrapper"},S.a.createElement(w,{specPath:s.slice(0,-1).push("requestBody"),requestBody:C,requestBodyValue:m.requestBodyValue.apply(m,pt()(h)),isExecute:x,activeExamplesKey:m.activeExamplesMember.apply(m,pt()(h).concat(["requestBody","requestBody"])),updateActiveExamplesKey:function(t){e.props.oas3Actions.setActiveExamplesMember({name:t,pathMethod:e.props.pathMethod,contextType:"requestBody",contextName:"requestBody"})},onChange:function(e,t){if(t){var n=m.requestBodyValue.apply(m,pt()(h)),r=k.Map.isMap(n)?n:Object(k.Map)();return d.setRequestBodyValue({pathMethod:h,value:r.setIn(t,e)})}d.setRequestBodyValue({value:e,pathMethod:h})},contentType:m.requestContentType.apply(m,pt()(h))}))))}}]),t}(E.Component);v()(ft,"defaultProps",{onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]});var ht=function(e){var t=e.xKey,n=e.xVal;return S.a.createElement("div",{className:"parameter__extension"},t,": ",String(n))},dt=function(e){var t=e.param,n=e.isIncluded,r=e.onChange,o=e.isDisabled;return t.get("allowEmptyValue")?S.a.createElement("div",{className:rt()("parameter__empty_value_toggle",{disabled:o})},S.a.createElement("input",{type:"checkbox",disabled:o,checked:!o&&n,onChange:function(e){r(e.target.checked)}}),"Send empty value"):null},mt=n(122),vt=function(e){function t(e,n){var r;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"onChangeWrapper",function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=r.props,o=n.onChange,i=n.rawParam;return o(i,""===e||e&&0===e.size?null:e,t)}),v()(ue()(r),"_onExampleSelect",function(e){r.props.oas3Actions.setActiveExamplesMember({name:e,pathMethod:r.props.pathMethod,contextType:"parameters",contextName:r.getParamKey()})}),v()(ue()(r),"onChangeIncludeEmpty",function(e){var t=r.props,n=t.specActions,o=t.param,i=t.pathMethod,a=o.get("name"),s=o.get("in");return n.updateEmptyParamInclusion(i,a,s,e)}),v()(ue()(r),"setDefaultValue",function(){var e=r.props,t=e.specSelectors,n=e.pathMethod,o=e.rawParam,i=e.oas3Selectors,a=t.parameterWithMetaByIdentity(n,o)||Object(k.Map)(),s=Object(mt.a)(a,{isOAS3:t.isOAS3()}).schema,u=a.get("content",Object(k.Map)()).keySeq().first(),c=Object(D.o)(s.toJS(),u,{includeWriteOnly:!0});if(a&&void 0===a.get("value")&&"body"!==a.get("in")){var l;if(t.isSwagger2())l=a.get("x-example")||a.getIn(["schema","example"])||s.getIn(["default"]);else if(t.isOAS3()){var p=i.activeExamplesMember.apply(i,pt()(n).concat(["parameters",r.getParamKey()]));l=a.getIn(["examples",p,"value"])||a.getIn(["content",u,"example"])||a.get("example")||s.get("example")||s.get("default")||a.get("default")}void 0===l||k.List.isList(l)||(l=Object(D.I)(l)),void 0!==l?r.onChangeWrapper(l):"object"===s.get("type")&&c&&!a.get("examples")&&r.onChangeWrapper(k.List.isList(c)?c:Object(D.I)(c))}}),r.setDefaultValue(),r}return le()(t,e),x()(t,[{key:"componentWillReceiveProps",value:function(e){var t,n=e.specSelectors,r=e.pathMethod,o=e.rawParam,i=n.isOAS3(),a=n.parameterWithMetaByIdentity(r,o)||new k.Map;(a=a.isEmpty()?o:a,i)?t=Object(mt.a)(a,{isOAS3:i}).schema.get("enum"):t=a?a.get("enum"):void 0;var s,u=a?a.get("value"):void 0;void 0!==u?s=u:o.get("required")&&t&&t.size&&(s=t.first()),void 0!==s&&s!==u&&this.onChangeWrapper(Object(D.x)(s)),this.setDefaultValue()}},{key:"getParamKey",value:function(){var e=this.props.param;return e?"".concat(e.get("name"),"-").concat(e.get("in")):null}},{key:"render",value:function(){var e=this.props,t=e.param,n=e.rawParam,r=e.getComponent,o=e.getConfigs,i=e.isExecute,a=e.fn,s=e.onChangeConsumes,u=e.specSelectors,c=e.pathMethod,l=e.specPath,p=e.oas3Selectors,f=u.isOAS3(),h=o(),d=h.showExtensions,m=h.showCommonExtensions;if(t||(t=n),!n)return null;var v,g,y,b=r("JsonSchemaForm"),_=r("ParamBody"),w=t.get("in"),x="body"!==w?null:S.a.createElement(_,{getComponent:r,fn:a,param:t,consumes:u.consumesOptionsFor(c),consumesValue:u.contentTypeValues(c).get("requestContentType"),onChange:this.onChangeWrapper,onChangeConsumes:s,isExecute:i,specSelectors:u,pathMethod:c}),E=r("modelExample"),C=r("Markdown"),O=r("ParameterExt"),A=r("ParameterIncludeEmpty"),T=r("ExamplesSelectValueRetainer"),j=r("Example"),P=Object(mt.a)(t,{isOAS3:f}).schema,I=u.parameterWithMetaByIdentity(c,n)||Object(k.Map)(),M=t.get("format"),N=P.get("type"),L="formData"===w,U="FormData"in R.a,q=t.get("required"),F=P.getIn(["items","type"]),B=I?I.get("value"):"",z=m?Object(D.l)(t):null,V=d?Object(D.m)(t):null,H=!1;return void 0!==t&&(v=P.get("items")),void 0!==v?(g=v.get("enum"),y=v.get("default")):g=P.get("enum"),void 0!==g&&g.size>0&&(H=!0),void 0!==t&&(void 0===(y=P.get("default"))&&(y=t.get("default")),void 0===t.get("example")&&t.get("x-example")),S.a.createElement("tr",{"data-param-name":t.get("name"),"data-param-in":t.get("in")},S.a.createElement("td",{className:"parameters-col_name"},S.a.createElement("div",{className:q?"parameter__name required":"parameter__name"},t.get("name"),q?S.a.createElement("span",{style:{color:"red"}}," *"):null),S.a.createElement("div",{className:"parameter__type"},N,F&&"[".concat(F,"]"),M&&S.a.createElement("span",{className:"prop-format"},"($",M,")")),S.a.createElement("div",{className:"parameter__deprecated"},f&&t.get("deprecated")?"deprecated":null),S.a.createElement("div",{className:"parameter__in"},"(",t.get("in"),")"),m&&z.size?z.map(function(e,t){return S.a.createElement(O,{key:"".concat(t,"-").concat(e),xKey:t,xVal:e})}):null,d&&V.size?V.map(function(e,t){return S.a.createElement(O,{key:"".concat(t,"-").concat(e),xKey:t,xVal:e})}):null),S.a.createElement("td",{className:"parameters-col_description"},t.get("description")?S.a.createElement(C,{source:t.get("description")}):null,!x&&i||!H?null:S.a.createElement(C,{className:"parameter__enum",source:"<i>Available values</i> : "+g.map(function(e){return e}).toArray().join(", ")}),!x&&i||void 0===y?null:S.a.createElement(C,{className:"parameter__default",source:"<i>Default value</i> : "+y}),L&&!U&&S.a.createElement("div",null,"Error: your browser does not support FormData"),f&&t.get("examples")?S.a.createElement("section",{className:"parameter-controls"},S.a.createElement(T,{examples:t.get("examples"),onSelect:this._onExampleSelect,updateValue:this.onChangeWrapper,getComponent:r,defaultToFirstExample:!0,currentKey:p.activeExamplesMember.apply(p,pt()(c).concat(["parameters",this.getParamKey()])),currentUserInputValue:B})):null,x?null:S.a.createElement(b,{fn:a,getComponent:r,value:B,required:q,disabled:!i,description:t.get("description")?"".concat(t.get("name")," - ").concat(t.get("description")):"".concat(t.get("name")),onChange:this.onChangeWrapper,errors:I.get("errors"),schema:P}),x&&P?S.a.createElement(E,{getComponent:r,specPath:l.push("schema"),getConfigs:o,isExecute:i,specSelectors:u,schema:P,example:x}):null,!x&&i?S.a.createElement(A,{onChange:this.onChangeIncludeEmpty,isIncluded:u.parameterInclusionSettingFor(c,t.get("name"),t.get("in")),isDisabled:B&&0!==B.size,param:t}):null,f&&t.get("examples")?S.a.createElement(j,{example:t.getIn(["examples",p.activeExamplesMember.apply(p,pt()(c).concat(["parameters",this.getParamKey()]))]),getComponent:r}):null))}}]),t}(E.Component),gt=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onClick",function(){var e=n.props,t=e.specSelectors,r=e.specActions,o=e.operation,i=e.path,a=e.method;r.validateParams([i,a]),t.validateBeforeExecute([i,a])&&(n.props.onExecute&&n.props.onExecute(),r.execute({operation:o,path:i,method:a}))}),v()(ue()(n),"onChangeProducesWrapper",function(e){return n.props.specActions.changeProducesValue([n.props.path,n.props.method],e)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){return S.a.createElement("button",{className:"btn execute opblock-control__btn",onClick:this.onClick},"Execute")}}]),t}(E.Component),yt={color:"#999",fontStyle:"italic"},bt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.headers,n=e.getComponent,r=n("Property"),o=n("Markdown");return t&&t.size?S.a.createElement("div",{className:"headers-wrapper"},S.a.createElement("h4",{className:"headers__title"},"Headers:"),S.a.createElement("table",{className:"headers"},S.a.createElement("thead",null,S.a.createElement("tr",{className:"header-row"},S.a.createElement("th",{className:"header-col"},"Name"),S.a.createElement("th",{className:"header-col"},"Description"),S.a.createElement("th",{className:"header-col"},"Type"))),S.a.createElement("tbody",null,t.entrySeq().map(function(e){var t=$e()(e,2),n=t[0],i=t[1];if(!O.a.Map.isMap(i))return null;var a=i.get("description"),s=i.getIn(["schema"])?i.getIn(["schema","type"]):i.getIn(["type"]),u=i.getIn(["schema","example"]);return S.a.createElement("tr",{key:n},S.a.createElement("td",{className:"header-col"},n),S.a.createElement("td",{className:"header-col"},a?S.a.createElement(o,{source:a}):null),S.a.createElement("td",{className:"header-col"},s," ",u?S.a.createElement(r,{propKey:"Example",propVal:u,propStyle:yt}):null))}).toArray()))):null}}]),t}(S.a.Component),_t=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.editorActions,n=e.errSelectors,r=e.layoutSelectors,o=e.layoutActions,i=(0,e.getComponent)("Collapse");if(t&&t.jumpToLine)var a=t.jumpToLine;var s=n.allErrors().filter(function(e){return"thrown"===e.get("type")||"error"===e.get("level")});if(!s||s.count()<1)return null;var u=r.isShown(["errorPane"],!0),c=s.sortBy(function(e){return e.get("line")});return S.a.createElement("pre",{className:"errors-wrapper"},S.a.createElement("hgroup",{className:"error"},S.a.createElement("h4",{className:"errors__title"},"Errors"),S.a.createElement("button",{className:"btn errors__clear-btn",onClick:function(){return o.show(["errorPane"],!u)}},u?"Hide":"Show")),S.a.createElement(i,{isOpened:u,animated:!0},S.a.createElement("div",{className:"errors"},c.map(function(e,t){var n=e.get("type");return"thrown"===n||"auth"===n?S.a.createElement(wt,{key:t,error:e.get("error")||e,jumpToLine:a}):"spec"===n?S.a.createElement(xt,{key:t,error:e,jumpToLine:a}):void 0}))))}}]),t}(S.a.Component),wt=function(e){var t=e.error,n=e.jumpToLine;if(!t)return null;var r=t.get("line");return S.a.createElement("div",{className:"error-wrapper"},t?S.a.createElement("div",null,S.a.createElement("h4",null,t.get("source")&&t.get("level")?Et(t.get("source"))+" "+t.get("level"):"",t.get("path")?S.a.createElement("small",null," at ",t.get("path")):null),S.a.createElement("span",{style:{whiteSpace:"pre-line",maxWidth:"100%"}},t.get("message")),S.a.createElement("div",{style:{"text-decoration":"underline",cursor:"pointer"}},r&&n?S.a.createElement("a",{onClick:n.bind(null,r)},"Jump to line ",r):null)):null)},xt=function(e){var t=e.error,n=e.jumpToLine,r=null;return t.get("path")?r=k.List.isList(t.get("path"))?S.a.createElement("small",null,"at ",t.get("path").join(".")):S.a.createElement("small",null,"at ",t.get("path")):t.get("line")&&!n&&(r=S.a.createElement("small",null,"on line ",t.get("line"))),S.a.createElement("div",{className:"error-wrapper"},t?S.a.createElement("div",null,S.a.createElement("h4",null,Et(t.get("source"))+" "+t.get("level")," ",r),S.a.createElement("span",{style:{whiteSpace:"pre-line"}},t.get("message")),S.a.createElement("div",{style:{"text-decoration":"underline",cursor:"pointer"}},n?S.a.createElement("a",{onClick:n.bind(null,t.get("line"))},"Jump to line ",t.get("line")):null)):null)};function Et(e){return(e||"").split(" ").map(function(e){return e[0].toUpperCase()+e.slice(1)}).join(" ")}wt.defaultProps={jumpToLine:null};var St=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onChangeWrapper",function(e){return n.props.onChange(e.target.value)}),n}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){this.props.contentTypes&&this.props.onChange(this.props.contentTypes.first())}},{key:"componentWillReceiveProps",value:function(e){e.contentTypes&&e.contentTypes.size&&(e.contentTypes.includes(e.value)||e.onChange(e.contentTypes.first()))}},{key:"render",value:function(){var e=this.props,t=e.contentTypes,n=e.className,r=e.value;return t&&t.size?S.a.createElement("div",{className:"content-type-wrapper "+(n||"")},S.a.createElement("select",{className:"content-type",value:r||"",onChange:this.onChangeWrapper},t.map(function(e){return S.a.createElement("option",{key:e,value:e},e)}).toArray())):null}}]),t}(S.a.Component);v()(St,"defaultProps",{onChange:function(){},value:null,contentTypes:Object(k.fromJS)(["application/json"])});var Ct=n(20),kt=n.n(Ct),Ot=n(40),At=n.n(Ot);function Tt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return!!e}).join(" ").trim()}var jt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.fullscreen,n=e.full,r=At()(e,["fullscreen","full"]);if(t)return S.a.createElement("section",r);var o="swagger-container"+(n?"-full":"");return S.a.createElement("section",kt()({},r,{className:Tt(r.className,o)}))}}]),t}(S.a.Component),Pt={mobile:"",tablet:"-tablet",desktop:"-desktop",large:"-hd"},It=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.hide,n=e.keepContents,r=(e.mobile,e.tablet,e.desktop,e.large,At()(e,["hide","keepContents","mobile","tablet","desktop","large"]));if(t&&!n)return S.a.createElement("span",null);var o=[];for(var i in Pt)if(Pt.hasOwnProperty(i)){var a=Pt[i];if(i in this.props){var s=this.props[i];if(s<1){o.push("none"+a);continue}o.push("block"+a),o.push("col-"+s+a)}}var u=Tt.apply(void 0,[r.className].concat(o));return S.a.createElement("section",kt()({},r,{style:{display:t?"none":null},className:u}))}}]),t}(S.a.Component),Mt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){return S.a.createElement("div",kt()({},this.props,{className:Tt(this.props.className,"wrapper")}))}}]),t}(S.a.Component),Nt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){return S.a.createElement("button",kt()({},this.props,{className:Tt(this.props.className,"button")}))}}]),t}(S.a.Component);v()(Nt,"defaultProps",{className:""});var Rt=function(e){return S.a.createElement("textarea",e)},Dt=function(e){return S.a.createElement("input",e)},Lt=function(e){function t(e,n){var r,o;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"onChange",function(e){var t,n=r.props,o=n.onChange,i=n.multiple,a=[].slice.call(e.target.options);t=i?a.filter(function(e){return e.selected}).map(function(e){return e.value}):e.target.value,r.setState({value:t}),o&&o(t)}),o=e.value?e.value:e.multiple?[""]:"",r.state={value:o},r}return le()(t,e),x()(t,[{key:"componentWillReceiveProps",value:function(e){e.value!==this.props.value&&this.setState({value:e.value})}},{key:"render",value:function(){var e,t,n=this.props,r=n.allowedValues,o=n.multiple,i=n.allowEmptyValue,a=n.disabled,s=(null===(e=this.state.value)||void 0===e?void 0:null===(t=e.toJS)||void 0===t?void 0:t.call(e))||this.state.value;return S.a.createElement("select",{className:this.props.className,multiple:o,value:s,onChange:this.onChange,disabled:a},i?S.a.createElement("option",{value:""},"--"):null,r.map(function(e,t){return S.a.createElement("option",{key:t,value:String(e)},String(e))}))}}]),t}(S.a.Component);v()(Lt,"defaultProps",{multiple:!1,allowEmptyValue:!0});var Ut=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){return S.a.createElement("a",kt()({},this.props,{rel:"noopener noreferrer",className:Tt(this.props.className,"link")}))}}]),t}(S.a.Component),qt=function(e){var t=e.children;return S.a.createElement("div",{style:{height:"auto",border:"none",margin:0,padding:0}}," ",t," ")},Ft=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"renderNotAnimated",value:function(){return this.props.isOpened?S.a.createElement(qt,null,this.props.children):S.a.createElement("noscript",null)}},{key:"render",value:function(){var e=this.props,t=e.animated,n=e.isOpened,r=e.children;return t?(r=n?r:null,S.a.createElement(qt,null,r)):this.renderNotAnimated()}}]),t}(S.a.Component);v()(Ft,"defaultProps",{isOpened:!1,animated:!1});var Bt=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o)))).setTagShown=n._setTagShown.bind(ue()(n)),n}return le()(t,e),x()(t,[{key:"_setTagShown",value:function(e,t){this.props.layoutActions.show(e,t)}},{key:"showOp",value:function(e,t){this.props.layoutActions.show(e,t)}},{key:"render",value:function(){var e=this.props,t=e.specSelectors,n=e.layoutSelectors,r=e.layoutActions,o=e.getComponent,i=t.taggedOperations(),a=o("Collapse");return S.a.createElement("div",null,S.a.createElement("h4",{className:"overview-title"},"Overview"),i.map(function(e,t){var o=e.get("operations"),i=["overview-tags",t],s=n.isShown(i,!0);return S.a.createElement("div",{key:"overview-"+t},S.a.createElement("h4",{onClick:function(){return r.show(i,!s)},className:"link overview-tag"}," ",s?"-":"+",t),S.a.createElement(a,{isOpened:s,animated:!0},o.map(function(e){var t=e.toObject(),o=t.path,i=t.method,a=t.id,s=a,u=n.isShown(["operations",s]);return S.a.createElement(zt,{key:a,path:o,method:i,id:o+"-"+i,shown:u,showOpId:s,showOpIdPrefix:"operations",href:"#operation-".concat(s),onClick:r.show})}).toArray()))}).toArray(),i.size<1&&S.a.createElement("h3",null," No operations defined in spec! "))}}]),t}(S.a.Component),zt=function(e){function t(e){var n;return _()(this,t),(n=oe()(this,ae()(t).call(this,e))).onClick=n._onClick.bind(ue()(n)),n}return le()(t,e),x()(t,[{key:"_onClick",value:function(){var e=this.props,t=e.showOpId,n=e.showOpIdPrefix;(0,e.onClick)([n,t],!e.shown)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.method,r=e.shown,o=e.href;return S.a.createElement(Ut,{href:o,style:{fontWeight:r?"bold":"normal"},onClick:this.onClick,className:"block opblock-link"},S.a.createElement("div",null,S.a.createElement("small",{className:"bold-label-".concat(n)},n.toUpperCase()),S.a.createElement("span",{className:"bold-label"},t)))}}]),t}(S.a.Component),Vt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){this.props.initialValue&&(this.inputRef.value=this.props.initialValue)}},{key:"render",value:function(){var e=this,t=this.props,n=(t.value,t.defaultValue,At()(t,["value","defaultValue"]));return S.a.createElement("input",kt()({},n,{ref:function(t){return e.inputRef=t}}))}}]),t}(S.a.Component),Ht=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.host,n=e.basePath;return S.a.createElement("pre",{className:"base-url"},"[ Base URL: ",t,n," ]")}}]),t}(S.a.Component),Wt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.data,n=e.getComponent,r=t.get("name")||"the developer",o=t.get("url"),i=t.get("email"),a=n("Link");return S.a.createElement("div",{className:"info__contact"},o&&S.a.createElement("div",null,S.a.createElement(a,{href:Object(D.F)(o),target:"_blank"},r," - Website")),i&&S.a.createElement(a,{href:Object(D.F)("mailto:".concat(i))},o?"Send email to ".concat(r):"Contact ".concat(r)))}}]),t}(S.a.Component),Jt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.license,n=(0,e.getComponent)("Link"),r=t.get("name")||"License",o=t.get("url");return S.a.createElement("div",{className:"info__license"},o?S.a.createElement(n,{target:"_blank",href:Object(D.F)(o)},r):S.a.createElement("span",null,r))}}]),t}(S.a.Component),Kt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.url,n=(0,e.getComponent)("Link");return S.a.createElement(n,{target:"_blank",href:Object(D.F)(t)},S.a.createElement("span",{className:"url"}," ",t," "))}}]),t}(S.a.PureComponent),Yt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.info,n=e.url,r=e.host,o=e.basePath,i=e.getComponent,a=e.externalDocs,s=t.get("version"),u=t.get("description"),c=t.get("title"),l=t.get("termsOfService"),p=t.get("contact"),f=t.get("license"),h=(a||Object(k.fromJS)({})).toJS(),d=h.url,m=h.description,v=i("Markdown"),g=i("Link"),y=i("VersionStamp"),b=i("InfoUrl"),_=i("InfoBasePath");return S.a.createElement("div",{className:"info"},S.a.createElement("hgroup",{className:"main"},S.a.createElement("h2",{className:"title"},c,s&&S.a.createElement(y,{version:s})),r||o?S.a.createElement(_,{host:r,basePath:o}):null,n&&S.a.createElement(b,{getComponent:i,url:n})),S.a.createElement("div",{className:"description"},S.a.createElement(v,{source:u})),l&&S.a.createElement("div",{className:"info__tos"},S.a.createElement(g,{target:"_blank",href:Object(D.F)(l)},"Terms of service")),p&&p.size?S.a.createElement(Wt,{getComponent:i,data:p}):null,f&&f.size?S.a.createElement(Jt,{getComponent:i,license:f}):null,d?S.a.createElement(g,{className:"info__extdocs",target:"_blank",href:Object(D.F)(d)},m||d):null)}}]),t}(S.a.Component),$t=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.specSelectors,n=e.getComponent,r=t.info(),o=t.url(),i=t.basePath(),a=t.host(),s=t.externalDocs(),u=n("info");return S.a.createElement("div",null,r&&r.count()?S.a.createElement(u,{info:r,url:o,host:a,basePath:i,externalDocs:s,getComponent:n}):null)}}]),t}(S.a.Component),Gt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){return null}}]),t}(S.a.Component),Zt=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){return S.a.createElement("div",{className:"footer"})}}]),t}(S.a.Component),Xt=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onFilterChange",function(e){var t=e.target.value;n.props.layoutActions.updateFilter(t)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.specSelectors,n=e.layoutSelectors,r=(0,e.getComponent)("Col"),o="loading"===t.loadingStatus(),i="failed"===t.loadingStatus(),a=n.currentFilter(),s={};return i&&(s.color="red"),o&&(s.color="#aaa"),S.a.createElement("div",null,null===a||!1===a?null:S.a.createElement("div",{className:"filter-container"},S.a.createElement(r,{className:"filter wrapper",mobile:12},S.a.createElement("input",{className:"operation-filter-input",placeholder:"Filter by tag",type:"text",onChange:this.onFilterChange,value:!0===a||"true"===a?"":a,disabled:o,style:s}))))}}]),t}(S.a.Component),Qt=Function.prototype,en=function(e){function t(e,n){var r;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"updateValues",function(e){var t=e.param,n=e.isExecute,o=e.consumesValue,i=void 0===o?"":o,a=/xml/i.test(i),s=/json/i.test(i),u=a?t.get("value_xml"):t.get("value");if(void 0!==u){var c=!u&&s?"{}":u;r.setState({value:c}),r.onChange(c,{isXml:a,isEditBox:n})}else a?r.onChange(r.sample("xml"),{isXml:a,isEditBox:n}):r.onChange(r.sample(),{isEditBox:n})}),v()(ue()(r),"sample",function(e){var t=r.props,n=t.param,o=(0,t.fn.inferSchema)(n.toJS());return Object(D.o)(o,e,{includeWriteOnly:!0})}),v()(ue()(r),"onChange",function(e,t){var n=t.isEditBox,o=t.isXml;r.setState({value:e,isEditBox:n}),r._onChange(e,o)}),v()(ue()(r),"_onChange",function(e,t){(r.props.onChange||Qt)(e,t)}),v()(ue()(r),"handleOnChange",function(e){var t=r.props.consumesValue,n=/xml/i.test(t),o=e.target.value;r.onChange(o,{isXml:n})}),v()(ue()(r),"toggleIsEditBox",function(){return r.setState(function(e){return{isEditBox:!e.isEditBox}})}),r.state={isEditBox:!1,value:""},r}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){this.updateValues.call(this,this.props)}},{key:"componentWillReceiveProps",value:function(e){this.updateValues.call(this,e)}},{key:"render",value:function(){var e=this.props,n=e.onChangeConsumes,r=e.param,o=e.isExecute,i=e.specSelectors,a=e.pathMethod,s=e.getComponent,u=s("Button"),c=s("TextArea"),l=s("highlightCode"),p=s("contentType"),f=(i?i.parameterWithMetaByIdentity(a,r):r).get("errors",Object(k.List)()),h=i.contentTypeValues(a).get("requestContentType"),d=this.props.consumes&&this.props.consumes.size?this.props.consumes:t.defaultProp.consumes,m=this.state,v=m.value,g=m.isEditBox;return S.a.createElement("div",{className:"body-param","data-param-name":r.get("name"),"data-param-in":r.get("in")},g&&o?S.a.createElement(c,{className:"body-param__text"+(f.count()?" invalid":""),value:v,onChange:this.handleOnChange}):v&&S.a.createElement(l,{className:"body-param__example",value:v}),S.a.createElement("div",{className:"body-param-options"},o?S.a.createElement("div",{className:"body-param-edit"},S.a.createElement(u,{className:g?"btn cancel body-param__example-edit":"btn edit body-param__example-edit",onClick:this.toggleIsEditBox},g?"Cancel":"Edit")):null,S.a.createElement("label",{htmlFor:""},S.a.createElement("span",null,"Parameter content type"),S.a.createElement(p,{value:h,contentTypes:d,onChange:n,className:"body-param-content-type"}))))}}]),t}(E.PureComponent);v()(en,"defaultProp",{consumes:Object(k.fromJS)(["application/json"]),param:Object(k.fromJS)({}),onChange:Qt,onChangeConsumes:Qt});var tn=n(92),nn=n.n(tn);var rn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"handleFocus",value:function(e){e.target.select(),document.execCommand("copy")}},{key:"render",value:function(){var e=function(e){var t=[],n="",r=e.get("headers");if(t.push("curl"),t.push("-X",e.get("method")),t.push('"'.concat(e.get("url"),'"')),r&&r.size){var o=!0,i=!1,s=void 0;try{for(var u,c=nn()(e.get("headers").entries());!(o=(u=c.next()).done);o=!0){var l=u.value,p=$e()(l,2),f=p[0],h=p[1];n=h,t.push("-H "),t.push('"'.concat(f,": ").concat(h,'"'))}}catch(e){i=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw s}}}if(e.get("body"))if("multipart/form-data"===n&&"POST"===e.get("method")){var d=!0,m=!1,v=void 0;try{for(var g,y=nn()(e.get("body").entrySeq());!(d=(g=y.next()).done);d=!0){var b=$e()(g.value,2),_=b[0],w=b[1];t.push("-F"),w instanceof R.a.File?t.push('"'.concat(_,"=@").concat(w.name).concat(w.type?";type=".concat(w.type):"",'"')):t.push('"'.concat(_,"=").concat(w,'"'))}}catch(e){m=!0,v=e}finally{try{d||null==y.return||y.return()}finally{if(m)throw v}}}else t.push("-d"),t.push(a()(e.get("body")).replace(/\\n/g,""));return t.join(" ")}(this.props.request);return S.a.createElement("div",null,S.a.createElement("h4",null,"Curl"),S.a.createElement("div",{className:"copy-paste"},S.a.createElement("textarea",{onFocus:this.handleFocus,readOnly:!0,className:"curl",style:{whiteSpace:"normal"},value:e})))}}]),t}(S.a.Component),on=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onChange",function(e){n.setScheme(e.target.value)}),v()(ue()(n),"setScheme",function(e){var t=n.props,r=t.path,o=t.method;t.specActions.setScheme(e,r,o)}),n}return le()(t,e),x()(t,[{key:"componentWillMount",value:function(){var e=this.props.schemes;this.setScheme(e.first())}},{key:"componentWillReceiveProps",value:function(e){this.props.currentScheme&&e.schemes.includes(this.props.currentScheme)||this.setScheme(e.schemes.first())}},{key:"render",value:function(){var e=this.props,t=e.schemes,n=e.currentScheme;return S.a.createElement("label",{htmlFor:"schemes"},S.a.createElement("span",{className:"schemes-title"},"Schemes"),S.a.createElement("select",{onChange:this.onChange,value:n},t.valueSeq().map(function(e){return S.a.createElement("option",{value:e,key:e},e)}).toArray()))}}]),t}(S.a.Component),an=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.specActions,n=e.specSelectors,r=e.getComponent,o=n.operationScheme(),i=n.schemes(),a=r("schemes");return i&&i.size?S.a.createElement(a,{currentScheme:o,schemes:i,specActions:t}):null}}]),t}(S.a.Component),sn=function(e){function t(e,n){var r;_()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"toggleCollapsed",function(){r.props.onToggle&&r.props.onToggle(r.props.modelName,!r.state.expanded),r.setState({expanded:!r.state.expanded})});var o=r.props,i=o.expanded,a=o.collapsedContent;return r.state={expanded:i,collapsedContent:a||t.defaultProps.collapsedContent},r}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.hideSelfOnExpand,n=e.expanded,r=e.modelName;t&&n&&this.props.onToggle(r,n)}},{key:"componentWillReceiveProps",value:function(e){this.props.expanded!==e.expanded&&this.setState({expanded:e.expanded})}},{key:"render",value:function(){var e=this.props,t=e.title,n=e.classes;return this.state.expanded&&this.props.hideSelfOnExpand?S.a.createElement("span",{className:n||""},this.props.children):S.a.createElement("span",{className:n||""},t&&S.a.createElement("span",{onClick:this.toggleCollapsed,style:{cursor:"pointer"}},t),S.a.createElement("span",{onClick:this.toggleCollapsed,style:{cursor:"pointer"}},S.a.createElement("span",{className:"model-toggle"+(this.state.expanded?"":" collapsed")})),this.state.expanded?this.props.children:this.state.collapsedContent)}}]),t}(E.Component);v()(sn,"defaultProps",{collapsedContent:"{...}",expanded:!1,title:null,onToggle:function(){},hideSelfOnExpand:!1});var un=function(e){function t(e,n){var r;_()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"activeTab",function(e){var t=e.target.dataset.name;r.setState({activeTab:t})});var o=r.props,i=o.getConfigs,a=o.isExecute,s=i().defaultModelRendering,u=s;return"example"!==s&&"model"!==s&&(u="example"),a&&(u="example"),r.state={activeTab:u},r}return le()(t,e),x()(t,[{key:"componentWillReceiveProps",value:function(e){e.isExecute&&!this.props.isExecute&&this.props.example&&this.setState({activeTab:"example"})}},{key:"render",value:function(){var e=this.props,t=e.getComponent,n=e.specSelectors,r=e.schema,o=e.example,i=e.isExecute,a=e.getConfigs,s=e.specPath,u=a().defaultModelExpandDepth,c=t("ModelWrapper"),l=t("highlightCode"),p=n.isOAS3();return S.a.createElement("div",{className:"model-example"},S.a.createElement("ul",{className:"tab"},S.a.createElement("li",{className:"tabitem"+("example"===this.state.activeTab?" active":"")},S.a.createElement("a",{className:"tablinks","data-name":"example",onClick:this.activeTab},i?"Edit Value":"Example Value")),r?S.a.createElement("li",{className:"tabitem"+("model"===this.state.activeTab?" active":"")},S.a.createElement("a",{className:"tablinks"+(i?" inactive":""),"data-name":"model",onClick:this.activeTab},p?"Schema":"Model")):null),S.a.createElement("div",null,"example"===this.state.activeTab?o||S.a.createElement(l,{value:"(no example available)"}):null,"model"===this.state.activeTab&&S.a.createElement(c,{schema:r,getComponent:t,getConfigs:a,specSelectors:n,expandDepth:u,specPath:s})))}}]),t}(S.a.Component),cn=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onToggle",function(e,t){n.props.layoutActions&&n.props.layoutActions.show(["models",e],t)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e,t=this.props,n=t.getComponent,r=t.getConfigs,o=n("Model");return this.props.layoutSelectors&&(e=this.props.layoutSelectors.isShown(["models",this.props.name])),S.a.createElement("div",{className:"model-box"},S.a.createElement(o,kt()({},this.props,{getConfigs:r,expanded:e,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}]),t}(E.Component),ln=n(196),pn=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"getSchemaBasePath",function(){return n.props.specSelectors.isOAS3()?["components","schemas"]:["definitions"]}),v()(ue()(n),"getCollapsedContent",function(){return" "}),v()(ue()(n),"handleToggle",function(e,t){n.props.layoutActions.show(["models",e],t),t&&n.props.specActions.requestResolvedSubtree([].concat(pt()(n.getSchemaBasePath()),[e]))}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this,t=this.props,n=t.specSelectors,r=t.getComponent,o=t.layoutSelectors,i=t.layoutActions,a=t.getConfigs,s=n.definitions(),u=a(),c=u.docExpansion,l=u.defaultModelsExpandDepth;if(!s.size||l<0)return null;var p=o.isShown("models",l>0&&"none"!==c),f=this.getSchemaBasePath(),h=n.isOAS3(),d=r("ModelWrapper"),m=r("Collapse"),v=r("ModelCollapse"),g=r("JumpToPath");return S.a.createElement("section",{className:p?"models is-open":"models"},S.a.createElement("h4",{onClick:function(){return i.show("models",!p)}},S.a.createElement("span",null,h?"Schemas":"Models"),S.a.createElement("svg",{width:"20",height:"20"},S.a.createElement("use",{xlinkHref:p?"#large-arrow-down":"#large-arrow"}))),S.a.createElement(m,{isOpened:p},s.entrySeq().map(function(t){var s=$e()(t,1)[0],u=[].concat(pt()(f),[s]),c=n.specResolvedSubtree(u),p=n.specJson().getIn(u),h=k.Map.isMap(c)?c:O.a.Map(),m=k.Map.isMap(p)?p:O.a.Map(),y=h.get("title")||m.get("title")||s,b=o.isShown(["models",s],!1);b&&0===h.size&&m.size>0&&e.props.specActions.requestResolvedSubtree([].concat(pt()(e.getSchemaBasePath()),[s]));var _=O.a.List([].concat(pt()(f),[s])),w=S.a.createElement(d,{name:s,expandDepth:l,schema:h||O.a.Map(),displayName:y,specPath:_,getComponent:r,specSelectors:n,getConfigs:a,layoutSelectors:o,layoutActions:i}),x=S.a.createElement("span",{className:"model-box"},S.a.createElement("span",{className:"model model-title"},y));return S.a.createElement("div",{id:"model-".concat(s),className:"model-container",key:"models-section-".concat(s)},S.a.createElement("span",{className:"models-jump-to-path"},S.a.createElement(g,{specPath:_})),S.a.createElement(v,{classes:"model-box",collapsedContent:e.getCollapsedContent(s),onToggle:e.handleToggle,title:x,displayName:y,modelName:s,hideSelfOnExpand:!0,expanded:l>0&&b},w))}).toArray()))}}]),t}(E.Component),fn=function(e){var t=e.value,n=(0,e.getComponent)("ModelCollapse"),r=S.a.createElement("span",null,"Array [ ",t.count()," ]");return S.a.createElement("span",{className:"prop-enum"},"Enum:",S.a.createElement("br",null),S.a.createElement(n,{collapsedContent:r},"[ ",t.join(", ")," ]"))},hn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.schema,n=e.name,r=e.displayName,o=e.isRef,i=e.getComponent,s=e.getConfigs,u=e.depth,c=e.onToggle,l=e.expanded,p=e.specPath,f=At()(e,["schema","name","displayName","isRef","getComponent","getConfigs","depth","onToggle","expanded","specPath"]),h=f.specSelectors,d=f.expandDepth,m=h.isOAS3;if(!t)return null;var v=s().showExtensions,g=t.get("description"),y=t.get("properties"),b=t.get("additionalProperties"),_=t.get("title")||r||n,w=t.get("required"),x=i("JumpToPath",!0),E=i("Markdown"),C=i("Model"),O=i("ModelCollapse"),A=function(){return S.a.createElement("span",{className:"model-jump-to-path"},S.a.createElement(x,{specPath:p}))},T=S.a.createElement("span",null,S.a.createElement("span",null,"{"),"...",S.a.createElement("span",null,"}"),o?S.a.createElement(A,null):""),j=h.isOAS3()?t.get("anyOf"):null,P=h.isOAS3()?t.get("oneOf"):null,I=h.isOAS3()?t.get("not"):null,M=_&&S.a.createElement("span",{className:"model-title"},o&&t.get("$$ref")&&S.a.createElement("span",{className:"model-hint"},t.get("$$ref")),S.a.createElement("span",{className:"model-title__text"},_));return S.a.createElement("span",{className:"model"},S.a.createElement(O,{modelName:n,title:M,onToggle:c,expanded:!!l||u<=d,collapsedContent:T},S.a.createElement("span",{className:"brace-open object"},"{"),o?S.a.createElement(A,null):null,S.a.createElement("span",{className:"inner-object"},S.a.createElement("table",{className:"model"},S.a.createElement("tbody",null,g?S.a.createElement("tr",{style:{color:"#666",fontWeight:"normal"}},S.a.createElement("td",{style:{fontWeight:"bold"}},"description:"),S.a.createElement("td",null,S.a.createElement(E,{source:g}))):null,y&&y.size?y.entrySeq().map(function(e){var t=$e()(e,2),r=t[0],o=t[1],a=m()&&o.get("deprecated"),c=k.List.isList(w)&&w.contains(r),l={verticalAlign:"top",paddingRight:"0.2em"};return c&&(l.fontWeight="bold"),S.a.createElement("tr",{key:r,className:a&&"deprecated"},S.a.createElement("td",{style:l},r,c&&S.a.createElement("span",{style:{color:"red"}},"*")),S.a.createElement("td",{style:{verticalAlign:"top"}},S.a.createElement(C,kt()({key:"object-".concat(n,"-").concat(r,"_").concat(o)},f,{required:c,getComponent:i,specPath:p.push("properties",r),getConfigs:s,schema:o,depth:u+1}))))}).toArray():null,v?S.a.createElement("tr",null," "):null,v?t.entrySeq().map(function(e){var t=$e()(e,2),n=t[0],r=t[1];if("x-"===n.slice(0,2)){var o=r?r.toJS?r.toJS():r:null;return S.a.createElement("tr",{key:n,style:{color:"#777"}},S.a.createElement("td",null,n),S.a.createElement("td",{style:{verticalAlign:"top"}},a()(o)))}}).toArray():null,b&&b.size?S.a.createElement("tr",null,S.a.createElement("td",null,"< * >:"),S.a.createElement("td",null,S.a.createElement(C,kt()({},f,{required:!1,getComponent:i,specPath:p.push("additionalProperties"),getConfigs:s,schema:b,depth:u+1})))):null,j?S.a.createElement("tr",null,S.a.createElement("td",null,"anyOf ->"),S.a.createElement("td",null,j.map(function(e,t){return S.a.createElement("div",{key:t},S.a.createElement(C,kt()({},f,{required:!1,getComponent:i,specPath:p.push("anyOf",t),getConfigs:s,schema:e,depth:u+1})))}))):null,P?S.a.createElement("tr",null,S.a.createElement("td",null,"oneOf ->"),S.a.createElement("td",null,P.map(function(e,t){return S.a.createElement("div",{key:t},S.a.createElement(C,kt()({},f,{required:!1,getComponent:i,specPath:p.push("oneOf",t),getConfigs:s,schema:e,depth:u+1})))}))):null,I?S.a.createElement("tr",null,S.a.createElement("td",null,"not ->"),S.a.createElement("td",null,S.a.createElement("div",null,S.a.createElement(C,kt()({},f,{required:!1,getComponent:i,specPath:p.push("not"),getConfigs:s,schema:I,depth:u+1}))))):null))),S.a.createElement("span",{className:"brace-close"},"}")))}}]),t}(E.Component),dn={color:"#999",fontStyle:"italic"},mn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.getComponent,n=e.getConfigs,r=e.schema,o=e.depth,i=e.expandDepth,a=e.name,s=e.displayName,u=e.specPath,c=r.get("description"),l=r.get("items"),p=r.get("title")||s||a,f=r.filter(function(e,t){return-1===["type","items","description","$$ref"].indexOf(t)}),h=t("Markdown"),d=t("ModelCollapse"),m=t("Model"),v=t("Property"),g=p&&S.a.createElement("span",{className:"model-title"},S.a.createElement("span",{className:"model-title__text"},p));return S.a.createElement("span",{className:"model"},S.a.createElement(d,{title:g,expanded:o<=i,collapsedContent:"[...]"},"[",f.size?f.entrySeq().map(function(e){var t=$e()(e,2),n=t[0],r=t[1];return S.a.createElement(v,{key:"".concat(n,"-").concat(r),propKey:n,propVal:r,propStyle:dn})}):null,c?S.a.createElement(h,{source:c}):f.size?S.a.createElement("div",{className:"markdown"}):null,S.a.createElement("span",null,S.a.createElement(m,kt()({},this.props,{getConfigs:n,specPath:u.push("items"),name:null,schema:l,required:!1,depth:o+1}))),"]"))}}]),t}(E.Component),vn={color:"#6b6b6b",fontStyle:"italic"},gn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.schema,n=e.getComponent,r=e.getConfigs,o=e.name,i=e.displayName,a=e.depth,s=r().showExtensions;if(!t||!t.get)return S.a.createElement("div",null);var u=t.get("type"),c=t.get("format"),l=t.get("xml"),p=t.get("enum"),f=t.get("title")||i||o,h=t.get("description"),d=Object(D.m)(t),m=t.filter(function(e,t){return-1===["enum","type","format","description","$$ref"].indexOf(t)}).filterNot(function(e,t){return d.has(t)}),v=n("Markdown"),g=n("EnumModel"),y=n("Property");return S.a.createElement("span",{className:"model"},S.a.createElement("span",{className:"prop"},o&&S.a.createElement("span",{className:"".concat(1===a&&"model-title"," prop-name")},f),S.a.createElement("span",{className:"prop-type"},u),c&&S.a.createElement("span",{className:"prop-format"},"($",c,")"),m.size?m.entrySeq().map(function(e){var t=$e()(e,2),n=t[0],r=t[1];return S.a.createElement(y,{key:"".concat(n,"-").concat(r),propKey:n,propVal:r,propStyle:vn})}):null,s&&d.size?d.entrySeq().map(function(e){var t=$e()(e,2),n=t[0],r=t[1];return S.a.createElement(y,{key:"".concat(n,"-").concat(r),propKey:n,propVal:r,propStyle:vn})}):null,h?S.a.createElement(v,{source:h}):null,l&&l.size?S.a.createElement("span",null,S.a.createElement("br",null),S.a.createElement("span",{style:vn},"xml:"),l.entrySeq().map(function(e){var t=$e()(e,2),n=t[0],r=t[1];return S.a.createElement("span",{key:"".concat(n,"-").concat(r),style:vn},S.a.createElement("br",null)," ",n,": ",String(r))}).toArray()):null,p&&S.a.createElement(g,{value:p,getComponent:n})))}}]),t}(E.Component),yn=function(e){var t=e.propKey,n=e.propVal,r=e.propStyle;return S.a.createElement("span",{style:r},S.a.createElement("br",null),t,": ",String(n))},bn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.onTryoutClick,n=e.onCancelClick,r=e.enabled;return S.a.createElement("div",{className:"try-out"},r?S.a.createElement("button",{className:"btn try-out__btn cancel",onClick:n},"Cancel"):S.a.createElement("button",{className:"btn try-out__btn",onClick:t},"Try it out "))}}]),t}(S.a.Component);v()(bn,"defaultProps",{onTryoutClick:Function.prototype,onCancelClick:Function.prototype,enabled:!1});var _n=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.bypass,n=e.isSwagger2,r=e.isOAS3,o=e.alsoShow;return t?S.a.createElement("div",null,this.props.children):n&&r?S.a.createElement("div",{className:"version-pragma"},o,S.a.createElement("div",{className:"version-pragma__message version-pragma__message--ambiguous"},S.a.createElement("div",null,S.a.createElement("h3",null,"Unable to render this definition"),S.a.createElement("p",null,S.a.createElement("code",null,"swagger")," and ",S.a.createElement("code",null,"openapi")," fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."),S.a.createElement("p",null,"Supported version fields are ",S.a.createElement("code",null,"swagger: ",'"2.0"')," and those that match ",S.a.createElement("code",null,"openapi: 3.0.n")," (for example, ",S.a.createElement("code",null,"openapi: 3.0.0"),").")))):n||r?S.a.createElement("div",null,this.props.children):S.a.createElement("div",{className:"version-pragma"},o,S.a.createElement("div",{className:"version-pragma__message version-pragma__message--missing"},S.a.createElement("div",null,S.a.createElement("h3",null,"Unable to render this definition"),S.a.createElement("p",null,"The provided definition does not specify a valid version field."),S.a.createElement("p",null,"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ",S.a.createElement("code",null,"swagger: ",'"2.0"')," and those that match ",S.a.createElement("code",null,"openapi: 3.0.n")," (for example, ",S.a.createElement("code",null,"openapi: 3.0.0"),")."))))}}]),t}(S.a.PureComponent);v()(_n,"defaultProps",{alsoShow:null,children:null,bypass:!1});var wn=function(e){var t=e.version;return S.a.createElement("small",null,S.a.createElement("pre",{className:"version"}," ",t," "))},xn=function(e){var t=e.enabled,n=e.path,r=e.text;return S.a.createElement("a",{className:"nostyle",onClick:t?function(e){return e.preventDefault()}:null,href:t?"#/".concat(n):null},S.a.createElement("span",null,r))},En=function(){return S.a.createElement("div",null,S.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",style:{position:"absolute",width:0,height:0}},S.a.createElement("defs",null,S.a.createElement("symbol",{viewBox:"0 0 20 20",id:"unlocked"},S.a.createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"})),S.a.createElement("symbol",{viewBox:"0 0 20 20",id:"locked"},S.a.createElement("path",{d:"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"})),S.a.createElement("symbol",{viewBox:"0 0 20 20",id:"close"},S.a.createElement("path",{d:"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"})),S.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow"},S.a.createElement("path",{d:"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"})),S.a.createElement("symbol",{viewBox:"0 0 20 20",id:"large-arrow-down"},S.a.createElement("path",{d:"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"})),S.a.createElement("symbol",{viewBox:"0 0 24 24",id:"jump-to"},S.a.createElement("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"})),S.a.createElement("symbol",{viewBox:"0 0 24 24",id:"expand"},S.a.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"})))))},Sn=n(194),Cn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.errSelectors,n=e.specSelectors,r=e.getComponent,o=r("SvgAssets"),i=r("InfoContainer",!0),a=r("VersionPragmaFilter"),s=r("operations",!0),u=r("Models",!0),c=r("Row"),l=r("Col"),p=r("errors",!0),f=r("ServersContainer",!0),h=r("SchemesContainer",!0),d=r("AuthorizeBtnContainer",!0),m=r("FilterContainer",!0),v=n.isSwagger2(),g=n.isOAS3(),y=!n.specStr(),b=n.loadingStatus(),_=null;if("loading"===b&&(_=S.a.createElement("div",{className:"info"},S.a.createElement("div",{className:"loading-container"},S.a.createElement("div",{className:"loading"})))),"failed"===b&&(_=S.a.createElement("div",{className:"info"},S.a.createElement("div",{className:"loading-container"},S.a.createElement("h4",{className:"title"},"Failed to load API definition."),S.a.createElement(p,null)))),"failedConfig"===b){var w=t.lastError(),x=w?w.get("message"):"";_=S.a.createElement("div",{className:"info",style:{maxWidth:"880px",marginLeft:"auto",marginRight:"auto",textAlign:"center"}},S.a.createElement("div",{className:"loading-container"},S.a.createElement("h4",{className:"title"},"Failed to load remote configuration."),S.a.createElement("p",null,x)))}if(!_&&y&&(_=S.a.createElement("h4",null,"No API definition provided.")),_)return S.a.createElement("div",{className:"swagger-ui"},S.a.createElement("div",{className:"loading-container"},_));var E=n.servers(),C=n.schemes(),k=E&&E.size,O=C&&C.size,A=!!n.securityDefinitions();return S.a.createElement("div",{className:"swagger-ui"},S.a.createElement(o,null),S.a.createElement(a,{isSwagger2:v,isOAS3:g,alsoShow:S.a.createElement(p,null)},S.a.createElement(p,null),S.a.createElement(c,{className:"information-container"},S.a.createElement(l,{mobile:12},S.a.createElement(i,null))),k||O||A?S.a.createElement("div",{className:"scheme-container"},S.a.createElement(l,{className:"schemes wrapper",mobile:12},k?S.a.createElement(f,null):null,O?S.a.createElement(h,null):null,A?S.a.createElement(d,null):null)):null,S.a.createElement(m,null),S.a.createElement(c,null,S.a.createElement(l,{mobile:12,desktop:12},S.a.createElement(s,null))),S.a.createElement(c,null,S.a.createElement(l,{mobile:12,desktop:12},S.a.createElement(u,null)))))}}]),t}(S.a.Component),kn=n(487),On=n.n(kn),An={value:"",onChange:function(){},schema:{},keyName:"",required:!1,errors:Object(k.List)()},Tn=function(e){function t(){return _()(this,t),oe()(this,ae()(t).apply(this,arguments))}return le()(t,e),x()(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.dispatchInitialValue,n=e.value,r=e.onChange;t&&r(n)}},{key:"render",value:function(){var e=this.props,t=e.schema,n=e.errors,r=e.value,o=e.onChange,i=e.getComponent,a=e.fn,s=e.disabled;t.toJS&&(t=t.toJS());var u=t,c=u.type,l=u.format,p=void 0===l?"":l,f=i(p?"JsonSchema_".concat(c,"_").concat(p):"JsonSchema_".concat(c))||i("JsonSchema_string");return S.a.createElement(f,kt()({},this.props,{errors:n,fn:a,getComponent:i,value:r,onChange:o,schema:t,disabled:s}))}}]),t}(E.Component);v()(Tn,"defaultProps",An);var jn=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onChange",function(e){var t="file"===n.props.schema.type?e.target.files[0]:e.target.value;n.props.onChange(t,n.props.keyName)}),v()(ue()(n),"onEnumChange",function(e){return n.props.onChange(e)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.schema,o=e.errors,i=e.required,a=e.description,s=e.disabled,u=r.enum;if(o=o.toJS?o.toJS():[],u){var c=t("Select");return S.a.createElement(c,{className:o.length?"invalid":"",title:o.length?o:"",allowedValues:u,value:n,allowEmptyValue:!i,disabled:s,onChange:this.onEnumChange})}var l=s||"formData"===r.in&&!("FormData"in window),p=t("Input");return"file"===r.type?S.a.createElement(p,{type:"file",className:o.length?"invalid":"",title:o.length?o:"",onChange:this.onChange,disabled:l}):S.a.createElement(On.a,{type:"password"===r.format?"password":"text",className:o.length?"invalid":"",title:o.length?o:"",value:n,minLength:0,debounceTimeout:350,placeholder:a,onChange:this.onChange,disabled:l})}}]),t}(E.Component);v()(jn,"defaultProps",An);var Pn=function(e){function t(e,n){var r;return _()(this,t),r=oe()(this,ae()(t).call(this,e,n)),v()(ue()(r),"onChange",function(){return r.props.onChange(r.state.value)}),v()(ue()(r),"onItemChange",function(e,t){r.setState(function(n){return{value:n.value.set(t,e)}},r.onChange)}),v()(ue()(r),"removeItem",function(e){r.setState(function(t){return{value:t.value.remove(e)}},r.onChange)}),v()(ue()(r),"addItem",function(){r.setState(function(e){return e.value=Nn(e.value),{value:e.value.push("")}},r.onChange)}),v()(ue()(r),"onEnumChange",function(e){r.setState(function(){return{value:e}},r.onChange)}),r.state={value:Nn(e.value)},r}return le()(t,e),x()(t,[{key:"componentWillReceiveProps",value:function(e){e.value!==this.state.value&&this.setState({value:e.value})}},{key:"render",value:function(){var e=this,t=this.props,n=t.getComponent,r=t.required,o=t.schema,i=t.errors,a=t.fn,s=t.disabled;i=i.toJS?i.toJS():[];var u=a.inferSchema(o.items),c=n("JsonSchemaForm"),l=n("Button"),p=u.enum,f=this.state.value;if(p){var h=n("Select");return S.a.createElement(h,{className:i.length?"invalid":"",title:i.length?i:"",multiple:!0,value:f,disabled:s,allowedValues:p,allowEmptyValue:!r,onChange:this.onEnumChange})}return S.a.createElement("div",{className:"json-schema-array"},!f||!f.count||f.count()<1?null:f.map(function(t,r){var o=y()({},u);if(i.length){var p=i.filter(function(e){return e.index===r});p.length&&(i=[p[0].error+r])}return S.a.createElement("div",{key:r,className:"json-schema-form-item"},S.a.createElement(c,{fn:a,getComponent:n,value:t,onChange:function(t){return e.onItemChange(t,r)},schema:o,disabled:s}),s?null:S.a.createElement(l,{className:"btn btn-sm json-schema-form-item-remove",onClick:function(){return e.removeItem(r)}}," - "))}).toArray(),s?null:S.a.createElement(l,{className:"btn btn-sm json-schema-form-item-add ".concat(i.length?"invalid":null),onClick:this.addItem},"Add item"))}}]),t}(E.PureComponent);v()(Pn,"defaultProps",An);var In=function(e){function t(){var e,n;_()(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return n=oe()(this,(e=ae()(t)).call.apply(e,[this].concat(o))),v()(ue()(n),"onEnumChange",function(e){return n.props.onChange(e)}),n}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.errors,o=e.schema,i=e.required,a=e.disabled;r=r.toJS?r.toJS():[];var s=t("Select");return S.a.createElement(s,{className:r.length?"invalid":"",title:r.length?r:"",value:String(n),disabled:a,allowedValues:Object(k.fromJS)(o.enum||["true","false"]),allowEmptyValue:!o.enum||!i,onChange:this.onEnumChange})}}]),t}(E.Component);v()(In,"defaultProps",An);var Mn=function(e){function t(){var e;return _()(this,t),e=oe()(this,ae()(t).call(this)),v()(ue()(e),"onChange",function(t){e.props.onChange(t)}),v()(ue()(e),"handleOnChange",function(t){var n=t.target.value;e.onChange(n)}),e}return le()(t,e),x()(t,[{key:"render",value:function(){var e=this.props,t=e.getComponent,n=e.value,r=e.errors,o=e.disabled,i=t("TextArea");return S.a.createElement("div",null,S.a.createElement(i,{className:rt()({invalid:r.size}),title:r.size?r.join(", "):"",value:Object(D.I)(n),disabled:o,onChange:this.handleOnChange}))}}]),t}(E.PureComponent);function Nn(e){return k.List.isList(e)?e:Object(k.List)()}v()(Mn,"defaultProps",An);var Rn=function(){var e={components:{App:he,authorizationPopup:de,authorizeBtn:me,AuthorizeBtnContainer:ve,authorizeOperationBtn:ge,auths:ye,AuthItem:be,authError:_e,oauth2:Te,apiKeyAuth:we,basicAuth:xe,clear:je,liveResponse:Me,InitializedInput:Vt,info:Yt,InfoContainer:$t,JumpToPath:Gt,onlineValidatorBadge:De,operations:Fe,operation:ze,OperationSummary:We,OperationSummaryMethod:Je,OperationSummaryPath:Ke,highlightCode:et,responses:tt,response:ot,responseBody:ct,parameters:ft,parameterRow:vt,execute:gt,headers:bt,errors:_t,contentType:St,overview:Bt,footer:Zt,FilterContainer:Xt,ParamBody:en,curl:rn,schemes:on,SchemesContainer:an,modelExample:un,ModelWrapper:cn,ModelCollapse:sn,Model:ln.a,Models:pn,EnumModel:fn,ObjectModel:hn,ArrayModel:mn,PrimitiveModel:gn,Property:yn,TryItOutButton:bn,Markdown:Sn.a,BaseLayout:Cn,VersionPragmaFilter:_n,VersionStamp:wn,OperationExt:Ge,OperationExtRow:Ze,ParameterExt:ht,ParameterIncludeEmpty:dt,OperationTag:Be,OperationContainer:fe,DeepLink:xn,InfoUrl:Kt,InfoBasePath:Ht,SvgAssets:En,Example:Ee,ExamplesSelect:ke,ExamplesSelectValueRetainer:Ae}},t={components:r},n={components:o};return[Q.default,Z.default,Y.default,J.default,W.default,V.default,H.default,K.default,e,t,$.default,n,G.default,X.default,ee.default,te.default,ne.default]},Dn=n(306);function Ln(){return[Rn,Dn.default]}var Un=n(328);n.d(t,"default",function(){return Hn});var qn=!0,Fn="g3911391",Bn="3.25.0",zn="ip-172-31-21-173",Vn="Fri, 17 Jan 2020 21:38:59 GMT";function Hn(e){R.a.versions=R.a.versions||{},R.a.versions.swaggerUi={version:Bn,gitRevision:Fn,gitDirty:qn,buildTimestamp:Vn,machine:zn};var t={dom_id:null,domNode:null,spec:{},url:"",urls:null,layout:"BaseLayout",docExpansion:"list",maxDisplayedTags:null,filter:null,validatorUrl:"https://validator.swagger.io/validator",oauth2RedirectUrl:"".concat(window.location.protocol,"//").concat(window.location.host,"/oauth2-redirect.html"),configs:{},custom:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,requestInterceptor:function(e){return e},responseInterceptor:function(e){return e},showMutatedRequest:!0,defaultModelRendering:"example",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:void 0,supportedSubmitMethods:["get","put","post","delete","options","head","patch","trace"],presets:[Ln],plugins:[],initialState:{},fn:{},components:{}},n=Object(D.D)(),r=e.domNode;delete e.domNode;var o=f()({},t,e,n),i={system:{configs:o.configs},plugins:o.presets,state:f()({layout:{layout:o.layout,filter:o.filter},spec:{spec:"",url:o.url}},o.initialState)};if(o.initialState)for(var s in o.initialState)o.initialState.hasOwnProperty(s)&&void 0===o.initialState[s]&&delete i.state[s];var c=new U(i);c.register([o.plugins,function(){return{fn:o.fn,components:o.components,state:o.state}}]);var p=c.getSystem(),h=function(e){var t=p.specSelectors.getLocalConfig?p.specSelectors.getLocalConfig():{},i=f()({},t,o,e||{},n);if(r&&(i.domNode=r),c.setConfigs(i),p.configsActions.loaded(),null!==e&&(!n.url&&"object"===l()(i.spec)&&u()(i.spec).length?(p.specActions.updateUrl(""),p.specActions.updateLoadingStatus("success"),p.specActions.updateSpec(a()(i.spec))):p.specActions.download&&i.url&&!i.urls&&(p.specActions.updateUrl(i.url),p.specActions.download(i.url))),i.domNode)p.render(i.domNode,"App");else if(i.dom_id){var s=document.querySelector(i.dom_id);p.render(s,"App")}else null===i.dom_id||null===i.domNode||console.error("Skipped rendering: no `dom_id` or `domNode` was specified");return p},d=n.config||o.configUrl;return d&&p.specActions&&p.specActions.getConfigByUrl&&(!p.specActions.getConfigByUrl||p.specActions.getConfigByUrl({url:d,loadRemoteConfig:!0,requestInterceptor:o.requestInterceptor,responseInterceptor:o.responseInterceptor},h))?(p.specActions.getConfigByUrl(d,h),p):h()}Hn.presets={apis:Ln},Hn.plugins=Un.default}]).default}); +//# sourceMappingURL=swagger-ui-bundle.js.map \ No newline at end of file diff --git a/js/swagger-ui-standalone-preset.js b/js/swagger-ui-standalone-preset.js new file mode 100644 index 0000000..75c90cb --- /dev/null +++ b/js/swagger-ui-standalone-preset.js @@ -0,0 +1,22 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(function(){try{return require("esprima")}catch(t){}}()):"function"==typeof define&&define.amd?define(["esprima"],e):"object"==typeof exports?exports.SwaggerUIStandalonePreset=e(function(){try{return require("esprima")}catch(t){}}()):t.SwaggerUIStandalonePreset=e(t.esprima)}(window,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/dist",n(n.s=183)}([function(t,e,n){t.exports=function(){"use strict";var t=Array.prototype.slice;function e(t,e){e&&(t.prototype=Object.create(e.prototype)),t.prototype.constructor=t}function n(t){return u(t)?t:q(t)}function r(t){return s(t)?t:J(t)}function i(t){return a(t)?t:Z(t)}function o(t){return u(t)&&!c(t)?t:V(t)}function u(t){return!(!t||!t[l])}function s(t){return!(!t||!t[h])}function a(t){return!(!t||!t[p])}function c(t){return s(t)||a(t)}function f(t){return!(!t||!t[d])}e(r,n),e(i,n),e(o,n),n.isIterable=u,n.isKeyed=s,n.isIndexed=a,n.isAssociative=c,n.isOrdered=f,n.Keyed=r,n.Indexed=i,n.Set=o;var l="@@__IMMUTABLE_ITERABLE__@@",h="@@__IMMUTABLE_KEYED__@@",p="@@__IMMUTABLE_INDEXED__@@",d="@@__IMMUTABLE_ORDERED__@@",y=5,w=1<<y,v=w-1,g={},M={value:!1},_={value:!1};function m(t){return t.value=!1,t}function L(t){t&&(t.value=!0)}function b(){}function j(t,e){e=e||0;for(var n=Math.max(0,t.length-e),r=new Array(n),i=0;i<n;i++)r[i]=t[i+e];return r}function x(t){return void 0===t.size&&(t.size=t.__iterate(S)),t.size}function N(t,e){if("number"!=typeof e){var n=e>>>0;if(""+n!==e||4294967295===n)return NaN;e=n}return e<0?x(t)+e:e}function S(){return!0}function D(t,e,n){return(0===t||void 0!==n&&t<=-n)&&(void 0===e||void 0!==n&&e>=n)}function I(t,e){return C(t,e,0)}function E(t,e){return C(t,e,e)}function C(t,e,n){return void 0===t?n:t<0?Math.max(0,e+t):void 0===e?t:Math.min(e,t)}var T=0,A=1,O=2,z="function"==typeof Symbol&&Symbol.iterator,k="@@iterator",Y=z||k;function U(t){this.next=t}function P(t,e,n,r){var i=0===t?e:1===t?n:[e,n];return r?r.value=i:r={value:i,done:!1},r}function R(){return{value:void 0,done:!0}}function Q(t){return!!G(t)}function F(t){return t&&"function"==typeof t.next}function B(t){var e=G(t);return e&&e.call(t)}function G(t){var e=t&&(z&&t[z]||t[k]);if("function"==typeof e)return e}function W(t){return t&&"number"==typeof t.length}function q(t){return null==t?ot():u(t)?t.toSeq():function(t){var e=at(t)||"object"==typeof t&&new et(t);if(!e)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+t);return e}(t)}function J(t){return null==t?ot().toKeyedSeq():u(t)?s(t)?t.toSeq():t.fromEntrySeq():ut(t)}function Z(t){return null==t?ot():u(t)?s(t)?t.entrySeq():t.toIndexedSeq():st(t)}function V(t){return(null==t?ot():u(t)?s(t)?t.entrySeq():t:st(t)).toSetSeq()}U.prototype.toString=function(){return"[Iterator]"},U.KEYS=T,U.VALUES=A,U.ENTRIES=O,U.prototype.inspect=U.prototype.toSource=function(){return this.toString()},U.prototype[Y]=function(){return this},e(q,n),q.of=function(){return q(arguments)},q.prototype.toSeq=function(){return this},q.prototype.toString=function(){return this.__toString("Seq {","}")},q.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},q.prototype.__iterate=function(t,e){return ct(this,t,e,!0)},q.prototype.__iterator=function(t,e){return ft(this,t,e,!0)},e(J,q),J.prototype.toKeyedSeq=function(){return this},e(Z,q),Z.of=function(){return Z(arguments)},Z.prototype.toIndexedSeq=function(){return this},Z.prototype.toString=function(){return this.__toString("Seq [","]")},Z.prototype.__iterate=function(t,e){return ct(this,t,e,!1)},Z.prototype.__iterator=function(t,e){return ft(this,t,e,!1)},e(V,q),V.of=function(){return V(arguments)},V.prototype.toSetSeq=function(){return this},q.isSeq=it,q.Keyed=J,q.Set=V,q.Indexed=Z;var X,H,K,$="@@__IMMUTABLE_SEQ__@@";function tt(t){this._array=t,this.size=t.length}function et(t){var e=Object.keys(t);this._object=t,this._keys=e,this.size=e.length}function nt(t){this._iterable=t,this.size=t.length||t.size}function rt(t){this._iterator=t,this._iteratorCache=[]}function it(t){return!(!t||!t[$])}function ot(){return X||(X=new tt([]))}function ut(t){var e=Array.isArray(t)?new tt(t).fromEntrySeq():F(t)?new rt(t).fromEntrySeq():Q(t)?new nt(t).fromEntrySeq():"object"==typeof t?new et(t):void 0;if(!e)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+t);return e}function st(t){var e=at(t);if(!e)throw new TypeError("Expected Array or iterable object of values: "+t);return e}function at(t){return W(t)?new tt(t):F(t)?new rt(t):Q(t)?new nt(t):void 0}function ct(t,e,n,r){var i=t._cache;if(i){for(var o=i.length-1,u=0;u<=o;u++){var s=i[n?o-u:u];if(!1===e(s[1],r?s[0]:u,t))return u+1}return u}return t.__iterateUncached(e,n)}function ft(t,e,n,r){var i=t._cache;if(i){var o=i.length-1,u=0;return new U(function(){var t=i[n?o-u:u];return u++>o?{value:void 0,done:!0}:P(e,r?t[0]:u-1,t[1])})}return t.__iteratorUncached(e,n)}function lt(t,e){return e?function t(e,n,r,i){return Array.isArray(n)?e.call(i,r,Z(n).map(function(r,i){return t(e,r,i,n)})):pt(n)?e.call(i,r,J(n).map(function(r,i){return t(e,r,i,n)})):n}(e,t,"",{"":t}):ht(t)}function ht(t){return Array.isArray(t)?Z(t).map(ht).toList():pt(t)?J(t).map(ht).toMap():t}function pt(t){return t&&(t.constructor===Object||void 0===t.constructor)}function dt(t,e){if(t===e||t!=t&&e!=e)return!0;if(!t||!e)return!1;if("function"==typeof t.valueOf&&"function"==typeof e.valueOf){if((t=t.valueOf())===(e=e.valueOf())||t!=t&&e!=e)return!0;if(!t||!e)return!1}return!("function"!=typeof t.equals||"function"!=typeof e.equals||!t.equals(e))}function yt(t,e){if(t===e)return!0;if(!u(e)||void 0!==t.size&&void 0!==e.size&&t.size!==e.size||void 0!==t.__hash&&void 0!==e.__hash&&t.__hash!==e.__hash||s(t)!==s(e)||a(t)!==a(e)||f(t)!==f(e))return!1;if(0===t.size&&0===e.size)return!0;var n=!c(t);if(f(t)){var r=t.entries();return e.every(function(t,e){var i=r.next().value;return i&&dt(i[1],t)&&(n||dt(i[0],e))})&&r.next().done}var i=!1;if(void 0===t.size)if(void 0===e.size)"function"==typeof t.cacheResult&&t.cacheResult();else{i=!0;var o=t;t=e,e=o}var l=!0,h=e.__iterate(function(e,r){if(n?!t.has(e):i?!dt(e,t.get(r,g)):!dt(t.get(r,g),e))return l=!1,!1});return l&&t.size===h}function wt(t,e){if(!(this instanceof wt))return new wt(t,e);if(this._value=t,this.size=void 0===e?1/0:Math.max(0,e),0===this.size){if(H)return H;H=this}}function vt(t,e){if(!t)throw new Error(e)}function gt(t,e,n){if(!(this instanceof gt))return new gt(t,e,n);if(vt(0!==n,"Cannot step a Range by 0"),t=t||0,void 0===e&&(e=1/0),n=void 0===n?1:Math.abs(n),e<t&&(n=-n),this._start=t,this._end=e,this._step=n,this.size=Math.max(0,Math.ceil((e-t)/n-1)+1),0===this.size){if(K)return K;K=this}}function Mt(){throw TypeError("Abstract")}function _t(){}function mt(){}function Lt(){}q.prototype[$]=!0,e(tt,Z),tt.prototype.get=function(t,e){return this.has(t)?this._array[N(this,t)]:e},tt.prototype.__iterate=function(t,e){for(var n=this._array,r=n.length-1,i=0;i<=r;i++)if(!1===t(n[e?r-i:i],i,this))return i+1;return i},tt.prototype.__iterator=function(t,e){var n=this._array,r=n.length-1,i=0;return new U(function(){return i>r?{value:void 0,done:!0}:P(t,i,n[e?r-i++:i++])})},e(et,J),et.prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},et.prototype.has=function(t){return this._object.hasOwnProperty(t)},et.prototype.__iterate=function(t,e){for(var n=this._object,r=this._keys,i=r.length-1,o=0;o<=i;o++){var u=r[e?i-o:o];if(!1===t(n[u],u,this))return o+1}return o},et.prototype.__iterator=function(t,e){var n=this._object,r=this._keys,i=r.length-1,o=0;return new U(function(){var u=r[e?i-o:o];return o++>i?{value:void 0,done:!0}:P(t,u,n[u])})},et.prototype[d]=!0,e(nt,Z),nt.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);var n=B(this._iterable),r=0;if(F(n))for(var i;!(i=n.next()).done&&!1!==t(i.value,r++,this););return r},nt.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var n=B(this._iterable);if(!F(n))return new U(R);var r=0;return new U(function(){var e=n.next();return e.done?e:P(t,r++,e.value)})},e(rt,Z),rt.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);for(var n,r=this._iterator,i=this._iteratorCache,o=0;o<i.length;)if(!1===t(i[o],o++,this))return o;for(;!(n=r.next()).done;){var u=n.value;if(i[o]=u,!1===t(u,o++,this))break}return o},rt.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var n=this._iterator,r=this._iteratorCache,i=0;return new U(function(){if(i>=r.length){var e=n.next();if(e.done)return e;r[i]=e.value}return P(t,i,r[i++])})},e(wt,Z),wt.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},wt.prototype.get=function(t,e){return this.has(t)?this._value:e},wt.prototype.includes=function(t){return dt(this._value,t)},wt.prototype.slice=function(t,e){var n=this.size;return D(t,e,n)?this:new wt(this._value,E(e,n)-I(t,n))},wt.prototype.reverse=function(){return this},wt.prototype.indexOf=function(t){return dt(this._value,t)?0:-1},wt.prototype.lastIndexOf=function(t){return dt(this._value,t)?this.size:-1},wt.prototype.__iterate=function(t,e){for(var n=0;n<this.size;n++)if(!1===t(this._value,n,this))return n+1;return n},wt.prototype.__iterator=function(t,e){var n=this,r=0;return new U(function(){return r<n.size?P(t,r++,n._value):{value:void 0,done:!0}})},wt.prototype.equals=function(t){return t instanceof wt?dt(this._value,t._value):yt(t)},e(gt,Z),gt.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},gt.prototype.get=function(t,e){return this.has(t)?this._start+N(this,t)*this._step:e},gt.prototype.includes=function(t){var e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)},gt.prototype.slice=function(t,e){return D(t,e,this.size)?this:(t=I(t,this.size),(e=E(e,this.size))<=t?new gt(0,0):new gt(this.get(t,this._end),this.get(e,this._end),this._step))},gt.prototype.indexOf=function(t){var e=t-this._start;if(e%this._step==0){var n=e/this._step;if(n>=0&&n<this.size)return n}return-1},gt.prototype.lastIndexOf=function(t){return this.indexOf(t)},gt.prototype.__iterate=function(t,e){for(var n=this.size-1,r=this._step,i=e?this._start+n*r:this._start,o=0;o<=n;o++){if(!1===t(i,o,this))return o+1;i+=e?-r:r}return o},gt.prototype.__iterator=function(t,e){var n=this.size-1,r=this._step,i=e?this._start+n*r:this._start,o=0;return new U(function(){var u=i;return i+=e?-r:r,o>n?{value:void 0,done:!0}:P(t,o++,u)})},gt.prototype.equals=function(t){return t instanceof gt?this._start===t._start&&this._end===t._end&&this._step===t._step:yt(this,t)},e(Mt,n),e(_t,Mt),e(mt,Mt),e(Lt,Mt),Mt.Keyed=_t,Mt.Indexed=mt,Mt.Set=Lt;var bt="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(t,e){var n=65535&(t|=0),r=65535&(e|=0);return n*r+((t>>>16)*r+n*(e>>>16)<<16>>>0)|0};function jt(t){return t>>>1&1073741824|3221225471&t}function xt(t){if(!1===t||null==t)return 0;if("function"==typeof t.valueOf&&(!1===(t=t.valueOf())||null==t))return 0;if(!0===t)return 1;var e=typeof t;if("number"===e){if(t!=t||t===1/0)return 0;var n=0|t;for(n!==t&&(n^=4294967295*t);t>4294967295;)n^=t/=4294967295;return jt(n)}if("string"===e)return t.length>At?function(t){var e=kt[t];return void 0===e&&(e=Nt(t),zt===Ot&&(zt=0,kt={}),zt++,kt[t]=e),e}(t):Nt(t);if("function"==typeof t.hashCode)return t.hashCode();if("object"===e)return function(t){var e;if(Et&&void 0!==(e=St.get(t)))return e;if(void 0!==(e=t[Tt]))return e;if(!It){if(void 0!==(e=t.propertyIsEnumerable&&t.propertyIsEnumerable[Tt]))return e;if(void 0!==(e=function(t){if(t&&t.nodeType>0)switch(t.nodeType){case 1:return t.uniqueID;case 9:return t.documentElement&&t.documentElement.uniqueID}}(t)))return e}if(e=++Ct,1073741824&Ct&&(Ct=0),Et)St.set(t,e);else{if(void 0!==Dt&&!1===Dt(t))throw new Error("Non-extensible objects are not allowed as keys.");if(It)Object.defineProperty(t,Tt,{enumerable:!1,configurable:!1,writable:!1,value:e});else if(void 0!==t.propertyIsEnumerable&&t.propertyIsEnumerable===t.constructor.prototype.propertyIsEnumerable)t.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},t.propertyIsEnumerable[Tt]=e;else{if(void 0===t.nodeType)throw new Error("Unable to set a non-enumerable property on object.");t[Tt]=e}}return e}(t);if("function"==typeof t.toString)return Nt(t.toString());throw new Error("Value type "+e+" cannot be hashed.")}function Nt(t){for(var e=0,n=0;n<t.length;n++)e=31*e+t.charCodeAt(n)|0;return jt(e)}var St,Dt=Object.isExtensible,It=function(){try{return Object.defineProperty({},"@",{}),!0}catch(t){return!1}}(),Et="function"==typeof WeakMap;Et&&(St=new WeakMap);var Ct=0,Tt="__immutablehash__";"function"==typeof Symbol&&(Tt=Symbol(Tt));var At=16,Ot=255,zt=0,kt={};function Yt(t){vt(t!==1/0,"Cannot perform this action with an infinite size.")}function Ut(t){return null==t?Kt():Pt(t)&&!f(t)?t:Kt().withMutations(function(e){var n=r(t);Yt(n.size),n.forEach(function(t,n){return e.set(n,t)})})}function Pt(t){return!(!t||!t[Qt])}e(Ut,_t),Ut.of=function(){var e=t.call(arguments,0);return Kt().withMutations(function(t){for(var n=0;n<e.length;n+=2){if(n+1>=e.length)throw new Error("Missing value for key: "+e[n]);t.set(e[n],e[n+1])}})},Ut.prototype.toString=function(){return this.__toString("Map {","}")},Ut.prototype.get=function(t,e){return this._root?this._root.get(0,void 0,t,e):e},Ut.prototype.set=function(t,e){return $t(this,t,e)},Ut.prototype.setIn=function(t,e){return this.updateIn(t,g,function(){return e})},Ut.prototype.remove=function(t){return $t(this,t,g)},Ut.prototype.deleteIn=function(t){return this.updateIn(t,function(){return g})},Ut.prototype.update=function(t,e,n){return 1===arguments.length?t(this):this.updateIn([t],e,n)},Ut.prototype.updateIn=function(t,e,n){n||(n=e,e=void 0);var r=function t(e,n,r,i){var o=e===g,u=n.next();if(u.done){var s=o?r:e,a=i(s);return a===s?e:a}vt(o||e&&e.set,"invalid keyPath");var c=u.value,f=o?g:e.get(c,g),l=t(f,n,r,i);return l===f?e:l===g?e.remove(c):(o?Kt():e).set(c,l)}(this,rn(t),e,n);return r===g?void 0:r},Ut.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Kt()},Ut.prototype.merge=function(){return re(this,void 0,arguments)},Ut.prototype.mergeWith=function(e){var n=t.call(arguments,1);return re(this,e,n)},Ut.prototype.mergeIn=function(e){var n=t.call(arguments,1);return this.updateIn(e,Kt(),function(t){return"function"==typeof t.merge?t.merge.apply(t,n):n[n.length-1]})},Ut.prototype.mergeDeep=function(){return re(this,ie,arguments)},Ut.prototype.mergeDeepWith=function(e){var n=t.call(arguments,1);return re(this,oe(e),n)},Ut.prototype.mergeDeepIn=function(e){var n=t.call(arguments,1);return this.updateIn(e,Kt(),function(t){return"function"==typeof t.mergeDeep?t.mergeDeep.apply(t,n):n[n.length-1]})},Ut.prototype.sort=function(t){return Ie(qe(this,t))},Ut.prototype.sortBy=function(t,e){return Ie(qe(this,e,t))},Ut.prototype.withMutations=function(t){var e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this},Ut.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new b)},Ut.prototype.asImmutable=function(){return this.__ensureOwner()},Ut.prototype.wasAltered=function(){return this.__altered},Ut.prototype.__iterator=function(t,e){return new Zt(this,t,e)},Ut.prototype.__iterate=function(t,e){var n=this,r=0;return this._root&&this._root.iterate(function(e){return r++,t(e[1],e[0],n)},e),r},Ut.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Ht(this.size,this._root,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},Ut.isMap=Pt;var Rt,Qt="@@__IMMUTABLE_MAP__@@",Ft=Ut.prototype;function Bt(t,e){this.ownerID=t,this.entries=e}function Gt(t,e,n){this.ownerID=t,this.bitmap=e,this.nodes=n}function Wt(t,e,n){this.ownerID=t,this.count=e,this.nodes=n}function qt(t,e,n){this.ownerID=t,this.keyHash=e,this.entries=n}function Jt(t,e,n){this.ownerID=t,this.keyHash=e,this.entry=n}function Zt(t,e,n){this._type=e,this._reverse=n,this._stack=t._root&&Xt(t._root)}function Vt(t,e){return P(t,e[0],e[1])}function Xt(t,e){return{node:t,index:0,__prev:e}}function Ht(t,e,n,r){var i=Object.create(Ft);return i.size=t,i._root=e,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Kt(){return Rt||(Rt=Ht(0))}function $t(t,e,n){var r,i;if(t._root){var o=m(M),u=m(_);if(r=te(t._root,t.__ownerID,0,void 0,e,n,o,u),!u.value)return t;i=t.size+(o.value?n===g?-1:1:0)}else{if(n===g)return t;i=1,r=new Bt(t.__ownerID,[[e,n]])}return t.__ownerID?(t.size=i,t._root=r,t.__hash=void 0,t.__altered=!0,t):r?Ht(i,r):Kt()}function te(t,e,n,r,i,o,u,s){return t?t.update(e,n,r,i,o,u,s):o===g?t:(L(s),L(u),new Jt(e,r,[i,o]))}function ee(t){return t.constructor===Jt||t.constructor===qt}function ne(t,e,n,r,i){if(t.keyHash===r)return new qt(e,r,[t.entry,i]);var o,u=(0===n?t.keyHash:t.keyHash>>>n)&v,s=(0===n?r:r>>>n)&v;return new Gt(e,1<<u|1<<s,u===s?[ne(t,e,n+y,r,i)]:(o=new Jt(e,r,i),u<s?[t,o]:[o,t]))}function re(t,e,n){for(var i=[],o=0;o<n.length;o++){var s=n[o],a=r(s);u(s)||(a=a.map(function(t){return lt(t)})),i.push(a)}return ue(t,e,i)}function ie(t,e,n){return t&&t.mergeDeep&&u(e)?t.mergeDeep(e):dt(t,e)?t:e}function oe(t){return function(e,n,r){if(e&&e.mergeDeepWith&&u(n))return e.mergeDeepWith(t,n);var i=t(e,n,r);return dt(e,i)?e:i}}function ue(t,e,n){return 0===(n=n.filter(function(t){return 0!==t.size})).length?t:0!==t.size||t.__ownerID||1!==n.length?t.withMutations(function(t){for(var r=e?function(n,r){t.update(r,g,function(t){return t===g?n:e(t,n,r)})}:function(e,n){t.set(n,e)},i=0;i<n.length;i++)n[i].forEach(r)}):t.constructor(n[0])}function se(t){return t=(t=(858993459&(t-=t>>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function ae(t,e,n,r){var i=r?t:j(t);return i[e]=n,i}Ft[Qt]=!0,Ft.delete=Ft.remove,Ft.removeIn=Ft.deleteIn,Bt.prototype.get=function(t,e,n,r){for(var i=this.entries,o=0,u=i.length;o<u;o++)if(dt(n,i[o][0]))return i[o][1];return r},Bt.prototype.update=function(t,e,n,r,i,o,u){for(var s=i===g,a=this.entries,c=0,f=a.length;c<f&&!dt(r,a[c][0]);c++);var l=c<f;if(l?a[c][1]===i:s)return this;if(L(u),(s||!l)&&L(o),!s||1!==a.length){if(!l&&!s&&a.length>=ce)return function(t,e,n,r){t||(t=new b);for(var i=new Jt(t,xt(n),[n,r]),o=0;o<e.length;o++){var u=e[o];i=i.update(t,0,void 0,u[0],u[1])}return i}(t,a,r,i);var h=t&&t===this.ownerID,p=h?a:j(a);return l?s?c===f-1?p.pop():p[c]=p.pop():p[c]=[r,i]:p.push([r,i]),h?(this.entries=p,this):new Bt(t,p)}},Gt.prototype.get=function(t,e,n,r){void 0===e&&(e=xt(n));var i=1<<((0===t?e:e>>>t)&v),o=this.bitmap;return 0==(o&i)?r:this.nodes[se(o&i-1)].get(t+y,e,n,r)},Gt.prototype.update=function(t,e,n,r,i,o,u){void 0===n&&(n=xt(r));var s=(0===e?n:n>>>e)&v,a=1<<s,c=this.bitmap,f=0!=(c&a);if(!f&&i===g)return this;var l=se(c&a-1),h=this.nodes,p=f?h[l]:void 0,d=te(p,t,e+y,n,r,i,o,u);if(d===p)return this;if(!f&&d&&h.length>=fe)return function(t,e,n,r,i){for(var o=0,u=new Array(w),s=0;0!==n;s++,n>>>=1)u[s]=1&n?e[o++]:void 0;return u[r]=i,new Wt(t,o+1,u)}(t,h,c,s,d);if(f&&!d&&2===h.length&&ee(h[1^l]))return h[1^l];if(f&&d&&1===h.length&&ee(d))return d;var M=t&&t===this.ownerID,_=f?d?c:c^a:c|a,m=f?d?ae(h,l,d,M):function(t,e,n){var r=t.length-1;if(n&&e===r)return t.pop(),t;for(var i=new Array(r),o=0,u=0;u<r;u++)u===e&&(o=1),i[u]=t[u+o];return i}(h,l,M):function(t,e,n,r){var i=t.length+1;if(r&&e+1===i)return t[e]=n,t;for(var o=new Array(i),u=0,s=0;s<i;s++)s===e?(o[s]=n,u=-1):o[s]=t[s+u];return o}(h,l,d,M);return M?(this.bitmap=_,this.nodes=m,this):new Gt(t,_,m)},Wt.prototype.get=function(t,e,n,r){void 0===e&&(e=xt(n));var i=(0===t?e:e>>>t)&v,o=this.nodes[i];return o?o.get(t+y,e,n,r):r},Wt.prototype.update=function(t,e,n,r,i,o,u){void 0===n&&(n=xt(r));var s=(0===e?n:n>>>e)&v,a=i===g,c=this.nodes,f=c[s];if(a&&!f)return this;var l=te(f,t,e+y,n,r,i,o,u);if(l===f)return this;var h=this.count;if(f){if(!l&&--h<le)return function(t,e,n,r){for(var i=0,o=0,u=new Array(n),s=0,a=1,c=e.length;s<c;s++,a<<=1){var f=e[s];void 0!==f&&s!==r&&(i|=a,u[o++]=f)}return new Gt(t,i,u)}(t,c,h,s)}else h++;var p=t&&t===this.ownerID,d=ae(c,s,l,p);return p?(this.count=h,this.nodes=d,this):new Wt(t,h,d)},qt.prototype.get=function(t,e,n,r){for(var i=this.entries,o=0,u=i.length;o<u;o++)if(dt(n,i[o][0]))return i[o][1];return r},qt.prototype.update=function(t,e,n,r,i,o,u){void 0===n&&(n=xt(r));var s=i===g;if(n!==this.keyHash)return s?this:(L(u),L(o),ne(this,t,e,n,[r,i]));for(var a=this.entries,c=0,f=a.length;c<f&&!dt(r,a[c][0]);c++);var l=c<f;if(l?a[c][1]===i:s)return this;if(L(u),(s||!l)&&L(o),s&&2===f)return new Jt(t,this.keyHash,a[1^c]);var h=t&&t===this.ownerID,p=h?a:j(a);return l?s?c===f-1?p.pop():p[c]=p.pop():p[c]=[r,i]:p.push([r,i]),h?(this.entries=p,this):new qt(t,this.keyHash,p)},Jt.prototype.get=function(t,e,n,r){return dt(n,this.entry[0])?this.entry[1]:r},Jt.prototype.update=function(t,e,n,r,i,o,u){var s=i===g,a=dt(r,this.entry[0]);return(a?i===this.entry[1]:s)?this:(L(u),s?void L(o):a?t&&t===this.ownerID?(this.entry[1]=i,this):new Jt(t,this.keyHash,[r,i]):(L(o),ne(this,t,e,xt(r),[r,i])))},Bt.prototype.iterate=qt.prototype.iterate=function(t,e){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===t(n[e?i-r:r]))return!1},Gt.prototype.iterate=Wt.prototype.iterate=function(t,e){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var o=n[e?i-r:r];if(o&&!1===o.iterate(t,e))return!1}},Jt.prototype.iterate=function(t,e){return t(this.entry)},e(Zt,U),Zt.prototype.next=function(){for(var t=this._type,e=this._stack;e;){var n,r=e.node,i=e.index++;if(r.entry){if(0===i)return Vt(t,r.entry)}else if(r.entries){if(i<=(n=r.entries.length-1))return Vt(t,r.entries[this._reverse?n-i:i])}else if(i<=(n=r.nodes.length-1)){var o=r.nodes[this._reverse?n-i:i];if(o){if(o.entry)return Vt(t,o.entry);e=this._stack=Xt(o,e)}continue}e=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var ce=w/4,fe=w/2,le=w/4;function he(t){var e=Le();if(null==t)return e;if(pe(t))return t;var n=i(t),r=n.size;return 0===r?e:(Yt(r),r>0&&r<w?me(0,r,y,null,new we(n.toArray())):e.withMutations(function(t){t.setSize(r),n.forEach(function(e,n){return t.set(n,e)})}))}function pe(t){return!(!t||!t[de])}e(he,mt),he.of=function(){return this(arguments)},he.prototype.toString=function(){return this.__toString("List [","]")},he.prototype.get=function(t,e){if((t=N(this,t))>=0&&t<this.size){var n=xe(this,t+=this._origin);return n&&n.array[t&v]}return e},he.prototype.set=function(t,e){return function(t,e,n){if((e=N(t,e))!=e)return t;if(e>=t.size||e<0)return t.withMutations(function(t){e<0?Ne(t,e).set(0,n):Ne(t,0,e+1).set(e,n)});e+=t._origin;var r=t._tail,i=t._root,o=m(_);return e>=De(t._capacity)?r=be(r,t.__ownerID,0,e,n,o):i=be(i,t.__ownerID,t._level,e,n,o),o.value?t.__ownerID?(t._root=i,t._tail=r,t.__hash=void 0,t.__altered=!0,t):me(t._origin,t._capacity,t._level,i,r):t}(this,t,e)},he.prototype.remove=function(t){return this.has(t)?0===t?this.shift():t===this.size-1?this.pop():this.splice(t,1):this},he.prototype.insert=function(t,e){return this.splice(t,0,e)},he.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=y,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):Le()},he.prototype.push=function(){var t=arguments,e=this.size;return this.withMutations(function(n){Ne(n,0,e+t.length);for(var r=0;r<t.length;r++)n.set(e+r,t[r])})},he.prototype.pop=function(){return Ne(this,0,-1)},he.prototype.unshift=function(){var t=arguments;return this.withMutations(function(e){Ne(e,-t.length);for(var n=0;n<t.length;n++)e.set(n,t[n])})},he.prototype.shift=function(){return Ne(this,1)},he.prototype.merge=function(){return Se(this,void 0,arguments)},he.prototype.mergeWith=function(e){var n=t.call(arguments,1);return Se(this,e,n)},he.prototype.mergeDeep=function(){return Se(this,ie,arguments)},he.prototype.mergeDeepWith=function(e){var n=t.call(arguments,1);return Se(this,oe(e),n)},he.prototype.setSize=function(t){return Ne(this,0,t)},he.prototype.slice=function(t,e){var n=this.size;return D(t,e,n)?this:Ne(this,I(t,n),E(e,n))},he.prototype.__iterator=function(t,e){var n=0,r=_e(this,e);return new U(function(){var e=r();return e===Me?{value:void 0,done:!0}:P(t,n++,e)})},he.prototype.__iterate=function(t,e){for(var n,r=0,i=_e(this,e);(n=i())!==Me&&!1!==t(n,r++,this););return r},he.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?me(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash):(this.__ownerID=t,this)},he.isList=pe;var de="@@__IMMUTABLE_LIST__@@",ye=he.prototype;function we(t,e){this.array=t,this.ownerID=e}ye[de]=!0,ye.delete=ye.remove,ye.setIn=Ft.setIn,ye.deleteIn=ye.removeIn=Ft.removeIn,ye.update=Ft.update,ye.updateIn=Ft.updateIn,ye.mergeIn=Ft.mergeIn,ye.mergeDeepIn=Ft.mergeDeepIn,ye.withMutations=Ft.withMutations,ye.asMutable=Ft.asMutable,ye.asImmutable=Ft.asImmutable,ye.wasAltered=Ft.wasAltered,we.prototype.removeBefore=function(t,e,n){if(n===e?1<<e:0===this.array.length)return this;var r=n>>>e&v;if(r>=this.array.length)return new we([],t);var i,o=0===r;if(e>0){var u=this.array[r];if((i=u&&u.removeBefore(t,e-y,n))===u&&o)return this}if(o&&!i)return this;var s=je(this,t);if(!o)for(var a=0;a<r;a++)s.array[a]=void 0;return i&&(s.array[r]=i),s},we.prototype.removeAfter=function(t,e,n){if(n===(e?1<<e:0)||0===this.array.length)return this;var r,i=n-1>>>e&v;if(i>=this.array.length)return this;if(e>0){var o=this.array[i];if((r=o&&o.removeAfter(t,e-y,n))===o&&i===this.array.length-1)return this}var u=je(this,t);return u.array.splice(i+1),r&&(u.array[i]=r),u};var ve,ge,Me={};function _e(t,e){var n=t._origin,r=t._capacity,i=De(r),o=t._tail;return u(t._root,t._level,0);function u(t,s,a){return 0===s?function(t,u){var s=u===i?o&&o.array:t&&t.array,a=u>n?0:n-u,c=r-u;return c>w&&(c=w),function(){if(a===c)return Me;var t=e?--c:a++;return s&&s[t]}}(t,a):function(t,i,o){var s,a=t&&t.array,c=o>n?0:n-o>>i,f=1+(r-o>>i);return f>w&&(f=w),function(){for(;;){if(s){var t=s();if(t!==Me)return t;s=null}if(c===f)return Me;var n=e?--f:c++;s=u(a&&a[n],i-y,o+(n<<i))}}}(t,s,a)}}function me(t,e,n,r,i,o,u){var s=Object.create(ye);return s.size=e-t,s._origin=t,s._capacity=e,s._level=n,s._root=r,s._tail=i,s.__ownerID=o,s.__hash=u,s.__altered=!1,s}function Le(){return ve||(ve=me(0,0,y))}function be(t,e,n,r,i,o){var u,s=r>>>n&v,a=t&&s<t.array.length;if(!a&&void 0===i)return t;if(n>0){var c=t&&t.array[s],f=be(c,e,n-y,r,i,o);return f===c?t:((u=je(t,e)).array[s]=f,u)}return a&&t.array[s]===i?t:(L(o),u=je(t,e),void 0===i&&s===u.array.length-1?u.array.pop():u.array[s]=i,u)}function je(t,e){return e&&t&&e===t.ownerID?t:new we(t?t.array.slice():[],e)}function xe(t,e){if(e>=De(t._capacity))return t._tail;if(e<1<<t._level+y){for(var n=t._root,r=t._level;n&&r>0;)n=n.array[e>>>r&v],r-=y;return n}}function Ne(t,e,n){void 0!==e&&(e|=0),void 0!==n&&(n|=0);var r=t.__ownerID||new b,i=t._origin,o=t._capacity,u=i+e,s=void 0===n?o:n<0?o+n:i+n;if(u===i&&s===o)return t;if(u>=s)return t.clear();for(var a=t._level,c=t._root,f=0;u+f<0;)c=new we(c&&c.array.length?[void 0,c]:[],r),f+=1<<(a+=y);f&&(u+=f,i+=f,s+=f,o+=f);for(var l=De(o),h=De(s);h>=1<<a+y;)c=new we(c&&c.array.length?[c]:[],r),a+=y;var p=t._tail,d=h<l?xe(t,s-1):h>l?new we([],r):p;if(p&&h>l&&u<o&&p.array.length){for(var w=c=je(c,r),g=a;g>y;g-=y){var M=l>>>g&v;w=w.array[M]=je(w.array[M],r)}w.array[l>>>y&v]=p}if(s<o&&(d=d&&d.removeAfter(r,0,s)),u>=h)u-=h,s-=h,a=y,c=null,d=d&&d.removeBefore(r,0,u);else if(u>i||h<l){for(f=0;c;){var _=u>>>a&v;if(_!==h>>>a&v)break;_&&(f+=(1<<a)*_),a-=y,c=c.array[_]}c&&u>i&&(c=c.removeBefore(r,a,u-f)),c&&h<l&&(c=c.removeAfter(r,a,h-f)),f&&(u-=f,s-=f)}return t.__ownerID?(t.size=s-u,t._origin=u,t._capacity=s,t._level=a,t._root=c,t._tail=d,t.__hash=void 0,t.__altered=!0,t):me(u,s,a,c,d)}function Se(t,e,n){for(var r=[],o=0,s=0;s<n.length;s++){var a=n[s],c=i(a);c.size>o&&(o=c.size),u(a)||(c=c.map(function(t){return lt(t)})),r.push(c)}return o>t.size&&(t=t.setSize(o)),ue(t,e,r)}function De(t){return t<w?0:t-1>>>y<<y}function Ie(t){return null==t?Te():Ee(t)?t:Te().withMutations(function(e){var n=r(t);Yt(n.size),n.forEach(function(t,n){return e.set(n,t)})})}function Ee(t){return Pt(t)&&f(t)}function Ce(t,e,n,r){var i=Object.create(Ie.prototype);return i.size=t?t.size:0,i._map=t,i._list=e,i.__ownerID=n,i.__hash=r,i}function Te(){return ge||(ge=Ce(Kt(),Le()))}function Ae(t,e,n){var r,i,o=t._map,u=t._list,s=o.get(e),a=void 0!==s;if(n===g){if(!a)return t;u.size>=w&&u.size>=2*o.size?(r=(i=u.filter(function(t,e){return void 0!==t&&s!==e})).toKeyedSeq().map(function(t){return t[0]}).flip().toMap(),t.__ownerID&&(r.__ownerID=i.__ownerID=t.__ownerID)):(r=o.remove(e),i=s===u.size-1?u.pop():u.set(s,void 0))}else if(a){if(n===u.get(s)[1])return t;r=o,i=u.set(s,[e,n])}else r=o.set(e,u.size),i=u.set(u.size,[e,n]);return t.__ownerID?(t.size=r.size,t._map=r,t._list=i,t.__hash=void 0,t):Ce(r,i)}function Oe(t,e){this._iter=t,this._useKeys=e,this.size=t.size}function ze(t){this._iter=t,this.size=t.size}function ke(t){this._iter=t,this.size=t.size}function Ye(t){this._iter=t,this.size=t.size}function Ue(t){var e=tn(t);return e._iter=t,e.size=t.size,e.flip=function(){return t},e.reverse=function(){var e=t.reverse.apply(this);return e.flip=function(){return t.reverse()},e},e.has=function(e){return t.includes(e)},e.includes=function(e){return t.has(e)},e.cacheResult=en,e.__iterateUncached=function(e,n){var r=this;return t.__iterate(function(t,n){return!1!==e(n,t,r)},n)},e.__iteratorUncached=function(e,n){if(e===O){var r=t.__iterator(e,n);return new U(function(){var t=r.next();if(!t.done){var e=t.value[0];t.value[0]=t.value[1],t.value[1]=e}return t})}return t.__iterator(e===A?T:A,n)},e}function Pe(t,e,n){var r=tn(t);return r.size=t.size,r.has=function(e){return t.has(e)},r.get=function(r,i){var o=t.get(r,g);return o===g?i:e.call(n,o,r,t)},r.__iterateUncached=function(r,i){var o=this;return t.__iterate(function(t,i,u){return!1!==r(e.call(n,t,i,u),i,o)},i)},r.__iteratorUncached=function(r,i){var o=t.__iterator(O,i);return new U(function(){var i=o.next();if(i.done)return i;var u=i.value,s=u[0];return P(r,s,e.call(n,u[1],s,t),i)})},r}function Re(t,e){var n=tn(t);return n._iter=t,n.size=t.size,n.reverse=function(){return t},t.flip&&(n.flip=function(){var e=Ue(t);return e.reverse=function(){return t.flip()},e}),n.get=function(n,r){return t.get(e?n:-1-n,r)},n.has=function(n){return t.has(e?n:-1-n)},n.includes=function(e){return t.includes(e)},n.cacheResult=en,n.__iterate=function(e,n){var r=this;return t.__iterate(function(t,n){return e(t,n,r)},!n)},n.__iterator=function(e,n){return t.__iterator(e,!n)},n}function Qe(t,e,n,r){var i=tn(t);return r&&(i.has=function(r){var i=t.get(r,g);return i!==g&&!!e.call(n,i,r,t)},i.get=function(r,i){var o=t.get(r,g);return o!==g&&e.call(n,o,r,t)?o:i}),i.__iterateUncached=function(i,o){var u=this,s=0;return t.__iterate(function(t,o,a){if(e.call(n,t,o,a))return s++,i(t,r?o:s-1,u)},o),s},i.__iteratorUncached=function(i,o){var u=t.__iterator(O,o),s=0;return new U(function(){for(;;){var o=u.next();if(o.done)return o;var a=o.value,c=a[0],f=a[1];if(e.call(n,f,c,t))return P(i,r?c:s++,f,o)}})},i}function Fe(t,e,n,r){var i=t.size;if(void 0!==e&&(e|=0),void 0!==n&&(n===1/0?n=i:n|=0),D(e,n,i))return t;var o=I(e,i),u=E(n,i);if(o!=o||u!=u)return Fe(t.toSeq().cacheResult(),e,n,r);var s,a=u-o;a==a&&(s=a<0?0:a);var c=tn(t);return c.size=0===s?s:t.size&&s||void 0,!r&&it(t)&&s>=0&&(c.get=function(e,n){return(e=N(this,e))>=0&&e<s?t.get(e+o,n):n}),c.__iterateUncached=function(e,n){var i=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(e,n);var u=0,a=!0,c=0;return t.__iterate(function(t,n){if(!a||!(a=u++<o))return c++,!1!==e(t,r?n:c-1,i)&&c!==s}),c},c.__iteratorUncached=function(e,n){if(0!==s&&n)return this.cacheResult().__iterator(e,n);var i=0!==s&&t.__iterator(e,n),u=0,a=0;return new U(function(){for(;u++<o;)i.next();if(++a>s)return{value:void 0,done:!0};var t=i.next();return r||e===A?t:P(e,a-1,e===T?void 0:t.value[1],t)})},c}function Be(t,e,n,r){var i=tn(t);return i.__iterateUncached=function(i,o){var u=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,a=0;return t.__iterate(function(t,o,c){if(!s||!(s=e.call(n,t,o,c)))return a++,i(t,r?o:a-1,u)}),a},i.__iteratorUncached=function(i,o){var u=this;if(o)return this.cacheResult().__iterator(i,o);var s=t.__iterator(O,o),a=!0,c=0;return new U(function(){var t,o,f;do{if((t=s.next()).done)return r||i===A?t:P(i,c++,i===T?void 0:t.value[1],t);var l=t.value;o=l[0],f=l[1],a&&(a=e.call(n,f,o,u))}while(a);return i===O?t:P(i,o,f,t)})},i}function Ge(t,e){var n=s(t),i=[t].concat(e).map(function(t){return u(t)?n&&(t=r(t)):t=n?ut(t):st(Array.isArray(t)?t:[t]),t}).filter(function(t){return 0!==t.size});if(0===i.length)return t;if(1===i.length){var o=i[0];if(o===t||n&&s(o)||a(t)&&a(o))return o}var c=new tt(i);return n?c=c.toKeyedSeq():a(t)||(c=c.toSetSeq()),(c=c.flatten(!0)).size=i.reduce(function(t,e){if(void 0!==t){var n=e.size;if(void 0!==n)return t+n}},0),c}function We(t,e,n){var r=tn(t);return r.__iterateUncached=function(r,i){var o=0,s=!1;return function t(a,c){var f=this;a.__iterate(function(i,a){return(!e||c<e)&&u(i)?t(i,c+1):!1===r(i,n?a:o++,f)&&(s=!0),!s},i)}(t,0),o},r.__iteratorUncached=function(r,i){var o=t.__iterator(r,i),s=[],a=0;return new U(function(){for(;o;){var t=o.next();if(!1===t.done){var c=t.value;if(r===O&&(c=c[1]),e&&!(s.length<e)||!u(c))return n?t:P(r,a++,c,t);s.push(o),o=c.__iterator(r,i)}else o=s.pop()}return{value:void 0,done:!0}})},r}function qe(t,e,n){e||(e=nn);var r=s(t),i=0,o=t.toSeq().map(function(e,r){return[r,e,i++,n?n(e,r,t):e]}).toArray();return o.sort(function(t,n){return e(t[3],n[3])||t[2]-n[2]}).forEach(r?function(t,e){o[e].length=2}:function(t,e){o[e]=t[1]}),r?J(o):a(t)?Z(o):V(o)}function Je(t,e,n){if(e||(e=nn),n){var r=t.toSeq().map(function(e,r){return[e,n(e,r,t)]}).reduce(function(t,n){return Ze(e,t[1],n[1])?n:t});return r&&r[0]}return t.reduce(function(t,n){return Ze(e,t,n)?n:t})}function Ze(t,e,n){var r=t(n,e);return 0===r&&n!==e&&(null==n||n!=n)||r>0}function Ve(t,e,r){var i=tn(t);return i.size=new tt(r).map(function(t){return t.size}).min(),i.__iterate=function(t,e){for(var n,r=this.__iterator(A,e),i=0;!(n=r.next()).done&&!1!==t(n.value,i++,this););return i},i.__iteratorUncached=function(t,i){var o=r.map(function(t){return t=n(t),B(i?t.reverse():t)}),u=0,s=!1;return new U(function(){var n;return s||(n=o.map(function(t){return t.next()}),s=n.some(function(t){return t.done})),s?{value:void 0,done:!0}:P(t,u++,e.apply(null,n.map(function(t){return t.value})))})},i}function Xe(t,e){return it(t)?e:t.constructor(e)}function He(t){if(t!==Object(t))throw new TypeError("Expected [K, V] tuple: "+t)}function Ke(t){return Yt(t.size),x(t)}function $e(t){return s(t)?r:a(t)?i:o}function tn(t){return Object.create((s(t)?J:a(t)?Z:V).prototype)}function en(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):q.prototype.cacheResult.call(this)}function nn(t,e){return t>e?1:t<e?-1:0}function rn(t){var e=B(t);if(!e){if(!W(t))throw new TypeError("Expected iterable or array-like: "+t);e=B(n(t))}return e}function on(t,e){var n,r=function(o){if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var u=Object.keys(t);!function(t,e){try{e.forEach(function(t,e){Object.defineProperty(t,e,{get:function(){return this.get(e)},set:function(t){vt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,t)}})}.bind(void 0,t))}catch(t){}}(i,u),i.size=u.length,i._name=e,i._keys=u,i._defaultValues=t}this._map=Ut(o)},i=r.prototype=Object.create(un);return i.constructor=r,r}e(Ie,Ut),Ie.of=function(){return this(arguments)},Ie.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Ie.prototype.get=function(t,e){var n=this._map.get(t);return void 0!==n?this._list.get(n)[1]:e},Ie.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):Te()},Ie.prototype.set=function(t,e){return Ae(this,t,e)},Ie.prototype.remove=function(t){return Ae(this,t,g)},Ie.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Ie.prototype.__iterate=function(t,e){var n=this;return this._list.__iterate(function(e){return e&&t(e[1],e[0],n)},e)},Ie.prototype.__iterator=function(t,e){return this._list.fromEntrySeq().__iterator(t,e)},Ie.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t),n=this._list.__ensureOwner(t);return t?Ce(e,n,t,this.__hash):(this.__ownerID=t,this._map=e,this._list=n,this)},Ie.isOrderedMap=Ee,Ie.prototype[d]=!0,Ie.prototype.delete=Ie.prototype.remove,e(Oe,J),Oe.prototype.get=function(t,e){return this._iter.get(t,e)},Oe.prototype.has=function(t){return this._iter.has(t)},Oe.prototype.valueSeq=function(){return this._iter.valueSeq()},Oe.prototype.reverse=function(){var t=this,e=Re(this,!0);return this._useKeys||(e.valueSeq=function(){return t._iter.toSeq().reverse()}),e},Oe.prototype.map=function(t,e){var n=this,r=Pe(this,t,e);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(t,e)}),r},Oe.prototype.__iterate=function(t,e){var n,r=this;return this._iter.__iterate(this._useKeys?function(e,n){return t(e,n,r)}:(n=e?Ke(this):0,function(i){return t(i,e?--n:n++,r)}),e)},Oe.prototype.__iterator=function(t,e){if(this._useKeys)return this._iter.__iterator(t,e);var n=this._iter.__iterator(A,e),r=e?Ke(this):0;return new U(function(){var i=n.next();return i.done?i:P(t,e?--r:r++,i.value,i)})},Oe.prototype[d]=!0,e(ze,Z),ze.prototype.includes=function(t){return this._iter.includes(t)},ze.prototype.__iterate=function(t,e){var n=this,r=0;return this._iter.__iterate(function(e){return t(e,r++,n)},e)},ze.prototype.__iterator=function(t,e){var n=this._iter.__iterator(A,e),r=0;return new U(function(){var e=n.next();return e.done?e:P(t,r++,e.value,e)})},e(ke,V),ke.prototype.has=function(t){return this._iter.includes(t)},ke.prototype.__iterate=function(t,e){var n=this;return this._iter.__iterate(function(e){return t(e,e,n)},e)},ke.prototype.__iterator=function(t,e){var n=this._iter.__iterator(A,e);return new U(function(){var e=n.next();return e.done?e:P(t,e.value,e.value,e)})},e(Ye,J),Ye.prototype.entrySeq=function(){return this._iter.toSeq()},Ye.prototype.__iterate=function(t,e){var n=this;return this._iter.__iterate(function(e){if(e){He(e);var r=u(e);return t(r?e.get(1):e[1],r?e.get(0):e[0],n)}},e)},Ye.prototype.__iterator=function(t,e){var n=this._iter.__iterator(A,e);return new U(function(){for(;;){var e=n.next();if(e.done)return e;var r=e.value;if(r){He(r);var i=u(r);return P(t,i?r.get(0):r[0],i?r.get(1):r[1],e)}}})},ze.prototype.cacheResult=Oe.prototype.cacheResult=ke.prototype.cacheResult=Ye.prototype.cacheResult=en,e(on,_t),on.prototype.toString=function(){return this.__toString(an(this)+" {","}")},on.prototype.has=function(t){return this._defaultValues.hasOwnProperty(t)},on.prototype.get=function(t,e){if(!this.has(t))return e;var n=this._defaultValues[t];return this._map?this._map.get(t,n):n},on.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var t=this.constructor;return t._empty||(t._empty=sn(this,Kt()))},on.prototype.set=function(t,e){if(!this.has(t))throw new Error('Cannot set unknown key "'+t+'" on '+an(this));if(this._map&&!this._map.has(t)&&e===this._defaultValues[t])return this;var n=this._map&&this._map.set(t,e);return this.__ownerID||n===this._map?this:sn(this,n)},on.prototype.remove=function(t){if(!this.has(t))return this;var e=this._map&&this._map.remove(t);return this.__ownerID||e===this._map?this:sn(this,e)},on.prototype.wasAltered=function(){return this._map.wasAltered()},on.prototype.__iterator=function(t,e){var n=this;return r(this._defaultValues).map(function(t,e){return n.get(e)}).__iterator(t,e)},on.prototype.__iterate=function(t,e){var n=this;return r(this._defaultValues).map(function(t,e){return n.get(e)}).__iterate(t,e)},on.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map&&this._map.__ensureOwner(t);return t?sn(this,e,t):(this.__ownerID=t,this._map=e,this)};var un=on.prototype;function sn(t,e,n){var r=Object.create(Object.getPrototypeOf(t));return r._map=e,r.__ownerID=n,r}function an(t){return t._name||t.constructor.name||"Record"}function cn(t){return null==t?wn():fn(t)&&!f(t)?t:wn().withMutations(function(e){var n=o(t);Yt(n.size),n.forEach(function(t){return e.add(t)})})}function fn(t){return!(!t||!t[hn])}un.delete=un.remove,un.deleteIn=un.removeIn=Ft.removeIn,un.merge=Ft.merge,un.mergeWith=Ft.mergeWith,un.mergeIn=Ft.mergeIn,un.mergeDeep=Ft.mergeDeep,un.mergeDeepWith=Ft.mergeDeepWith,un.mergeDeepIn=Ft.mergeDeepIn,un.setIn=Ft.setIn,un.update=Ft.update,un.updateIn=Ft.updateIn,un.withMutations=Ft.withMutations,un.asMutable=Ft.asMutable,un.asImmutable=Ft.asImmutable,e(cn,Lt),cn.of=function(){return this(arguments)},cn.fromKeys=function(t){return this(r(t).keySeq())},cn.prototype.toString=function(){return this.__toString("Set {","}")},cn.prototype.has=function(t){return this._map.has(t)},cn.prototype.add=function(t){return dn(this,this._map.set(t,!0))},cn.prototype.remove=function(t){return dn(this,this._map.remove(t))},cn.prototype.clear=function(){return dn(this,this._map.clear())},cn.prototype.union=function(){var e=t.call(arguments,0);return 0===(e=e.filter(function(t){return 0!==t.size})).length?this:0!==this.size||this.__ownerID||1!==e.length?this.withMutations(function(t){for(var n=0;n<e.length;n++)o(e[n]).forEach(function(e){return t.add(e)})}):this.constructor(e[0])},cn.prototype.intersect=function(){var e=t.call(arguments,0);if(0===e.length)return this;e=e.map(function(t){return o(t)});var n=this;return this.withMutations(function(t){n.forEach(function(n){e.every(function(t){return t.includes(n)})||t.remove(n)})})},cn.prototype.subtract=function(){var e=t.call(arguments,0);if(0===e.length)return this;e=e.map(function(t){return o(t)});var n=this;return this.withMutations(function(t){n.forEach(function(n){e.some(function(t){return t.includes(n)})&&t.remove(n)})})},cn.prototype.merge=function(){return this.union.apply(this,arguments)},cn.prototype.mergeWith=function(e){var n=t.call(arguments,1);return this.union.apply(this,n)},cn.prototype.sort=function(t){return vn(qe(this,t))},cn.prototype.sortBy=function(t,e){return vn(qe(this,e,t))},cn.prototype.wasAltered=function(){return this._map.wasAltered()},cn.prototype.__iterate=function(t,e){var n=this;return this._map.__iterate(function(e,r){return t(r,r,n)},e)},cn.prototype.__iterator=function(t,e){return this._map.map(function(t,e){return e}).__iterator(t,e)},cn.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t);return t?this.__make(e,t):(this.__ownerID=t,this._map=e,this)},cn.isSet=fn;var ln,hn="@@__IMMUTABLE_SET__@@",pn=cn.prototype;function dn(t,e){return t.__ownerID?(t.size=e.size,t._map=e,t):e===t._map?t:0===e.size?t.__empty():t.__make(e)}function yn(t,e){var n=Object.create(pn);return n.size=t?t.size:0,n._map=t,n.__ownerID=e,n}function wn(){return ln||(ln=yn(Kt()))}function vn(t){return null==t?Ln():gn(t)?t:Ln().withMutations(function(e){var n=o(t);Yt(n.size),n.forEach(function(t){return e.add(t)})})}function gn(t){return fn(t)&&f(t)}pn[hn]=!0,pn.delete=pn.remove,pn.mergeDeep=pn.merge,pn.mergeDeepWith=pn.mergeWith,pn.withMutations=Ft.withMutations,pn.asMutable=Ft.asMutable,pn.asImmutable=Ft.asImmutable,pn.__empty=wn,pn.__make=yn,e(vn,cn),vn.of=function(){return this(arguments)},vn.fromKeys=function(t){return this(r(t).keySeq())},vn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},vn.isOrderedSet=gn;var Mn,_n=vn.prototype;function mn(t,e){var n=Object.create(_n);return n.size=t?t.size:0,n._map=t,n.__ownerID=e,n}function Ln(){return Mn||(Mn=mn(Te()))}function bn(t){return null==t?In():jn(t)?t:In().unshiftAll(t)}function jn(t){return!(!t||!t[Nn])}_n[d]=!0,_n.__empty=Ln,_n.__make=mn,e(bn,mt),bn.of=function(){return this(arguments)},bn.prototype.toString=function(){return this.__toString("Stack [","]")},bn.prototype.get=function(t,e){var n=this._head;for(t=N(this,t);n&&t--;)n=n.next;return n?n.value:e},bn.prototype.peek=function(){return this._head&&this._head.value},bn.prototype.push=function(){if(0===arguments.length)return this;for(var t=this.size+arguments.length,e=this._head,n=arguments.length-1;n>=0;n--)e={value:arguments[n],next:e};return this.__ownerID?(this.size=t,this._head=e,this.__hash=void 0,this.__altered=!0,this):Dn(t,e)},bn.prototype.pushAll=function(t){if(0===(t=i(t)).size)return this;Yt(t.size);var e=this.size,n=this._head;return t.reverse().forEach(function(t){e++,n={value:t,next:n}}),this.__ownerID?(this.size=e,this._head=n,this.__hash=void 0,this.__altered=!0,this):Dn(e,n)},bn.prototype.pop=function(){return this.slice(1)},bn.prototype.unshift=function(){return this.push.apply(this,arguments)},bn.prototype.unshiftAll=function(t){return this.pushAll(t)},bn.prototype.shift=function(){return this.pop.apply(this,arguments)},bn.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):In()},bn.prototype.slice=function(t,e){if(D(t,e,this.size))return this;var n=I(t,this.size);if(E(e,this.size)!==this.size)return mt.prototype.slice.call(this,t,e);for(var r=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=r,this._head=i,this.__hash=void 0,this.__altered=!0,this):Dn(r,i)},bn.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Dn(this.size,this._head,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},bn.prototype.__iterate=function(t,e){if(e)return this.reverse().__iterate(t);for(var n=0,r=this._head;r&&!1!==t(r.value,n++,this);)r=r.next;return n},bn.prototype.__iterator=function(t,e){if(e)return this.reverse().__iterator(t);var n=0,r=this._head;return new U(function(){if(r){var e=r.value;return r=r.next,P(t,n++,e)}return{value:void 0,done:!0}})},bn.isStack=jn;var xn,Nn="@@__IMMUTABLE_STACK__@@",Sn=bn.prototype;function Dn(t,e,n,r){var i=Object.create(Sn);return i.size=t,i._head=e,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function In(){return xn||(xn=Dn(0))}function En(t,e){var n=function(n){t.prototype[n]=e[n]};return Object.keys(e).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(n),t}Sn[Nn]=!0,Sn.withMutations=Ft.withMutations,Sn.asMutable=Ft.asMutable,Sn.asImmutable=Ft.asImmutable,Sn.wasAltered=Ft.wasAltered,n.Iterator=U,En(n,{toArray:function(){Yt(this.size);var t=new Array(this.size||0);return this.valueSeq().__iterate(function(e,n){t[n]=e}),t},toIndexedSeq:function(){return new ze(this)},toJS:function(){return this.toSeq().map(function(t){return t&&"function"==typeof t.toJS?t.toJS():t}).__toJS()},toJSON:function(){return this.toSeq().map(function(t){return t&&"function"==typeof t.toJSON?t.toJSON():t}).__toJS()},toKeyedSeq:function(){return new Oe(this,!0)},toMap:function(){return Ut(this.toKeyedSeq())},toObject:function(){Yt(this.size);var t={};return this.__iterate(function(e,n){t[n]=e}),t},toOrderedMap:function(){return Ie(this.toKeyedSeq())},toOrderedSet:function(){return vn(s(this)?this.valueSeq():this)},toSet:function(){return cn(s(this)?this.valueSeq():this)},toSetSeq:function(){return new ke(this)},toSeq:function(){return a(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return bn(s(this)?this.valueSeq():this)},toList:function(){return he(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(t,e){return 0===this.size?t+e:t+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+e},concat:function(){var e=t.call(arguments,0);return Xe(this,Ge(this,e))},includes:function(t){return this.some(function(e){return dt(e,t)})},entries:function(){return this.__iterator(O)},every:function(t,e){Yt(this.size);var n=!0;return this.__iterate(function(r,i,o){if(!t.call(e,r,i,o))return n=!1,!1}),n},filter:function(t,e){return Xe(this,Qe(this,t,e,!0))},find:function(t,e,n){var r=this.findEntry(t,e);return r?r[1]:n},forEach:function(t,e){return Yt(this.size),this.__iterate(e?t.bind(e):t)},join:function(t){Yt(this.size),t=void 0!==t?""+t:",";var e="",n=!0;return this.__iterate(function(r){n?n=!1:e+=t,e+=null!=r?r.toString():""}),e},keys:function(){return this.__iterator(T)},map:function(t,e){return Xe(this,Pe(this,t,e))},reduce:function(t,e,n){var r,i;return Yt(this.size),arguments.length<2?i=!0:r=e,this.__iterate(function(e,o,u){i?(i=!1,r=e):r=t.call(n,r,e,o,u)}),r},reduceRight:function(t,e,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Xe(this,Re(this,!0))},slice:function(t,e){return Xe(this,Fe(this,t,e,!0))},some:function(t,e){return!this.every(zn(t),e)},sort:function(t){return Xe(this,qe(this,t))},values:function(){return this.__iterator(A)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(t,e){return x(t?this.toSeq().filter(t,e):this)},countBy:function(t,e){return function(t,e,n){var r=Ut().asMutable();return t.__iterate(function(i,o){r.update(e.call(n,i,o,t),0,function(t){return t+1})}),r.asImmutable()}(this,t,e)},equals:function(t){return yt(this,t)},entrySeq:function(){var t=this;if(t._cache)return new tt(t._cache);var e=t.toSeq().map(On).toIndexedSeq();return e.fromEntrySeq=function(){return t.toSeq()},e},filterNot:function(t,e){return this.filter(zn(t),e)},findEntry:function(t,e,n){var r=n;return this.__iterate(function(n,i,o){if(t.call(e,n,i,o))return r=[i,n],!1}),r},findKey:function(t,e){var n=this.findEntry(t,e);return n&&n[0]},findLast:function(t,e,n){return this.toKeyedSeq().reverse().find(t,e,n)},findLastEntry:function(t,e,n){return this.toKeyedSeq().reverse().findEntry(t,e,n)},findLastKey:function(t,e){return this.toKeyedSeq().reverse().findKey(t,e)},first:function(){return this.find(S)},flatMap:function(t,e){return Xe(this,function(t,e,n){var r=$e(t);return t.toSeq().map(function(i,o){return r(e.call(n,i,o,t))}).flatten(!0)}(this,t,e))},flatten:function(t){return Xe(this,We(this,t,!0))},fromEntrySeq:function(){return new Ye(this)},get:function(t,e){return this.find(function(e,n){return dt(n,t)},void 0,e)},getIn:function(t,e){for(var n,r=this,i=rn(t);!(n=i.next()).done;){var o=n.value;if((r=r&&r.get?r.get(o,g):g)===g)return e}return r},groupBy:function(t,e){return function(t,e,n){var r=s(t),i=(f(t)?Ie():Ut()).asMutable();t.__iterate(function(o,u){i.update(e.call(n,o,u,t),function(t){return(t=t||[]).push(r?[u,o]:o),t})});var o=$e(t);return i.map(function(e){return Xe(t,o(e))})}(this,t,e)},has:function(t){return this.get(t,g)!==g},hasIn:function(t){return this.getIn(t,g)!==g},isSubset:function(t){return t="function"==typeof t.includes?t:n(t),this.every(function(e){return t.includes(e)})},isSuperset:function(t){return(t="function"==typeof t.isSubset?t:n(t)).isSubset(this)},keyOf:function(t){return this.findKey(function(e){return dt(e,t)})},keySeq:function(){return this.toSeq().map(An).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(t){return this.toKeyedSeq().reverse().keyOf(t)},max:function(t){return Je(this,t)},maxBy:function(t,e){return Je(this,e,t)},min:function(t){return Je(this,t?kn(t):Pn)},minBy:function(t,e){return Je(this,e?kn(e):Pn,t)},rest:function(){return this.slice(1)},skip:function(t){return this.slice(Math.max(0,t))},skipLast:function(t){return Xe(this,this.toSeq().reverse().skip(t).reverse())},skipWhile:function(t,e){return Xe(this,Be(this,t,e,!0))},skipUntil:function(t,e){return this.skipWhile(zn(t),e)},sortBy:function(t,e){return Xe(this,qe(this,e,t))},take:function(t){return this.slice(0,Math.max(0,t))},takeLast:function(t){return Xe(this,this.toSeq().reverse().take(t).reverse())},takeWhile:function(t,e){return Xe(this,function(t,e,n){var r=tn(t);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var u=0;return t.__iterate(function(t,i,s){return e.call(n,t,i,s)&&++u&&r(t,i,o)}),u},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var u=t.__iterator(O,i),s=!0;return new U(function(){if(!s)return{value:void 0,done:!0};var t=u.next();if(t.done)return t;var i=t.value,a=i[0],c=i[1];return e.call(n,c,a,o)?r===O?t:P(r,a,c,t):(s=!1,{value:void 0,done:!0})})},r}(this,t,e))},takeUntil:function(t,e){return this.takeWhile(zn(t),e)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(t){if(t.size===1/0)return 0;var e=f(t),n=s(t),r=e?1:0;return function(t,e){return e=bt(e,3432918353),e=bt(e<<15|e>>>-15,461845907),e=bt(e<<13|e>>>-13,5),e=bt((e=(e+3864292196|0)^t)^e>>>16,2246822507),e=jt((e=bt(e^e>>>13,3266489909))^e>>>16)}(t.__iterate(n?e?function(t,e){r=31*r+Rn(xt(t),xt(e))|0}:function(t,e){r=r+Rn(xt(t),xt(e))|0}:e?function(t){r=31*r+xt(t)|0}:function(t){r=r+xt(t)|0}),r)}(this))}});var Cn=n.prototype;Cn[l]=!0,Cn[Y]=Cn.values,Cn.__toJS=Cn.toArray,Cn.__toStringMapper=Yn,Cn.inspect=Cn.toSource=function(){return this.toString()},Cn.chain=Cn.flatMap,Cn.contains=Cn.includes,En(r,{flip:function(){return Xe(this,Ue(this))},mapEntries:function(t,e){var n=this,r=0;return Xe(this,this.toSeq().map(function(i,o){return t.call(e,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(t,e){var n=this;return Xe(this,this.toSeq().flip().map(function(r,i){return t.call(e,r,i,n)}).flip())}});var Tn=r.prototype;function An(t,e){return e}function On(t,e){return[e,t]}function zn(t){return function(){return!t.apply(this,arguments)}}function kn(t){return function(){return-t.apply(this,arguments)}}function Yn(t){return"string"==typeof t?JSON.stringify(t):String(t)}function Un(){return j(arguments)}function Pn(t,e){return t<e?1:t>e?-1:0}function Rn(t,e){return t^e+2654435769+(t<<6)+(t>>2)|0}return Tn[h]=!0,Tn[Y]=Cn.entries,Tn.__toJS=Cn.toObject,Tn.__toStringMapper=function(t,e){return JSON.stringify(e)+": "+Yn(t)},En(i,{toKeyedSeq:function(){return new Oe(this,!1)},filter:function(t,e){return Xe(this,Qe(this,t,e,!1))},findIndex:function(t,e){var n=this.findEntry(t,e);return n?n[0]:-1},indexOf:function(t){var e=this.keyOf(t);return void 0===e?-1:e},lastIndexOf:function(t){var e=this.lastKeyOf(t);return void 0===e?-1:e},reverse:function(){return Xe(this,Re(this,!1))},slice:function(t,e){return Xe(this,Fe(this,t,e,!1))},splice:function(t,e){var n=arguments.length;if(e=Math.max(0|e,0),0===n||2===n&&!e)return this;t=I(t,t<0?this.count():this.size);var r=this.slice(0,t);return Xe(this,1===n?r:r.concat(j(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){var n=this.findLastEntry(t,e);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(t){return Xe(this,We(this,t,!1))},get:function(t,e){return(t=N(this,t))<0||this.size===1/0||void 0!==this.size&&t>this.size?e:this.find(function(e,n){return n===t},void 0,e)},has:function(t){return(t=N(this,t))>=0&&(void 0!==this.size?this.size===1/0||t<this.size:-1!==this.indexOf(t))},interpose:function(t){return Xe(this,function(t,e){var n=tn(t);return n.size=t.size&&2*t.size-1,n.__iterateUncached=function(n,r){var i=this,o=0;return t.__iterate(function(t,r){return(!o||!1!==n(e,o++,i))&&!1!==n(t,o++,i)},r),o},n.__iteratorUncached=function(n,r){var i,o=t.__iterator(A,r),u=0;return new U(function(){return(!i||u%2)&&(i=o.next()).done?i:u%2?P(n,u++,e):P(n,u++,i.value,i)})},n}(this,t))},interleave:function(){var t=[this].concat(j(arguments)),e=Ve(this.toSeq(),Z.of,t),n=e.flatten(!0);return e.size&&(n.size=e.size*t.length),Xe(this,n)},keySeq:function(){return gt(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(t,e){return Xe(this,Be(this,t,e,!1))},zip:function(){var t=[this].concat(j(arguments));return Xe(this,Ve(this,Un,t))},zipWith:function(t){var e=j(arguments);return e[0]=this,Xe(this,Ve(this,t,e))}}),i.prototype[p]=!0,i.prototype[d]=!0,En(o,{get:function(t,e){return this.has(t)?t:e},includes:function(t){return this.has(t)},keySeq:function(){return this.valueSeq()}}),o.prototype.has=Cn.includes,o.prototype.contains=o.prototype.includes,En(J,r.prototype),En(Z,i.prototype),En(V,o.prototype),En(_t,r.prototype),En(mt,i.prototype),En(Lt,o.prototype),{Iterable:n,Seq:q,Collection:Mt,Map:Ut,OrderedMap:Ie,List:he,Stack:bn,Set:cn,OrderedSet:vn,Record:on,Range:gt,Repeat:wt,is:dt,fromJS:lt}}()},function(t,e,n){"use strict";t.exports=n(218)},function(t,e,n){t.exports=n(241)},function(t,e,n){"use strict";var r=n(47),i=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];t.exports=function(t,e){var n,u;if(e=e||{},Object.keys(e).forEach(function(e){if(-1===i.indexOf(e))throw new r('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,u={},null!==n&&Object.keys(n).forEach(function(t){n[t].forEach(function(e){u[String(e)]=t})}),u),-1===o.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},function(t,e){var n=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(110);t.exports=function(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){"use strict";(function(t){n.d(e,"d",function(){return g}),n.d(e,"c",function(){return M}),n.d(e,"b",function(){return m}),n.d(e,"e",function(){return L}),n.d(e,"f",function(){return b}),n.d(e,"a",function(){return j});n(106),n(171),n(103);var r=n(107),i=n.n(r),o=n(14),u=n.n(o),s=n(2),a=n.n(s),c=n(9),f=n.n(c),l=n(0),h=n.n(l),p=(n(172),n(173),n(104),n(105)),d=n.n(p),y=(n(174),n(175),n(38),n(108),n(49)),w=n.n(y),v=(n(178),n(179),n(180),n(181),function(t){return h.a.Iterable.isIterable(t)});function g(t){return _(t)?v(t)?t.toJS():t:{}}function M(t){return a()(t)?t:[t]}function _(t){return!!t&&"object"===f()(t)}function m(t){return"function"==typeof t}d.a;var L=function(){var t={},e=w.a.location.search;if(!e)return{};if(""!=e){var n=e.substr(1).split("&");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split("="),t[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||"")}return t},b=function(t){return u()(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")};function j(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0};if("object"!==f()(t)||a()(t)||null===t||!e)return t;var r=i()({},t);return u()(r).forEach(function(t){t===e&&n(r[t],t)?delete r[t]:r[t]=j(r[t],e,n)}),r}}).call(this,n(57).Buffer)},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){var r=n(57),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n]}function u(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=u),o(i,u),u.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},u.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},u.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},u.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},function(t,e,n){var r=n(187),i=n(199);function o(t){return(o="function"==typeof i&&"symbol"==typeof r?function(t){return typeof t}:function(t){return t&&"function"==typeof i&&t.constructor===i&&t!==i.prototype?"symbol":typeof t})(t)}function u(e){return"function"==typeof i&&"symbol"===o(r)?t.exports=u=function(t){return o(t)}:t.exports=u=function(t){return t&&"function"==typeof i&&t.constructor===i&&t!==i.prototype?"symbol":o(t)},u(e)}t.exports=u},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(136),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e,n){t.exports=n(252)},function(t,e,n){var r=n(16),i=n(4),o=n(111),u=n(27),s=n(21),a=function(t,e,n){var c,f,l,h=t&a.F,p=t&a.G,d=t&a.S,y=t&a.P,w=t&a.B,v=t&a.W,g=p?i:i[e]||(i[e]={}),M=g.prototype,_=p?r:d?r[e]:(r[e]||{}).prototype;for(c in p&&(n=e),n)(f=!h&&_&&void 0!==_[c])&&s(g,c)||(l=f?_[c]:n[c],g[c]=p&&"function"!=typeof _[c]?n[c]:w&&f?o(l,r):v&&_[c]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):y&&"function"==typeof l?o(Function.call,l):l,y&&((g.virtual||(g.virtual={}))[c]=l,t&a.R&&M&&!M[c]&&u(M,c,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(82)("wks"),i=n(53),o=n(16).Symbol,u="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=r},function(t,e,n){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},function(t,e,n){var r=n(28),i=n(112),o=n(76),u=Object.defineProperty;e.f=n(20)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return u(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(30)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(t){r=u}}();var a,c=[],f=!1,l=-1;function h(){f&&a&&(f=!1,a.length?c=a.concat(c):l=-1,c.length&&p())}function p(){if(!f){var t=s(h);f=!0;for(var e=c.length;e;){for(a=c,c=[];++l<e;)a&&a[l].run();l=-1,e=c.length}a=null,f=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===u||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function y(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new d(t,e)),1!==c.length||f||s(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=y,i.addListener=y,i.once=y,i.off=y,i.removeListener=y,i.removeAllListeners=y,i.emit=y,i.prependListener=y,i.prependOnceListener=y,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){"use strict";var r=n(67),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=l;var o=n(46);o.inherits=n(7);var u=n(152),s=n(97);o.inherits(l,u);for(var a=i(s.prototype),c=0;c<a.length;c++){var f=a[c];l.prototype[f]||(l.prototype[f]=s.prototype[f])}function l(t){if(!(this instanceof l))return new l(t);u.call(this,t),s.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",h)}function h(){this.allowHalfOpen||this._writableState.ended||r.nextTick(p,this)}function p(t){t.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),l.prototype._destroy=function(t,e){this.push(null),this.end(),r.nextTick(e,t)}},function(t,e,n){"use strict";var r=n(159)();t.exports=function(t){return t!==r&&null!==t}},function(t,e,n){"use strict";var r=n(371),i=Math.max;t.exports=function(t){return i(0,r(t))}},function(t,e,n){},function(t,e,n){var r=n(19),i=n(50);t.exports=n(20)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(29);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(118),i=n(78);t.exports=function(t){return r(i(t))}},function(t,e,n){"use strict";var r=n(40),i=n(131),o=(n(88),n(129),Object.prototype.hasOwnProperty),u=n(132),s={key:!0,ref:!0,__self:!0,__source:!0};function a(t){return void 0!==t.ref}function c(t){return void 0!==t.key}var f=function(t,e,n,r,i,o,s){return{$$typeof:u,type:t,key:e,ref:n,props:s,_owner:o}};f.createElement=function(t,e,n){var r,u={},l=null,h=null;if(null!=e)for(r in a(e)&&(h=e.ref),c(e)&&(l=""+e.key),void 0===e.__self?null:e.__self,void 0===e.__source?null:e.__source,e)o.call(e,r)&&!s.hasOwnProperty(r)&&(u[r]=e[r]);var p=arguments.length-2;if(1===p)u.children=n;else if(p>1){for(var d=Array(p),y=0;y<p;y++)d[y]=arguments[y+2];0,u.children=d}if(t&&t.defaultProps){var w=t.defaultProps;for(r in w)void 0===u[r]&&(u[r]=w[r])}return f(t,l,h,0,0,i.current,u)},f.createFactory=function(t){var e=f.createElement.bind(null,t);return e.type=t,e},f.cloneAndReplaceKey=function(t,e){return f(t.type,e,t.ref,t._self,t._source,t._owner,t.props)},f.cloneElement=function(t,e,n){var u,l,h=r({},t.props),p=t.key,d=t.ref,y=(t._self,t._source,t._owner);if(null!=e)for(u in a(e)&&(d=e.ref,y=i.current),c(e)&&(p=""+e.key),t.type&&t.type.defaultProps&&(l=t.type.defaultProps),e)o.call(e,u)&&!s.hasOwnProperty(u)&&(void 0===e[u]&&void 0!==l?h[u]=l[u]:h[u]=e[u]);var w=arguments.length-2;if(1===w)h.children=n;else if(w>1){for(var v=Array(w),g=0;g<w;g++)v[g]=arguments[g+2];h.children=v}return f(t.type,p,d,0,0,y,h)},f.isValidElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===u},t.exports=f},function(t,e,n){var r=n(277),i=n(280);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},function(t,e,n){"use strict";var r=n(24);t.exports=function(t){if(!r(t))throw new TypeError("Cannot use null or undefined");return t}},function(t,e,n){var r=n(8).Buffer;function i(t,e){this._block=r.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}i.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=r.from(t,e));for(var n=this._block,i=this._blockSize,o=t.length,u=this._len,s=0;s<o;){for(var a=u%i,c=Math.min(o-s,i-a),f=0;f<c;f++)n[a+f]=t[s+f];s+=c,(u+=c)%i==0&&this._update(n)}return this._len+=o,this},i.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},function(t,e,n){"use strict";function r(t){return null==t}t.exports.isNothing=r,t.exports.isObject=function(t){return"object"==typeof t&&null!==t},t.exports.toArray=function(t){return Array.isArray(t)?t:r(t)?[]:[t]},t.exports.repeat=function(t,e){var n,r="";for(n=0;n<e;n+=1)r+=t;return r},t.exports.isNegativeZero=function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},t.exports.extend=function(t,e){var n,r,i,o;if(e)for(n=0,r=(o=Object.keys(e)).length;n<r;n+=1)t[i=o[n]]=e[i];return t}},function(t,e,n){"use strict";var r=n(36),i=n(47),o=n(3);function u(t,e,n){var r=[];return t.include.forEach(function(t){n=u(t,e,n)}),t[e].forEach(function(t){n.forEach(function(e,n){e.tag===t.tag&&e.kind===t.kind&&r.push(n)}),n.push(t)}),n.filter(function(t,e){return-1===r.indexOf(e)})}function s(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(t){if(t.loadKind&&"scalar"!==t.loadKind)throw new i("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=u(this,"implicit",[]),this.compiledExplicit=u(this,"explicit",[]),this.compiledTypeMap=function(){var t,e,n={scalar:{},sequence:{},mapping:{},fallback:{}};function r(t){n[t.kind][t.tag]=n.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(r);return n}(this.compiledImplicit,this.compiledExplicit)}s.DEFAULT=null,s.create=function(){var t,e;switch(arguments.length){case 1:t=s.DEFAULT,e=arguments[0];break;case 2:t=arguments[0],e=arguments[1];break;default:throw new i("Wrong number of arguments for Schema.create function")}if(t=r.toArray(t),e=r.toArray(e),!t.every(function(t){return t instanceof s}))throw new i("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!e.every(function(t){return t instanceof o}))throw new i("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new s({include:t,explicit:e})},t.exports=s},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e,n){var r=n(117),i=n(83);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function u(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,s,a=u(t),c=1;c<arguments.length;c++){for(var f in n=Object(arguments[c]))i.call(n,f)&&(a[f]=n[f]);if(r){s=r(n);for(var l=0;l<s.length;l++)o.call(n,s[l])&&(a[s[l]]=n[s[l]])}}return a}},function(t,e,n){"use strict";var r=function(t){};t.exports=function(t,e,n,i,o,u,s,a){if(r(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[n,i,o,u,s,a],l=0;(c=new Error(e.replace(/%s/g,function(){return f[l++]}))).name="Invariant Violation"}throw c.framesToPop=1,c}}},function(t,e,n){var r=n(255);t.exports=function(t){return null==t?"":r(t)}},function(t,e,n){var r=n(58),i=n(257),o=n(258),u="[object Null]",s="[object Undefined]",a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:u:a&&a in Object(t)?i(t):o(t)}},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e,n){(function(t){function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=t.isBuffer}).call(this,n(57).Buffer)},function(t,e,n){"use strict";function r(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(t){var e=this.name+": ";return e+=this.reason||"(unknown reason)",!t&&this.mark&&(e+=" "+this.mark.toString()),e},t.exports=r},function(t,e,n){"use strict";var r=n(37);t.exports=new r({include:[n(168)],implicit:[n(438),n(439)],explicit:[n(440),n(441),n(442),n(443)]})},function(t,e){t.exports=function(){var t={location:{},history:{},open:function(){},close:function(){},File:function(){}};if("undefined"==typeof window)return t;try{t=window;for(var e=0,n=["File","Blob","FormData"];e<n.length;e++){var r=n[e];r in window&&(t[r]=window[r])}}catch(t){console.error(t)}return t}()},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!0},function(t,e){t.exports={}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(78);t.exports=function(t){return Object(r(t))}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";t.exports=function(t){for(var e=arguments.length-1,n="Minified React error #"+t+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+t,r=0;r<e;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var i=new Error(n);throw i.name="Invariant Violation",i.framesToPop=1,i}},function(t,e,n){"use strict";(function(t){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> + * @license MIT + */ +var r=n(237),i=n(238),o=n(135);function u(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(u()<e)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=a.prototype:(null===t&&(t=new a(e)),t.length=e),t}function a(t,e,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return l(this,t)}return c(this,t,e,n)}function c(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r);a.TYPED_ARRAY_SUPPORT?(t=e).__proto__=a.prototype:t=h(t,e);return t}(t,e,n,r):"string"==typeof e?function(t,e,n){"string"==typeof n&&""!==n||(n="utf8");if(!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|d(e,n),i=(t=s(t,r)).write(e,n);i!==r&&(t=t.slice(0,i));return t}(t,e,n):function(t,e){if(a.isBuffer(e)){var n=0|p(e.length);return 0===(t=s(t,n)).length?t:(e.copy(t,0,0,n),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?s(t,0):h(t,e);if("Buffer"===e.type&&o(e.data))return h(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function f(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function l(t,e){if(f(e),t=s(t,e<0?0:0|p(e)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function h(t,e){var n=e.length<0?0:0|p(e.length);t=s(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function p(t){if(t>=u())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u().toString(16)+" bytes");return 0|t}function d(t,e){if(a.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(t).length;default:if(r)return Q(t).length;e=(""+e).toLowerCase(),r=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return E(this,e,n);case"utf8":case"utf-8":return N(this,e,n);case"ascii":return D(this,e,n);case"latin1":case"binary":return I(this,e,n);case"base64":return x(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function w(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=a.from(e,r)),a.isBuffer(e))return 0===e.length?-1:g(t,e,n,r,i);if("number"==typeof e)return e&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):g(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,n,r,i){var o,u=1,s=t.length,a=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;u=2,s/=2,a/=2,n/=2}function c(t,e){return 1===u?t[e]:t.readUInt16BE(e*u)}if(i){var f=-1;for(o=n;o<s;o++)if(c(t,o)===c(e,-1===f?0:o-f)){if(-1===f&&(f=o),o-f+1===a)return f*u}else-1!==f&&(o-=o-f),f=-1}else for(n+a>s&&(n=s-a),o=n;o>=0;o--){for(var l=!0,h=0;h<a;h++)if(c(t,o+h)!==c(e,h)){l=!1;break}if(l)return o}return-1}function M(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var u=0;u<r;++u){var s=parseInt(e.substr(2*u,2),16);if(isNaN(s))return u;t[n+u]=s}return u}function _(t,e,n,r){return B(Q(e,t.length-n),t,n,r)}function m(t,e,n,r){return B(function(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function L(t,e,n,r){return m(t,e,n,r)}function b(t,e,n,r){return B(F(e),t,n,r)}function j(t,e,n,r){return B(function(t,e){for(var n,r,i,o=[],u=0;u<t.length&&!((e-=2)<0);++u)n=t.charCodeAt(u),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function x(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function N(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o,u,s,a,c=t[i],f=null,l=c>239?4:c>223?3:c>191?2:1;if(i+l<=n)switch(l){case 1:c<128&&(f=c);break;case 2:128==(192&(o=t[i+1]))&&(a=(31&c)<<6|63&o)>127&&(f=a);break;case 3:o=t[i+1],u=t[i+2],128==(192&o)&&128==(192&u)&&(a=(15&c)<<12|(63&o)<<6|63&u)>2047&&(a<55296||a>57343)&&(f=a);break;case 4:o=t[i+1],u=t[i+2],s=t[i+3],128==(192&o)&&128==(192&u)&&128==(192&s)&&(a=(15&c)<<18|(63&o)<<12|(63&u)<<6|63&s)>65535&&a<1114112&&(f=a)}null===f?(f=65533,l=1):f>65535&&(f-=65536,r.push(f>>>10&1023|55296),f=56320|1023&f),r.push(f),i+=l}return function(t){var e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);var n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=S));return n}(r)}e.Buffer=a,e.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},e.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=u(),a.poolSize=8192,a._augment=function(t){return t.__proto__=a.prototype,t},a.from=function(t,e,n){return c(null,t,e,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(t,e,n){return function(t,e,n,r){return f(e),e<=0?s(t,e):void 0!==n?"string"==typeof r?s(t,e).fill(n,r):s(t,e).fill(n):s(t,e)}(null,t,e,n)},a.allocUnsafe=function(t){return l(null,t)},a.allocUnsafeSlow=function(t){return l(null,t)},a.isBuffer=function(t){return!(null==t||!t._isBuffer)},a.compare=function(t,e){if(!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(t,e){if(!o(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return a.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=a.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var u=t[n];if(!a.isBuffer(u))throw new TypeError('"list" argument must be an Array of Buffers');u.copy(r,i),i+=u.length}return r},a.byteLength=d,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)w(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)w(this,e,e+3),w(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)w(this,e,e+7),w(this,e+1,e+6),w(this,e+2,e+5),w(this,e+3,e+4);return this},a.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?N(this,0,t):y.apply(this,arguments)},a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===a.compare(this,t)},a.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},a.prototype.compare=function(t,e,n,r,i){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),u=(n>>>=0)-(e>>>=0),s=Math.min(o,u),c=this.slice(r,i),f=t.slice(e,n),l=0;l<s;++l)if(c[l]!==f[l]){o=c[l],u=f[l];break}return o<u?-1:u<o?1:0},a.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},a.prototype.indexOf=function(t,e,n){return v(this,t,e,n,!0)},a.prototype.lastIndexOf=function(t,e,n){return v(this,t,e,n,!1)},a.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return M(this,t,e,n);case"utf8":case"utf-8":return _(this,t,e,n);case"ascii":return m(this,t,e,n);case"latin1":case"binary":return L(this,t,e,n);case"base64":return b(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function D(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function I(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function E(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=e;o<n;++o)i+=R(t[o]);return i}function C(t,e,n){for(var r=t.slice(e,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function T(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,n,r,i,o){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function O(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i<o;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function z(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i<o;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function k(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Y(t,e,n,r,o){return o||k(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function U(t,e,n,r,o){return o||k(t,0,n,8),i.write(t,e,n,r,52,8),n+8}a.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t),a.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,e)).__proto__=a.prototype;else{var i=e-t;n=new a(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+t]}return n},a.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||T(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},a.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||T(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},a.prototype.readUInt8=function(t,e){return e||T(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return e||T(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return e||T(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return e||T(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return e||T(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||T(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},a.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||T(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},a.prototype.readInt8=function(t,e){return e||T(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){e||T(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(t,e){e||T(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(t,e){return e||T(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return e||T(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return e||T(t,4,this.length),i.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return e||T(t,4,this.length),i.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return e||T(t,8,this.length),i.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return e||T(t,8,this.length),i.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||A(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},a.prototype.writeUIntBE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||A(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},a.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,1,255,0),a.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):O(this,t,e,!0),e+2},a.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):O(this,t,e,!1),e+2},a.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):z(this,t,e,!0),e+4},a.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},a.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);A(this,t,e,n,i-1,-i)}var o=0,u=1,s=0;for(this[e]=255&t;++o<n&&(u*=256);)t<0&&0===s&&0!==this[e+o-1]&&(s=1),this[e+o]=(t/u>>0)-s&255;return e+n},a.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);A(this,t,e,n,i-1,-i)}var o=n-1,u=1,s=0;for(this[e+o]=255&t;--o>=0&&(u*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/u>>0)-s&255;return e+n},a.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,1,127,-128),a.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):O(this,t,e,!0),e+2},a.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):O(this,t,e,!1),e+2},a.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):z(this,t,e,!0),e+4},a.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},a.prototype.writeFloatLE=function(t,e,n){return Y(this,t,e,!0,n)},a.prototype.writeFloatBE=function(t,e,n){return Y(this,t,e,!1,n)},a.prototype.writeDoubleLE=function(t,e,n){return U(this,t,e,!0,n)},a.prototype.writeDoubleBE=function(t,e,n){return U(this,t,e,!1,n)},a.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,o=r-n;if(this===t&&n<e&&e<r)for(i=o-1;i>=0;--i)t[i+e]=this[i+n];else if(o<1e3||!a.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},a.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;var o;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o<n;++o)this[o]=t;else{var u=a.isBuffer(t)?t:Q(new a(t,r).toString()),s=u.length;for(o=0;o<n-e;++o)this[o+e]=u[o%s]}return this};var P=/[^+\/0-9A-Za-z-_]/g;function R(t){return t<16?"0"+t.toString(16):t.toString(16)}function Q(t,e){var n;e=e||1/0;for(var r=t.length,i=null,o=[],u=0;u<r;++u){if((n=t.charCodeAt(u))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(u+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function F(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(P,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function B(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(this,n(10))},function(t,e,n){var r=n(11).Symbol;t.exports=r},function(t,e,n){var r=n(43),i=n(44),o="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&r(t)==o}},function(t,e,n){var r=n(33)(Object,"create");t.exports=r},function(t,e,n){var r=n(285),i=n(286),o=n(287),u=n(288),s=n(289);function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}a.prototype.clear=r,a.prototype.delete=i,a.prototype.get=o,a.prototype.has=u,a.prototype.set=s,t.exports=a},function(t,e,n){var r=n(38);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},function(t,e,n){var r=n(291);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},function(t,e,n){var r=n(319),i=n(326),o=n(65);t.exports=function(t){return o(t)?r(t):i(t)}},function(t,e,n){var r=n(138),i=n(93);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},function(t,e,n){var r=n(59),i=1/0;t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},function(t,e,n){"use strict";(function(e){!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports={nextTick:function(t,n,r,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,u,s=arguments.length;switch(s){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick(function(){t.call(null,n)});case 3:return e.nextTick(function(){t.call(null,n,r)});case 4:return e.nextTick(function(){t.call(null,n,r,i)});default:for(o=new Array(s-1),u=0;u<o.length;)o[u++]=arguments[u];return e.nextTick(function(){t.apply(null,o)})}}}:t.exports=e}).call(this,n(22))},function(t,e,n){"use strict";t.exports=n(376)("forEach")},function(t,e,n){"use strict";var r=n(161),i=n(158),o=n(98),u=n(385);(t.exports=function(t,e){var n,o,s,a,c;return arguments.length<2||"string"!=typeof t?(a=e,e=t,t=null):a=arguments[2],null==t?(n=s=!0,o=!1):(n=u.call(t,"c"),o=u.call(t,"e"),s=u.call(t,"w")),c={value:e,configurable:n,enumerable:o,writable:s},a?r(i(a),c):c}).gs=function(t,e,n){var s,a,c,f;return"string"!=typeof t?(c=n,n=e,e=t,t=null):c=arguments[3],null==e?e=void 0:o(e)?null==n?n=void 0:o(n)||(c=n,n=void 0):(c=e,e=n=void 0),null==t?(s=!0,a=!1):(s=u.call(t,"c"),a=u.call(t,"e")),f={get:e,set:n,configurable:s,enumerable:a},c?r(i(c),f):f}},function(t,e,n){"use strict";var r=n(37);t.exports=r.DEFAULT=new r({include:[n(48)],explicit:[n(444),n(445),n(446)]})},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){var r=n(110);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),r(t,i.key,i)}}t.exports=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}},function(t,e,n){var r=n(9),i=n(13);t.exports=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?i(t):e}},function(t,e,n){var r=n(208),i=n(125);function o(e){return t.exports=o=i?r:function(t){return t.__proto__||r(t)},o(e)}t.exports=o},function(t,e,n){var r=n(214),i=n(217);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=r(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}},function(t,e,n){var r=n(29);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(28),i=n(191),o=n(83),u=n(81)("IE_PROTO"),s=function(){},a=function(){var t,e=n(113)("iframe"),r=o.length;for(e.style.display="none",n(195).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),a=t.F;r--;)delete a.prototype[o[r]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=r(t),n=new s,s.prototype=null,n[u]=t):n=a(),void 0===e?n:i(n,e)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(82)("keys"),i=n(53);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(4),i=n(16),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(51)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(19).f,i=n(21),o=n(17)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){e.f=n(17)},function(t,e,n){var r=n(16),i=n(4),o=n(51),u=n(85),s=n(19).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:u.f(t)})}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){"use strict";var r=n(128);t.exports=r},function(t,e,n){var r=n(274),i=n(290),o=n(292),u=n(293),s=n(294);function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}a.prototype.clear=r,a.prototype.delete=i,a.prototype.get=o,a.prototype.has=u,a.prototype.set=s,t.exports=a},function(t,e,n){var r=n(33)(n(11),"Map");t.exports=r},function(t,e,n){var r=n(296),i=n(336),o=n(343),u=n(12),s=n(344);t.exports=function(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?u(t)?i(t[0],t[1]):r(t):s(t)}},function(t,e){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?n:e)&&("number"==i||"symbol"!=i&&r.test(t))&&t>-1&&t%1==0&&t<e}},function(t,e){var n=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=n}},function(t,e,n){var r=n(12),i=n(59),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||(u.test(t)||!o.test(t)||null!=e&&t in Object(e))}},function(t,e,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var u=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}t.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var a=10;function c(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,n,r){var i,o,u,s;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),o=t._events),u=o[e]),void 0===u)u=o[e]=n,++t._eventsCount;else if("function"==typeof u?u=o[e]=r?[n,u]:[u,n]:r?u.unshift(n):u.push(n),(i=c(t))>0&&u.length>i&&!u.warned){u.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+u.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=u.length,s=a,console&&console.warn&&console.warn(s)}return t}function l(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=function(){for(var t=[],e=0;e<arguments.length;e++)t.push(arguments[e]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,o(this.listener,this.target,t))}.bind(r);return i.listener=n,r.wrapFn=i,i}function h(t,e,n){var r=t._events;if(void 0===r)return[];var i=r[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n<e.length;++n)e[n]=t[n].listener||t[n];return e}(i):d(i,i.length)}function p(t){var e=this._events;if(void 0!==e){var n=e[t];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function d(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t[r];return n}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(t){if("number"!=typeof t||t<0||u(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");a=t}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||u(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var r="error"===t,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var u;if(e.length>0&&(u=e[0]),u instanceof Error)throw u;var s=new Error("Unhandled error."+(u?" ("+u.message+")":""));throw s.context=u,s}var a=i[t];if(void 0===a)return!1;if("function"==typeof a)o(a,this,e);else{var c=a.length,f=d(a,c);for(n=0;n<c;++n)o(f[n],this,e)}return!0},s.prototype.addListener=function(t,e){return f(this,t,e,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(t,e){return f(this,t,e,!0)},s.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.on(t,l(this,t,e)),this},s.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.prependListener(t,l(this,t,e)),this},s.prototype.removeListener=function(t,e){var n,r,i,o,u;if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);if(void 0===(r=this._events))return this;if(void 0===(n=r[t]))return this;if(n===e||n.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete r[t],r.removeListener&&this.emit("removeListener",t,n.listener||e));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){u=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(n,i),1===n.length&&(r[t]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",t,u||e)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(t){var e,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[t]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=n[t]))this.removeListener(t,e);else if(void 0!==e)for(r=e.length-1;r>=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return h(this,t,!0)},s.prototype.rawListeners=function(t){return h(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(t,e,n){(e=t.exports=n(152)).Stream=e,e.Readable=e,e.Writable=n(97),e.Duplex=n(23),e.Transform=n(157),e.PassThrough=n(366)},function(t,e,n){"use strict";(function(e,r,i){var o=n(67);function u(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var r=t.entry;t.entry=null;for(;r;){var i=r.callback;e.pendingcb--,i(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}(e,t)}}t.exports=g;var s,a=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?r:o.nextTick;g.WritableState=v;var c=n(46);c.inherits=n(7);var f={deprecate:n(365)},l=n(153),h=n(8).Buffer,p=i.Uint8Array||function(){};var d,y=n(154);function w(){}function v(t,e){s=s||n(23),t=t||{};var r=e instanceof s;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,c=t.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(c||0===c)?c:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===t.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,i){--e.pendingcb,n?(o.nextTick(i,r),o.nextTick(j,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(i(r),t._writableState.errorEmitted=!0,t.emit("error",r),j(t,e))}(t,n,r,e,i);else{var u=L(n);u||n.corked||n.bufferProcessing||!n.bufferedRequest||m(t,n),r?a(_,t,n,u,i):_(t,n,u,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new u(this)}function g(t){if(s=s||n(23),!(d.call(g,this)||this instanceof s))return new g(t);this._writableState=new v(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function M(t,e,n,r,i,o,u){e.writelen=r,e.writecb=u,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function _(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),j(t,e)}function m(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),o=e.corkedRequestsFree;o.entry=n;for(var s=0,a=!0;n;)i[s]=n,n.isBuf||(a=!1),n=n.next,s+=1;i.allBuffers=a,M(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new u(e),e.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,f=n.encoding,l=n.callback;if(M(t,e,!1,e.objectMode?1:c.length,c,f,l),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function L(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function b(t,e){t._final(function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),j(t,e)})}function j(t,e){var n=L(e);return n&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(b,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}c.inherits(g,l),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:f.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===g&&(t&&t._writableState instanceof v)}})):d=function(t){return t instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(t,e,n){var r,i=this._writableState,u=!1,s=!i.objectMode&&(r=t,h.isBuffer(r)||r instanceof p);return s&&!h.isBuffer(t)&&(t=function(t){return h.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=w),i.ended?function(t,e){var n=new Error("write after end");t.emit("error",n),o.nextTick(e,n)}(this,n):(s||function(t,e,n,r){var i=!0,u=!1;return null===n?u=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||e.objectMode||(u=new TypeError("Invalid non-string/buffer chunk")),u&&(t.emit("error",u),o.nextTick(r,u),i=!1),i}(this,i,t,n))&&(i.pendingcb++,u=function(t,e,n,r,i,o){if(!n){var u=function(t,e,n){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=h.from(e,n));return e}(e,r,i);r!==u&&(n=!0,i="buffer",r=u)}var s=e.objectMode?1:r.length;e.length+=s;var a=e.length<e.highWaterMark;a||(e.needDrain=!0);if(e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else M(t,e,!1,s,r,i,o);return a}(this,i,s,t,e,n)),u},g.prototype.cork=function(){this._writableState.corked++},g.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||m(this,t))},g.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,j(t,e),n&&(e.finished?o.nextTick(n):t.once("finish",n));e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),g.prototype.destroy=y.destroy,g.prototype._undestroy=y.undestroy,g.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,n(22),n(155).setImmediate,n(10))},function(t,e,n){"use strict";t.exports=function(t){return"function"==typeof t}},function(t,e,n){"use strict";t.exports=n(391)()?Array.from:n(392)},function(t,e,n){"use strict";var r=n(405),i=n(25),o=n(34),u=Array.prototype.indexOf,s=Object.prototype.hasOwnProperty,a=Math.abs,c=Math.floor;t.exports=function(t){var e,n,f,l;if(!r(t))return u.apply(this,arguments);for(n=i(o(this).length),f=arguments[1],e=f=isNaN(f)?0:f>=0?c(f):i(this.length)-c(a(f));e<n;++e)if(s.call(this,e)&&(l=this[e],r(l)))return e;return-1}},function(t,e,n){"use strict";(function(e,n){var r,i;r=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t},i=function(t){var e,n,i=document.createTextNode(""),o=0;return new t(function(){var t;if(e)n&&(e=n.concat(e));else{if(!n)return;e=n}if(n=e,e=null,"function"==typeof n)return t=n,n=null,void t();for(i.data=o=++o%2;n;)t=n.shift(),n.length||(n=null),t()}).observe(i,{characterData:!0}),function(t){r(t),e?"function"==typeof e?e=[e,t]:e.push(t):(e=t,i.data=o=++o%2)}},t.exports=function(){if("object"==typeof e&&e&&"function"==typeof e.nextTick)return e.nextTick;if("object"==typeof document&&document){if("function"==typeof MutationObserver)return i(MutationObserver);if("function"==typeof WebKitMutationObserver)return i(WebKitMutationObserver)}return"function"==typeof n?function(t){n(r(t))}:"function"==typeof setTimeout||"object"==typeof setTimeout?function(t){setTimeout(r(t),0)}:null}()}).call(this,n(22),n(155).setImmediate)},function(t,e,n){"use strict";var r=n(37);t.exports=new r({explicit:[n(431),n(432),n(433)]})},function(t,e,n){t.exports=n(244)},function(t,e,n){var r=n(259)("toUpperCase");t.exports=r},function(t,e,n){var r=n(89),i="Expected a function";function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var u=t.apply(this,r);return n.cache=o.set(i,u)||o,u};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},function(t,e,n){t.exports=n(239)},function(t,e,n){t.exports=n(249)},function(t,e,n){"use strict";n.d(e,"a",function(){return y}),n.d(e,"b",function(){return w});var r=n(2),i=n.n(r),o=n(6),u=n(176),s=n.n(u),a=n(109),c=n.n(a),f=n(177),l=n.n(f),h={string:function(){return"string"},string_email:function(){return"user@example.com"},"string_date-time":function(){return(new Date).toISOString()},string_date:function(){return(new Date).toISOString().substring(0,10)},string_uuid:function(){return"3fa85f64-5717-4562-b3fc-2c963f66afa6"},string_hostname:function(){return"example.com"},string_ipv4:function(){return"198.51.100.42"},string_ipv6:function(){return"2001:0db8:5b96:0000:0000:426f:8e17:642a"},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(t){return"boolean"!=typeof t.default||t.default}},p=function(t){var e=t=Object(o.d)(t),n=e.type,r=e.format,i=h["".concat(n,"_").concat(r)]||h[n];return Object(o.b)(i)?i(t):"Unknown Type: "+t.type},d=function t(e){var n,r,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=l()({},Object(o.d)(e)),a=s.type,c=s.properties,f=s.additionalProperties,h=s.items,d=s.example,y=u.includeReadOnly,w=u.includeWriteOnly,v=s.default,g={},M={},_=e.xml,m=_.name,L=_.prefix,b=_.namespace,j=s.enum;if(!a)if(c||f)a="object";else{if(!h)return;a="array"}if(n=(L?L+":":"")+(m=m||"notagname"),b){var x=L?"xmlns:"+L:"xmlns";M[x]=b}if("array"===a&&h){if(h.xml=h.xml||_||{},h.xml.name=h.xml.name||_.name,_.wrapped)return g[n]=[],i()(d)?d.forEach(function(e){h.example=e,g[n].push(t(h,u))}):i()(v)?v.forEach(function(e){h.default=e,g[n].push(t(h,u))}):g[n]=[t(h,u)],M&&g[n].push({_attr:M}),g;var N=[];return i()(d)?(d.forEach(function(e){h.example=e,N.push(t(h,u))}),N):i()(v)?(v.forEach(function(e){h.default=e,N.push(t(h,u))}),N):t(h,u)}if("object"===a){var S=Object(o.d)(c);for(var D in g[n]=[],d=d||{},S)if(S.hasOwnProperty(D)&&(!S[D].readOnly||y)&&(!S[D].writeOnly||w))if(S[D].xml=S[D].xml||{},S[D].xml.attribute){var I=i()(S[D].enum)&&S[D].enum[0],E=S[D].example,C=S[D].default;M[S[D].xml.name||D]=void 0!==E&&E||void 0!==d[D]&&d[D]||void 0!==C&&C||I||p(S[D])}else{S[D].xml.name=S[D].xml.name||D,void 0===S[D].example&&void 0!==d[D]&&(S[D].example=d[D]);var T=t(S[D]);i()(T)?g[n]=g[n].concat(T):g[n].push(T)}return!0===f?g[n].push({additionalProp:"Anything can be here"}):f&&g[n].push({additionalProp:p(f)}),M&&g[n].push({_attr:M}),g}return r=void 0!==d?d:void 0!==v?v:i()(j)?j[0]:p(e),g[n]=M?[{_attr:M},r]:r,g};var y=c()(function(t,e){var n=d(t,e);if(n)return s()(n,{declaration:!0,indent:"\t"})}),w=c()(function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Object(o.d)(e),u=r.type,s=r.example,a=r.properties,c=r.additionalProperties,f=r.items,l=n.includeReadOnly,h=n.includeWriteOnly;if(void 0!==s)return Object(o.a)(s,"$$ref",function(t){return"string"==typeof t&&t.indexOf("#")>-1});if(!u)if(a)u="object";else{if(!f)return;u="array"}if("object"===u){var d=Object(o.d)(a),y={};for(var w in d)d[w]&&d[w].deprecated||d[w]&&d[w].readOnly&&!l||d[w]&&d[w].writeOnly&&!h||(y[w]=t(d[w],n));if(!0===c)y.additionalProp1={};else if(c)for(var v=Object(o.d)(c),g=t(v,n),M=1;M<4;M++)y["additionalProp"+M]=g;return y}return"array"===u?i()(f.anyOf)?f.anyOf.map(function(e){return t(e,n)}):i()(f.oneOf)?f.oneOf.map(function(e){return t(e,n)}):[t(f,n)]:e.enum?e.default?e.default:Object(o.c)(e.enum)[0]:"file"!==u?p(e):void 0})},function(t,e,n){"use strict";var r=n(158),i=n(160),o=n(375);t.exports=function(t){var e,u=r(arguments[1]);return u.normalizer||0!==(e=u.length=i(u.length,t.length,u.async))&&(u.primitive?!1===e?u.normalizer=n(402):e>1&&(u.normalizer=n(403)(e)):u.normalizer=!1===e?n(404)():1===e?n(408)():n(409)(e)),u.async&&n(410),u.promise&&n(411),u.dispose&&n(417),u.maxAge&&n(418),u.max&&n(421),u.refCounter&&n(423),o(t,u)}},function(t,e,n){t.exports=n(184)},function(t,e,n){var r=n(186);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){t.exports=!n(20)&&!n(30)(function(){return 7!=Object.defineProperty(n(113)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(29),i=n(16).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){"use strict";var r=n(189)(!0);n(115)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(51),i=n(15),o=n(116),u=n(27),s=n(52),a=n(190),c=n(84),f=n(119),l=n(17)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,d,y,w,v){a(n,e,d);var g,M,_,m=function(t){if(!h&&t in x)return x[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},L=e+" Iterator",b="values"==y,j=!1,x=t.prototype,N=x[l]||x["@@iterator"]||y&&x[y],S=N||m(y),D=y?b?m("entries"):S:void 0,I="Array"==e&&x.entries||N;if(I&&(_=f(I.call(new t)))!==Object.prototype&&_.next&&(c(_,L,!0),r||"function"==typeof _[l]||u(_,l,p)),b&&N&&"values"!==N.name&&(j=!0,S=function(){return N.call(this)}),r&&!v||!h&&!j&&x[l]||u(x,l,S),s[e]=S,s[L]=p,y)if(g={values:b?S:m("values"),keys:w?S:m("keys"),entries:D},v)for(M in g)M in x||o(x,M,g[M]);else i(i.P+i.F*(h||j),e,g);return g}},function(t,e,n){t.exports=n(27)},function(t,e,n){var r=n(21),i=n(31),o=n(192)(!1),u=n(81)("IE_PROTO");t.exports=function(t,e){var n,s=i(t),a=0,c=[];for(n in s)n!=u&&r(s,n)&&c.push(n);for(;e.length>a;)r(s,n=e[a++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){var r=n(80);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(21),i=n(54),o=n(81)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,e,n){n(196);for(var r=n(16),i=n(27),o=n(52),u=n(17)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),a=0;a<s.length;a++){var c=s[a],f=r[c],l=f&&f.prototype;l&&!l[u]&&i(l,u,c),o[c]=o.Array}},function(t,e,n){var r=n(80);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(117),i=n(83).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e,n){var r=n(55),i=n(50),o=n(31),u=n(76),s=n(21),a=n(112),c=Object.getOwnPropertyDescriptor;e.f=n(20)?c:function(t,e){if(t=o(t),e=u(e,!0),a)try{return c(t,e)}catch(t){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(15),i=n(4),o=n(30);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",u)}},function(t,e,n){t.exports=n(211)},function(t,e,n){"use strict";var r=n(56),i=n(40),o=n(127),u=(n(129),n(130));n(41),n(219);function s(t,e,n){this.props=t,this.context=e,this.refs=u,this.updater=n||o}function a(t,e,n){this.props=t,this.context=e,this.refs=u,this.updater=n||o}function c(){}s.prototype.isReactComponent={},s.prototype.setState=function(t,e){"object"!=typeof t&&"function"!=typeof t&&null!=t&&r("85"),this.updater.enqueueSetState(this,t),e&&this.updater.enqueueCallback(this,e,"setState")},s.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this),t&&this.updater.enqueueCallback(this,t,"forceUpdate")},c.prototype=s.prototype,a.prototype=new c,a.prototype.constructor=a,i(a.prototype,s.prototype),a.prototype.isPureReactComponent=!0,t.exports={Component:s,PureComponent:a}},function(t,e,n){"use strict";n(88);var r={isMounted:function(t){return!1},enqueueCallback:function(t,e){},enqueueForceUpdate:function(t){},enqueueReplaceState:function(t,e){},enqueueSetState:function(t,e){}};t.exports=r},function(t,e,n){"use strict";function r(t){return function(){return t}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(t){return t},t.exports=i},function(t,e,n){"use strict";t.exports=!1},function(t,e,n){"use strict";t.exports={}},function(t,e,n){"use strict";t.exports={current:null}},function(t,e,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){t.exports=n(236)()},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(10))},function(t,e){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return n.test(t)}},function(t,e,n){var r=n(43),i=n(45),o="[object AsyncFunction]",u="[object Function]",s="[object GeneratorFunction]",a="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=r(t);return e==u||e==s||e==o||e==a}},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e,n){var r=n(61),i=n(298),o=n(299),u=n(300),s=n(301),a=n(302);function c(t){var e=this.__data__=new r(t);this.size=e.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=u,c.prototype.has=s,c.prototype.set=a,t.exports=c},function(t,e,n){var r=n(303),i=n(44);t.exports=function t(e,n,o,u,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,u,t,s))}},function(t,e,n){var r=n(304),i=n(143),o=n(307),u=1,s=2;t.exports=function(t,e,n,a,c,f){var l=n&u,h=t.length,p=e.length;if(h!=p&&!(l&&p>h))return!1;var d=f.get(t);if(d&&f.get(e))return d==e;var y=-1,w=!0,v=n&s?new r:void 0;for(f.set(t,e),f.set(e,t);++y<h;){var g=t[y],M=e[y];if(a)var _=l?a(M,g,y,e,t,f):a(g,M,y,t,e,f);if(void 0!==_){if(_)continue;w=!1;break}if(v){if(!i(e,function(t,e){if(!o(v,e)&&(g===t||c(g,t,n,a,f)))return v.push(e)})){w=!1;break}}else if(g!==M&&!c(g,M,n,a,f)){w=!1;break}}return f.delete(t),f.delete(e),w}},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},function(t,e,n){var r=n(321),i=n(44),o=Object.prototype,u=o.hasOwnProperty,s=o.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(t){return i(t)&&u.call(t,"callee")&&!s.call(t,"callee")};t.exports=a},function(t,e,n){(function(t){var r=n(11),i=n(322),o=e&&!e.nodeType&&e,u=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=u&&u.exports===o?r.Buffer:void 0,a=(s?s.isBuffer:void 0)||i;t.exports=a}).call(this,n(146)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){var r=n(323),i=n(324),o=n(325),u=o&&o.isTypedArray,s=u?i(u):r;t.exports=s},function(t,e,n){var r=n(45);t.exports=function(t){return t==t&&!r(t)}},function(t,e){t.exports=function(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}},function(t,e,n){var r=n(151),i=n(66);t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n<o;)t=t[i(e[n++])];return n&&n==o?t:void 0}},function(t,e,n){var r=n(12),i=n(94),o=n(338),u=n(42);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(u(t))}},function(t,e,n){"use strict";(function(e,r){var i=n(67);t.exports=M;var o,u=n(135);M.ReadableState=g;n(95).EventEmitter;var s=function(t,e){return t.listeners(e).length},a=n(153),c=n(8).Buffer,f=e.Uint8Array||function(){};var l=n(46);l.inherits=n(7);var h=n(361),p=void 0;p=h&&h.debuglog?h.debuglog("stream"):function(){};var d,y=n(362),w=n(154);l.inherits(M,a);var v=["error","close","destroy","pause","resume"];function g(t,e){t=t||{};var r=e instanceof(o=o||n(23));this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,u=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(u||0===u)?u:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new y,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(d||(d=n(156).StringDecoder),this.decoder=new d(t.encoding),this.encoding=t.encoding)}function M(t){if(o=o||n(23),!(this instanceof M))return new M(t);this._readableState=new g(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function _(t,e,n,r,i){var o,u=t._readableState;null===e?(u.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,j(t)}(t,u)):(i||(o=function(t,e){var n;r=e,c.isBuffer(r)||r instanceof f||"string"==typeof e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(u,e)),o?t.emit("error",o):u.objectMode||e&&e.length>0?("string"==typeof e||u.objectMode||Object.getPrototypeOf(e)===c.prototype||(e=function(t){return c.from(t)}(e)),r?u.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):m(t,u,e,!0):u.ended?t.emit("error",new Error("stream.push() after EOF")):(u.reading=!1,u.decoder&&!n?(e=u.decoder.write(e),u.objectMode||0!==e.length?m(t,u,e,!1):N(t,u)):m(t,u,e,!1))):r||(u.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(u)}function m(t,e,n,r){e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,r?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&j(t)),N(t,e)}Object.defineProperty(M.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),M.prototype.destroy=w.destroy,M.prototype._undestroy=w.undestroy,M.prototype._destroy=function(t,e){this.push(null),e(t)},M.prototype.push=function(t,e){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof t&&((e=e||r.defaultEncoding)!==r.encoding&&(t=c.from(t,e),e=""),n=!0),_(this,t,e,!1,n)},M.prototype.unshift=function(t){return _(this,t,null,!0,!1)},M.prototype.isPaused=function(){return!1===this._readableState.flowing},M.prototype.setEncoding=function(t){return d||(d=n(156).StringDecoder),this._readableState.decoder=new d(t),this._readableState.encoding=t,this};var L=8388608;function b(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=L?t=L:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function j(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(p("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(x,t):x(t))}function x(t){p("emit readable"),t.emit("readable"),E(t)}function N(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(S,t,e))}function S(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(p("maybeReadMore read 0"),t.read(0),n!==e.length);)n=e.length;e.readingMore=!1}function D(t){p("readable nexttick read 0"),t.read(0)}function I(t,e){e.reading||(p("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),E(t),e.flowing&&!e.reading&&t.read(0)}function E(t){var e=t._readableState;for(p("flow",e.flowing);e.flowing&&null!==t.read(););}function C(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;t<e.head.data.length?(r=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):r=t===e.head.data.length?e.shift():n?function(t,e){var n=e.head,r=1,i=n.data;t-=i.length;for(;n=n.next;){var o=n.data,u=t>o.length?o.length:t;if(u===o.length?i+=o:i+=o.slice(0,t),0===(t-=u)){u===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(u));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=c.allocUnsafe(t),r=e.head,i=1;r.data.copy(n),t-=r.data.length;for(;r=r.next;){var o=r.data,u=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,u),0===(t-=u)){u===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(u));break}++i}return e.length-=i,n}(t,e);return r}(t,e.buffer,e.decoder),n);var n}function T(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(A,e,t))}function A(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function O(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}M.prototype.read=function(t){p("read",t),t=parseInt(t,10);var e=this._readableState,n=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return p("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?T(this):j(this),null;if(0===(t=b(t,e))&&e.ended)return 0===e.length&&T(this),null;var r,i=e.needReadable;return p("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&p("length less than watermark",i=!0),e.ended||e.reading?p("reading or ended",i=!1):i&&(p("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=b(n,e))),null===(r=t>0?C(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&T(this)),null!==r&&this.emit("data",r),r},M.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},M.prototype.pipe=function(t,e){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,p("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?f:M;function c(e,r){p("onunpipe"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,p("cleanup"),t.removeListener("close",v),t.removeListener("finish",g),t.removeListener("drain",l),t.removeListener("error",w),t.removeListener("unpipe",c),n.removeListener("end",f),n.removeListener("end",M),n.removeListener("data",y),h=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||l())}function f(){p("onend"),t.end()}o.endEmitted?i.nextTick(a):n.once("end",a),t.on("unpipe",c);var l=function(t){return function(){var e=t._readableState;p("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,E(t))}}(n);t.on("drain",l);var h=!1;var d=!1;function y(e){p("ondata"),d=!1,!1!==t.write(e)||d||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==O(o.pipes,t))&&!h&&(p("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function w(e){p("onerror",e),M(),t.removeListener("error",w),0===s(t,"error")&&t.emit("error",e)}function v(){t.removeListener("finish",g),M()}function g(){p("onfinish"),t.removeListener("close",v),M()}function M(){p("unpipe"),n.unpipe(t)}return n.on("data",y),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?u(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",w),t.once("close",v),t.once("finish",g),t.emit("pipe",n),o.flowing||(p("pipe resume"),n.resume()),t},M.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n),this);if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)r[o].emit("unpipe",this,n);return this}var u=O(e.pipes,t);return-1===u?this:(e.pipes.splice(u,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,n),this)},M.prototype.on=function(t,e){var n=a.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&j(this):i.nextTick(D,this))}return n},M.prototype.addListener=M.prototype.on,M.prototype.resume=function(){var t=this._readableState;return t.flowing||(p("resume"),t.flowing=!0,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(I,t,e))}(this,t)),this},M.prototype.pause=function(){return p("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(p("pause"),this._readableState.flowing=!1,this.emit("pause")),this},M.prototype.wrap=function(t){var e=this,n=this._readableState,r=!1;for(var i in t.on("end",function(){if(p("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(i){(p("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(e.push(i)||(r=!0,t.pause()))}),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<v.length;o++)t.on(v[o],this.emit.bind(this,v[o]));return this._read=function(e){p("wrapped _read",e),r&&(r=!1,t.resume())},this},Object.defineProperty(M.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),M._fromList=C}).call(this,n(10),n(22))},function(t,e,n){t.exports=n(95).EventEmitter},function(t,e,n){"use strict";var r=n(67);function i(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,o=this._readableState&&this._readableState.destroyed,u=this._writableState&&this._writableState.destroyed;return o||u?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(r.nextTick(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(t,e,n){(function(t){var r=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(364),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(10))},function(t,e,n){"use strict";var r=n(8).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=a,this.end=c,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=f,this.end=l,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e)}function u(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function a(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function f(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<t.length?e?e+this.text(t,n):this.text(t,n):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var n=function(t,e,n){var r=e.length-1;if(r<n)return 0;var i=u(e[r]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--r<n||-2===i)return 0;if((i=u(e[r]))>=0)return i>0&&(t.lastNeed=i-2),i;if(--r<n||-2===i)return 0;if((i=u(e[r]))>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,n){"use strict";t.exports=u;var r=n(23),i=n(46);function o(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(t){if(!(this instanceof u))return new u(t);r.call(this,t),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",s)}function s(){var t=this;"function"==typeof this._flush?this._flush(function(e,n){a(t,e,n)}):a(this,null,null)}function a(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=n(7),i.inherits(u,r),u.prototype.push=function(t,e){return this._transformState.needTransform=!1,r.prototype.push.call(this,t,e)},u.prototype._transform=function(t,e,n){throw new Error("_transform() is not implemented")},u.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},u.prototype._destroy=function(t,e){var n=this;r.prototype._destroy.call(this,t,function(t){e(t),n.emit("close")})}},function(t,e,n){"use strict";var r=n(24),i=Array.prototype.forEach,o=Object.create,u=function(t,e){var n;for(n in t)e[n]=t[n]};t.exports=function(t){var e=o(null);return i.call(arguments,function(t){r(t)&&u(Object(t),e)}),e}},function(t,e,n){"use strict";t.exports=function(){}},function(t,e,n){"use strict";var r=n(25);t.exports=function(t,e,n){var i;return isNaN(t)?(i=e)>=0?n&&i?i-1:i:1:!1!==t&&r(t)}},function(t,e,n){"use strict";t.exports=n(379)()?Object.assign:n(380)},function(t,e,n){"use strict";var r,i,o,u,s,a=n(25),c=function(t,e){return e};try{Object.defineProperty(c,"length",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(t){}1===c.length?(r={configurable:!0,writable:!1,enumerable:!1},i=Object.defineProperty,t.exports=function(t,e){return e=a(e),t.length===e?t:(r.value=e,i(t,"length",r))}):(u=n(163),s=[],o=function(t){var e,n=0;if(s[t])return s[t];for(e=[];t--;)e.push("a"+(++n).toString(36));return new Function("fn","return function ("+e.join(", ")+") { return fn.apply(this, arguments); };")},t.exports=function(t,e){var n;if(e=a(e),t.length===e)return t;n=o(e)(t);try{u(n,t)}catch(t){}return n})},function(t,e,n){"use strict";var r=n(34),i=Object.defineProperty,o=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,s=Object.getOwnPropertySymbols;t.exports=function(t,e){var n,a=Object(r(e));if(t=Object(r(t)),u(a).forEach(function(r){try{i(t,r,o(e,r))}catch(t){n=t}}),"function"==typeof s&&s(a).forEach(function(r){try{i(t,r,o(e,r))}catch(t){n=t}}),void 0!==n)throw n;return t}},function(t,e,n){"use strict";var r=n(18),i=n(68),o=Function.prototype.call;t.exports=function(t,e){var n={},u=arguments[2];return r(e),i(t,function(t,r,i,s){n[r]=o.call(e,u,t,r,i,s)}),n}},function(t,e){t.exports=function(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}},function(t,e,n){var r=n(7),i=n(35),o=n(8).Buffer,u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function a(){this.init(),this._w=s,i.call(this,64,56)}function c(t,e,n){return n^t&(e^n)}function f(t,e,n){return t&e|n&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function h(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function p(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}r(a,i),a.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},a.prototype._update=function(t){for(var e,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,d=0|this._f,y=0|this._g,w=0|this._h,v=0;v<16;++v)n[v]=t.readInt32BE(4*v);for(;v<64;++v)n[v]=0|(((e=n[v-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+n[v-7]+p(n[v-15])+n[v-16];for(var g=0;g<64;++g){var M=w+h(a)+c(a,d,y)+u[g]+n[g]|0,_=l(r)+f(r,i,o)|0;w=y,y=d,d=a,a=s+M|0,s=o,o=i,i=r,r=M+_|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0,this._f=d+this._f|0,this._g=y+this._g|0,this._h=w+this._h|0},a.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=a},function(t,e,n){var r=n(7),i=n(35),o=n(8).Buffer,u=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function a(){this.init(),this._w=s,i.call(this,128,112)}function c(t,e,n){return n^t&(e^n)}function f(t,e,n){return t&e|n&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function h(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function d(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function y(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function w(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function v(t,e){return t>>>0<e>>>0?1:0}r(a,i),a.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},a.prototype._update=function(t){for(var e=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,a=0|this._fh,g=0|this._gh,M=0|this._hh,_=0|this._al,m=0|this._bl,L=0|this._cl,b=0|this._dl,j=0|this._el,x=0|this._fl,N=0|this._gl,S=0|this._hl,D=0;D<32;D+=2)e[D]=t.readInt32BE(4*D),e[D+1]=t.readInt32BE(4*D+4);for(;D<160;D+=2){var I=e[D-30],E=e[D-30+1],C=p(I,E),T=d(E,I),A=y(I=e[D-4],E=e[D-4+1]),O=w(E,I),z=e[D-14],k=e[D-14+1],Y=e[D-32],U=e[D-32+1],P=T+k|0,R=C+z+v(P,T)|0;R=(R=R+A+v(P=P+O|0,O)|0)+Y+v(P=P+U|0,U)|0,e[D]=R,e[D+1]=P}for(var Q=0;Q<160;Q+=2){R=e[Q],P=e[Q+1];var F=f(n,r,i),B=f(_,m,L),G=l(n,_),W=l(_,n),q=h(s,j),J=h(j,s),Z=u[Q],V=u[Q+1],X=c(s,a,g),H=c(j,x,N),K=S+J|0,$=M+q+v(K,S)|0;$=($=($=$+X+v(K=K+H|0,H)|0)+Z+v(K=K+V|0,V)|0)+R+v(K=K+P|0,P)|0;var tt=W+B|0,et=G+F+v(tt,W)|0;M=g,S=N,g=a,N=x,a=s,x=j,s=o+$+v(j=b+K|0,b)|0,o=i,b=L,i=r,L=m,r=n,m=_,n=$+et+v(_=K+tt|0,K)|0}this._al=this._al+_|0,this._bl=this._bl+m|0,this._cl=this._cl+L|0,this._dl=this._dl+b|0,this._el=this._el+j|0,this._fl=this._fl+x|0,this._gl=this._gl+N|0,this._hl=this._hl+S|0,this._ah=this._ah+n+v(this._al,_)|0,this._bh=this._bh+r+v(this._bl,m)|0,this._ch=this._ch+i+v(this._cl,L)|0,this._dh=this._dh+o+v(this._dl,b)|0,this._eh=this._eh+s+v(this._el,j)|0,this._fh=this._fh+a+v(this._fl,x)|0,this._gh=this._gh+g+v(this._gl,N)|0,this._hh=this._hh+M+v(this._hl,S)|0},a.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,n,r){t.writeInt32BE(e,r),t.writeInt32BE(n,r+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=a},function(t,e,n){"use strict";var r=n(37);t.exports=new r({include:[n(169)]})},function(t,e,n){"use strict";var r=n(37);t.exports=new r({include:[n(102)],implicit:[n(434),n(435),n(436),n(437)]})},function(t,e){t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDA3IDExNiI+DQogIDxkZWZzPg0KICAgIDxzdHlsZT4NCiAgICAgIC5jbHMtMSB7DQogICAgICAgIGNsaXAtcGF0aDogdXJsKCNjbGlwLVNXX1RNLWxvZ28tb24tZGFyayk7DQogICAgICB9DQoNCiAgICAgIC5jbHMtMiB7DQogICAgICAgIGZpbGw6ICNmZmY7DQogICAgICB9DQoNCiAgICAgIC5jbHMtMyB7DQogICAgICAgIGZpbGw6ICM4NWVhMmQ7DQogICAgICB9DQoNCiAgICAgIC5jbHMtNCB7DQogICAgICAgIGZpbGw6ICMxNzM2NDc7DQogICAgICB9DQogICAgPC9zdHlsZT4NCiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtU1dfVE0tbG9nby1vbi1kYXJrIj4NCiAgICAgIDxyZWN0IHdpZHRoPSI0MDciIGhlaWdodD0iMTE2Ii8+DQogICAgPC9jbGlwUGF0aD4NCiAgPC9kZWZzPg0KICA8ZyBpZD0iU1dfVE0tbG9nby1vbi1kYXJrIiBjbGFzcz0iY2xzLTEiPg0KICAgIDxnIGlkPSJTV19Jbi1Qcm9kdWN0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC4zMDEpIj4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5MzYiIGRhdGEtbmFtZT0iUGF0aCAyOTM2IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zNTkuMTUsNzAuNjc0aC0uN1Y2Ni45OTJoLTEuMjZ2LS42aDMuMjE5di42SDM1OS4xNVoiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5MzciIGRhdGEtbmFtZT0iUGF0aCAyOTM3IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zNjMuMjE3LDcwLjY3NCwzNjEuOTc1LDY3LjFoLS4wMjNxLjA1LjguMDUsMS40OTR2Mi4wODNoLS42MzZWNjYuMzkxaC45ODdsMS4xOSwzLjQwN2guMDE3bDEuMjI1LTMuNDA3aC45OXY0LjI4M0gzNjUuMVY2OC41NTZjMC0uMjEzLjAwNi0uNDkuMDE2LS44MzJzLjAyLS41NDkuMDI4LS42MjFoLS4wMjNsLTEuMjg2LDMuNTcxWiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjkzOCIgZGF0YS1uYW1lPSJQYXRoIDI5MzgiIGNsYXNzPSJjbHMtMyIgZD0iTTUwLjMyOCw5Ny42NjlBNDcuNjQyLDQ3LjY0MiwwLDEsMSw5Ny45NzEsNTAuMDI3LDQ3LjY0Miw0Ny42NDIsMCwwLDEsNTAuMzI4LDk3LjY2OVoiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5MzkiIGRhdGEtbmFtZT0iUGF0aCAyOTM5IiBjbGFzcz0iY2xzLTMiIGQ9Ik01MC4zMjgsNC43NjlBNDUuMjU4LDQ1LjI1OCwwLDEsMSw1LjA3LDUwLjAyNyw0NS4yNTgsNDUuMjU4LDAsMCwxLDUwLjMyOCw0Ljc2OW0wLTQuNzY5YTUwLjAyNyw1MC4wMjcsMCwxLDAsNTAuMDI3LDUwLjAyN0E1MC4wMjcsNTAuMDI3LDAsMCwwLDUwLjMyOCwwWiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk0MCIgZGF0YS1uYW1lPSJQYXRoIDI5NDAiIGNsYXNzPSJjbHMtNCIgZD0iTTMxLjgsMzMuODU0Yy0uMTU0LDEuNzEyLjA1OCwzLjQ4Mi0uMDU3LDUuMjEzYTQyLjY2NSw0Mi42NjUsMCwwLDEtLjY5Myw1LjE1Niw5LjUzLDkuNTMsMCwwLDEtNC4xLDUuODI5YzQuMDc5LDIuNjU0LDQuNTQsNi43NzEsNC44MSwxMC45NDYuMTM1LDIuMjUuMDc3LDQuNTIuMzA4LDYuNzUyLjE3MywxLjczMS44NDYsMi4xNzQsMi42MzYsMi4yMzEuNzMuMDIsMS40OCwwLDIuMzI3LDBWNzUuMzNjLTUuMjkuOS05LjY1Ny0uNi0xMC43MzQtNS4wNzlhMzAuNzYsMzAuNzYsMCwwLDEtLjY1NC01Yy0uMTE3LTEuNzg5LjA3Ni0zLjU3OC0uMDU4LTUuMzY3LS4zODYtNC45MDYtMS4wMi02LjU2LTUuNzEzLTYuNzkxdi02LjFBOS4xOTEsOS4xOTEsMCwwLDEsMjAuOSw0Ni44MmMyLjU3Ny0uMTM1LDMuNjc0LS45MjQsNC4yMzEtMy40NjNhMjkuMywyOS4zLDAsMCwwLC40ODEtNC4zMjksODIuMSw4Mi4xLDAsMCwxLC42LTguNDA2Yy42NzMtMy45ODIsMy4xMzYtNS45MDYsNy4yMzQtNi4xMzcsMS4xNTQtLjA1NywyLjMyNywwLDMuNjU1LDB2NS40NjRjLS41NTguMDM4LTEuMDM5LjExNS0xLjUzOS4xMTVDMzIuMjI2LDI5Ljk0OSwzMi4wNTIsMzEuMDg0LDMxLjgsMzMuODU0Wm02LjQwNiwxMi42NThoLS4wNzdhMy41MTUsMy41MTUsMCwxLDAtLjM0Niw3LjAyMWguMjMxYTMuNDYxLDMuNDYxLDAsMCwwLDMuNjU1LTMuMjUxVjUwLjA5YTMuNTIzLDMuNTIzLDAsMCwwLTMuNDYxLTMuNTc4Wm0xMi4wNjIsMGEzLjM3MywzLjM3MywwLDAsMC0zLjQ4MiwzLjI1MSwxLjc5LDEuNzksMCwwLDAsLjAyLjMyNywzLjMsMy4zLDAsMCwwLDMuNTc4LDMuNDQzLDMuMjYzLDMuMjYzLDAsMCwwLDMuNDQzLTMuNTU4LDMuMzA4LDMuMzA4LDAsMCwwLTMuNTU3LTMuNDYzWm0xMi4zNTEsMGEzLjU5MiwzLjU5MiwwLDAsMC0zLjY1NSwzLjQ4MkEzLjUyOSwzLjUyOSwwLDAsMCw2Mi41LDUzLjUzM2guMDM5YzEuNzY5LjMwOSwzLjU1OS0xLjQsMy42NzQtMy40NjJhMy41NzEsMy41NzEsMCwwLDAtMy42LTMuNTU5Wm0xNi45NDguMjg4Yy0yLjIzMi0uMS0zLjM0OC0uODQ2LTMuOS0yLjk2MmEyMS40NDcsMjEuNDQ3LDAsMCwxLS42MzUtNC4xMzZjLS4xNTQtMi41NzgtLjEzNS01LjE3NS0uMzA4LTcuNzUzLS40LTYuMTE3LTQuODI4LTguMjUyLTExLjI1NC03LjE5NXY1LjMxYzEuMDE5LDAsMS44MDgsMCwyLjYuMDE5LDEuMzY2LjAxOSwyLjQuNTM5LDIuNTM5LDIuMDU5LjEzNSwxLjM4NS4xMzUsMi43ODkuMjcsNC4xOTMuMjY5LDIuNzkuNDIyLDUuNjE4LjksOC4zNjlBOC43MTUsOC43MTUsMCwwLDAsNzMuNyw1MC4wNTJjLTMuNCwyLjI4OS00LjQwNiw1LjU1OS00LjU3OCw5LjIzNC0uMSwyLjUyLS4xNTQsNS4wNTktLjI4OSw3LjYtLjExNSwyLjMwOC0uOTIzLDMuMDU4LTMuMjUxLDMuMTE2LS42NTQuMDE5LTEuMjg5LjA3Ny0yLjAxOS4xMTV2NS40NDVjMS4zNjUsMCwyLjYxNi4wNzcsMy44NjYsMCwzLjg4Ni0uMjMxLDYuMjMzLTIuMTE3LDctNS44ODdBNDkuMDc5LDQ5LjA3OSwwLDAsMCw3NSw2My40Yy4xMzUtMS45MjMuMTE2LTMuODY2LjMwOC01Ljc3MS4yODktMi45ODIsMS42NTUtNC4yMTMsNC42MzYtNC40YTQuMDM3LDQuMDM3LDAsMCwwLC44MjgtLjE5MnYtNi4xYy0uNS0uMDU4LS44NDMtLjExNS0xLjIwOC0uMTM1WiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk0MSIgZGF0YS1uYW1lPSJQYXRoIDI5NDEiIGNsYXNzPSJjbHMtMiIgZD0iTTE1Mi4yNzMsNTguMTIyYTExLjIyOCwxMS4yMjgsMCwwLDEtNC4zODQsOS40MjRxLTQuMzgzLDMuMzgyLTExLjksMy4zODItOC4xNCwwLTEyLjUyNC0yLjFWNjMuN2EzMi45LDMyLjksMCwwLDAsNi4xMzcsMS44NzksMzIuMywzMi4zLDAsMCwwLDYuNTc1LjY4OXE1LjMyMiwwLDguMDE1LTIuMDJhNi42MjYsNi42MjYsMCwwLDAsMi42OTItNS42Miw3LjIyMiw3LjIyMiwwLDAsMC0uOTU0LTMuOSw4Ljg4NSw4Ljg4NSwwLDAsMC0zLjE5NC0yLjgsNDQuNjM0LDQ0LjYzNCwwLDAsMC02LjgxLTIuOTExcS02LjM4Ny0yLjI4Ni05LjEyNi01LjQxN2ExMS45NTUsMTEuOTU1LDAsMCwxLTIuNzQtOC4xNzJBMTAuMTY0LDEwLjE2NCwwLDAsMSwxMjguMDM5LDI3cTMuOTc3LTMuMTMxLDEwLjUyLTMuMTMxYTMxLDMxLDAsMCwxLDEyLjU1NSwyLjVMMTQ5LjQ1NSwzMWEyOC4zODIsMjguMzgyLDAsMCwwLTExLjAyMS0yLjM4LDEwLjY2OCwxMC42NjgsMCwwLDAtNi42MDYsMS44MTYsNS45ODQsNS45ODQsMCwwLDAtMi4zOCw1LjA0MSw3LjcyMiw3LjcyMiwwLDAsMCwuODc3LDMuOSw4LjI0Miw4LjI0MiwwLDAsMCwyLjk1OSwyLjc4NiwzNi43LDM2LjcsMCwwLDAsNi4zNzEsMi44cTcuMiwyLjU2Niw5LjkxLDUuNTFBMTAuODQsMTAuODQsMCwwLDEsMTUyLjI3Myw1OC4xMjJaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTQyIiBkYXRhLW5hbWU9IlBhdGggMjk0MiIgY2xhc3M9ImNscy0yIiBkPSJNMTg1LjI4OCw3MC4zLDE3OSw1MC4xN3EtLjU5NC0xLjg0OC0yLjIyMi04LjM5MWgtLjI1MXEtMS4yNTIsNS40NzktMi4xOTIsOC40NTNMMTY3Ljg0OSw3MC4zaC02LjAxMWwtOS4zNjEtMzQuMzE1aDUuNDQ3cTMuMzE4LDEyLjkzMSw1LjA1NywxOS42OTNhODAuMTEyLDgwLjExMiwwLDAsMSwxLjk4OCw5LjExMWguMjVxLjM0NS0xLjc4NSwxLjExMi00LjYxOHQxLjMzLTQuNDkzbDYuMjk0LTE5LjY5M2g1LjYzNWw2LjEzNywxOS42OTNhNjYuMzY5LDY2LjM2OSwwLDAsMSwyLjM3OSw5LjA0OGguMjUxYTMzLjE2MywzMy4xNjMsMCwwLDEsLjY3My0zLjQ3NXEuNTQ4LTIuMzQ3LDYuNTI4LTI1LjI2Nmg1LjM4NUwxOTEuNDU2LDcwLjNaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTQzIiBkYXRhLW5hbWU9IlBhdGggMjk0MyIgY2xhc3M9ImNscy0yIiBkPSJNMjI1LjExNSw3MC4zbC0xLjAzMy00Ljg4NWgtLjI1YTE0LjQ0NiwxNC40NDYsMCwwLDEtNS4xMTksNC4zNjgsMTUuNjA4LDE1LjYwOCwwLDAsMS02LjM3MiwxLjE0M3EtNS4xLDAtOC0yLjYzdC0yLjktNy40ODNxMC0xMC40LDE2LjYyNi0xMC45bDUuODIzLS4xODhWNDcuNnEwLTQuMDM4LTEuNzM4LTUuOTY0VDIxNi42LDM5LjcxM2EyMi42MzMsMjIuNjMzLDAsMCwwLTkuNzA2LDIuNjNsLTEuNi0zLjk3N2EyNC40MzcsMjQuNDM3LDAsMCwxLDUuNTU3LTIuMTYsMjQuMDU2LDI0LjA1NiwwLDAsMSw2LjA1OC0uNzgzcTYuMTM2LDAsOS4xLDIuNzI0dDIuOTU5LDguNzM1VjcwLjNabS0xMS43NDEtMy42NjNBMTAuNTQ5LDEwLjU0OSwwLDAsMCwyMjEsNjMuOTc3YTkuODQ1LDkuODQ1LDAsMCwwLDIuNzcxLTcuNDUxdi0zLjFsLTUuMi4yMTlxLTYuMi4yMTktOC45MzksMS45MjZhNS44LDUuOCwwLDAsMC0yLjc0LDUuMzA2LDUuMzU0LDUuMzU0LDAsMCwwLDEuNzA3LDQuMjksNy4wODEsNy4wODEsMCwwLDAsNC43NzUsMS40NzJaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTQ0IiBkYXRhLW5hbWU9IlBhdGggMjk0NCIgY2xhc3M9ImNscy0yIiBkPSJNMjY0LjYsMzUuOTg3djMuMjg3bC02LjM1Ni43NTJhMTEuMTYsMTEuMTYsMCwwLDEsMi4yNTUsNi44NTYsMTAuMTQ4LDEwLjE0OCwwLDAsMS0zLjQ0NCw4LjA0N3EtMy40NDQsMy05LjQ1NiwzYTE1LjczNCwxNS43MzQsMCwwLDEtMi44OC0uMjVRMjQxLjQsNTkuNDM4LDI0MS40LDYyLjFhMi4yNDIsMi4yNDIsMCwwLDAsMS4xNTksMi4wODIsOC40NTYsOC40NTYsMCwwLDAsMy45NzYuNjczaDYuMDc0cTUuNTczLDAsOC41NjMsMi4zNDhhOC4xNTgsOC4xNTgsMCwwLDEsMi45OSw2LjgyNSw5Ljc0Myw5Ljc0MywwLDAsMS00LjU3MSw4LjY4OHEtNC41NzIsMi45ODktMTMuMzM4LDIuOTktNi43MzIsMC0xMC4zNzktMi41YTguMDg3LDguMDg3LDAsMCwxLTMuNjQ3LTcuMDc2LDcuOTQ2LDcuOTQ2LDAsMCwxLDItNS40MTcsMTAuMjExLDEwLjIxMSwwLDAsMSw1LjYzNi0zLjEsNS40MjksNS40MjksMCwwLDEtMi4yMDctMS44NDcsNC44OSw0Ljg5LDAsMCwxLS44OTMtMi45MTIsNS41Myw1LjUzLDAsMCwxLDEtMy4yODgsMTAuNTI5LDEwLjUyOSwwLDAsMSwzLjE2Mi0yLjcyMyw5LjI3NSw5LjI3NSwwLDAsMS00LjMzNi0zLjcyNiwxMC45NDUsMTAuOTQ1LDAsMCwxLTEuNjc1LTYuMDEycTAtNS42MzQsMy4zODItOC42ODh0OS41OC0zLjA1MmExNy40MzksMTcuNDM5LDAsMCwxLDQuODUzLjYyNlpNMjM3LjIzMyw3Ni4wNjJhNC42Niw0LjY2LDAsMCwwLDIuMzQ4LDQuMjI3LDEyLjk3MywxMi45NzMsMCwwLDAsNi43MzIsMS40NHE2LjU0MywwLDkuNjktMS45NTZhNS45OTIsNS45OTIsMCwwLDAsMy4xNDctNS4zMDdxMC0yLjc4Ny0xLjcyMy0zLjg2N3QtNi40ODEtMS4wOGgtNi4yM2E4LjIwNSw4LjIwNSwwLDAsMC01LjUxLDEuNjksNi4wNDMsNi4wNDMsMCwwLDAtMS45NzMsNC44NTNabTIuODE4LTI5LjA4NmE2Ljk4NCw2Ljk4NCwwLDAsMCwyLjAzNSw1LjQ0OCw4LjEyMyw4LjEyMywwLDAsMCw1LjY2NywxLjg0N3E3LjYwOCwwLDcuNjA4LTcuMzg5LDAtNy43MzMtNy43LTcuNzMzYTcuNjI4LDcuNjI4LDAsMCwwLTUuNjM1LDEuOTcycS0xLjk3NiwxLjk3My0xLjk3NSw1Ljg1NVoiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NDUiIGRhdGEtbmFtZT0iUGF0aCAyOTQ1IiBjbGFzcz0iY2xzLTIiIGQ9Ik0yOTkuMTM2LDM1Ljk4N3YzLjI4N2wtNi4zNTYuNzUyYTExLjE2OCwxMS4xNjgsMCwwLDEsMi4yNTQsNi44NTYsMTAuMTQ1LDEwLjE0NSwwLDAsMS0zLjQ0NCw4LjA0N3EtMy40NDQsMy05LjQ1NSwzYTE1LjczNCwxNS43MzQsMCwwLDEtMi44OC0uMjVxLTMuMzIsMS43NTQtMy4zMTksNC40MTVhMi4yNDMsMi4yNDMsMCwwLDAsMS4xNTgsMi4wODIsOC40NTksOC40NTksMCwwLDAsMy45NzYuNjczaDYuMDc0cTUuNTc0LDAsOC41NjMsMi4zNDhhOC4xNTgsOC4xNTgsMCwwLDEsMi45OSw2LjgyNSw5Ljc0Myw5Ljc0MywwLDAsMS00LjU3MSw4LjY4OHEtNC41NywyLjk4OS0xMy4zMzcsMi45OS02LjczMiwwLTEwLjM3OS0yLjVhOC4wODgsOC4wODgsMCwwLDEtMy42NDgtNy4wNzYsNy45NDcsNy45NDcsMCwwLDEsMi01LjQxNywxMC4yMDcsMTAuMjA3LDAsMCwxLDUuNjM2LTMuMSw1LjQzMiw1LjQzMiwwLDAsMS0yLjIwOC0xLjg0Nyw0Ljg4OSw0Ljg4OSwwLDAsMS0uODkyLTIuOTEyLDUuNTMsNS41MywwLDAsMSwxLTMuMjg4LDEwLjUyOSwxMC41MjksMCwwLDEsMy4xNjItMi43MjMsOS4yNzEsOS4yNzEsMCwwLDEtNC4zMzYtMy43MjYsMTAuOTQ1LDEwLjk0NSwwLDAsMS0xLjY3NS02LjAxMnEwLTUuNjM0LDMuMzgxLTguNjg4dDkuNTgxLTMuMDUyYTE3LjQ0NCwxNy40NDQsMCwwLDEsNC44NTMuNjI2Wk0yNzEuNzcyLDc2LjA2MmE0LjY1OCw0LjY1OCwwLDAsMCwyLjM0OCw0LjIyNywxMi45NjksMTIuOTY5LDAsMCwwLDYuNzMxLDEuNDRxNi41NDQsMCw5LjY5MS0xLjk1NmE1Ljk5Myw1Ljk5MywwLDAsMCwzLjE0Ni01LjMwN3EwLTIuNzg3LTEuNzIyLTMuODY3dC02LjQ4MS0xLjA4aC02LjIzYTguMjA4LDguMjA4LDAsMCwwLTUuNTExLDEuNjlBNi4wNDIsNi4wNDIsMCwwLDAsMjcxLjc3Miw3Ni4wNjJabTIuODE4LTI5LjA4NmE2Ljk4NCw2Ljk4NCwwLDAsMCwyLjAzNSw1LjQ0OCw4LjEyMSw4LjEyMSwwLDAsMCw1LjY2NywxLjg0N3E3LjYwNywwLDcuNjA4LTcuMzg5LDAtNy43MzMtNy43LTcuNzMzYTcuNjI5LDcuNjI5LDAsMCwwLTUuNjM1LDEuOTcycS0xLjk3NSwxLjk3My0xLjk3NSw1Ljg1NVoiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NDYiIGRhdGEtbmFtZT0iUGF0aCAyOTQ2IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zMTYuNzc4LDcwLjkyOHEtNy42MDgsMC0xMi4wMDctNC42MzR0LTQuNC0xMi44NjhxMC04LjMsNC4wODYtMTMuMTgxYTEzLjU3MywxMy41NzMsMCwwLDEsMTAuOTc0LTQuODg0QTEyLjkzOCwxMi45MzgsMCwwLDEsMzI1LjYzOCwzOS42cTMuNzYyLDQuMjQ3LDMuNzYyLDExLjJ2My4yODdIMzA1Ljc1N3EuMTU2LDYuMDQ0LDMuMDUzLDkuMTc0dDguMTU2LDMuMTMxYTI3LjYzMywyNy42MzMsMCwwLDAsMTAuOTU4LTIuMzE3djQuNjM0YTI3LjUsMjcuNSwwLDAsMS01LjIxMywxLjcwNiwyOS4yNTEsMjkuMjUxLDAsMCwxLTUuOTMzLjUxM1ptLTEuNDA5LTMxLjIxNWE4LjQ4OSw4LjQ4OSwwLDAsMC02LjU5MSwyLjY5MiwxMi40MTYsMTIuNDE2LDAsMCwwLTIuOSw3LjQ1MmgxNy45NHEwLTQuOTE2LTIuMTkxLTcuNTNhNy43MTQsNy43MTQsMCwwLDAtNi4yNTgtMi42MTRaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTQ3IiBkYXRhLW5hbWU9IlBhdGggMjk0NyIgY2xhc3M9ImNscy0yIiBkPSJNMzUwLjksMzUuMzYxYTIwLjM4LDIwLjM4LDAsMCwxLDQuMS4zNzVsLS43MjEsNC44MjJhMTcuNzEyLDE3LjcxMiwwLDAsMC0zLjc1Ny0uNDdBOS4xNDIsOS4xNDIsMCwwLDAsMzQzLjQsNDMuNDdhMTIuMzI3LDEyLjMyNywwLDAsMC0yLjk1OSw4LjQyMlY3MC4zaC01LjJWMzUuOTg3aDQuMjlsLjYsNi4zNTZoLjI1YTE1LjA3MiwxNS4wNzIsMCwwLDEsNC42LTUuMTY2LDEwLjM1NiwxMC4zNTYsMCwwLDEsNS45MTktMS44MTZaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTQ4IiBkYXRhLW5hbWU9IlBhdGggMjk0OCIgY2xhc3M9ImNscy0yIiBkPSJNMjU1Ljg1Nyw5Ni42MzhzLTMuNDMtLjM5MS00Ljg1LS4zOTFjLTIuMDU4LDAtMy4xMTEuNzM1LTMuMTExLDIuMTgsMCwxLjU2OC44ODIsMS45MzUsMy43NDgsMi43MTksMy41MjcuOTgsNC44LDEuOTExLDQuOCw0Ljc3NywwLDMuNjc1LTIuMyw1LjI2Ny01LjYxLDUuMjY3YTM1LjY4NywzNS42ODcsMCwwLDEtNS40ODctLjY2MmwuMjctMi4xOHMzLjMwNi40NDEsNS4wNDYuNDQxYzIuMDgyLDAsMy4wMzctLjkzMSwzLjAzNy0yLjcsMC0xLjQyMS0uNzU5LTEuOTEtMy4zMzEtMi41MjMtMy42MjYtLjkzLTUuMTkzLTIuMDMzLTUuMTkzLTQuOTQ4LDAtMy4zODEsMi4yMjktNC43NzYsNS41ODUtNC43NzZhMzcuMiwzNy4yLDAsMCwxLDUuMzE1LjU4N1oiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NDkiIGRhdGEtbmFtZT0iUGF0aCAyOTQ5IiBjbGFzcz0iY2xzLTIiIGQ9Ik0yNjIuOTY3LDk0LjE0SDI2Ny43bDMuNzQ4LDEzLjEwNkwyNzUuMiw5NC4xNGg0Ljc1MnYxNi43OEgyNzcuMlY5Ni40MmgtLjE0NWwtNC4xOTEsMTMuODE2aC0yLjg0MkwyNjUuODMxLDk2LjQyaC0uMTQ1djE0LjVoLTIuNzE5WiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk1MCIgZGF0YS1uYW1lPSJQYXRoIDI5NTAiIGNsYXNzPSJjbHMtMiIgZD0iTTMyMi4wNTcsOTQuMTRIMzM0LjN2Mi40MjVoLTQuNzI4VjExMC45MmgtMi43NDNWOTYuNTY1aC00Ljc3N1oiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NTEiIGRhdGEtbmFtZT0iUGF0aCAyOTUxIiBjbGFzcz0iY2xzLTIiIGQ9Ik0zNDYuMTM3LDk0LjE0YzMuMzMyLDAsNS4xMiwxLjI0OSw1LjEyLDQuMzYxLDAsMi4wMzMtLjYzNywzLjAzNy0xLjk4NCwzLjc3MiwxLjQ0NS41NjMsMi40LDEuNTkyLDIuNCwzLjksMCwzLjQzLTIuMDgxLDQuNzUyLTUuMzM5LDQuNzUyaC02LjU2NlY5NC4xNFptLTMuNjUsMi4zNTJ2NC44aDMuNmMxLjY2NiwwLDIuNC0uODMyLDIuNC0yLjQ3NCwwLTEuNjE3LS44MzMtMi4zMjctMi41LTIuMzI3Wm0wLDcuMXY0Ljk3M2gzLjdjMS42ODksMCwyLjY5NC0uNTM5LDIuNjk0LTIuNTQ4LDAtMS45MTEtMS40MjEtMi40MjUtMi43NDQtMi40MjVaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTUyIiBkYXRhLW5hbWU9IlBhdGggMjk1MiIgY2xhc3M9ImNscy0yIiBkPSJNMzU4LjQxNCw5NC4xNEgzNjl2Mi4zNzdoLTcuODY0djQuNzUxaDYuMzk0VjEwMy42aC02LjM5NHY0LjkyNEgzNjl2Mi40SDM1OC40MTRaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTUzIiBkYXRhLW5hbWU9IlBhdGggMjk1MyIgY2xhc3M9ImNscy0yIiBkPSJNMzc4Ljc0Nyw5NC4xNGg1LjQxNGw0LjE2NCwxNi43OGgtMi43NDRMMzg0LjM0MiwxMDZoLTUuNzc3bC0xLjIzOSw0LjkyM2gtMi43MTlabS4zNjEsOS40NTZoNC43MDhsLTEuNzM3LTcuMTc4aC0xLjIyNVoiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NTQiIGRhdGEtbmFtZT0iUGF0aCAyOTU0IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zOTcuMSwxMDUuOTQ3djQuOTczaC0yLjcxOVY5NC4xNGg2LjM3YzMuNywwLDUuNjgzLDIuMTIsNS42ODMsNS44NDMsMCwyLjM3Ni0uOTU2LDQuNTE5LTIuNzQ0LDUuMzUybDIuNzY5LDUuNTg1SDQwMy40N2wtMi40MjYtNC45NzNabTMuNjUxLTkuNDU1SDM5Ny4xdjcuMWgzLjdjMi4wNTcsMCwyLjg0MS0xLjg1LDIuODQxLTMuNTg5LDAtMS45LS45MzQtMy41MTEtMi44OTQtMy41MTFaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTU1IiBkYXRhLW5hbWU9IlBhdGggMjk1NSIgY2xhc3M9ImNscy0yIiBkPSJNMjkwLjAxMyw5NC4xNGg1LjQxM2w0LjE2NCwxNi43OGgtMi43NDNMMjk1LjYwOCwxMDZoLTUuNzc3bC0xLjIzOSw0LjkyM2gtMi43MTlabS4zNjEsOS40NTZoNC43MDdsLTEuNzM3LTcuMTc4aC0xLjIyNVoiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NTYiIGRhdGEtbmFtZT0iUGF0aCAyOTU2IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zMDguMzYyLDEwNS45NDd2NC45NzNoLTIuNzE5Vjk0LjE0aDYuMzY5YzMuNywwLDUuNjgzLDIuMTIsNS42ODMsNS44NDMsMCwyLjM3Ni0uOTU1LDQuNTE5LTIuNzQzLDUuMzUybDIuNzY4LDUuNTg1aC0yLjk4OWwtMi40MjUtNC45NzNabTMuNjUtOS40NTVoLTMuNjV2Ny4xaDMuN2MyLjA1OCwwLDIuODQxLTEuODUsMi44NDEtMy41ODlDMzE0LjksOTguMSwzMTMuOTcyLDk2LjQ5MiwzMTIuMDEyLDk2LjQ5MloiLz4NCiAgICAgIDxwYXRoIGlkPSJQYXRoXzI5NTciIGRhdGEtbmFtZT0iUGF0aCAyOTU3IiBjbGFzcz0iY2xzLTIiIGQ9Ik0xMzAuNjA2LDEwNy42NDNhMy4wMiwzLjAyLDAsMCwxLTEuMTgsMi41MzcsNS4xMTMsNS4xMTMsMCwwLDEtMy4yLjkxLDguMDMsOC4wMywwLDAsMS0zLjM3MS0uNTY0di0xLjM4M2E4Ljc5Myw4Ljc5MywwLDAsMCwxLjY1Mi41MDYsOC42NzIsOC42NzIsMCwwLDAsMS43Ny4xODYsMy41NjUsMy41NjUsMCwwLDAsMi4xNTctLjU0NCwxLjc4MywxLjc4MywwLDAsMCwuNzI1LTEuNTEyLDEuOTQ3LDEuOTQ3LDAsMCwwLS4yNTctMS4wNSwyLjM5MywyLjM5MywwLDAsMC0uODYtLjc1NCwxMi4xNzEsMTIuMTcxLDAsMCwwLTEuODMzLS43ODQsNS44NDIsNS44NDIsMCwwLDEtMi40NTYtMS40NTgsMy4yMTMsMy4yMTMsMCwwLDEtLjczOC0yLjIsMi43MzYsMi43MzYsMCwwLDEsMS4wNzEtMi4yNjcsNC40NDQsNC40NDQsMCwwLDEsMi44MzEtLjg0Myw4LjM0MSw4LjM0MSwwLDAsMSwzLjM4LjY3NWwtLjQ0NywxLjI0N2E3LjYzOSw3LjYzOSwwLDAsMC0yLjk2Ni0uNjQxLDIuODc4LDIuODc4LDAsMCwwLTEuNzc5LjQ4OSwxLjYxMiwxLjYxMiwwLDAsMC0uNjQsMS4zNTcsMi4wODEsMi4wODEsMCwwLDAsLjIzNiwxLjA0OSwyLjIzMSwyLjIzMSwwLDAsMCwuOC43NSw5Ljg3OCw5Ljg3OCwwLDAsMCwxLjcxNS43NTQsNi44LDYuOCwwLDAsMSwyLjY2NywxLjQ4MywyLjkxOSwyLjkxOSwwLDAsMSwuNzIzLDIuMDU3WiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk1OCIgZGF0YS1uYW1lPSJQYXRoIDI5NTgiIGNsYXNzPSJjbHMtMiIgZD0iTTEzNC40NDcsMTAxLjY4NnY1Ljk5MWEyLjQxMSwyLjQxMSwwLDAsMCwuNTE1LDEuNjg2LDIuMDksMi4wOSwwLDAsMCwxLjYwOS41NTYsMi42MjksMi42MjksMCwwLDAsMi4xMi0uNzkyLDQsNCwwLDAsMCwuNjctMi41ODd2LTQuODU0aDEuNHY5LjIzNkgxMzkuNmwtLjItMS4yMzloLS4wNzVhMi43OTMsMi43OTMsMCwwLDEtMS4xOTMsMS4wNDUsNCw0LDAsMCwxLTEuNzQuMzYyLDMuNTI5LDMuNTI5LDAsMCwxLTIuNTI0LS44LDMuNDA5LDMuNDA5LDAsMCwxLS44MzktMi41NjJ2LTYuMDQyWiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk1OSIgZGF0YS1uYW1lPSJQYXRoIDI5NTkiIGNsYXNzPSJjbHMtMiIgZD0iTTE0OC4yMDYsMTExLjA5YTMuOTkzLDMuOTkzLDAsMCwxLTEuNjQ3LS4zMzMsMy4xLDMuMSwwLDAsMS0xLjI1Mi0xLjAyM2gtLjFhMTIuMjY1LDEyLjI2NSwwLDAsMSwuMSwxLjUzM3YzLjhoLTEuNFYxMDEuNjg2aDEuMTM3bC4xOTQsMS4yNjRoLjA2N2EzLjI1NywzLjI1NywwLDAsMSwxLjI1Ni0xLjEsMy44MzEsMy44MzEsMCwwLDEsMS42NDMtLjMzNywzLjQxMywzLjQxMywwLDAsMSwyLjgzNiwxLjI1Niw2LjY4Myw2LjY4MywwLDAsMS0uMDE3LDcuMDU3LDMuNDIsMy40MiwwLDAsMS0yLjgxNywxLjI2NFptLS4yLTguMzg1YTIuNDgyLDIuNDgyLDAsMCwwLTIuMDQ4Ljc4NCw0LjA0MSw0LjA0MSwwLDAsMC0uNjQ5LDIuNDk0di4zMTJhNC42MjUsNC42MjUsMCwwLDAsLjY0OSwyLjc4NSwyLjQ2NywyLjQ2NywwLDAsMCwyLjA4Mi44MzksMi4xNjQsMi4xNjQsMCwwLDAsMS44NzUtLjk2OSw0LjYsNC42LDAsMCwwLC42NzgtMi42NzEsNC40MjgsNC40MjgsMCwwLDAtLjY3OC0yLjY1MSwyLjIzMiwyLjIzMiwwLDAsMC0xLjkxNS0uOTIzWiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk2MCIgZGF0YS1uYW1lPSJQYXRoIDI5NjAiIGNsYXNzPSJjbHMtMiIgZD0iTTE1OS4wMzksMTExLjA5YTMuOTkzLDMuOTkzLDAsMCwxLTEuNjQ3LS4zMzMsMy4xLDMuMSwwLDAsMS0xLjI1Mi0xLjAyM2gtLjFhMTIuMjY1LDEyLjI2NSwwLDAsMSwuMSwxLjUzM3YzLjhoLTEuNFYxMDEuNjg2aDEuMTM3bC4xOTQsMS4yNjRoLjA2N2EzLjI1NywzLjI1NywwLDAsMSwxLjI1Ni0xLjEsMy44MzEsMy44MzEsMCwwLDEsMS42NDMtLjMzNywzLjQxMywzLjQxMywwLDAsMSwyLjgzNiwxLjI1Niw2LjY4Myw2LjY4MywwLDAsMS0uMDE3LDcuMDU3LDMuNDIsMy40MiwwLDAsMS0yLjgxNywxLjI2NFptLS4yLTguMzg1YTIuNDgyLDIuNDgyLDAsMCwwLTIuMDQ4Ljc4NCw0LjA0MSw0LjA0MSwwLDAsMC0uNjQ5LDIuNDk0di4zMTJhNC42MjUsNC42MjUsMCwwLDAsLjY0OSwyLjc4NSwyLjQ2NywyLjQ2NywwLDAsMCwyLjA4Mi44MzksMi4xNjQsMi4xNjQsMCwwLDAsMS44NzUtLjk2OSw0LjYsNC42LDAsMCwwLC42NzgtMi42NzEsNC40MjgsNC40MjgsMCwwLDAtLjY3OC0yLjY1MSwyLjIzMiwyLjIzMiwwLDAsMC0xLjkxMS0uOTIzWiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk2MSIgZGF0YS1uYW1lPSJQYXRoIDI5NjEiIGNsYXNzPSJjbHMtMiIgZD0iTTE3My42MTIsMTA2LjNhNS4wOTMsNS4wOTMsMCwwLDEtMS4xMzcsMy41MjcsNC4wMDUsNC4wMDUsMCwwLDEtMy4xNDMsMS4yNjgsNC4xNzIsNC4xNzIsMCwwLDEtMi4yLS41ODEsMy44NCwzLjg0LDAsMCwxLTEuNDgzLTEuNjY5LDUuOCw1LjgsMCwwLDEtLjUyMi0yLjU0NSw1LjA4Nyw1LjA4NywwLDAsMSwxLjEyOS0zLjUxOCwzLjk5MSwzLjk5MSwwLDAsMSwzLjEzNS0xLjI2LDMuOTA3LDMuOTA3LDAsMCwxLDMuMDgsMS4yOSw1LjA3MSw1LjA3MSwwLDAsMSwxLjE0MSwzLjQ4OFptLTcuMDM2LDBhNC4zODQsNC4zODQsMCwwLDAsLjcwOCwyLjcsMi44MDksMi44MDksMCwwLDAsNC4xNjcsMCw0LjM2NSw0LjM2NSwwLDAsMCwuNzEyLTIuNyw0LjI5Myw0LjI5MywwLDAsMC0uNzEyLTIuNjc1LDIuNSwyLjUsMCwwLDAtMi4xLS45MTUsMi40NjEsMi40NjEsMCwwLDAtMi4wNzIuOSw0LjMzNCw0LjMzNCwwLDAsMC0uNywyLjY5WiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk2MiIgZGF0YS1uYW1lPSJQYXRoIDI5NjIiIGNsYXNzPSJjbHMtMiIgZD0iTTE4MC41MjUsMTAxLjUxN2E1LjUwNiw1LjUwNiwwLDAsMSwxLjEuMWwtLjE5NCwxLjNhNC43ODYsNC43ODYsMCwwLDAtMS4wMTEtLjEyNywyLjQ2LDIuNDYsMCwwLDAtMS45MTcuOTExLDMuMzE4LDMuMzE4LDAsMCwwLS44LDIuMjY3djQuOTU1aC0xLjR2LTkuMjM2aDEuMTU0bC4xNiwxLjcxaC4wNjhhNC4wNTQsNC4wNTQsMCwwLDEsMS4yMzgtMS4zOSwyLjc4NywyLjc4NywwLDAsMSwxLjYtLjQ5WiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk2MyIgZGF0YS1uYW1lPSJQYXRoIDI5NjMiIGNsYXNzPSJjbHMtMiIgZD0iTTE4Ny4zNjMsMTA5LjkzNmE0LjUwNiw0LjUwNiwwLDAsMCwuNzE2LS4wNTUsNC4zODcsNC4zODcsMCwwLDAsLjU0OC0uMTE0djEuMDdhMi41LDIuNSwwLDAsMS0uNjcuMTgxLDUsNSwwLDAsMS0uOC4wNzJxLTIuNjgsMC0yLjY4LTIuODIzdi01LjQ5NGgtMS4zMjNWMTAyLjFsMS4zMjMtLjU4Mi41OS0xLjk3MmguODA5djIuMTQxaDIuNjh2MS4wODdoLTIuNjh2NS40MzVhMS44NjksMS44NjksMCwwLDAsLjQsMS4yODFBMS4zNzcsMS4zNzcsMCwwLDAsMTg3LjM2MywxMDkuOTM2WiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMjk2NCIgZGF0YS1uYW1lPSJQYXRoIDI5NjQiIGNsYXNzPSJjbHMtMiIgZD0iTTE5NC41MzgsMTExLjA5YTQuMjM5LDQuMjM5LDAsMCwxLTMuMjMxLTEuMjQ3LDQuODI0LDQuODI0LDAsMCwxLTEuMTg0LTMuNDYzLDUuMzU1LDUuMzU1LDAsMCwxLDEuMS0zLjU0OCwzLjY1MiwzLjY1MiwwLDAsMSwyLjk1NC0xLjMxNSwzLjQ4NCwzLjQ4NCwwLDAsMSwyLjc0NywxLjE0Miw0LjM3OCw0LjM3OCwwLDAsMSwxLjAxMSwzLjAxM3YuODg1aC02LjM2MmEzLjY2LDMuNjYsMCwwLDAsLjgyMiwyLjQ2OSwyLjg0MywyLjg0MywwLDAsMCwyLjIuODQzLDcuNDMxLDcuNDMxLDAsMCwwLDIuOTQ5LS42MjR2MS4yNDdhNy4zNzcsNy4zNzcsMCwwLDEtMS40LjQ1OSw3Ljg2Myw3Ljg2MywwLDAsMS0xLjYuMTM5Wm0tLjM3OS04LjRhMi4yODYsMi4yODYsMCwwLDAtMS43NzQuNzI1LDMuMzM3LDMuMzM3LDAsMCwwLS43NzksMi4wMDZoNC44MjhhMy4wNzIsMy4wNzIsMCwwLDAtLjU5LTIuMDI3LDIuMDc2LDIuMDc2LDAsMCwwLTEuNjg1LS43MDZaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTY1IiBkYXRhLW5hbWU9IlBhdGggMjk2NSIgY2xhc3M9ImNscy0yIiBkPSJNMjA2Ljk1MSwxMDkuNjgzaC0uMDc2YTMuMjg3LDMuMjg3LDAsMCwxLTIuOSwxLjQwNywzLjQyNywzLjQyNywwLDAsMS0yLjgxOS0xLjIzOSw1LjQ1Miw1LjQ1MiwwLDAsMS0xLjAwNi0zLjUyMiw1LjU0Miw1LjU0MiwwLDAsMSwxLjAxMS0zLjU0OCwzLjQsMy40LDAsMCwxLDIuODE0LTEuMjY0LDMuMzYxLDMuMzYxLDAsMCwxLDIuODgzLDEuMzY1aC4xMDlsLS4wNTktLjY2NS0uMDM0LS42NDlWOTcuODA5aDEuNHYxMy4xMTNoLTEuMTM4Wm0tMi44LjIzNmEyLjU1MSwyLjU1MSwwLDAsMCwyLjA3OC0uNzc5LDMuOTQ3LDMuOTQ3LDAsMCwwLC42NDQtMi41MTZ2LS4zYTQuNjM4LDQuNjM4LDAsMCwwLS42NTMtMi44LDIuNDgxLDIuNDgxLDAsMCwwLTIuMDg2LS44MzksMi4xNCwyLjE0LDAsMCwwLTEuODgzLjk1Nyw0Ljc2LDQuNzYsMCwwLDAtLjY1MywyLjcsNC41NTQsNC41NTQsMCwwLDAsLjY0OSwyLjY3MSwyLjE5NCwyLjE5NCwwLDAsMCwxLjkwNi45MDZaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTY2IiBkYXRhLW5hbWU9IlBhdGggMjk2NiIgY2xhc3M9ImNscy0yIiBkPSJNMjIwLjcxMiwxMDEuNTM0YTMuNDM1LDMuNDM1LDAsMCwxLDIuODI3LDEuMjQzLDYuNjUzLDYuNjUzLDAsMCwxLS4wMDksNy4wNTMsMy40MTcsMy40MTcsMCwwLDEtMi44MTgsMS4yNiw0LDQsMCwwLDEtMS42NDgtLjMzMywzLjA5NCwzLjA5NCwwLDAsMS0xLjI1MS0xLjAyM2gtLjFsLS4yOTUsMS4xODhoLTFWOTcuODA5aDEuNFYxMDFxMCwxLjA2OS0uMDY4LDEuOTIxaC4wNjhhMy4zMjIsMy4zMjIsMCwwLDEsMi44OTQtMS4zODdabS0uMiwxLjE3MWEyLjQ0LDIuNDQsMCwwLDAtMi4wNjQuODIyLDYuMzM4LDYuMzM4LDAsMCwwLC4wMTcsNS41NTMsMi40NjQsMi40NjQsMCwwLDAsMi4wODEuODM5LDIuMTU4LDIuMTU4LDAsMCwwLDEuOTIyLS45NCw0LjgyOCw0LjgyOCwwLDAsMCwuNjMyLTIuNyw0LjY0NSw0LjY0NSwwLDAsMC0uNjMyLTIuNjg5LDIuMjQyLDIuMjQyLDAsMCwwLTEuOTU5LS44ODVaIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8yOTY3IiBkYXRhLW5hbWU9IlBhdGggMjk2NyIgY2xhc3M9ImNscy0yIiBkPSJNMjI1Ljc1OCwxMDEuNjg2aDEuNWwyLjAyMyw1LjI2N2EyMC4xODgsMjAuMTg4LDAsMCwxLC44MjYsMi42aC4wNjdxLjEwOS0uNDMxLjQ1OS0xLjQ3MXQyLjI4OC02LjRoMS41TDIzMC40NTIsMTEyLjJhNS4yNTMsNS4yNTMsMCwwLDEtMS4zNzgsMi4yMTIsMi45MzIsMi45MzIsMCwwLDEtMS45MzQuNjUzLDUuNjU5LDUuNjU5LDAsMCwxLTEuMjY0LS4xNDNWMTEzLjhhNC45LDQuOSwwLDAsMCwxLjAzNy4xLDIuMTM2LDIuMTM2LDAsMCwwLDIuMDU2LTEuNjE4bC41MTQtMS4zMTRaIi8+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg=="},function(t,e,n){var r=n(240),i=n(243),o=n(248);t.exports=function(t,e){return r(t)||i(t,e)||o()}},function(t,e,n){"use strict";var r=/^(%20|\s)*(javascript|data)/im,i=/[^\x20-\x7E]/gim,o=/^([^:]+):/gm,u=[".","/"];t.exports={sanitizeUrl:function(t){if(!t)return"about:blank";var e,n,s=t.replace(i,"").trim();return function(t){return u.indexOf(t[0])>-1}(s)?s:(n=s.match(o))?(e=n[0],r.test(e)?"about:blank":s):"about:blank"}}},function(t,e,n){var r=n(254),i=n(265)(function(t,e,n){return e=e.toLowerCase(),t+(n?r(e):e)});t.exports=i},function(t,e,n){var r=n(295)(n(347));t.exports=r},function(t,e,n){var r=n(143),i=n(91),o=n(352),u=n(12),s=n(358);t.exports=function(t,e,n){var a=u(t)?r:o;return n&&s(t,e,n)&&(e=void 0),a(t,i(e,3))}},function(t,e,n){(function(e){var r=n(359),i=n(360).Stream,o=" ";function u(t,e,n){n=n||0;var i,o,s=(i=e,new Array(n||0).join(i||"")),a=t;if("object"==typeof t&&((a=t[o=Object.keys(t)[0]])&&a._elem))return a._elem.name=o,a._elem.icount=n,a._elem.indent=e,a._elem.indents=s,a._elem.interrupt=a,a._elem;var c,f=[],l=[];function h(t){Object.keys(t).forEach(function(e){f.push(function(t,e){return t+'="'+r(e)+'"'}(e,t[e]))})}switch(typeof a){case"object":if(null===a)break;a._attr&&h(a._attr),a._cdata&&l.push(("<![CDATA["+a._cdata).replace(/\]\]>/g,"]]]]><![CDATA[>")+"]]>"),a.forEach&&(c=!1,l.push(""),a.forEach(function(t){"object"==typeof t?"_attr"==Object.keys(t)[0]?h(t._attr):l.push(u(t,e,n+1)):(l.pop(),c=!0,l.push(r(t)))}),c||l.push(""));break;default:l.push(r(a))}return{name:o,interrupt:!1,attributes:f,content:l,icount:n,indents:s,indent:e}}function s(t,e,n){if("object"!=typeof e)return t(!1,e);var r=e.interrupt?1:e.content.length;function i(){for(;e.content.length;){var i=e.content.shift();if(void 0!==i){if(o(i))return;s(t,i)}}t(!1,(r>1?e.indents:"")+(e.name?"</"+e.name+">":"")+(e.indent&&!n?"\n":"")),n&&n()}function o(e){return!!e.interrupt&&(e.interrupt.append=t,e.interrupt.end=i,e.interrupt=!1,t(!0),!0)}if(t(!1,e.indents+(e.name?"<"+e.name:"")+(e.attributes.length?" "+e.attributes.join(" "):"")+(r?e.name?">":"":e.name?"/>":"")+(e.indent&&r>1?"\n":"")),!r)return t(!1,e.indent?"\n":"");o(e)||i()}t.exports=function(t,n){"object"!=typeof n&&(n={indent:n});var r,a,c=n.stream?new i:null,f="",l=!1,h=n.indent?!0===n.indent?o:n.indent:"",p=!0;function d(t){p?e.nextTick(t):t()}function y(t,e){if(void 0!==e&&(f+=e),t&&!l&&(c=c||new i,l=!0),t&&l){var n=f;d(function(){c.emit("data",n)}),f=""}}function w(t,e){s(y,u(t,h,h?1:0),e)}function v(){if(c){var t=f;d(function(){c.emit("data",t),c.emit("end"),c.readable=!1,c.emit("close")})}}return d(function(){p=!1}),n.declaration&&(r=n.declaration,a={version:"1.0",encoding:r.encoding||"UTF-8"},r.standalone&&(a.standalone=r.standalone),w({"?xml":{_attr:a}}),f=f.replace("/>","?>")),t&&t.forEach?t.forEach(function(e,n){var r;n+1===t.length&&(r=v),w(e,r)}):w(t,v),c?(c.readable=!0,c):f},t.exports.element=t.exports.Element=function(){var t={_elem:u(Array.prototype.slice.call(arguments)),push:function(t){if(!this.append)throw new Error("not assigned to a parent!");var e=this,n=this._elem.indent;s(this.append,u(t,n,this._elem.icount+(n?1:0)),function(){e.append(!0)})},close:function(t){void 0!==t&&this.push(t),this.end&&this.end()}};return t}}).call(this,n(22))},function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function i(t){return null===t?"null":void 0===t?"undefined":"object"===(void 0===t?"undefined":r(t))?Array.isArray(t)?"array":"object":void 0===t?"undefined":r(t)}function o(t){return"object"===i(t)?s(t):"array"===i(t)?u(t):t}function u(t){return t.map(o)}function s(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=o(t[n]));return e}function a(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n={arrayBehaviour:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).arrayBehaviour||"replace"},r=e.map(function(t){return t||{}}),o=t||{},c=0;c<r.length;c++)for(var f=r[c],l=Object.keys(f),h=0;h<l.length;h++){var p=l[h],d=f[p],y=i(d),w=i(o[p]);if("object"===y)if("undefined"!==w){var v="object"===w?o[p]:{};o[p]=a({},[v,s(d)],n)}else o[p]=s(d);else if("array"===y)if("array"===w){var g=u(d);o[p]="merge"===n.arrayBehaviour?o[p].concat(g):g}else o[p]=u(d);else o[p]=d}return o}t.exports=function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return a(t,n)},t.exports.noMutate=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return a({},e)},t.exports.withOptions=function(t,e,n){return a(t,e,n)}},function(t,e,n){(function(e){var n;n=void 0!==e?e:this,t.exports=function(t){if(t.CSS&&t.CSS.escape)return t.CSS.escape;var e=function(t){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var e,n=String(t),r=n.length,i=-1,o="",u=n.charCodeAt(0);++i<r;)0!=(e=n.charCodeAt(i))?o+=e>=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==u?"\\"+e.toString(16)+" ":0==i&&1==r&&45==e||!(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)?"\\"+n.charAt(i):n.charAt(i):o+="�";return o};return t.CSS||(t.CSS={}),t.CSS.escape=e,e}(n)}).call(this,n(10))},function(t,e,n){"use strict";n.d(e,"a",function(){return u});var r=n(0),i=n.n(r),o=i.a.Set.of("type","format","items","default","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","enum","multipleOf");function u(t){var e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).isOAS3;if(!i.a.Map.isMap(t))return{schema:i.a.Map(),parameterContentMediaType:null};if(!e)return"body"===t.get("in")?{schema:t.get("schema",i.a.Map()),parameterContentMediaType:null}:{schema:t.filter(function(t,e){return o.includes(e)}),parameterContentMediaType:null};if(t.get("content")){var n=t.get("content",i.a.Map({})).keySeq().first();return{schema:t.getIn(["content",n,"schema"],i.a.Map()),parameterContentMediaType:n}}return{schema:t.get("schema",i.a.Map()),parameterContentMediaType:null}}},function(t,e,n){"use strict";(function(e,r){var i=65536,o=4294967295;var u=n(8).Buffer,s=e.crypto||e.msCrypto;s&&s.getRandomValues?t.exports=function(t,e){if(t>o)throw new RangeError("requested too many random bytes");var n=u.allocUnsafe(t);if(t>0)if(t>i)for(var a=0;a<t;a+=i)s.getRandomValues(n.slice(a,a+i));else s.getRandomValues(n);if("function"==typeof e)return r.nextTick(function(){e(null,n)});return n}:t.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,n(10),n(22))},function(t,e,n){(e=t.exports=function(t){t=t.toLowerCase();var n=e[t];if(!n)throw new Error(t+" is not supported (we accept pull requests)");return new n}).sha=n(424),e.sha1=n(425),e.sha224=n(426),e.sha256=n(166),e.sha384=n(427),e.sha512=n(167)},function(t,e,n){"use strict";var r=n(428);t.exports=r},function(t,e,n){t.exports=n(449)},function(t,e,n){n(185);var r=n(4).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){var r=n(15);r(r.S+r.F*!n(20),"Object",{defineProperty:n(19).f})},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){t.exports=n(188)},function(t,e,n){n(114),n(120),t.exports=n(85).f("iterator")},function(t,e,n){var r=n(77),i=n(78);t.exports=function(t){return function(e,n){var o,u,s=String(i(e)),a=r(n),c=s.length;return a<0||a>=c?t?"":void 0:(o=s.charCodeAt(a))<55296||o>56319||a+1===c||(u=s.charCodeAt(a+1))<56320||u>57343?t?s.charAt(a):o:t?s.slice(a,a+2):u-56320+(o-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(79),i=n(50),o=n(84),u={};n(27)(u,n(17)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(u,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var r=n(19),i=n(28),o=n(39);t.exports=n(20)?Object.defineProperties:function(t,e){i(t);for(var n,u=o(e),s=u.length,a=0;s>a;)r.f(t,n=u[a++],e[n]);return t}},function(t,e,n){var r=n(31),i=n(193),o=n(194);t.exports=function(t){return function(e,n,u){var s,a=r(e),c=i(a.length),f=o(u,c);if(t&&n!=n){for(;c>f;)if((s=a[f++])!=s)return!0}else for(;c>f;f++)if((t||f in a)&&a[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(77),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(77),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(16).document;t.exports=r&&r.documentElement},function(t,e,n){"use strict";var r=n(197),i=n(198),o=n(52),u=n(31);t.exports=n(115)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){t.exports=n(200)},function(t,e,n){n(201),n(205),n(206),n(207),t.exports=n(4).Symbol},function(t,e,n){"use strict";var r=n(16),i=n(21),o=n(20),u=n(15),s=n(116),a=n(202).KEY,c=n(30),f=n(82),l=n(84),h=n(53),p=n(17),d=n(85),y=n(86),w=n(203),v=n(121),g=n(28),M=n(29),_=n(31),m=n(76),L=n(50),b=n(79),j=n(204),x=n(123),N=n(19),S=n(39),D=x.f,I=N.f,E=j.f,C=r.Symbol,T=r.JSON,A=T&&T.stringify,O=p("_hidden"),z=p("toPrimitive"),k={}.propertyIsEnumerable,Y=f("symbol-registry"),U=f("symbols"),P=f("op-symbols"),R=Object.prototype,Q="function"==typeof C,F=r.QObject,B=!F||!F.prototype||!F.prototype.findChild,G=o&&c(function(){return 7!=b(I({},"a",{get:function(){return I(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=D(R,e);r&&delete R[e],I(t,e,n),r&&t!==R&&I(R,e,r)}:I,W=function(t){var e=U[t]=b(C.prototype);return e._k=t,e},q=Q&&"symbol"==typeof C.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof C},J=function(t,e,n){return t===R&&J(P,e,n),g(t),e=m(e,!0),g(n),i(U,e)?(n.enumerable?(i(t,O)&&t[O][e]&&(t[O][e]=!1),n=b(n,{enumerable:L(0,!1)})):(i(t,O)||I(t,O,L(1,{})),t[O][e]=!0),G(t,e,n)):I(t,e,n)},Z=function(t,e){g(t);for(var n,r=w(e=_(e)),i=0,o=r.length;o>i;)J(t,n=r[i++],e[n]);return t},V=function(t){var e=k.call(this,t=m(t,!0));return!(this===R&&i(U,t)&&!i(P,t))&&(!(e||!i(this,t)||!i(U,t)||i(this,O)&&this[O][t])||e)},X=function(t,e){if(t=_(t),e=m(e,!0),t!==R||!i(U,e)||i(P,e)){var n=D(t,e);return!n||!i(U,e)||i(t,O)&&t[O][e]||(n.enumerable=!0),n}},H=function(t){for(var e,n=E(_(t)),r=[],o=0;n.length>o;)i(U,e=n[o++])||e==O||e==a||r.push(e);return r},K=function(t){for(var e,n=t===R,r=E(n?P:_(t)),o=[],u=0;r.length>u;)!i(U,e=r[u++])||n&&!i(R,e)||o.push(U[e]);return o};Q||(s((C=function(){if(this instanceof C)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(P,n),i(this,O)&&i(this[O],t)&&(this[O][t]=!1),G(this,t,L(1,n))};return o&&B&&G(R,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),x.f=X,N.f=J,n(122).f=j.f=H,n(55).f=V,n(87).f=K,o&&!n(51)&&s(R,"propertyIsEnumerable",V,!0),d.f=function(t){return W(p(t))}),u(u.G+u.W+u.F*!Q,{Symbol:C});for(var $="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;$.length>tt;)p($[tt++]);for(var et=S(p.store),nt=0;et.length>nt;)y(et[nt++]);u(u.S+u.F*!Q,"Symbol",{for:function(t){return i(Y,t+="")?Y[t]:Y[t]=C(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var e in Y)if(Y[e]===t)return e},useSetter:function(){B=!0},useSimple:function(){B=!1}}),u(u.S+u.F*!Q,"Object",{create:function(t,e){return void 0===e?b(t):Z(b(t),e)},defineProperty:J,defineProperties:Z,getOwnPropertyDescriptor:X,getOwnPropertyNames:H,getOwnPropertySymbols:K}),T&&u(u.S+u.F*(!Q||c(function(){var t=C();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(M(e)||void 0!==t)&&!q(t))return v(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!q(e))return e}),r[1]=e,A.apply(T,r)}}),C.prototype[z]||n(27)(C.prototype,z,C.prototype.valueOf),l(C,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(53)("meta"),i=n(29),o=n(21),u=n(19).f,s=0,a=Object.isExtensible||function(){return!0},c=!n(30)(function(){return a(Object.preventExtensions({}))}),f=function(t){u(t,r,{value:{i:"O"+ ++s,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!a(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!o(t,r)){if(!a(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return c&&l.NEED&&a(t)&&!o(t,r)&&f(t),t}}},function(t,e,n){var r=n(39),i=n(87),o=n(55);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var u,s=n(t),a=o.f,c=0;s.length>c;)a.call(t,u=s[c++])&&e.push(u);return e}},function(t,e,n){var r=n(31),i=n(122).f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(r(t))}},function(t,e){},function(t,e,n){n(86)("asyncIterator")},function(t,e,n){n(86)("observable")},function(t,e,n){t.exports=n(209)},function(t,e,n){n(210),t.exports=n(4).Object.getPrototypeOf},function(t,e,n){var r=n(54),i=n(119);n(124)("getPrototypeOf",function(){return function(t){return i(r(t))}})},function(t,e,n){n(212),t.exports=n(4).Object.setPrototypeOf},function(t,e,n){var r=n(15);r(r.S,"Object",{setPrototypeOf:n(213).set})},function(t,e,n){var r=n(29),i=n(28),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(111)(Function.call,n(123).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){t.exports=n(215)},function(t,e,n){n(216);var r=n(4).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,n){var r=n(15);r(r.S,"Object",{create:n(79)})},function(t,e,n){var r=n(125);function i(e,n){return t.exports=i=r||function(t,e){return t.__proto__=e,t},i(e,n)}t.exports=i},function(t,e,n){"use strict";var r=n(40),i=n(126),o=n(220),u=n(225),s=n(32),a=n(226),c=n(232),f=n(233),l=n(235),h=s.createElement,p=s.createFactory,d=s.cloneElement,y=r,w={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:l},Component:i.Component,PureComponent:i.PureComponent,createElement:h,cloneElement:d,isValidElement:s.isValidElement,PropTypes:a,createClass:f,createFactory:p,createMixin:function(t){return t},DOM:u,version:c,__spread:y};t.exports=w},function(t,e,n){"use strict";t.exports=function(){}},function(t,e,n){"use strict";var r=n(221),i=n(32),o=n(128),u=n(222),s=r.twoArgumentPooler,a=r.fourArgumentPooler,c=/\/+/g;function f(t){return(""+t).replace(c,"$&/")}function l(t,e){this.func=t,this.context=e,this.count=0}function h(t,e,n){var r=t.func,i=t.context;r.call(i,e,t.count++)}function p(t,e,n,r){this.result=t,this.keyPrefix=e,this.func=n,this.context=r,this.count=0}function d(t,e,n){var r=t.result,u=t.keyPrefix,s=t.func,a=t.context,c=s.call(a,e,t.count++);Array.isArray(c)?y(c,r,n,o.thatReturnsArgument):null!=c&&(i.isValidElement(c)&&(c=i.cloneAndReplaceKey(c,u+(!c.key||e&&e.key===c.key?"":f(c.key)+"/")+n)),r.push(c))}function y(t,e,n,r,i){var o="";null!=n&&(o=f(n)+"/");var s=p.getPooled(e,o,r,i);u(t,d,s),p.release(s)}function w(t,e,n){return null}l.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},r.addPoolingTo(l,s),p.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},r.addPoolingTo(p,a);var v={forEach:function(t,e,n){if(null==t)return t;var r=l.getPooled(e,n);u(t,h,r),l.release(r)},map:function(t,e,n){if(null==t)return t;var r=[];return y(t,r,null,e,n),r},mapIntoWithKeyPrefixInternal:y,count:function(t,e){return u(t,w,null)},toArray:function(t){var e=[];return y(t,e,null,o.thatReturnsArgument),e}};t.exports=v},function(t,e,n){"use strict";var r=n(56),i=(n(41),function(t){if(this.instancePool.length){var e=this.instancePool.pop();return this.call(e,t),e}return new this(t)}),o=function(t){t instanceof this||r("25"),t.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(t)},u=i,s={addPoolingTo:function(t,e){var n=t;return n.instancePool=[],n.getPooled=e||u,n.poolSize||(n.poolSize=10),n.release=o,n},oneArgumentPooler:i,twoArgumentPooler:function(t,e){if(this.instancePool.length){var n=this.instancePool.pop();return this.call(n,t,e),n}return new this(t,e)},threeArgumentPooler:function(t,e,n){if(this.instancePool.length){var r=this.instancePool.pop();return this.call(r,t,e,n),r}return new this(t,e,n)},fourArgumentPooler:function(t,e,n,r){if(this.instancePool.length){var i=this.instancePool.pop();return this.call(i,t,e,n,r),i}return new this(t,e,n,r)}};t.exports=s},function(t,e,n){"use strict";var r=n(56),i=(n(131),n(132)),o=n(223),u=(n(41),n(224)),s=(n(88),"."),a=":";function c(t,e){return t&&"object"==typeof t&&null!=t.key?u.escape(t.key):e.toString(36)}t.exports=function(t,e,n){return null==t?0:function t(e,n,f,l){var h,p=typeof e;if("undefined"!==p&&"boolean"!==p||(e=null),null===e||"string"===p||"number"===p||"object"===p&&e.$$typeof===i)return f(l,e,""===n?s+c(e,0):n),1;var d=0,y=""===n?s:n+a;if(Array.isArray(e))for(var w=0;w<e.length;w++)d+=t(h=e[w],y+c(h,w),f,l);else{var v=o(e);if(v){var g,M=v.call(e);if(v!==e.entries)for(var _=0;!(g=M.next()).done;)d+=t(h=g.value,y+c(h,_++),f,l);else for(;!(g=M.next()).done;){var m=g.value;m&&(d+=t(h=m[1],y+u.escape(m[0])+a+c(h,0),f,l))}}else if("object"===p){var L=String(e);r("31","[object Object]"===L?"object with keys {"+Object.keys(e).join(", ")+"}":L,"")}}return d}(t,"",e,n)}},function(t,e,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=function(t){var e=t&&(r&&t[r]||t[i]);if("function"==typeof e)return e}},function(t,e,n){"use strict";var r={escape:function(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,function(t){return e[t]})},unescape:function(t){var e={"=0":"=","=2":":"};return(""+("."===t[0]&&"$"===t[1]?t.substring(2):t.substring(1))).replace(/(=0|=2)/g,function(t){return e[t]})}};t.exports=r},function(t,e,n){"use strict";var r=n(32).createFactory,i={a:r("a"),abbr:r("abbr"),address:r("address"),area:r("area"),article:r("article"),aside:r("aside"),audio:r("audio"),b:r("b"),base:r("base"),bdi:r("bdi"),bdo:r("bdo"),big:r("big"),blockquote:r("blockquote"),body:r("body"),br:r("br"),button:r("button"),canvas:r("canvas"),caption:r("caption"),cite:r("cite"),code:r("code"),col:r("col"),colgroup:r("colgroup"),data:r("data"),datalist:r("datalist"),dd:r("dd"),del:r("del"),details:r("details"),dfn:r("dfn"),dialog:r("dialog"),div:r("div"),dl:r("dl"),dt:r("dt"),em:r("em"),embed:r("embed"),fieldset:r("fieldset"),figcaption:r("figcaption"),figure:r("figure"),footer:r("footer"),form:r("form"),h1:r("h1"),h2:r("h2"),h3:r("h3"),h4:r("h4"),h5:r("h5"),h6:r("h6"),head:r("head"),header:r("header"),hgroup:r("hgroup"),hr:r("hr"),html:r("html"),i:r("i"),iframe:r("iframe"),img:r("img"),input:r("input"),ins:r("ins"),kbd:r("kbd"),keygen:r("keygen"),label:r("label"),legend:r("legend"),li:r("li"),link:r("link"),main:r("main"),map:r("map"),mark:r("mark"),menu:r("menu"),menuitem:r("menuitem"),meta:r("meta"),meter:r("meter"),nav:r("nav"),noscript:r("noscript"),object:r("object"),ol:r("ol"),optgroup:r("optgroup"),option:r("option"),output:r("output"),p:r("p"),param:r("param"),picture:r("picture"),pre:r("pre"),progress:r("progress"),q:r("q"),rp:r("rp"),rt:r("rt"),ruby:r("ruby"),s:r("s"),samp:r("samp"),script:r("script"),section:r("section"),select:r("select"),small:r("small"),source:r("source"),span:r("span"),strong:r("strong"),style:r("style"),sub:r("sub"),summary:r("summary"),sup:r("sup"),table:r("table"),tbody:r("tbody"),td:r("td"),textarea:r("textarea"),tfoot:r("tfoot"),th:r("th"),thead:r("thead"),time:r("time"),title:r("title"),tr:r("tr"),track:r("track"),u:r("u"),ul:r("ul"),var:r("var"),video:r("video"),wbr:r("wbr"),circle:r("circle"),clipPath:r("clipPath"),defs:r("defs"),ellipse:r("ellipse"),g:r("g"),image:r("image"),line:r("line"),linearGradient:r("linearGradient"),mask:r("mask"),path:r("path"),pattern:r("pattern"),polygon:r("polygon"),polyline:r("polyline"),radialGradient:r("radialGradient"),rect:r("rect"),stop:r("stop"),svg:r("svg"),text:r("text"),tspan:r("tspan")};t.exports=i},function(t,e,n){"use strict";var r=n(32).isValidElement,i=n(227);t.exports=i(r)},function(t,e,n){"use strict";var r=n(228);t.exports=function(t){return r(t,!1)}},function(t,e,n){"use strict";var r=n(229),i=n(40),o=n(133),u=n(231),s=Function.call.bind(Object.prototype.hasOwnProperty),a=function(){};function c(){return null}t.exports=function(t,e){var n="function"==typeof Symbol&&Symbol.iterator,f="@@iterator";var l="<<anonymous>>",h={array:w("array"),bool:w("boolean"),func:w("function"),number:w("number"),object:w("object"),string:w("string"),symbol:w("symbol"),any:y(c),arrayOf:function(t){return y(function(e,n,r,i,u){if("function"!=typeof t)return new d("Property `"+u+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=e[n];if(!Array.isArray(s))return new d("Invalid "+i+" `"+u+"` of type `"+g(s)+"` supplied to `"+r+"`, expected an array.");for(var a=0;a<s.length;a++){var c=t(s,a,r,i,u+"["+a+"]",o);if(c instanceof Error)return c}return null})},element:y(function(e,n,r,i,o){var u=e[n];return t(u)?null:new d("Invalid "+i+" `"+o+"` of type `"+g(u)+"` supplied to `"+r+"`, expected a single ReactElement.")}),elementType:y(function(t,e,n,i,o){var u=t[e];return r.isValidElementType(u)?null:new d("Invalid "+i+" `"+o+"` of type `"+g(u)+"` supplied to `"+n+"`, expected a single ReactElement type.")}),instanceOf:function(t){return y(function(e,n,r,i,o){if(!(e[n]instanceof t)){var u=t.name||l;return new d("Invalid "+i+" `"+o+"` of type `"+function(t){if(!t.constructor||!t.constructor.name)return l;return t.constructor.name}(e[n])+"` supplied to `"+r+"`, expected instance of `"+u+"`.")}return null})},node:y(function(t,e,n,r,i){return v(t[e])?null:new d("Invalid "+r+" `"+i+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(t){return y(function(e,n,r,i,u){if("function"!=typeof t)return new d("Property `"+u+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=e[n],c=g(a);if("object"!==c)return new d("Invalid "+i+" `"+u+"` of type `"+c+"` supplied to `"+r+"`, expected an object.");for(var f in a)if(s(a,f)){var l=t(a,f,r,i,u+"."+f,o);if(l instanceof Error)return l}return null})},oneOf:function(t){if(!Array.isArray(t))return c;return y(function(e,n,r,i,o){for(var u=e[n],s=0;s<t.length;s++)if(p(u,t[s]))return null;var a=JSON.stringify(t,function(t,e){return"symbol"===M(e)?String(e):e});return new d("Invalid "+i+" `"+o+"` of value `"+String(u)+"` supplied to `"+r+"`, expected one of "+a+".")})},oneOfType:function(t){if(!Array.isArray(t))return c;for(var e=0;e<t.length;e++){var n=t[e];if("function"!=typeof n)return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+_(n)+" at index "+e+"."),c}return y(function(e,n,r,i,u){for(var s=0;s<t.length;s++){if(null==(0,t[s])(e,n,r,i,u,o))return null}return new d("Invalid "+i+" `"+u+"` supplied to `"+r+"`.")})},shape:function(t){return y(function(e,n,r,i,u){var s=e[n],a=g(s);if("object"!==a)return new d("Invalid "+i+" `"+u+"` of type `"+a+"` supplied to `"+r+"`, expected `object`.");for(var c in t){var f=t[c];if(f){var l=f(s,c,r,i,u+"."+c,o);if(l)return l}}return null})},exact:function(t){return y(function(e,n,r,u,s){var a=e[n],c=g(a);if("object"!==c)return new d("Invalid "+u+" `"+s+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var f=i({},e[n],t);for(var l in f){var h=t[l];if(!h)return new d("Invalid "+u+" `"+s+"` key `"+l+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(e[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(t),null," "));var p=h(a,l,r,u,s+"."+l,o);if(p)return p}return null})}};function p(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function d(t){this.message=t,this.stack=""}function y(t){function n(n,r,i,u,s,a,c){if((u=u||l,a=a||i,c!==o)&&e){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}return null==r[i]?n?null===r[i]?new d("The "+s+" `"+a+"` is marked as required in `"+u+"`, but its value is `null`."):new d("The "+s+" `"+a+"` is marked as required in `"+u+"`, but its value is `undefined`."):null:t(r,i,u,s,a)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function w(t){return y(function(e,n,r,i,o,u){var s=e[n];return g(s)!==t?new d("Invalid "+i+" `"+o+"` of type `"+M(s)+"` supplied to `"+r+"`, expected `"+t+"`."):null})}function v(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(v);if(null===e||t(e))return!0;var r=function(t){var e=t&&(n&&t[n]||t[f]);if("function"==typeof e)return e}(e);if(!r)return!1;var i,o=r.call(e);if(r!==e.entries){for(;!(i=o.next()).done;)if(!v(i.value))return!1}else for(;!(i=o.next()).done;){var u=i.value;if(u&&!v(u[1]))return!1}return!0;default:return!1}}function g(t){var e=typeof t;return Array.isArray(t)?"array":t instanceof RegExp?"object":function(t,e){return"symbol"===t||!!e&&("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)}(e,t)?"symbol":e}function M(t){if(null==t)return""+t;var e=g(t);if("object"===e){if(t instanceof Date)return"date";if(t instanceof RegExp)return"regexp"}return e}function _(t){var e=M(t);switch(e){case"array":case"object":return"an "+e;case"boolean":case"date":case"regexp":return"a "+e;default:return e}}return d.prototype=Error.prototype,h.checkPropTypes=u,h.resetWarningCache=u.resetWarningCache,h.PropTypes=h,h}},function(t,e,n){"use strict";t.exports=n(230)},function(t,e,n){"use strict"; +/** @license React v16.8.6 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&Symbol.for,i=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,u=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,a=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,f=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,h=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.memo"):60115,w=r?Symbol.for("react.lazy"):60116;function v(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case i:switch(t=t.type){case l:case h:case u:case a:case s:case d:return t;default:switch(t=t&&t.$$typeof){case f:case p:case c:return t;default:return e}}case w:case y:case o:return e}}}function g(t){return v(t)===h}e.typeOf=v,e.AsyncMode=l,e.ConcurrentMode=h,e.ContextConsumer=f,e.ContextProvider=c,e.Element=i,e.ForwardRef=p,e.Fragment=u,e.Lazy=w,e.Memo=y,e.Portal=o,e.Profiler=a,e.StrictMode=s,e.Suspense=d,e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===u||t===h||t===a||t===s||t===d||"object"==typeof t&&null!==t&&(t.$$typeof===w||t.$$typeof===y||t.$$typeof===c||t.$$typeof===f||t.$$typeof===p)},e.isAsyncMode=function(t){return g(t)||v(t)===l},e.isConcurrentMode=g,e.isContextConsumer=function(t){return v(t)===f},e.isContextProvider=function(t){return v(t)===c},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===i},e.isForwardRef=function(t){return v(t)===p},e.isFragment=function(t){return v(t)===u},e.isLazy=function(t){return v(t)===w},e.isMemo=function(t){return v(t)===y},e.isPortal=function(t){return v(t)===o},e.isProfiler=function(t){return v(t)===a},e.isStrictMode=function(t){return v(t)===s},e.isSuspense=function(t){return v(t)===d}},function(t,e,n){"use strict";function r(t,e,n,r,i){}r.resetWarningCache=function(){0},t.exports=r},function(t,e,n){"use strict";t.exports="15.6.2"},function(t,e,n){"use strict";var r=n(126).Component,i=n(32).isValidElement,o=n(127),u=n(234);t.exports=u(r,i,o)},function(t,e,n){"use strict";var r=n(40),i=n(130),o=n(41),u="mixins";t.exports=function(t,e,n){var s=[],a={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},c={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},f={displayName:function(t,e){t.displayName=e},mixins:function(t,e){if(e)for(var n=0;n<e.length;n++)h(t,e[n])},childContextTypes:function(t,e){t.childContextTypes=r({},t.childContextTypes,e)},contextTypes:function(t,e){t.contextTypes=r({},t.contextTypes,e)},getDefaultProps:function(t,e){t.getDefaultProps?t.getDefaultProps=d(t.getDefaultProps,e):t.getDefaultProps=e},propTypes:function(t,e){t.propTypes=r({},t.propTypes,e)},statics:function(t,e){!function(t,e){if(!e)return;for(var n in e){var r=e[n];if(e.hasOwnProperty(n)){if(o(!(n in f),'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n),n in t){var i=c.hasOwnProperty(n)?c[n]:null;return o("DEFINE_MANY_MERGED"===i,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),void(t[n]=d(t[n],r))}t[n]=r}}}(t,e)},autobind:function(){}};function l(t,e){var n=a.hasOwnProperty(e)?a[e]:null;M.hasOwnProperty(e)&&o("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",e),t&&o("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",e)}function h(t,n){if(n){o("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),o(!e(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=t.prototype,i=r.__reactAutoBindPairs;for(var s in n.hasOwnProperty(u)&&f.mixins(t,n.mixins),n)if(n.hasOwnProperty(s)&&s!==u){var c=n[s],h=r.hasOwnProperty(s);if(l(h,s),f.hasOwnProperty(s))f[s](t,c);else{var p=a.hasOwnProperty(s);if("function"==typeof c&&!p&&!h&&!1!==n.autobind)i.push(s,c),r[s]=c;else if(h){var w=a[s];o(p&&("DEFINE_MANY_MERGED"===w||"DEFINE_MANY"===w),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",w,s),"DEFINE_MANY_MERGED"===w?r[s]=d(r[s],c):"DEFINE_MANY"===w&&(r[s]=y(r[s],c))}else r[s]=c}}}else;}function p(t,e){for(var n in o(t&&e&&"object"==typeof t&&"object"==typeof e,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),e)e.hasOwnProperty(n)&&(o(void 0===t[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),t[n]=e[n]);return t}function d(t,e){return function(){var n=t.apply(this,arguments),r=e.apply(this,arguments);if(null==n)return r;if(null==r)return n;var i={};return p(i,n),p(i,r),i}}function y(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function w(t,e){return e.bind(t)}var v={componentDidMount:function(){this.__isMounted=!0}},g={componentWillUnmount:function(){this.__isMounted=!1}},M={replaceState:function(t,e){this.updater.enqueueReplaceState(this,t,e)},isMounted:function(){return!!this.__isMounted}},_=function(){};return r(_.prototype,t.prototype,M),function(t){var e=function(t,r,u){this.__reactAutoBindPairs.length&&function(t){for(var e=t.__reactAutoBindPairs,n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t[r]=w(t,i)}}(this),this.props=t,this.context=r,this.refs=i,this.updater=u||n,this.state=null;var s=this.getInitialState?this.getInitialState():null;o("object"==typeof s&&!Array.isArray(s),"%s.getInitialState(): must return an object or null",e.displayName||"ReactCompositeComponent"),this.state=s};for(var r in e.prototype=new _,e.prototype.constructor=e,e.prototype.__reactAutoBindPairs=[],s.forEach(h.bind(null,e)),h(e,v),h(e,t),h(e,g),e.getDefaultProps&&(e.defaultProps=e.getDefaultProps()),o(e.prototype.render,"createClass(...): Class specification must implement a `render` method."),a)e.prototype[r]||(e.prototype[r]=null);return e}}},function(t,e,n){"use strict";var r=n(56),i=n(32);n(41);t.exports=function(t){return i.isValidElement(t)||r("143"),t}},function(t,e,n){"use strict";var r=n(133);function i(){}function o(){}o.resetWarningCache=i,t.exports=function(){function t(t,e,n,i,o,u){if(u!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(t,e,n){"use strict";e.byteLength=function(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){for(var e,n=c(t),r=n[0],u=n[1],s=new o(function(t,e,n){return 3*(e+n)/4-n}(0,r,u)),a=0,f=u>0?r-4:r,l=0;l<f;l+=4)e=i[t.charCodeAt(l)]<<18|i[t.charCodeAt(l+1)]<<12|i[t.charCodeAt(l+2)]<<6|i[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=255&e;2===u&&(e=i[t.charCodeAt(l)]<<2|i[t.charCodeAt(l+1)]>>4,s[a++]=255&e);1===u&&(e=i[t.charCodeAt(l)]<<10|i[t.charCodeAt(l+1)]<<4|i[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=255&e);return s},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],u=0,s=n-i;u<s;u+=16383)o.push(f(t,u,u+16383>s?s:u+16383));1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=u.length;s<a;++s)r[s]=u[s],i[u.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function f(t,e,n){for(var i,o,u=[],s=e;s<n;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),u.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return u.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,r,i){var o,u,s=8*i-r-1,a=(1<<s)-1,c=a>>1,f=-7,l=n?i-1:0,h=n?-1:1,p=t[e+l];for(l+=h,o=p&(1<<-f)-1,p>>=-f,f+=s;f>0;o=256*o+t[e+l],l+=h,f-=8);for(u=o&(1<<-f)-1,o>>=-f,f+=r;f>0;u=256*u+t[e+l],l+=h,f-=8);if(0===o)o=1-c;else{if(o===a)return u?NaN:1/0*(p?-1:1);u+=Math.pow(2,r),o-=c}return(p?-1:1)*u*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var u,s,a,c=8*o-i-1,f=(1<<c)-1,l=f>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,u=f):(u=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-u))<1&&(u--,a*=2),(e+=u+l>=1?h/a:h*Math.pow(2,1-l))*a>=2&&(u++,a/=2),u+l>=f?(s=0,u=f):u+l>=1?(s=(e*a-1)*Math.pow(2,i),u+=l):(s=e*Math.pow(2,l-1)*Math.pow(2,i),u=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(u=u<<i|s,c+=i;c>0;t[n+p]=255&u,p+=d,u/=256,c-=8);t[n+p-d]|=128*y}},function(t,e,n){var r=n(4),i=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return i.stringify.apply(i,arguments)}},function(t,e,n){var r=n(2);t.exports=function(t){if(r(t))return t}},function(t,e,n){n(242),t.exports=n(4).Array.isArray},function(t,e,n){var r=n(15);r(r.S,"Array",{isArray:n(121)})},function(t,e,n){var r=n(103);t.exports=function(t,e){var n=[],i=!0,o=!1,u=void 0;try{for(var s,a=r(t);!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,u=t}finally{try{i||null==a.return||a.return()}finally{if(o)throw u}}return n}},function(t,e,n){n(120),n(114),t.exports=n(245)},function(t,e,n){var r=n(28),i=n(246);t.exports=n(4).getIterator=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},function(t,e,n){var r=n(247),i=n(17)("iterator"),o=n(52);t.exports=n(4).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){var r=n(80),i=n(17)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(t,e,n){n(250),t.exports=n(4).Object.assign},function(t,e,n){var r=n(15);r(r.S+r.F,"Object",{assign:n(251)})},function(t,e,n){"use strict";var r=n(39),i=n(87),o=n(55),u=n(54),s=n(118),a=Object.assign;t.exports=!a||n(30)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=a({},t)[n]||Object.keys(a({},e)).join("")!=r})?function(t,e){for(var n=u(t),a=arguments.length,c=1,f=i.f,l=o.f;a>c;)for(var h,p=s(arguments[c++]),d=f?r(p).concat(f(p)):r(p),y=d.length,w=0;y>w;)l.call(p,h=d[w++])&&(n[h]=p[h]);return n}:a},function(t,e,n){n(253),t.exports=n(4).Object.keys},function(t,e,n){var r=n(54),i=n(39);n(124)("keys",function(){return function(t){return i(r(t))}})},function(t,e,n){var r=n(42),i=n(104);t.exports=function(t){return i(r(t).toLowerCase())}},function(t,e,n){var r=n(58),i=n(256),o=n(12),u=n(59),s=1/0,a=r?r.prototype:void 0,c=a?a.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(u(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-s?"-0":n}},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},function(t,e,n){var r=n(58),i=Object.prototype,o=i.hasOwnProperty,u=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=u.call(t);return r&&(e?t[s]=n:delete t[s]),i}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r=n(260),i=n(137),o=n(262),u=n(42);t.exports=function(t){return function(e){e=u(e);var n=i(e)?o(e):void 0,s=n?n[0]:e.charAt(0),a=n?r(n,1).join(""):e.slice(1);return s[t]()+a}}},function(t,e,n){var r=n(261);t.exports=function(t,e,n){var i=t.length;return n=void 0===n?i:n,!e&&n>=i?t:r(t,e,n)}},function(t,e){t.exports=function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}},function(t,e,n){var r=n(263),i=n(137),o=n(264);t.exports=function(t){return i(t)?o(t):r(t)}},function(t,e){t.exports=function(t){return t.split("")}},function(t,e){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^\\ud800-\\udfff]",u="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",a="(?:"+r+"|"+i+")"+"?",c="[\\ufe0e\\ufe0f]?"+a+("(?:\\u200d(?:"+[o,u,s].join("|")+")[\\ufe0e\\ufe0f]?"+a+")*"),f="(?:"+[o+r+"?",r,u,s,n].join("|")+")",l=RegExp(i+"(?="+i+")|"+f+c,"g");t.exports=function(t){return t.match(l)||[]}},function(t,e,n){var r=n(266),i=n(267),o=n(270),u=RegExp("['’]","g");t.exports=function(t){return function(e){return r(o(i(e).replace(u,"")),t,"")}}},function(t,e){t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}},function(t,e,n){var r=n(268),i=n(42),o=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,u=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");t.exports=function(t){return(t=i(t))&&t.replace(o,r).replace(u,"")}},function(t,e,n){var r=n(269)({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"});t.exports=r},function(t,e){t.exports=function(t){return function(e){return null==t?void 0:t[e]}}},function(t,e,n){var r=n(271),i=n(272),o=n(42),u=n(273);t.exports=function(t,e,n){return t=o(t),void 0===(e=n?void 0:e)?i(t)?u(t):r(t):t.match(e)||[]}},function(t,e){var n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;t.exports=function(t){return t.match(n)||[]}},function(t,e){var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;t.exports=function(t){return n.test(t)}},function(t,e){var n="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",r="["+n+"]",i="\\d+",o="[\\u2700-\\u27bf]",u="[a-z\\xdf-\\xf6\\xf8-\\xff]",s="[^\\ud800-\\udfff"+n+i+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",c="[\\ud800-\\udbff][\\udc00-\\udfff]",f="[A-Z\\xc0-\\xd6\\xd8-\\xde]",l="(?:"+u+"|"+s+")",h="(?:"+f+"|"+s+")",p="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",d="[\\ufe0e\\ufe0f]?"+p+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",a,c].join("|")+")[\\ufe0e\\ufe0f]?"+p+")*"),y="(?:"+[o,a,c].join("|")+")"+d,w=RegExp([f+"?"+u+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[r,f,"$"].join("|")+")",h+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[r,f+l,"$"].join("|")+")",f+"?"+l+"+(?:['’](?:d|ll|m|re|s|t|ve))?",f+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",i,y].join("|"),"g");t.exports=function(t){return t.match(w)||[]}},function(t,e,n){var r=n(275),i=n(61),o=n(90);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(t,e,n){var r=n(276),i=n(281),o=n(282),u=n(283),s=n(284);function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}a.prototype.clear=r,a.prototype.delete=i,a.prototype.get=o,a.prototype.has=u,a.prototype.set=s,t.exports=a},function(t,e,n){var r=n(60);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(t,e,n){var r=n(138),i=n(278),o=n(45),u=n(139),s=/^\[object .+?Constructor\]$/,a=Function.prototype,c=Object.prototype,f=a.toString,l=c.hasOwnProperty,h=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?h:s).test(u(t))}},function(t,e,n){var r,i=n(279),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},function(t,e,n){var r=n(11)["__core-js_shared__"];t.exports=r},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},function(t,e,n){var r=n(60),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return n===i?void 0:n}return o.call(e,t)?e[t]:void 0}},function(t,e,n){var r=n(60),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},function(t,e,n){var r=n(60),i="__lodash_hash_undefined__";t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?i:e,this}},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(62),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():i.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(62);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(62);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(62);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(63);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},function(t,e,n){var r=n(63);t.exports=function(t){return r(this,t).get(t)}},function(t,e,n){var r=n(63);t.exports=function(t){return r(this,t).has(t)}},function(t,e,n){var r=n(63);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},function(t,e,n){var r=n(91),i=n(65),o=n(64);t.exports=function(t){return function(e,n,u){var s=Object(e);if(!i(e)){var a=r(n,3);e=o(e),n=function(t){return a(s[t],t,s)}}var c=t(e,n,u);return c>-1?s[a?e[c]:c]:void 0}}},function(t,e,n){var r=n(297),i=n(335),o=n(149);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},function(t,e,n){var r=n(140),i=n(141),o=1,u=2;t.exports=function(t,e,n,s){var a=n.length,c=a,f=!s;if(null==t)return!c;for(t=Object(t);a--;){var l=n[a];if(f&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++a<c;){var h=(l=n[a])[0],p=t[h],d=l[1];if(f&&l[2]){if(void 0===p&&!(h in t))return!1}else{var y=new r;if(s)var w=s(p,d,h,t,e,y);if(!(void 0===w?i(d,p,o|u,s,y):w))return!1}}return!0}},function(t,e,n){var r=n(61);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(61),i=n(90),o=n(89),u=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<u-1)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(140),i=n(142),o=n(308),u=n(312),s=n(330),a=n(12),c=n(145),f=n(147),l=1,h="[object Arguments]",p="[object Array]",d="[object Object]",y=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,w,v,g){var M=a(t),_=a(e),m=M?p:s(t),L=_?p:s(e),b=(m=m==h?d:m)==d,j=(L=L==h?d:L)==d,x=m==L;if(x&&c(t)){if(!c(e))return!1;M=!0,b=!1}if(x&&!b)return g||(g=new r),M||f(t)?i(t,e,n,w,v,g):o(t,e,m,n,w,v,g);if(!(n&l)){var N=b&&y.call(t,"__wrapped__"),S=j&&y.call(e,"__wrapped__");if(N||S){var D=N?t.value():t,I=S?e.value():e;return g||(g=new r),v(D,I,n,w,g)}}return!!x&&(g||(g=new r),u(t,e,n,w,v,g))}},function(t,e,n){var r=n(89),i=n(305),o=n(306);function u(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e<n;)this.add(t[e])}u.prototype.add=u.prototype.push=i,u.prototype.has=o,t.exports=u},function(t,e){var n="__lodash_hash_undefined__";t.exports=function(t){return this.__data__.set(t,n),this}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e){t.exports=function(t,e){return t.has(e)}},function(t,e,n){var r=n(58),i=n(309),o=n(38),u=n(142),s=n(310),a=n(311),c=1,f=2,l="[object Boolean]",h="[object Date]",p="[object Error]",d="[object Map]",y="[object Number]",w="[object RegExp]",v="[object Set]",g="[object String]",M="[object Symbol]",_="[object ArrayBuffer]",m="[object DataView]",L=r?r.prototype:void 0,b=L?L.valueOf:void 0;t.exports=function(t,e,n,r,L,j,x){switch(n){case m:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case _:return!(t.byteLength!=e.byteLength||!j(new i(t),new i(e)));case l:case h:case y:return o(+t,+e);case p:return t.name==e.name&&t.message==e.message;case w:case g:return t==e+"";case d:var N=s;case v:var S=r&c;if(N||(N=a),t.size!=e.size&&!S)return!1;var D=x.get(t);if(D)return D==e;r|=f,x.set(t,e);var I=u(N(t),N(e),r,L,j,x);return x.delete(t),I;case M:if(b)return b.call(t)==b.call(e)}return!1}},function(t,e,n){var r=n(11).Uint8Array;t.exports=r},function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}},function(t,e,n){var r=n(313),i=1,o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,u,s,a){var c=n&i,f=r(t),l=f.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var p=f[h];if(!(c?p in e:o.call(e,p)))return!1}var d=a.get(t);if(d&&a.get(e))return d==e;var y=!0;a.set(t,e),a.set(e,t);for(var w=c;++h<l;){var v=t[p=f[h]],g=e[p];if(u)var M=c?u(g,v,p,e,t,a):u(v,g,p,t,e,a);if(!(void 0===M?v===g||s(v,g,n,u,a):M)){y=!1;break}w||(w="constructor"==p)}if(y&&!w){var _=t.constructor,m=e.constructor;_!=m&&"constructor"in t&&"constructor"in e&&!("function"==typeof _&&_ instanceof _&&"function"==typeof m&&m instanceof m)&&(y=!1)}return a.delete(t),a.delete(e),y}},function(t,e,n){var r=n(314),i=n(316),o=n(64);t.exports=function(t){return r(t,o,i)}},function(t,e,n){var r=n(315),i=n(12);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},function(t,e,n){var r=n(317),i=n(318),o=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols,s=u?function(t){return null==t?[]:(t=Object(t),r(u(t),function(e){return o.call(t,e)}))}:i;t.exports=s},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var u=t[n];e(u,n,t)&&(o[i++]=u)}return o}},function(t,e){t.exports=function(){return[]}},function(t,e,n){var r=n(320),i=n(144),o=n(12),u=n(145),s=n(92),a=n(147),c=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),f=!n&&i(t),l=!n&&!f&&u(t),h=!n&&!f&&!l&&a(t),p=n||f||l||h,d=p?r(t.length,String):[],y=d.length;for(var w in t)!e&&!c.call(t,w)||p&&("length"==w||l&&("offset"==w||"parent"==w)||h&&("buffer"==w||"byteLength"==w||"byteOffset"==w)||s(w,y))||d.push(w);return d}},function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},function(t,e,n){var r=n(43),i=n(44),o="[object Arguments]";t.exports=function(t){return i(t)&&r(t)==o}},function(t,e){t.exports=function(){return!1}},function(t,e,n){var r=n(43),i=n(93),o=n(44),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!u[r(t)]}},function(t,e){t.exports=function(t){return function(e){return t(e)}}},function(t,e,n){(function(t){var r=n(136),i=e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,u=o&&o.exports===i&&r.process,s=function(){try{var t=o&&o.require&&o.require("util").types;return t||u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=s}).call(this,n(146)(t))},function(t,e,n){var r=n(327),i=n(328),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},function(t,e,n){var r=n(329)(Object.keys,Object);t.exports=r},function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},function(t,e,n){var r=n(331),i=n(90),o=n(332),u=n(333),s=n(334),a=n(43),c=n(139),f=c(r),l=c(i),h=c(o),p=c(u),d=c(s),y=a;(r&&"[object DataView]"!=y(new r(new ArrayBuffer(1)))||i&&"[object Map]"!=y(new i)||o&&"[object Promise]"!=y(o.resolve())||u&&"[object Set]"!=y(new u)||s&&"[object WeakMap]"!=y(new s))&&(y=function(t){var e=a(t),n="[object Object]"==e?t.constructor:void 0,r=n?c(n):"";if(r)switch(r){case f:return"[object DataView]";case l:return"[object Map]";case h:return"[object Promise]";case p:return"[object Set]";case d:return"[object WeakMap]"}return e}),t.exports=y},function(t,e,n){var r=n(33)(n(11),"DataView");t.exports=r},function(t,e,n){var r=n(33)(n(11),"Promise");t.exports=r},function(t,e,n){var r=n(33)(n(11),"Set");t.exports=r},function(t,e,n){var r=n(33)(n(11),"WeakMap");t.exports=r},function(t,e,n){var r=n(148),i=n(64);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var o=e[n],u=t[o];e[n]=[o,u,r(u)]}return e}},function(t,e,n){var r=n(141),i=n(337),o=n(340),u=n(94),s=n(148),a=n(149),c=n(66),f=1,l=2;t.exports=function(t,e){return u(t)&&s(e)?a(c(t),e):function(n){var u=i(n,t);return void 0===u&&u===e?o(n,t):r(e,u,f|l)}}},function(t,e,n){var r=n(150);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},function(t,e,n){var r=n(339),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,u=r(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)}),e});t.exports=u},function(t,e,n){var r=n(105),i=500;t.exports=function(t){var e=r(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}},function(t,e,n){var r=n(341),i=n(342);t.exports=function(t,e){return null!=t&&i(t,e,r)}},function(t,e){t.exports=function(t,e){return null!=t&&e in Object(t)}},function(t,e,n){var r=n(151),i=n(144),o=n(12),u=n(92),s=n(93),a=n(66);t.exports=function(t,e,n){for(var c=-1,f=(e=r(e,t)).length,l=!1;++c<f;){var h=a(e[c]);if(!(l=null!=t&&n(t,h)))break;t=t[h]}return l||++c!=f?l:!!(f=null==t?0:t.length)&&s(f)&&u(h,f)&&(o(t)||i(t))}},function(t,e){t.exports=function(t){return t}},function(t,e,n){var r=n(345),i=n(346),o=n(94),u=n(66);t.exports=function(t){return o(t)?r(u(t)):i(t)}},function(t,e){t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},function(t,e,n){var r=n(150);t.exports=function(t){return function(e){return r(e,t)}}},function(t,e,n){var r=n(348),i=n(91),o=n(349),u=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var a=null==n?0:o(n);return a<0&&(a=u(s+a,0)),r(t,i(e,3),a)}},function(t,e){t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}},function(t,e,n){var r=n(350);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},function(t,e,n){var r=n(351),i=1/0,o=17976931348623157e292;t.exports=function(t){return t?(t=r(t))===i||t===-i?(t<0?-1:1)*o:t==t?t:0:0===t?t:0}},function(t,e,n){var r=n(45),i=n(59),o=NaN,u=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,c=/^0o[0-7]+$/i,f=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return o;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(u,"");var n=a.test(t);return n||c.test(t)?f(t.slice(2),n?2:8):s.test(t)?o:+t}},function(t,e,n){var r=n(353);t.exports=function(t,e){var n;return r(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}},function(t,e,n){var r=n(354),i=n(357)(r);t.exports=i},function(t,e,n){var r=n(355),i=n(64);t.exports=function(t,e){return t&&r(t,e,i)}},function(t,e,n){var r=n(356)();t.exports=r},function(t,e){t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),u=r(e),s=u.length;s--;){var a=u[t?s:++i];if(!1===n(o[a],a,o))break}return e}}},function(t,e,n){var r=n(65);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var o=n.length,u=e?o:-1,s=Object(n);(e?u--:++u<o)&&!1!==i(s[u],u,s););return n}}},function(t,e,n){var r=n(38),i=n(65),o=n(92),u=n(45);t.exports=function(t,e,n){if(!u(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},function(t,e){var n={"&":"&amp;",'"':"&quot;","'":"&apos;","<":"&lt;",">":"&gt;"};t.exports=function(t){return t&&t.replace?t.replace(/([&"<>'])/g,function(t,e){return n[e]}):t}},function(t,e,n){t.exports=i;var r=n(95).EventEmitter;function i(){r.call(this)}n(7)(i,r),i.Readable=n(96),i.Writable=n(367),i.Duplex=n(368),i.Transform=n(369),i.PassThrough=n(370),i.Stream=i,i.prototype.pipe=function(t,e){var n=this;function i(e){t.writable&&!1===t.write(e)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(n.on("end",s),n.on("close",a));var u=!1;function s(){u||(u=!0,t.end())}function a(){u||(u=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(f(),0===r.listenerCount(this,"error"))throw t}function f(){n.removeListener("data",i),t.removeListener("drain",o),n.removeListener("end",s),n.removeListener("close",a),n.removeListener("error",c),t.removeListener("error",c),n.removeListener("end",f),n.removeListener("close",f),t.removeListener("close",f)}return n.on("error",c),t.on("error",c),n.on("end",f),n.on("close",f),t.on("close",f),t.emit("pipe",n),t}},function(t,e){},function(t,e,n){"use strict";var r=n(8).Buffer,i=n(363);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i,o=r.allocUnsafe(t>>>0),u=this.head,s=0;u;)e=u.data,n=o,i=s,e.copy(n,i),s+=u.data.length,u=u.next;return o},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var r,i,o,u,s,a=1,c={},f=!1,l=t.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(t);h=h&&h.setTimeout?h:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick(function(){d(t)})}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){d(t.data)},r=function(t){o.port2.postMessage(t)}):l&&"onreadystatechange"in l.createElement("script")?(i=l.documentElement,r=function(t){var e=l.createElement("script");e.onreadystatechange=function(){d(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(d,0,t)}:(u="setImmediate$"+Math.random()+"$",s=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(u)&&d(+e.data.slice(u.length))},t.addEventListener?t.addEventListener("message",s,!1):t.attachEvent("onmessage",s),r=function(e){t.postMessage(u+e,"*")}),h.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var i={callback:t,args:e};return c[a]=i,r(a),a++},h.clearImmediate=p}function p(t){delete c[t]}function d(t){if(f)setTimeout(d,0,t);else{var e=c[t];if(e){f=!0;try{!function(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}(e)}finally{p(t),f=!1}}}}}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,n(10),n(22))},function(t,e,n){(function(e){function n(t){try{if(!e.localStorage)return!1}catch(t){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}}).call(this,n(10))},function(t,e,n){"use strict";t.exports=o;var r=n(157),i=n(46);function o(t){if(!(this instanceof o))return new o(t);r.call(this,t)}i.inherits=n(7),i.inherits(o,r),o.prototype._transform=function(t,e,n){n(null,t)}},function(t,e,n){t.exports=n(97)},function(t,e,n){t.exports=n(23)},function(t,e,n){t.exports=n(96).Transform},function(t,e,n){t.exports=n(96).PassThrough},function(t,e,n){"use strict";var r=n(372),i=Math.abs,o=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?r(t)*o(i(t)):t}},function(t,e,n){"use strict";t.exports=n(373)()?Math.sign:n(374)},function(t,e,n){"use strict";t.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},function(t,e,n){"use strict";t.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},function(t,e,n){"use strict";var r=n(18),i=n(68),o=n(26),u=n(377),s=n(160);t.exports=function t(e){var n,a,c;if(r(e),(n=Object(arguments[1])).async&&n.promise)throw new Error("Options 'async' and 'promise' cannot be used together");return hasOwnProperty.call(e,"__memoized__")&&!n.force?e:(a=s(n.length,e.length,n.async&&o.async),c=u(e,a,n),i(o,function(t,e){n[e]&&t(n[e],c,n)}),t.__profiler__&&t.__profiler__(c),c.updateEnv(),c.memoized)}},function(t,e,n){"use strict";var r=n(18),i=n(34),o=Function.prototype.bind,u=Function.prototype.call,s=Object.keys,a=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(n,c){var f,l=arguments[2],h=arguments[3];return n=Object(i(n)),r(c),f=s(n),h&&f.sort("function"==typeof h?o.call(h,n):void 0),"function"!=typeof t&&(t=f[t]),u.call(t,f,function(t,r){return a.call(n,t)?u.call(c,l,n[t],t,n,r):e})}}},function(t,e,n){"use strict";var r=n(378),i=n(162),o=n(69),u=n(388).methods,s=n(389),a=n(401),c=Function.prototype.apply,f=Function.prototype.call,l=Object.create,h=Object.defineProperties,p=u.on,d=u.emit;t.exports=function(t,e,n){var u,y,w,v,g,M,_,m,L,b,j,x,N,S,D,I=l(null);return y=!1!==e?e:isNaN(t.length)?1:t.length,n.normalizer&&(b=a(n.normalizer),w=b.get,v=b.set,g=b.delete,M=b.clear),null!=n.resolvers&&(D=s(n.resolvers)),S=w?i(function(e){var n,i,o=arguments;if(D&&(o=D(o)),null!==(n=w(o))&&hasOwnProperty.call(I,n))return j&&u.emit("get",n,o,this),I[n];if(i=1===o.length?f.call(t,this,o[0]):c.call(t,this,o),null===n){if(null!==(n=w(o)))throw r("Circular invocation","CIRCULAR_INVOCATION");n=v(o)}else if(hasOwnProperty.call(I,n))throw r("Circular invocation","CIRCULAR_INVOCATION");return I[n]=i,x&&u.emit("set",n,null,i),i},y):0===e?function(){var e;if(hasOwnProperty.call(I,"data"))return j&&u.emit("get","data",arguments,this),I.data;if(e=arguments.length?c.call(t,this,arguments):f.call(t,this),hasOwnProperty.call(I,"data"))throw r("Circular invocation","CIRCULAR_INVOCATION");return I.data=e,x&&u.emit("set","data",null,e),e}:function(e){var n,i,o=arguments;if(D&&(o=D(arguments)),i=String(o[0]),hasOwnProperty.call(I,i))return j&&u.emit("get",i,o,this),I[i];if(n=1===o.length?f.call(t,this,o[0]):c.call(t,this,o),hasOwnProperty.call(I,i))throw r("Circular invocation","CIRCULAR_INVOCATION");return I[i]=n,x&&u.emit("set",i,null,n),n},u={original:t,memoized:S,profileName:n.profileName,get:function(t){return D&&(t=D(t)),w?w(t):String(t[0])},has:function(t){return hasOwnProperty.call(I,t)},delete:function(t){var e;hasOwnProperty.call(I,t)&&(g&&g(t),e=I[t],delete I[t],N&&u.emit("delete",t,e))},clear:function(){var t=I;M&&M(),I=l(null),u.emit("clear",t)},on:function(t,e){return"get"===t?j=!0:"set"===t?x=!0:"delete"===t&&(N=!0),p.call(this,t,e)},emit:d,updateEnv:function(){t=u.original}},_=w?i(function(t){var e,n=arguments;D&&(n=D(n)),null!==(e=w(n))&&u.delete(e)},y):0===e?function(){return u.delete("data")}:function(t){return D&&(t=D(arguments)[0]),u.delete(t)},m=i(function(){var t,n=arguments;return 0===e?I.data:(D&&(n=D(n)),t=w?w(n):String(n[0]),I[t])}),L=i(function(){var t,n=arguments;return 0===e?u.has("data"):(D&&(n=D(n)),null!==(t=w?w(n):String(n[0]))&&u.has(t))}),h(S,{__memoized__:o(!0),delete:o(_),clear:o(u.clear),_get:o(m),_has:o(L)}),u}},function(t,e,n){"use strict";var r=n(161),i=n(384),o=n(24),u=Error.captureStackTrace;e=t.exports=function(t){var n=new Error(t),s=arguments[1],a=arguments[2];return o(a)||i(s)&&(a=s,s=null),o(a)&&r(n,a),o(s)&&(n.code=s),u&&u(n,e),n}},function(t,e,n){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},function(t,e,n){"use strict";var r=n(381),i=n(34),o=Math.max;t.exports=function(t,e){var n,u,s,a=o(arguments.length,2);for(t=Object(i(t)),s=function(r){try{t[r]=e[r]}catch(t){n||(n=t)}},u=1;u<a;++u)e=arguments[u],r(e).forEach(s);if(void 0!==n)throw n;return t}},function(t,e,n){"use strict";t.exports=n(382)()?Object.keys:n(383)},function(t,e,n){"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},function(t,e,n){"use strict";var r=n(24),i=Object.keys;t.exports=function(t){return i(r(t)?Object(t):t)}},function(t,e,n){"use strict";var r=n(24),i={function:!0,object:!0};t.exports=function(t){return r(t)&&i[typeof t]||!1}},function(t,e,n){"use strict";t.exports=n(386)()?String.prototype.contains:n(387)},function(t,e,n){"use strict";var r="razdwatrzy";t.exports=function(){return"function"==typeof r.contains&&(!0===r.contains("dwa")&&!1===r.contains("foo"))}},function(t,e,n){"use strict";var r=String.prototype.indexOf;t.exports=function(t){return r.call(this,t,arguments[1])>-1}},function(t,e,n){"use strict";var r,i,o,u,s,a,c,f=n(69),l=n(18),h=Function.prototype.apply,p=Function.prototype.call,d=Object.create,y=Object.defineProperty,w=Object.defineProperties,v=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};i=function(t,e){var n,i;return l(e),i=this,r.call(this,t,n=function(){o.call(i,t,n),h.call(e,this,arguments)}),n.__eeOnceListener__=e,this},s={on:r=function(t,e){var n;return l(e),v.call(this,"__ee__")?n=this.__ee__:(n=g.value=d(null),y(this,"__ee__",g),g.value=null),n[t]?"object"==typeof n[t]?n[t].push(e):n[t]=[n[t],e]:n[t]=e,this},once:i,off:o=function(t,e){var n,r,i,o;if(l(e),!v.call(this,"__ee__"))return this;if(!(n=this.__ee__)[t])return this;if("object"==typeof(r=n[t]))for(o=0;i=r[o];++o)i!==e&&i.__eeOnceListener__!==e||(2===r.length?n[t]=r[o?0:1]:r.splice(o,1));else r!==e&&r.__eeOnceListener__!==e||delete n[t];return this},emit:u=function(t){var e,n,r,i,o;if(v.call(this,"__ee__")&&(i=this.__ee__[t]))if("object"==typeof i){for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];for(i=i.slice(),e=0;r=i[e];++e)h.call(r,this,o)}else switch(arguments.length){case 1:p.call(i,this);break;case 2:p.call(i,this,arguments[1]);break;case 3:p.call(i,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];h.call(i,this,o)}}},a={on:f(r),once:f(i),off:f(o),emit:f(u)},c=w({},a),t.exports=e=function(t){return null==t?d(c):w(Object(t),a)},e.methods=s},function(t,e,n){"use strict";var r,i=n(390),o=n(24),u=n(18),s=Array.prototype.slice;r=function(t){return this.map(function(e,n){return e?e(t[n]):t[n]}).concat(s.call(t,this.length))},t.exports=function(t){return(t=i(t)).forEach(function(t){o(t)&&u(t)}),r.bind(t)}},function(t,e,n){"use strict";var r=n(99),i=Array.isArray;t.exports=function(t){return i(t)?t:r(t)}},function(t,e,n){"use strict";t.exports=function(){var t,e,n=Array.from;return"function"==typeof n&&(e=n(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},function(t,e,n){"use strict";var r=n(393).iterator,i=n(398),o=n(399),u=n(25),s=n(18),a=n(34),c=n(24),f=n(400),l=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;t.exports=function(t){var e,n,y,w,v,g,M,_,m,L,b=arguments[1],j=arguments[2];if(t=Object(a(t)),c(b)&&s(b),this&&this!==Array&&o(this))e=this;else{if(!b){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((w=new Array(1))[0]=t[0],w);if(l(t)){for(w=new Array(v=t.length),n=0;n<v;++n)w[n]=t[n];return w}}w=[]}if(!l(t))if(void 0!==(m=t[r])){for(M=s(m).call(t),e&&(w=new e),_=M.next(),n=0;!_.done;)L=b?h.call(b,j,_.value,n):_.value,e?(p.value=L,d(w,n,p)):w[n]=L,_=M.next(),++n;v=n}else if(f(t)){for(v=t.length,e&&(w=new e),n=0,y=0;n<v;++n)L=t[n],n+1<v&&(g=L.charCodeAt(0))>=55296&&g<=56319&&(L+=t[++n]),L=b?h.call(b,j,L,y):L,e?(p.value=L,d(w,y,p)):w[y]=L,++y;v=y}if(void 0===v)for(v=u(t.length),e&&(w=new e(v)),n=0;n<v;++n)L=b?h.call(b,j,t[n],n):t[n],e?(p.value=L,d(w,n,p)):w[n]=L;return e&&(p.value=null,w.length=v),w}},function(t,e,n){"use strict";t.exports=n(394)()?Symbol:n(395)},function(t,e,n){"use strict";var r={object:!0,symbol:!0};t.exports=function(){var t;if("function"!=typeof Symbol)return!1;t=Symbol("test symbol");try{String(t)}catch(t){return!1}return!!r[typeof Symbol.iterator]&&(!!r[typeof Symbol.toPrimitive]&&!!r[typeof Symbol.toStringTag])}},function(t,e,n){"use strict";var r,i,o,u,s=n(69),a=n(396),c=Object.create,f=Object.defineProperties,l=Object.defineProperty,h=Object.prototype,p=c(null);if("function"==typeof Symbol){r=Symbol;try{String(r()),u=!0}catch(t){}}var d,y=(d=c(null),function(t){for(var e,n,r=0;d[t+(r||"")];)++r;return d[t+=r||""]=!0,l(h,e="@@"+t,s.gs(null,function(t){n||(n=!0,l(this,e,s(t)),n=!1)})),e});o=function(t){if(this instanceof o)throw new TypeError("Symbol is not a constructor");return i(t)},t.exports=i=function t(e){var n;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return u?r(e):(n=c(o.prototype),e=void 0===e?"":String(e),f(n,{__description__:s("",e),__name__:s("",y(e))}))},f(i,{for:s(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:s(function(t){var e;for(e in a(t),p)if(p[e]===t)return e}),hasInstance:s("",r&&r.hasInstance||i("hasInstance")),isConcatSpreadable:s("",r&&r.isConcatSpreadable||i("isConcatSpreadable")),iterator:s("",r&&r.iterator||i("iterator")),match:s("",r&&r.match||i("match")),replace:s("",r&&r.replace||i("replace")),search:s("",r&&r.search||i("search")),species:s("",r&&r.species||i("species")),split:s("",r&&r.split||i("split")),toPrimitive:s("",r&&r.toPrimitive||i("toPrimitive")),toStringTag:s("",r&&r.toStringTag||i("toStringTag")),unscopables:s("",r&&r.unscopables||i("unscopables"))}),f(o.prototype,{constructor:s(i),toString:s("",function(){return this.__name__})}),f(i.prototype,{toString:s(function(){return"Symbol ("+a(this).__description__+")"}),valueOf:s(function(){return a(this)})}),l(i.prototype,i.toPrimitive,s("",function(){var t=a(this);return"symbol"==typeof t?t:t.toString()})),l(i.prototype,i.toStringTag,s("c","Symbol")),l(o.prototype,i.toStringTag,s("c",i.prototype[i.toStringTag])),l(o.prototype,i.toPrimitive,s("c",i.prototype[i.toPrimitive]))},function(t,e,n){"use strict";var r=n(397);t.exports=function(t){if(!r(t))throw new TypeError(t+" is not a symbol");return t}},function(t,e,n){"use strict";t.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},function(t,e,n){"use strict";var r=Object.prototype.toString,i=r.call(function(){return arguments}());t.exports=function(t){return r.call(t)===i}},function(t,e,n){"use strict";var r=Object.prototype.toString,i=r.call(n(159));t.exports=function(t){return"function"==typeof t&&r.call(t)===i}},function(t,e,n){"use strict";var r=Object.prototype.toString,i=r.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||r.call(t)===i)||!1}},function(t,e,n){"use strict";var r=n(18);t.exports=function(t){var e;return"function"==typeof t?{set:t,get:t}:(e={get:r(t.get)},void 0!==t.set?(e.set=r(t.set),t.delete&&(e.delete=r(t.delete)),t.clear&&(e.clear=r(t.clear)),e):(e.set=e.get,e))}},function(t,e,n){"use strict";t.exports=function(t){var e,n,r=t.length;if(!r)return"";for(e=String(t[n=0]);--r;)e+=""+t[++n];return e}},function(t,e,n){"use strict";t.exports=function(t){return t?function(e){for(var n=String(e[0]),r=0,i=t;--i;)n+=""+e[++r];return n}:function(){return""}}},function(t,e,n){"use strict";var r=n(100),i=Object.create;t.exports=function(){var t=0,e=[],n=i(null);return{get:function(t){var n,i=0,o=e,u=t.length;if(0===u)return o[u]||null;if(o=o[u]){for(;i<u-1;){if(-1===(n=r.call(o[0],t[i])))return null;o=o[1][n],++i}return-1===(n=r.call(o[0],t[i]))?null:o[1][n]||null}return null},set:function(i){var o,u=0,s=e,a=i.length;if(0===a)s[a]=++t;else{for(s[a]||(s[a]=[[],[]]),s=s[a];u<a-1;)-1===(o=r.call(s[0],i[u]))&&(o=s[0].push(i[u])-1,s[1].push([[],[]])),s=s[1][o],++u;-1===(o=r.call(s[0],i[u]))&&(o=s[0].push(i[u])-1),s[1][o]=++t}return n[t]=i,t},delete:function(t){var i,o=0,u=e,s=n[t],a=s.length,c=[];if(0===a)delete u[a];else if(u=u[a]){for(;o<a-1;){if(-1===(i=r.call(u[0],s[o])))return;c.push(u,i),u=u[1][i],++o}if(-1===(i=r.call(u[0],s[o])))return;for(t=u[1][i],u[0].splice(i,1),u[1].splice(i,1);!u[0].length&&c.length;)i=c.pop(),(u=c.pop())[0].splice(i,1),u[1].splice(i,1)}delete n[t]},clear:function(){e=[],n=i(null)}}}},function(t,e,n){"use strict";t.exports=n(406)()?Number.isNaN:n(407)},function(t,e,n){"use strict";t.exports=function(){var t=Number.isNaN;return"function"==typeof t&&(!t({})&&t(NaN)&&!t(34))}},function(t,e,n){"use strict";t.exports=function(t){return t!=t}},function(t,e,n){"use strict";var r=n(100);t.exports=function(){var t=0,e=[],n=[];return{get:function(t){var i=r.call(e,t[0]);return-1===i?null:n[i]},set:function(r){return e.push(r[0]),n.push(++t),t},delete:function(t){var i=r.call(n,t);-1!==i&&(e.splice(i,1),n.splice(i,1))},clear:function(){e=[],n=[]}}}},function(t,e,n){"use strict";var r=n(100),i=Object.create;t.exports=function(t){var e=0,n=[[],[]],o=i(null);return{get:function(e){for(var i,o=0,u=n;o<t-1;){if(-1===(i=r.call(u[0],e[o])))return null;u=u[1][i],++o}return-1===(i=r.call(u[0],e[o]))?null:u[1][i]||null},set:function(i){for(var u,s=0,a=n;s<t-1;)-1===(u=r.call(a[0],i[s]))&&(u=a[0].push(i[s])-1,a[1].push([[],[]])),a=a[1][u],++s;return-1===(u=r.call(a[0],i[s]))&&(u=a[0].push(i[s])-1),a[1][u]=++e,o[e]=i,e},delete:function(e){for(var i,u=0,s=n,a=[],c=o[e];u<t-1;){if(-1===(i=r.call(s[0],c[u])))return;a.push(s,i),s=s[1][i],++u}if(-1!==(i=r.call(s[0],c[u]))){for(e=s[1][i],s[0].splice(i,1),s[1].splice(i,1);!s[0].length&&a.length;)i=a.pop(),(s=a.pop())[0].splice(i,1),s[1].splice(i,1);delete o[e]}},clear:function(){n=[[],[]],o=i(null)}}}},function(t,e,n){"use strict";var r=n(99),i=n(164),o=n(163),u=n(162),s=n(101),a=Array.prototype.slice,c=Function.prototype.apply,f=Object.create;n(26).async=function(t,e){var n,l,h,p=f(null),d=f(null),y=e.memoized,w=e.original;e.memoized=u(function(t){var e=arguments,r=e[e.length-1];return"function"==typeof r&&(n=r,e=a.call(e,0,-1)),y.apply(l=this,h=e)},y);try{o(e.memoized,y)}catch(t){}e.on("get",function(t){var r,i,o;if(n){if(p[t])return"function"==typeof p[t]?p[t]=[p[t],n]:p[t].push(n),void(n=null);r=n,i=l,o=h,n=l=h=null,s(function(){var u;hasOwnProperty.call(d,t)?(u=d[t],e.emit("getasync",t,o,i),c.call(r,u.context,u.args)):(n=r,l=i,h=o,y.apply(i,o))})}}),e.original=function(){var t,i,o,u;return n?(t=r(arguments),i=function t(n){var i,o,a=t.id;if(null!=a){if(delete t.id,i=p[a],delete p[a],i)return o=r(arguments),e.has(a)&&(n?e.delete(a):(d[a]={context:this,args:o},e.emit("setasync",a,"function"==typeof i?1:i.length))),"function"==typeof i?u=c.call(i,this,o):i.forEach(function(t){u=c.call(t,this,o)},this),u}else s(c.bind(t,this,arguments))},o=n,n=l=h=null,t.push(i),u=c.call(w,this,t),i.cb=o,n=i,u):c.call(w,this,arguments)},e.on("set",function(t){n?(p[t]?"function"==typeof p[t]?p[t]=[p[t],n.cb]:p[t].push(n.cb):p[t]=n.cb,delete n.cb,n.id=t,n=null):e.delete(t)}),e.on("delete",function(t){var n;hasOwnProperty.call(p,t)||d[t]&&(n=d[t],delete d[t],e.emit("deleteasync",t,a.call(n.args,1)))}),e.on("clear",function(){var t=d;d=f(null),e.emit("clearasync",i(t,function(t){return a.call(t.args,1)}))})}},function(t,e,n){"use strict";var r=n(164),i=n(412),o=n(413),u=n(415),s=n(165),a=n(101),c=Object.create,f=i("then","then:finally","done","done:finally");n(26).promise=function(t,e){var n=c(null),i=c(null),l=c(null);if(!0===t)t=null;else if(t=o(t),!f[t])throw new TypeError("'"+u(t)+"' is not valid promise mode");e.on("set",function(r,o,u){var c=!1;if(!s(u))return i[r]=u,void e.emit("setasync",r,1);n[r]=1,l[r]=u;var f=function(t){var o=n[r];if(c)throw new Error("Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode)\nConsider to rely on 'then' or 'done' mode instead.");o&&(delete n[r],i[r]=t,e.emit("setasync",r,o))},h=function(){c=!0,n[r]&&(delete n[r],delete l[r],e.delete(r))},p=t;if(p||(p="then"),"then"===p){var d=function(){a(h)};"function"==typeof(u=u.then(function(t){a(f.bind(this,t))},d)).finally&&u.finally(d)}else if("done"===p){if("function"!=typeof u.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done' mode");u.done(f,h)}else if("done:finally"===p){if("function"!=typeof u.done)throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode");if("function"!=typeof u.finally)throw new Error("Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode");u.done(f),u.finally(h)}}),e.on("get",function(t,r,i){var o;if(n[t])++n[t];else{o=l[t];var u=function(){e.emit("getasync",t,r,i)};s(o)?"function"==typeof o.done?o.done(u):o.then(function(){a(u)}):u()}}),e.on("delete",function(t){if(delete l[t],n[t])delete n[t];else if(hasOwnProperty.call(i,t)){var r=i[t];delete i[t],e.emit("deleteasync",t,[r])}}),e.on("clear",function(){var t=i;i=c(null),n=c(null),l=c(null),e.emit("clearasync",r(t,function(t){return[t]}))})}},function(t,e,n){"use strict";var r=Array.prototype.forEach,i=Object.create;t.exports=function(t){var e=i(null);return r.call(arguments,function(t){e[t]=!0}),e}},function(t,e,n){"use strict";var r=n(34),i=n(414);t.exports=function(t){return i(r(t))}},function(t,e,n){"use strict";var r=n(98);t.exports=function(t){try{return t&&r(t.toString)?t.toString():String(t)}catch(t){throw new TypeError("Passed argument cannot be stringifed")}}},function(t,e,n){"use strict";var r=n(416),i=/[\n\r\u2028\u2029]/g;t.exports=function(t){var e=r(t);return e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,function(t){return JSON.stringify(t).slice(1,-1)})}},function(t,e,n){"use strict";var r=n(98);t.exports=function(t){try{return t&&r(t.toString)?t.toString():String(t)}catch(t){return"<Non-coercible to string value>"}}},function(t,e,n){"use strict";var r=n(18),i=n(68),o=n(26),u=Function.prototype.apply;o.dispose=function(t,e,n){var s;if(r(t),n.async&&o.async||n.promise&&o.promise)return e.on("deleteasync",s=function(e,n){u.call(t,null,n)}),void e.on("clearasync",function(t){i(t,function(t,e){s(e,t)})});e.on("delete",s=function(e,n){t(n)}),e.on("clear",function(t){i(t,function(t,e){s(e,t)})})}},function(t,e,n){"use strict";var r=n(99),i=n(68),o=n(101),u=n(165),s=n(419),a=n(26),c=Function.prototype,f=Math.max,l=Math.min,h=Object.create;a.maxAge=function(t,e,n){var p,d,y,w;(t=s(t))&&(p=h(null),d=n.async&&a.async||n.promise&&a.promise?"async":"",e.on("set"+d,function(n){p[n]=setTimeout(function(){e.delete(n)},t),"function"==typeof p[n].unref&&p[n].unref(),w&&(w[n]&&"nextTick"!==w[n]&&clearTimeout(w[n]),w[n]=setTimeout(function(){delete w[n]},y),"function"==typeof w[n].unref&&w[n].unref())}),e.on("delete"+d,function(t){clearTimeout(p[t]),delete p[t],w&&("nextTick"!==w[t]&&clearTimeout(w[t]),delete w[t])}),n.preFetch&&(y=!0===n.preFetch||isNaN(n.preFetch)?.333:f(l(Number(n.preFetch),1),0))&&(w={},y=(1-y)*t,e.on("get"+d,function(t,i,s){w[t]||(w[t]="nextTick",o(function(){var o;"nextTick"===w[t]&&(delete w[t],e.delete(t),n.async&&(i=r(i)).push(c),o=e.memoized.apply(s,i),n.promise&&u(o)&&("function"==typeof o.done?o.done(c,c):o.then(c,c)))}))})),e.on("clear"+d,function(){i(p,function(t){clearTimeout(t)}),p={},w&&(i(w,function(t){"nextTick"!==t&&clearTimeout(t)}),w={})}))}},function(t,e,n){"use strict";var r=n(25),i=n(420);t.exports=function(t){if((t=r(t))>i)throw new TypeError(t+" exceeds maximum possible timeout");return t}},function(t,e,n){"use strict";t.exports=2147483647},function(t,e,n){"use strict";var r=n(25),i=n(422),o=n(26);o.max=function(t,e,n){var u,s,a;(t=r(t))&&(s=i(t),u=n.async&&o.async||n.promise&&o.promise?"async":"",e.on("set"+u,a=function(t){void 0!==(t=s.hit(t))&&e.delete(t)}),e.on("get"+u,a),e.on("delete"+u,s.delete),e.on("clear"+u,s.clear))}},function(t,e,n){"use strict";var r=n(25),i=Object.create,o=Object.prototype.hasOwnProperty;t.exports=function(t){var e,n=0,u=1,s=i(null),a=i(null),c=0;return t=r(t),{hit:function(r){var i=a[r],f=++c;if(s[f]=r,a[r]=f,!i){if(++n<=t)return;return r=s[u],e(r),r}if(delete s[i],u===i)for(;!o.call(s,++u);)continue},delete:e=function(t){var e=a[t];if(e&&(delete s[e],delete a[t],--n,u===e)){if(!n)return c=0,void(u=1);for(;!o.call(s,++u);)continue}},clear:function(){n=0,u=1,s=i(null),a=i(null),c=0}}}},function(t,e,n){"use strict";var r=n(69),i=n(26),o=Object.create,u=Object.defineProperties;i.refCounter=function(t,e,n){var s,a;s=o(null),a=n.async&&i.async||n.promise&&i.promise?"async":"",e.on("set"+a,function(t,e){s[t]=e||1}),e.on("get"+a,function(t){++s[t]}),e.on("delete"+a,function(t){delete s[t]}),e.on("clear"+a,function(){s={}}),u(e.memoized,{deleteRef:r(function(){var t=e.get(arguments);return null===t?null:s[t]?!--s[t]&&(e.delete(t),!0):null}),getRefCount:r(function(){var t=e.get(arguments);return null===t?0:s[t]?s[t]:0})})}},function(t,e,n){var r=n(7),i=n(35),o=n(8).Buffer,u=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function a(){this.init(),this._w=s,i.call(this,64,56)}function c(t){return t<<30|t>>>2}function f(t,e,n,r){return 0===t?e&n|~e&r:2===t?e&n|e&r|n&r:e^n^r}r(a,i),a.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},a.prototype._update=function(t){for(var e,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,l=0;l<16;++l)n[l]=t.readInt32BE(4*l);for(;l<80;++l)n[l]=n[l-3]^n[l-8]^n[l-14]^n[l-16];for(var h=0;h<80;++h){var p=~~(h/20),d=0|((e=r)<<5|e>>>27)+f(p,i,o,s)+a+n[h]+u[p];a=s,s=o,o=c(i),i=r,r=d}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},a.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=a},function(t,e,n){var r=n(7),i=n(35),o=n(8).Buffer,u=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function a(){this.init(),this._w=s,i.call(this,64,56)}function c(t){return t<<5|t>>>27}function f(t){return t<<30|t>>>2}function l(t,e,n,r){return 0===t?e&n|~e&r:2===t?e&n|e&r|n&r:e^n^r}r(a,i),a.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},a.prototype._update=function(t){for(var e,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0;h<16;++h)n[h]=t.readInt32BE(4*h);for(;h<80;++h)n[h]=(e=n[h-3]^n[h-8]^n[h-14]^n[h-16])<<1|e>>>31;for(var p=0;p<80;++p){var d=~~(p/20),y=c(r)+l(d,i,o,s)+a+n[p]+u[d]|0;a=s,s=o,o=f(i),i=r,r=y}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},a.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=a},function(t,e,n){var r=n(7),i=n(166),o=n(35),u=n(8).Buffer,s=new Array(64);function a(){this.init(),this._w=s,o.call(this,64,56)}r(a,i),a.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},a.prototype._hash=function(){var t=u.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=a},function(t,e,n){var r=n(7),i=n(167),o=n(35),u=n(8).Buffer,s=new Array(160);function a(){this.init(),this._w=s,o.call(this,128,112)}r(a,i),a.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},a.prototype._hash=function(){var t=u.allocUnsafe(48);function e(e,n,r){t.writeInt32BE(e,r),t.writeInt32BE(n,r+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=a},function(t,e,n){"use strict";var r=n(429),i=n(448);function o(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}t.exports.Type=n(3),t.exports.Schema=n(37),t.exports.FAILSAFE_SCHEMA=n(102),t.exports.JSON_SCHEMA=n(169),t.exports.CORE_SCHEMA=n(168),t.exports.DEFAULT_SAFE_SCHEMA=n(48),t.exports.DEFAULT_FULL_SCHEMA=n(70),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.safeLoad=r.safeLoad,t.exports.safeLoadAll=r.safeLoadAll,t.exports.dump=i.dump,t.exports.safeDump=i.safeDump,t.exports.YAMLException=n(47),t.exports.MINIMAL_SCHEMA=n(102),t.exports.SAFE_SCHEMA=n(48),t.exports.DEFAULT_SCHEMA=n(70),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},function(t,e,n){"use strict";var r=n(36),i=n(47),o=n(430),u=n(48),s=n(70),a=Object.prototype.hasOwnProperty,c=1,f=2,l=3,h=4,p=1,d=2,y=3,w=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,v=/[\x85\u2028\u2029]/,g=/[,\[\]\{\}]/,M=/^(?:!|!!|![a-z\-]+!)$/i,_=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function m(t){return Object.prototype.toString.call(t)}function L(t){return 10===t||13===t}function b(t){return 9===t||32===t}function j(t){return 9===t||32===t||10===t||13===t}function x(t){return 44===t||91===t||93===t||123===t||125===t}function N(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function S(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t?"\t":9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function D(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var I=new Array(256),E=new Array(256),C=0;C<256;C++)I[C]=S(C)?1:0,E[C]=S(C);function T(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||s,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function A(t,e){return new i(e,new o(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function O(t,e){throw A(t,e)}function z(t,e){t.onWarning&&t.onWarning.call(null,A(t,e))}var k={YAML:function(t,e,n){var r,i,o;null!==t.version&&O(t,"duplication of %YAML directive"),1!==n.length&&O(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&O(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&O(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&z(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var r,i;2!==n.length&&O(t,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],M.test(r)||O(t,"ill-formed tag handle (first argument) of the TAG directive"),a.call(t.tagMap,r)&&O(t,'there is a previously declared suffix for "'+r+'" tag handle'),_.test(i)||O(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[r]=i}};function Y(t,e,n,r){var i,o,u,s;if(e<n){if(s=t.input.slice(e,n),r)for(i=0,o=s.length;i<o;i+=1)9===(u=s.charCodeAt(i))||32<=u&&u<=1114111||O(t,"expected valid JSON character");else w.test(s)&&O(t,"the stream contains non-printable characters");t.result+=s}}function U(t,e,n,i){var o,u,s,c;for(r.isObject(n)||O(t,"cannot merge mappings; the provided source object is unacceptable"),s=0,c=(o=Object.keys(n)).length;s<c;s+=1)u=o[s],a.call(e,u)||(e[u]=n[u],i[u]=!0)}function P(t,e,n,r,i,o,u,s){var c,f;if(Array.isArray(i))for(c=0,f=(i=Array.prototype.slice.call(i)).length;c<f;c+=1)Array.isArray(i[c])&&O(t,"nested arrays are not supported inside keys"),"object"==typeof i&&"[object Object]"===m(i[c])&&(i[c]="[object Object]");if("object"==typeof i&&"[object Object]"===m(i)&&(i="[object Object]"),i=String(i),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(o))for(c=0,f=o.length;c<f;c+=1)U(t,e,o[c],n);else U(t,e,o,n);else t.json||a.call(n,i)||!a.call(e,i)||(t.line=u||t.line,t.position=s||t.position,O(t,"duplicated mapping key")),e[i]=o,delete n[i];return e}function R(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):O(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function Q(t,e,n){for(var r=0,i=t.input.charCodeAt(t.position);0!==i;){for(;b(i);)i=t.input.charCodeAt(++t.position);if(e&&35===i)do{i=t.input.charCodeAt(++t.position)}while(10!==i&&13!==i&&0!==i);if(!L(i))break;for(R(t),i=t.input.charCodeAt(t.position),r++,t.lineIndent=0;32===i;)t.lineIndent++,i=t.input.charCodeAt(++t.position)}return-1!==n&&0!==r&&t.lineIndent<n&&z(t,"deficient indentation"),r}function F(t){var e,n=t.position;return!(45!==(e=t.input.charCodeAt(n))&&46!==e||e!==t.input.charCodeAt(n+1)||e!==t.input.charCodeAt(n+2)||(n+=3,0!==(e=t.input.charCodeAt(n))&&!j(e)))}function B(t,e){1===e?t.result+=" ":e>1&&(t.result+=r.repeat("\n",e-1))}function G(t,e){var n,r,i=t.tag,o=t.anchor,u=[],s=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=u),r=t.input.charCodeAt(t.position);0!==r&&45===r&&j(t.input.charCodeAt(t.position+1));)if(s=!0,t.position++,Q(t,!0,-1)&&t.lineIndent<=e)u.push(null),r=t.input.charCodeAt(t.position);else if(n=t.line,J(t,e,l,!1,!0),u.push(t.result),Q(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==r)O(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!s&&(t.tag=i,t.anchor=o,t.kind="sequence",t.result=u,!0)}function W(t){var e,n,r,i,o=!1,u=!1;if(33!==(i=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&O(t,"duplication of a tag property"),60===(i=t.input.charCodeAt(++t.position))?(o=!0,i=t.input.charCodeAt(++t.position)):33===i?(u=!0,n="!!",i=t.input.charCodeAt(++t.position)):n="!",e=t.position,o){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&62!==i);t.position<t.length?(r=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):O(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!j(i);)33===i&&(u?O(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),M.test(n)||O(t,"named tag handle cannot contain such characters"),u=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),g.test(r)&&O(t,"tag suffix cannot contain flow indicator characters")}return r&&!_.test(r)&&O(t,"tag name cannot contain such characters: "+r),o?t.tag=r:a.call(t.tagMap,n)?t.tag=t.tagMap[n]+r:"!"===n?t.tag="!"+r:"!!"===n?t.tag="tag:yaml.org,2002:"+r:O(t,'undeclared tag handle "'+n+'"'),!0}function q(t){var e,n;if(38!==(n=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&O(t,"duplication of an anchor property"),n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!j(n)&&!x(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&O(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function J(t,e,n,i,o){var u,s,w,v,g,M,_,m,S=1,C=!1,T=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,u=s=w=h===n||l===n,i&&Q(t,!0,-1)&&(C=!0,t.lineIndent>e?S=1:t.lineIndent===e?S=0:t.lineIndent<e&&(S=-1)),1===S)for(;W(t)||q(t);)Q(t,!0,-1)?(C=!0,w=u,t.lineIndent>e?S=1:t.lineIndent===e?S=0:t.lineIndent<e&&(S=-1)):w=!1;if(w&&(w=C||o),1!==S&&h!==n||(_=c===n||f===n?e:e+1,m=t.position-t.lineStart,1===S?w&&(G(t,m)||function(t,e,n){var r,i,o,u,s,a=t.tag,c=t.anchor,l={},p={},d=null,y=null,w=null,v=!1,g=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=l),s=t.input.charCodeAt(t.position);0!==s;){if(r=t.input.charCodeAt(t.position+1),o=t.line,u=t.position,63!==s&&58!==s||!j(r)){if(!J(t,n,f,!1,!0))break;if(t.line===o){for(s=t.input.charCodeAt(t.position);b(s);)s=t.input.charCodeAt(++t.position);if(58===s)j(s=t.input.charCodeAt(++t.position))||O(t,"a whitespace character is expected after the key-value separator within a block mapping"),v&&(P(t,l,p,d,y,null),d=y=w=null),g=!0,v=!1,i=!1,d=t.tag,y=t.result;else{if(!g)return t.tag=a,t.anchor=c,!0;O(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!g)return t.tag=a,t.anchor=c,!0;O(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(v&&(P(t,l,p,d,y,null),d=y=w=null),g=!0,v=!0,i=!0):v?(v=!1,i=!0):O(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,s=r;if((t.line===o||t.lineIndent>e)&&(J(t,e,h,!0,i)&&(v?y=t.result:w=t.result),v||(P(t,l,p,d,y,w,o,u),d=y=w=null),Q(t,!0,-1),s=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==s)O(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return v&&P(t,l,p,d,y,null),g&&(t.tag=a,t.anchor=c,t.kind="mapping",t.result=l),g}(t,m,_))||function(t,e){var n,r,i,o,u,s,a,f,l,h,p=!0,d=t.tag,y=t.anchor,w={};if(91===(h=t.input.charCodeAt(t.position)))i=93,s=!1,r=[];else{if(123!==h)return!1;i=125,s=!0,r={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=r),h=t.input.charCodeAt(++t.position);0!==h;){if(Q(t,!0,e),(h=t.input.charCodeAt(t.position))===i)return t.position++,t.tag=d,t.anchor=y,t.kind=s?"mapping":"sequence",t.result=r,!0;p||O(t,"missed comma between flow collection entries"),l=null,o=u=!1,63===h&&j(t.input.charCodeAt(t.position+1))&&(o=u=!0,t.position++,Q(t,!0,e)),n=t.line,J(t,e,c,!1,!0),f=t.tag,a=t.result,Q(t,!0,e),h=t.input.charCodeAt(t.position),!u&&t.line!==n||58!==h||(o=!0,h=t.input.charCodeAt(++t.position),Q(t,!0,e),J(t,e,c,!1,!0),l=t.result),s?P(t,r,w,f,a,l):o?r.push(P(t,null,w,f,a,l)):r.push(a),Q(t,!0,e),44===(h=t.input.charCodeAt(t.position))?(p=!0,h=t.input.charCodeAt(++t.position)):p=!1}O(t,"unexpected end of the stream within a flow collection")}(t,_)?T=!0:(s&&function(t,e){var n,i,o,u,s,a=p,c=!1,f=!1,l=e,h=0,w=!1;if(124===(u=t.input.charCodeAt(t.position)))i=!1;else{if(62!==u)return!1;i=!0}for(t.kind="scalar",t.result="";0!==u;)if(43===(u=t.input.charCodeAt(++t.position))||45===u)p===a?a=43===u?y:d:O(t,"repeat of a chomping mode identifier");else{if(!((o=48<=(s=u)&&s<=57?s-48:-1)>=0))break;0===o?O(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):f?O(t,"repeat of an indentation width identifier"):(l=e+o-1,f=!0)}if(b(u)){do{u=t.input.charCodeAt(++t.position)}while(b(u));if(35===u)do{u=t.input.charCodeAt(++t.position)}while(!L(u)&&0!==u)}for(;0!==u;){for(R(t),t.lineIndent=0,u=t.input.charCodeAt(t.position);(!f||t.lineIndent<l)&&32===u;)t.lineIndent++,u=t.input.charCodeAt(++t.position);if(!f&&t.lineIndent>l&&(l=t.lineIndent),L(u))h++;else{if(t.lineIndent<l){a===y?t.result+=r.repeat("\n",c?1+h:h):a===p&&c&&(t.result+="\n");break}for(i?b(u)?(w=!0,t.result+=r.repeat("\n",c?1+h:h)):w?(w=!1,t.result+=r.repeat("\n",h+1)):0===h?c&&(t.result+=" "):t.result+=r.repeat("\n",h):t.result+=r.repeat("\n",c?1+h:h),c=!0,f=!0,h=0,n=t.position;!L(u)&&0!==u;)u=t.input.charCodeAt(++t.position);Y(t,n,t.position,!1)}}return!0}(t,_)||function(t,e){var n,r,i;if(39!==(n=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(Y(t,r,t.position,!0),39!==(n=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,i=t.position}else L(n)?(Y(t,r,i,!0),B(t,Q(t,!1,e)),r=i=t.position):t.position===t.lineStart&&F(t)?O(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);O(t,"unexpected end of the stream within a single quoted scalar")}(t,_)||function(t,e){var n,r,i,o,u,s,a;if(34!==(s=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,n=r=t.position;0!==(s=t.input.charCodeAt(t.position));){if(34===s)return Y(t,n,t.position,!0),t.position++,!0;if(92===s){if(Y(t,n,t.position,!0),L(s=t.input.charCodeAt(++t.position)))Q(t,!1,e);else if(s<256&&I[s])t.result+=E[s],t.position++;else if((u=120===(a=s)?2:117===a?4:85===a?8:0)>0){for(i=u,o=0;i>0;i--)(u=N(s=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+u:O(t,"expected hexadecimal character");t.result+=D(o),t.position++}else O(t,"unknown escape sequence");n=r=t.position}else L(s)?(Y(t,n,r,!0),B(t,Q(t,!1,e)),n=r=t.position):t.position===t.lineStart&&F(t)?O(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}O(t,"unexpected end of the stream within a double quoted scalar")}(t,_)?T=!0:!function(t){var e,n,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!j(r)&&!x(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&O(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||O(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],Q(t,!0,-1),!0}(t)?function(t,e,n){var r,i,o,u,s,a,c,f,l=t.kind,h=t.result;if(j(f=t.input.charCodeAt(t.position))||x(f)||35===f||38===f||42===f||33===f||124===f||62===f||39===f||34===f||37===f||64===f||96===f)return!1;if((63===f||45===f)&&(j(r=t.input.charCodeAt(t.position+1))||n&&x(r)))return!1;for(t.kind="scalar",t.result="",i=o=t.position,u=!1;0!==f;){if(58===f){if(j(r=t.input.charCodeAt(t.position+1))||n&&x(r))break}else if(35===f){if(j(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&F(t)||n&&x(f))break;if(L(f)){if(s=t.line,a=t.lineStart,c=t.lineIndent,Q(t,!1,-1),t.lineIndent>=e){u=!0,f=t.input.charCodeAt(t.position);continue}t.position=o,t.line=s,t.lineStart=a,t.lineIndent=c;break}}u&&(Y(t,i,o,!1),B(t,t.line-s),i=o=t.position,u=!1),b(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return Y(t,i,o,!1),!!t.result||(t.kind=l,t.result=h,!1)}(t,_,c===n)&&(T=!0,null===t.tag&&(t.tag="?")):(T=!0,null===t.tag&&null===t.anchor||O(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===S&&(T=w&&G(t,m))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(v=0,g=t.implicitTypes.length;v<g;v+=1)if((M=t.implicitTypes[v]).resolve(t.result)){t.result=M.construct(t.result),t.tag=M.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else a.call(t.typeMap[t.kind||"fallback"],t.tag)?(M=t.typeMap[t.kind||"fallback"][t.tag],null!==t.result&&M.kind!==t.kind&&O(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+M.kind+'", not "'+t.kind+'"'),M.resolve(t.result)?(t.result=M.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):O(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):O(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||T}function Z(t){var e,n,r,i,o=t.position,u=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(i=t.input.charCodeAt(t.position))&&(Q(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(u=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!j(i);)i=t.input.charCodeAt(++t.position);for(r=[],(n=t.input.slice(e,t.position)).length<1&&O(t,"directive name must not be less than one character in length");0!==i;){for(;b(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!L(i));break}if(L(i))break;for(e=t.position;0!==i&&!j(i);)i=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==i&&R(t),a.call(k,n)?k[n](t,n,r):z(t,'unknown document directive "'+n+'"')}Q(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Q(t,!0,-1)):u&&O(t,"directives end mark is expected"),J(t,t.lineIndent-1,h,!1,!0),Q(t,!0,-1),t.checkLineBreaks&&v.test(t.input.slice(o,t.position))&&z(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&F(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Q(t,!0,-1)):t.position<t.length-1&&O(t,"end of the stream or a document separator is expected")}function V(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var n=new T(t,e);for(n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Z(n);return n.documents}function X(t,e,n){var r,i,o=V(t,n);if("function"!=typeof e)return o;for(r=0,i=o.length;r<i;r+=1)e(o[r])}function H(t,e){var n=V(t,e);if(0!==n.length){if(1===n.length)return n[0];throw new i("expected a single document in the stream, but found more")}}t.exports.loadAll=X,t.exports.load=H,t.exports.safeLoadAll=function(t,e,n){if("function"!=typeof e)return X(t,r.extend({schema:u},n));X(t,e,r.extend({schema:u},n))},t.exports.safeLoad=function(t,e){return H(t,r.extend({schema:u},e))}},function(t,e,n){"use strict";var r=n(36);function i(t,e,n,r,i){this.name=t,this.buffer=e,this.position=n,this.line=r,this.column=i}i.prototype.getSnippet=function(t,e){var n,i,o,u,s;if(!this.buffer)return null;for(t=t||4,e=e||75,n="",i=this.position;i>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>e/2-1){n=" ... ",i+=5;break}for(o="",u=this.position;u<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(u));)if((u+=1)-this.position>e/2-1){o=" ... ",u-=5;break}return s=this.buffer.slice(i,u),r.repeat(" ",t)+n+s+o+"\n"+r.repeat(" ",t+this.position-i+n.length)+"^"},i.prototype.toString=function(t){var e,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet())&&(n+=":\n"+e),n},t.exports=i},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var r=n(36),i=n(3);function o(t){return 48<=t&&t<=55}function u(t){return 48<=t&&t<=57}t.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=t.length,i=0,s=!1;if(!r)return!1;if("-"!==(e=t[i])&&"+"!==e||(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i<r;i++)if("_"!==(e=t[i])){if("0"!==e&&"1"!==e)return!1;s=!0}return s&&"_"!==e}if("x"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!(48<=(n=t.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;s=!0}return s&&"_"!==e}for(;i<r;i++)if("_"!==(e=t[i])){if(!o(t.charCodeAt(i)))return!1;s=!0}return s&&"_"!==e}if("_"===e)return!1;for(;i<r;i++)if("_"!==(e=t[i])){if(":"===e)break;if(!u(t.charCodeAt(i)))return!1;s=!0}return!(!s||"_"===e)&&(":"!==e||/^(:[0-5]?[0-9])+$/.test(t.slice(i)))},construct:function(t){var e,n,r=t,i=1,o=[];return-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(e=r[0])&&"+"!==e||("-"===e&&(i=-1),e=(r=r.slice(1))[0]),"0"===r?0:"0"===e?"b"===r[1]?i*parseInt(r.slice(2),2):"x"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(":")?(r.split(":").forEach(function(t){o.unshift(parseInt(t,10))}),r=0,n=1,o.forEach(function(t){r+=t*n,n*=60}),i*r):i*parseInt(r,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!r.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(t,e,n){"use strict";var r=n(36),i=n(3),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var u=/^[-+]?[0-9]+e/;t.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!o.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n,r,i;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,i=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(t){i.unshift(parseFloat(t,10))}),e=0,r=1,i.forEach(function(t){e+=t*r,r*=60}),n*e):n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||r.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(t))return"-0.0";return n=t.toString(10),u.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var r=n(3),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==i.exec(t)||null!==o.exec(t))},construct:function(t){var e,n,r,u,s,a,c,f,l=0,h=null;if(null===(e=i.exec(t))&&(e=o.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],r=+e[2]-1,u=+e[3],!e[4])return new Date(Date.UTC(n,r,u));if(s=+e[4],a=+e[5],c=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),f=new Date(Date.UTC(n,r,u,s,a,c,l)),h&&f.setTime(f.getTime()-h),f},instanceOf:Date,represent:function(t){return t.toISOString()}})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}})},function(t,e,n){"use strict";var r;try{r=n(57).Buffer}catch(t){}var i=n(3),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=0,i=t.length,u=o;for(n=0;n<i;n++)if(!((e=u.indexOf(t.charAt(n)))>64)){if(e<0)return!1;r+=6}return r%8==0},construct:function(t){var e,n,i=t.replace(/[\r\n=]/g,""),u=i.length,s=o,a=0,c=[];for(e=0;e<u;e++)e%4==0&&e&&(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|s.indexOf(i.charAt(e));return 0===(n=u%4*6)?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===n?(c.push(a>>10&255),c.push(a>>2&255)):12===n&&c.push(a>>4&255),r?r.from?r.from(c):new r(c):c},predicate:function(t){return r&&r.isBuffer(t)},represent:function(t){var e,n,r="",i=0,u=t.length,s=o;for(e=0;e<u;e++)e%3==0&&e&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+t[e];return 0===(n=u%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}})},function(t,e,n){"use strict";var r=n(3),i=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=new r("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,u,s,a=[],c=t;for(e=0,n=c.length;e<n;e+=1){if(r=c[e],s=!1,"[object Object]"!==o.call(r))return!1;for(u in r)if(i.call(r,u)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==a.indexOf(u))return!1;a.push(u)}return!0},construct:function(t){return null!==t?t:[]}})},function(t,e,n){"use strict";var r=n(3),i=Object.prototype.toString;t.exports=new r("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,o,u,s=t;for(u=new Array(s.length),e=0,n=s.length;e<n;e+=1){if(r=s[e],"[object Object]"!==i.call(r))return!1;if(1!==(o=Object.keys(r)).length)return!1;u[e]=[o[0],r[o[0]]]}return!0},construct:function(t){if(null===t)return[];var e,n,r,i,o,u=t;for(o=new Array(u.length),e=0,n=u.length;e<n;e+=1)r=u[e],i=Object.keys(r),o[e]=[i[0],r[i[0]]];return o}})},function(t,e,n){"use strict";var r=n(3),i=Object.prototype.hasOwnProperty;t.exports=new r("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,n=t;for(e in n)if(i.call(n,e)&&null!==n[e])return!1;return!0},construct:function(t){return null!==t?t:{}}})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(t){return void 0===t},represent:function(){return""}})},function(t,e,n){"use strict";var r=n(3);t.exports=new r("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(t){if(null===t)return!1;if(0===t.length)return!1;var e=t,n=/\/([gim]*)$/.exec(t),r="";if("/"===e[0]){if(n&&(r=n[1]),r.length>3)return!1;if("/"!==e[e.length-r.length-1])return!1}return!0},construct:function(t){var e=t,n=/\/([gim]*)$/.exec(t),r="";return"/"===e[0]&&(n&&(r=n[1]),e=e.slice(1,e.length-r.length-1)),new RegExp(e,r)},predicate:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},represent:function(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}})},function(t,e,n){"use strict";var r;try{r=n(447)}catch(t){"undefined"!=typeof window&&(r=window.esprima)}var i=n(3);t.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(t){if(null===t)return!1;try{var e="("+t+")",n=r.parse(e,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(t){return!1}},construct:function(t){var e,n="("+t+")",i=r.parse(n,{range:!0}),o=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"ArrowFunctionExpression"!==i.body[0].expression.type&&"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(t){o.push(t.name)}),e=i.body[0].expression.body.range,"BlockStatement"===i.body[0].expression.body.type?new Function(o,n.slice(e[0]+1,e[1]-1)):new Function(o,"return "+n.slice(e[0],e[1]))},predicate:function(t){return"[object Function]"===Object.prototype.toString.call(t)},represent:function(t){return t.toString()}})},function(e,n){if(void 0===t){var r=new Error("Cannot find module 'esprima'");throw r.code="MODULE_NOT_FOUND",r}e.exports=t},function(t,e,n){"use strict";var r=n(36),i=n(47),o=n(70),u=n(48),s=Object.prototype.toString,a=Object.prototype.hasOwnProperty,c=9,f=10,l=32,h=33,p=34,d=35,y=37,w=38,v=39,g=42,M=44,_=45,m=58,L=62,b=63,j=64,x=91,N=93,S=96,D=123,I=124,E=125,C={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},T=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function A(t){var e,n,o;if(e=t.toString(16).toUpperCase(),t<=255)n="x",o=2;else if(t<=65535)n="u",o=4;else{if(!(t<=4294967295))throw new i("code point within a string may not be greater than 0xFFFFFFFF");n="U",o=8}return"\\"+n+r.repeat("0",o-e.length)+e}function O(t){this.schema=t.schema||o,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=r.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var n,r,i,o,u,s,c;if(null===e)return{};for(n={},i=0,o=(r=Object.keys(e)).length;i<o;i+=1)u=r[i],s=String(e[u]),"!!"===u.slice(0,2)&&(u="tag:yaml.org,2002:"+u.slice(2)),(c=t.compiledTypeMap.fallback[u])&&a.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[u]=s;return n}(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function z(t,e){for(var n,i=r.repeat(" ",e),o=0,u=-1,s="",a=t.length;o<a;)-1===(u=t.indexOf("\n",o))?(n=t.slice(o),o=a):(n=t.slice(o,u+1),o=u+1),n.length&&"\n"!==n&&(s+=i),s+=n;return s}function k(t,e){return"\n"+r.repeat(" ",t.indent*e)}function Y(t){return t===l||t===c}function U(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&65279!==t||65536<=t&&t<=1114111}function P(t){return U(t)&&65279!==t&&t!==M&&t!==x&&t!==N&&t!==D&&t!==E&&t!==m&&t!==d}function R(t){return/^\n* /.test(t)}var Q=1,F=2,B=3,G=4,W=5;function q(t,e,n,r,i){var o,u,s,a=!1,c=!1,l=-1!==r,C=-1,T=U(s=t.charCodeAt(0))&&65279!==s&&!Y(s)&&s!==_&&s!==b&&s!==m&&s!==M&&s!==x&&s!==N&&s!==D&&s!==E&&s!==d&&s!==w&&s!==g&&s!==h&&s!==I&&s!==L&&s!==v&&s!==p&&s!==y&&s!==j&&s!==S&&!Y(t.charCodeAt(t.length-1));if(e)for(o=0;o<t.length;o++){if(!U(u=t.charCodeAt(o)))return W;T=T&&P(u)}else{for(o=0;o<t.length;o++){if((u=t.charCodeAt(o))===f)a=!0,l&&(c=c||o-C-1>r&&" "!==t[C+1],C=o);else if(!U(u))return W;T=T&&P(u)}c=c||l&&o-C-1>r&&" "!==t[C+1]}return a||c?n>9&&R(t)?W:c?G:B:T&&!i(t)?Q:F}function J(t,e,n,r){t.dump=function(){if(0===e.length)return"''";if(!t.noCompatMode&&-1!==T.indexOf(e))return"'"+e+"'";var o=t.indent*Math.max(1,n),u=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),s=r||t.flowLevel>-1&&n>=t.flowLevel;switch(q(e,s,t.indent,u,function(e){return function(t,e){var n,r;for(n=0,r=t.implicitTypes.length;n<r;n+=1)if(t.implicitTypes[n].resolve(e))return!0;return!1}(t,e)})){case Q:return e;case F:return"'"+e.replace(/'/g,"''")+"'";case B:return"|"+Z(e,t.indent)+V(z(e,o));case G:return">"+Z(e,t.indent)+V(z(function(t,e){var n,r,i=/(\n+)([^\n]*)/g,o=(s=t.indexOf("\n"),s=-1!==s?s:t.length,i.lastIndex=s,X(t.slice(0,s),e)),u="\n"===t[0]||" "===t[0];var s;for(;r=i.exec(t);){var a=r[1],c=r[2];n=" "===c[0],o+=a+(u||n||""===c?"":"\n")+X(c,e),u=n}return o}(e,u),o));case W:return'"'+function(t){for(var e,n,r,i="",o=0;o<t.length;o++)(e=t.charCodeAt(o))>=55296&&e<=56319&&(n=t.charCodeAt(o+1))>=56320&&n<=57343?(i+=A(1024*(e-55296)+n-56320+65536),o++):(r=C[e],i+=!r&&U(e)?t[o]:r||A(e));return i}(e)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function Z(t,e){var n=R(t)?String(e):"",r="\n"===t[t.length-1];return n+(r&&("\n"===t[t.length-2]||"\n"===t)?"+":r?"":"-")+"\n"}function V(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function X(t,e){if(""===t||" "===t[0])return t;for(var n,r,i=/ [^ ]/g,o=0,u=0,s=0,a="";n=i.exec(t);)(s=n.index)-o>e&&(r=u>o?u:s,a+="\n"+t.slice(o,r),o=r+1),u=s;return a+="\n",t.length-o>e&&u>o?a+=t.slice(o,u)+"\n"+t.slice(u+1):a+=t.slice(o),a.slice(1)}function H(t,e,n){var r,o,u,c,f,l;for(u=0,c=(o=n?t.explicitTypes:t.implicitTypes).length;u<c;u+=1)if(((f=o[u]).instanceOf||f.predicate)&&(!f.instanceOf||"object"==typeof e&&e instanceof f.instanceOf)&&(!f.predicate||f.predicate(e))){if(t.tag=n?f.tag:"?",f.represent){if(l=t.styleMap[f.tag]||f.defaultStyle,"[object Function]"===s.call(f.represent))r=f.represent(e,l);else{if(!a.call(f.represent,l))throw new i("!<"+f.tag+'> tag resolver accepts not "'+l+'" style');r=f.represent[l](e,l)}t.dump=r}return!0}return!1}function K(t,e,n,r,o,u){t.tag=null,t.dump=n,H(t,n,!1)||H(t,n,!0);var a=s.call(t.dump);r&&(r=t.flowLevel<0||t.flowLevel>e);var c,l,h="[object Object]"===a||"[object Array]"===a;if(h&&(l=-1!==(c=t.duplicates.indexOf(n))),(null!==t.tag&&"?"!==t.tag||l||2!==t.indent&&e>0)&&(o=!1),l&&t.usedDuplicates[c])t.dump="*ref_"+c;else{if(h&&l&&!t.usedDuplicates[c]&&(t.usedDuplicates[c]=!0),"[object Object]"===a)r&&0!==Object.keys(t.dump).length?(!function(t,e,n,r){var o,u,s,a,c,l,h="",p=t.tag,d=Object.keys(n);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new i("sortKeys must be a boolean or a function");for(o=0,u=d.length;o<u;o+=1)l="",r&&0===o||(l+=k(t,e)),a=n[s=d[o]],K(t,e+1,s,!0,!0,!0)&&((c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&f===t.dump.charCodeAt(0)?l+="?":l+="? "),l+=t.dump,c&&(l+=k(t,e)),K(t,e+1,a,!0,c)&&(t.dump&&f===t.dump.charCodeAt(0)?l+=":":l+=": ",h+=l+=t.dump));t.tag=p,t.dump=h||"{}"}(t,e,t.dump,o),l&&(t.dump="&ref_"+c+t.dump)):(!function(t,e,n){var r,i,o,u,s,a="",c=t.tag,f=Object.keys(n);for(r=0,i=f.length;r<i;r+=1)s=t.condenseFlow?'"':"",0!==r&&(s+=", "),u=n[o=f[r]],K(t,e,o,!1,!1)&&(t.dump.length>1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),K(t,e,u,!1,!1)&&(a+=s+=t.dump));t.tag=c,t.dump="{"+a+"}"}(t,e,t.dump),l&&(t.dump="&ref_"+c+" "+t.dump));else if("[object Array]"===a){var p=t.noArrayIndent&&e>0?e-1:e;r&&0!==t.dump.length?(!function(t,e,n,r){var i,o,u="",s=t.tag;for(i=0,o=n.length;i<o;i+=1)K(t,e+1,n[i],!0,!0)&&(r&&0===i||(u+=k(t,e)),t.dump&&f===t.dump.charCodeAt(0)?u+="-":u+="- ",u+=t.dump);t.tag=s,t.dump=u||"[]"}(t,p,t.dump,o),l&&(t.dump="&ref_"+c+t.dump)):(!function(t,e,n){var r,i,o="",u=t.tag;for(r=0,i=n.length;r<i;r+=1)K(t,e,n[r],!1,!1)&&(0!==r&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=u,t.dump="["+o+"]"}(t,p,t.dump),l&&(t.dump="&ref_"+c+" "+t.dump))}else{if("[object String]"!==a){if(t.skipInvalid)return!1;throw new i("unacceptable kind of an object to dump "+a)}"?"!==t.tag&&J(t,t.dump,e,u)}null!==t.tag&&"?"!==t.tag&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function $(t,e){var n,r,i=[],o=[];for(function t(e,n,r){var i,o,u;if(null!==e&&"object"==typeof e)if(-1!==(o=n.indexOf(e)))-1===r.indexOf(o)&&r.push(o);else if(n.push(e),Array.isArray(e))for(o=0,u=e.length;o<u;o+=1)t(e[o],n,r);else for(i=Object.keys(e),o=0,u=i.length;o<u;o+=1)t(e[i[o]],n,r)}(t,i,o),n=0,r=o.length;n<r;n+=1)e.duplicates.push(i[o[n]]);e.usedDuplicates=new Array(r)}function tt(t,e){var n=new O(e=e||{});return n.noRefs||$(t,n),K(n,0,t,!0,!0)?n.dump+"\n":""}t.exports.dump=tt,t.exports.safeDump=function(t,e){return tt(t,r.extend({schema:u},e))}},function(t,e,n){"use strict";n.r(e);var r={};n.r(r),n.d(r,"UPDATE_CONFIGS",function(){return E}),n.d(r,"TOGGLE_CONFIGS",function(){return C}),n.d(r,"update",function(){return T}),n.d(r,"toggle",function(){return A}),n.d(r,"loaded",function(){return z});var i={};n.r(i),n.d(i,"downloadConfig",function(){return k}),n.d(i,"getConfigByUrl",function(){return Y});var o={};n.r(o),n.d(o,"get",function(){return R});var u=n(71),s=n.n(u),a=n(72),c=n.n(a),f=n(73),l=n.n(f),h=n(74),p=n.n(h),d=n(75),y=n.n(d),w=n(1),v=n.n(w),g=(n(134),function(t){function e(){return s()(this,e),l()(this,p()(e).apply(this,arguments))}return y()(e,t),c()(e,[{key:"render",value:function(){var t=this.props.getComponent,e=t("Container"),n=t("Row"),r=t("Col"),i=t("Topbar",!0),o=t("BaseLayout",!0),u=t("onlineValidatorBadge",!0);return v.a.createElement(e,{className:"swagger-ui"},i?v.a.createElement(i,null):null,v.a.createElement(o,null),v.a.createElement(n,null,v.a.createElement(r,null,v.a.createElement(u,null))))}}]),e}(v.a.Component)),M=n(13),_=n.n(M),m=n(5),L=n.n(m),b=n(170),j=n.n(b),x=n(6),N=function(t){function e(t,n){var r;return s()(this,e),r=l()(this,p()(e).call(this,t,n)),L()(_()(r),"onUrlChange",function(t){var e=t.target.value;r.setState({url:e})}),L()(_()(r),"loadSpec",function(t){r.props.specActions.updateUrl(t),r.props.specActions.download(t)}),L()(_()(r),"onUrlSelect",function(t){var e=t.target.value||t.target.href;r.loadSpec(e),r.setSelectedUrl(e),t.preventDefault()}),L()(_()(r),"downloadUrl",function(t){r.loadSpec(r.state.url),t.preventDefault()}),L()(_()(r),"setSearch",function(t){var e=Object(x.e)();e["urls.primaryName"]=t.name;var n="".concat(window.location.protocol,"//").concat(window.location.host).concat(window.location.pathname);window&&window.history&&window.history.pushState&&window.history.replaceState(null,"","".concat(n,"?").concat(Object(x.f)(e)))}),L()(_()(r),"setSelectedUrl",function(t){var e=r.props.getConfigs().urls||[];e&&e.length&&t&&e.forEach(function(e,n){e.url===t&&(r.setState({selectedIndex:n}),r.setSearch(e))})}),L()(_()(r),"onFilterChange",function(t){var e=t.target.value;r.props.layoutActions.updateFilter(e)}),r.state={url:t.specSelectors.url(),selectedIndex:0},r}return y()(e,t),c()(e,[{key:"componentWillReceiveProps",value:function(t){this.setState({url:t.specSelectors.url()})}},{key:"componentDidMount",value:function(){var t=this,e=this.props.getConfigs(),n=e.urls||[];if(n&&n.length){var r=this.state.selectedIndex,i=e["urls.primaryName"];i&&n.forEach(function(e,n){e.name===i&&(t.setState({selectedIndex:n}),r=n)}),this.loadSpec(n[r].url)}}},{key:"render",value:function(){var t=this.props,e=t.getComponent,n=t.specSelectors,r=t.getConfigs,i=e("Button"),o=e("Link"),u="loading"===n.loadingStatus(),s={};"failed"===n.loadingStatus()&&(s.color="red"),u&&(s.color="#aaa");var a=r().urls,c=[],f=null;if(a){var l=[];a.forEach(function(t,e){l.push(v.a.createElement("option",{key:e,value:t.url},t.name))}),c.push(v.a.createElement("label",{className:"select-label",htmlFor:"select"},v.a.createElement("span",null,"Select a definition"),v.a.createElement("select",{id:"select",disabled:u,onChange:this.onUrlSelect,value:a[this.state.selectedIndex].url},l)))}else f=this.downloadUrl,c.push(v.a.createElement("input",{className:"download-url-input",type:"text",onChange:this.onUrlChange,value:this.state.url,disabled:u,style:s})),c.push(v.a.createElement(i,{className:"download-url-button",onClick:this.downloadUrl},"Explore"));return v.a.createElement("div",{className:"topbar"},v.a.createElement("div",{className:"wrapper"},v.a.createElement("div",{className:"topbar-wrapper"},v.a.createElement(o,null,v.a.createElement("img",{height:"40",src:j.a,alt:"Swagger UI"})),v.a.createElement("form",{className:"download-url-wrapper",onSubmit:f},c.map(function(t,e){return Object(w.cloneElement)(t,{key:e})})))))}}]),e}(v.a.Component),S=n(182),D=n.n(S),I=function(t,e){try{return D.a.safeLoad(t)}catch(t){return e&&e.errActions.newThrownErr(new Error(t)),{}}},E="configs_update",C="configs_toggle";function T(t,e){return{type:E,payload:L()({},t,e)}}function A(t){return{type:C,payload:t}}var O,z=function(){return function(){}},k=function(t){return function(e){return(0,e.fn.fetch)(t)}},Y=function(t,e){return function(n){var r=n.specActions;if(t)return r.downloadConfig(t).then(i,i);function i(n){n instanceof Error||n.status>=400?(r.updateLoadingStatus("failedConfig"),r.updateLoadingStatus("failedConfig"),r.updateUrl(""),console.error(n.statusText+" "+t.url),e(null)):e(I(n.text))}}},U=n(2),P=n.n(U),R=function(t,e){return t.getIn(P()(e)?e:[e])},Q=n(0),F=(O={},L()(O,E,function(t,e){return t.merge(Object(Q.fromJS)(e.payload))}),L()(O,C,function(t,e){var n=e.payload,r=t.get(n);return t.set(n,!r)}),O),B={getLocalConfig:function(){return I('---\nurl: "https://petstore.swagger.io/v2/swagger.json"\ndom_id: "#swagger-ui"\nvalidatorUrl: "https://validator.swagger.io/validator"\n')}};e.default=[function(){return{components:{Topbar:N}}},function(){return{statePlugins:{spec:{actions:i,selectors:B},configs:{reducers:F,actions:r,selectors:o}}}},function(){return{components:{StandaloneLayout:g}}}]}]).default}); +//# sourceMappingURL=swagger-ui-standalone-preset.js.map \ No newline at end of file diff --git a/js/tabpane-persist.js b/js/tabpane-persist.js new file mode 100644 index 0000000..8a02bb6 --- /dev/null +++ b/js/tabpane-persist.js @@ -0,0 +1,19 @@ +if (typeof Storage !== 'undefined') { + const activeLanguage = localStorage.getItem('active_language'); + if (activeLanguage) { + document + .querySelectorAll('.tab-' + activeLanguage) + .forEach((element) => { + $('#' + element.id).tab('show'); + }); + } +} +function handleClick(language) { + if (typeof Storage !== 'undefined') { + localStorage.setItem('active_language', language); + document.querySelectorAll('.tab-' + language) + .forEach((element) => { + $('#' + element.id).tab('show'); + }); + } +} diff --git a/page/1/index.html b/page/1/index.html deleted file mode 100644 index f7f5be3..0000000 --- a/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/</title><link rel="canonical" href="https://www.eclipse.org/sw360/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/" /></head></html> \ No newline at end of file diff --git a/presentations/index.html b/presentations/index.html index 854f60e..7aa4751 100644 --- a/presentations/index.html +++ b/presentations/index.html @@ -1,191 +1,192 @@ -<!DOCTYPE html> -<html lang="en-us"> - +<!doctype html> +<html lang="en" class="no-js"> <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Eclipse SW360 - Presentations</title> - <meta name="author" content="" /> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<link rel="alternate" type="application/rss&#43;xml" href="https://www.eclipse.org/sw360/presentations/index.xml"> +<meta name="robots" content="noindex, nofollow"> - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - <meta name="description" content="Eclipse SW360 community website"> - +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> - <meta name="generator" content="Hugo 0.42.1" /> +<title>Events and Presentations | Eclipse SW360</title> +<meta name="description" content=" - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - <meta property="og:title" content="Eclipse SW360 - Presentations" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/presentations//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> + + + + + + + + + Events and Presentations …"> +<meta property="og:title" content="Events and Presentations" /> +<meta property="og:description" content="Eclipse SW360 official website" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/presentations/" /><meta property="og:site_name" content="Eclipse SW360" /> - <div id="all"> +<meta itemprop="name" content="Events and Presentations"> +<meta itemprop="description" content="Eclipse SW360 official website"><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Events and Presentations"/> +<meta name="twitter:description" content="Eclipse SW360 official website"/> - <header> - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - Presentations logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - Presentations logo" class="visible-xs visible-sm"> - <span class="sr-only">Eclipse SW360 - Presentations - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - +<link href="/sw360/scss/main.css" rel="stylesheet"> - <div class="collapse clearfix" id="search"> +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> + + <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> + <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> + </head> + <body class="td-section"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark td-navbar-cover flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/screenshots/" ><span>Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/presentations/" ><span class="active">Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/docs/" ><span>Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-default td-outer"> + <main role="main" class="td-main"> + - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> - - </div> - </div> - -</div> - </header> - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Eclipse SW360 - Presentations</h1> - </div> - </div> - </div> -</div> - <div id="content"> +<section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-sm js-td-cover td-overlay td-overlay--dark -bg-primary"> + <div class="container td-overlay__inner"> + <div class="row"> + <div class="col-12"> + <div class="text-center"> + + + <div class="pt-3 lead"> + <div class="text-left"> + <h1 class="display-1 mb-5">Events and Presentations</h1></div> - <div class="container"> - - <div class="row"> - - <div class="col-md-12"> - - <div> - - -<h1 id="events-and-presentations">Events and Presentations</h1> + + </div> + </div> + </div> + </div> + </div> + +</section> +<div class="container l-container--padded"> +<div class="row"> +<div class="col-12 col-lg-8"> <h2 id="2018">2018</h2> - <ul> <li><strong><a href="https://www.bitkom.org/bfoss18/">Bitkom Forum Open Source 2018</a></strong>: &ldquo;Eclipse SW360 – Lessons Learned From Automated License Compliance&rdquo; (Johannes Kristan, Bosch Software Innovations GmbH &amp; Michael C. Jaeger, Siemens AG)</li> <li><strong>Inner Source Commons 2018</strong>: &ldquo;Committing to Change: Inner Source at Siemens&rdquo; (Karsten Gerloff, Siemens AG)</li> @@ -193,9 +194,7 @@ <li><strong><a href="http://oshug.org/event/65">Yanking the Chain: Open Source Software Compliance in the Supply Chain</a></strong>: &ldquo;Eclipse SW360 – Open Source Management with Open Source&rdquo; (Michael C. Jaeger, Siemens AG)</li> <li><strong>Bitkom AK Open Source</strong>: &ldquo;Eclipse SW360 – Automatisierte License Compliance&rdquo; (Johannes Kristan, Bosch Software Innovations GmbH &amp; Michael C. Jaeger, Siemens AG)</li> </ul> - <h2 id="2017">2017</h2> - <ul> <li><strong><a href="https://www.eclipsecon.org/europe2017">EclipseCon Europe 2017</a></strong>: &ldquo;Leveraging Open Source Projects for Open Source Management&rdquo; (Marcel Kurzmann, Bosch Software Innovations GmbH) [<a href="https://www.eclipsecon.org/europe2017/sites/default/files/slides/Leveraging_Open_Source_Projects_for_OSM_EclipseCon.pdf">slides</a>] [<a href="https://youtu.be/z19ifXKAkgE">video</a>]</li> <li><strong><a href="https://www.eclipsecon.org/france2017/conference/schedule/session/2017-06-22">EclipseCon France 2017</a></strong>: &ldquo;SW360 – The Component Management Hub&rdquo; (Johannes Kristan, Bosch Software Innovations GmbH &amp; Michael C. Jaeger, Siemens AG) [<a href="https://www.eclipsecon.org/france2017/sites/default/files/slides/036%20OSS%20sw360%2020170315%20slides%20Eclipseconfrance%2002_0.pptx">slides</a>] [<a href="https://youtu.be/ifb8vkfwiT4">video</a>]</li> @@ -204,76 +203,167 @@ <li><strong><a href="http://events17.linuxfoundation.org/events/open-source-leadership-summit/program/schedule">Open Source Leadership Summit 2017</a></strong>: &ldquo;SW360 - An Open Component Hub&rdquo; (Steffen Evers, Bosch Software Innovations GmbH)</li> <li><strong>The Seoul Copyright Forum 2017</strong>: &ldquo;License compliance: FOSS tools for speed and scale&rdquo; (Karsten Gerloff, Siemens AG)</li> </ul> - <h2 id="2016">2016</h2> - <ul> <li><strong>Bitkom AK Open Source</strong>: &ldquo;SW360 – Your Open Component Hub&rdquo; (Johannes Kristan, Bosch Software Innovations GmbH &amp; Michael C. Jaeger, Siemens AG)</li> <li><strong><a href="https://jaxenter.de/eclipse-sw360-44641">JAXenter</a></strong>: &ldquo;Neu im Eclipse-Universum: SW360 – das Katalogisierungsprogramm für Software-Komponenten&rdquo; (Dominik Mohilo, JAXenter)</li> <li><strong><a href="http://wiki.eclipse.org/Eclipse_Unconference_Europe_2016#Open_Source_Component_Management">EclipseCon Europe 2016</a></strong>: &ldquo;Open Source Component Management &ndash; Unconference Session&rdquo; (Johannes Kristan, Bosch Software Innovations GmbH &amp; Michael C. Jaeger, Siemens AG)</li> <li><strong><a href="https://collabsummit2016.sched.com/event/6YQh/sw360-a-place-like-home-for-oss-michael-jaeger-siemens-maximilian-huber-tng-technology-consulting">Linux Foundation Collab Summit 2016</a></strong>: &ldquo;SW360: A Place like Home for OSS&rdquo; (Michael C. Jaeger, Siemens AG)</li> </ul> +</div></div></div> + + + + </main> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> - </div> - - </div> - - </div> - + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> - </div> - - - </div> - + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - </div> - -</footer> +<script src='/sw360/js/tabpane-persist.js'></script> -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - @@ -286,27 +376,14 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - </div> - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> +<script src="/sw360/js/main.js"></script> -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> </body> -</html> +</html> \ No newline at end of file diff --git a/presentations/index.xml b/presentations/index.xml new file mode 100644 index 0000000..a339c2e --- /dev/null +++ b/presentations/index.xml @@ -0,0 +1,17 @@ +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Eclipse SW360 – Events and Presentations</title> + <link>https://www.eclipse.org/sw360/presentations/</link> + <description>Recent content in Events and Presentations on Eclipse SW360</description> + <generator>Hugo -- gohugo.io</generator> + + <atom:link href="https://www.eclipse.org/sw360/presentations/index.xml" rel="self" type="application/rss+xml" /> + + + + + + + + </channel> +</rss> diff --git a/resources/index.html b/resources/index.html deleted file mode 100644 index c2f26d4..0000000 --- a/resources/index.html +++ /dev/null @@ -1,311 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Eclipse SW360 - Resources</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Eclipse SW360 - Resources" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/resources//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - Resources logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - Resources logo" class="visible-xs visible-sm"> - <span class="sr-only">Eclipse SW360 - Resources - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Eclipse SW360 - Resources</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - - - <div class="container"> - - <div class="row"> - - <div class="col-md-12"> - - <div> - - -<h3 id="github-repository">GitHub Repository</h3> - -<ul> -<li>Eclipse SW360: <a href="https://github.com/eclipse/sw360">https://github.com/eclipse/sw360</a></li> -<li>Eclipse SW360antenna: <a href="https://github.com/eclipse/antenna">https://github.com/eclipse/antenna</a></li> -<li>Eclipse SW360 Website: <a href="https://github.com/eclipse/sw360.website">https://github.com/eclipse/sw360.website</a></li> -</ul> - -<h3 id="more-sw360-related-projects-on-github">More SW360-Related Projects on Github</h3> - -<ul> -<li>sw360chores, a docker-compose-based deployment environment: <a href="https://github.com/sw360/sw360chores">https://github.com/sw360/sw360chores</a></li> -<li>sw360vagrant, deploying sw360 using puppet and vagrant: <a href="https://github.com/sw360/sw360vagrant">https://github.com/sw360/sw360vagrant</a></li> -<li>sw360bdpimporter, a import implementation for importing proejcts from other applications: <a href="https://github.com/sw360/sw360bdpImportService">https://github.com/sw360/sw360bdpImportService</a></li> -<li>ldapOrganizationMappingExt, small module to perform a mapping between (maybe more detailed) LDAP groups and (maybe less detailed) groups in SW360: <a href="https://github.com/sw360/ldapOrganizationMappingExt">https://github.com/sw360/ldapOrganizationMappingExt</a></li> -</ul> - -<h3 id="documentation">Documentation</h3> - -<ul> -<li>sw360slides, a collection powerpoint of slides for various presentations: <a href="https://github.com/sw360/sw360slides">https://github.com/sw360/sw360slides</a></li> -<li>Eclipse SW360 Wiki, information for developers: <a href="https://github.com/eclipse/sw360/wiki">https://github.com/eclipse/sw360/wiki</a></li> -<li>The SW360 REST API documentation is available at every instance: <a href="https://sw360host:port/resource/docs/api-guide.html">https://sw360host:port/resource/docs/api-guide.html</a></li> -</ul> - -<h3 id="builds">Builds</h3> - -<ul> -<li>Travis: <a href="https://travis-ci.org/eclipse/sw360">https://travis-ci.org/eclipse/sw360</a></li> -</ul> - - </div> - - </div> - - </div> - - - </div> - - - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..4f9540b --- /dev/null +++ b/robots.txt @@ -0,0 +1 @@ +User-agent: * \ No newline at end of file diff --git a/screenshots/index.html b/screenshots/index.html index 680aaf8..38225ae 100644 --- a/screenshots/index.html +++ b/screenshots/index.html @@ -1,458 +1,490 @@ -<!DOCTYPE html> -<html lang="en-us"> - +<!doctype html> +<html lang="en" class="no-js"> <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Eclipse SW360 - Screenshots</title> - <meta name="author" content="" /> + <meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> +<meta name="generator" content="Hugo 0.93.2" /> +<meta name="robots" content="noindex, nofollow"> - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - <meta name="description" content="Eclipse SW360 community website"> - +<link rel="shortcut icon" href="/sw360/favicons/favicon.ico" > +<link rel="apple-touch-icon" href="/sw360/favicons/apple-touch-icon-180x180.png" sizes="180x180"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-16x16.png" sizes="16x16"> +<link rel="icon" type="image/png" href="/sw360/favicons/favicon-32x32.png" sizes="32x32"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-36x36.png" sizes="36x36"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-48x48.png" sizes="48x48"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-72x72.png" sizes="72x72"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-96x96.png" sizes="96x96"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-144x144.png" sizes="144x144"> +<link rel="icon" type="image/png" href="/sw360/favicons/android-192x192.png" sizes="192x192"> - <meta name="generator" content="Hugo 0.42.1" /> +<title>Screenshots | Eclipse SW360</title> +<meta name="description" content="A picture is worth a thousand words"> +<meta property="og:title" content="Screenshots" /> +<meta property="og:description" content="A picture is worth a thousand words" /> +<meta property="og:type" content="article" /> +<meta property="og:url" content="https://www.eclipse.org/sw360/screenshots/" /><meta property="article:section" content="" /> - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> +<meta property="article:modified_time" content="2022-06-22T22:10:18+02:00" /><meta property="og:site_name" content="Eclipse SW360" /> - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> +<meta itemprop="name" content="Screenshots"> +<meta itemprop="description" content="A picture is worth a thousand words"> +<meta itemprop="dateModified" content="2022-06-22T22:10:18+02:00" /> +<meta itemprop="wordCount" content="371"> +<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/> +<meta name="twitter:title" content="Screenshots"/> +<meta name="twitter:description" content="A picture is worth a thousand words"/> - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - +<link href="/sw360/scss/main.css" rel="stylesheet"> - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Eclipse SW360 - Screenshots" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/screenshots//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - +<script + src="https://code.jquery.com/jquery-3.6.0.min.js" + integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" + crossorigin="anonymous"></script> <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> + </head> + <body class="td-page"> + <header> + + +<nav class="js-navbar-scroll navbar navbar-expand navbar-dark td-navbar-cover flex-column flex-md-row td-navbar"> + <a class="navbar-brand flex-shrink-0" href="/sw360/" + + > + <svg viewBox="0 0 634.57513 202.94498" id="svg830" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" sodipodi:docname="sw360_full_logo.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview832" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" showguides="true" inkscape:guide-bbox="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom=".52025814" inkscape:cx="1229.1975" inkscape:cy="402.68471" inkscape:window-width="3440" inkscape:window-height="1367" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1"><sodipodi:guide position="56.537804,145.64258" orientation="0,-1" id="guide15260"/><sodipodi:guide position="238.01927,19.404216" orientation="0,-1" id="guide15262"/></sodipodi:namedview><defs id="defs827"/><g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(753.67751,110.61872)"><g id="g945"><g id="g6420" transform="translate(-693.20447,-111.97594)"><path style="fill:#fff;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m1.8459941 62.242935 4.4223516-20.705162 72.6669963-.452154 12.238303 12.63334 38.161595-.378038 1.24028 2.021144.82 1.733729.97536 2.062235 20.51378 4.031117-1.87991 113.157204-137.793099 1.98596-27.941636-14.37987-.742992-99.702466z" id="path2237" sodipodi:nodetypes="cccccccccccccc"/><path style="fill:#f49523;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c4.1342 5.183999 9.33375 13.234337 8.85621 13.711872-.1574.157406-9.29432.232751-22.9516.189263L83.646853 53.768735 82.857715 51.46295c-1.229209-3.591627-2.90963-5.525475-6.01095-6.897024-3.05957-1.353092-4.0069-1.428747-17.84646-1.425276-14.15144.0036-15.03808.08612-18.21599 1.696489-3.90308 1.977842-6.04782 5.9436-6.25438 11.5647l-.083 2.257778 60.97243.141111c57.580795.133262 61.014585.168732 61.730245.637658 1.74546 1.143703 1.62705-3.631159 1.54759 62.410224l-.0725 60.24621-.83062.86697c-.45684.47683-1.28234.99246-1.83444 1.14583-.62865.17464-11.04973.27945-27.88234.28043l-26.87852.002-1.672375 1.27185c-4.05524 3.08392-11.40046 7.25707-17.60595 10.00261-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995zm117.899055-82.5102c.0568-43.600999-57e-5-54.77967-.28223-54.95846-.40781-.258936-130.325855-.320207-130.999305-.06178-.40494.155392-.44641 5.250104-.44641 54.84519.0 30.07063.0849 54.75882.18874 54.86262.10381.10381 29.72656.15673 65.82834.1176l65.639585-.0711zm-78.952385 30.1835c-7.05468-1.46976-11.08677-5.22223-12.89126-11.99726-.38109-1.43079-.49143-3.04544-.50145-7.33778l-.0128-5.50334h28.36333H115.4448l-.008 5.50334c-.008 6.16268-.26489 7.6256-1.96949 11.23484-1.77213 3.75221-5.28206 6.49693-10.01741 7.83347-1.64939.46554-3.22948.52438-15.663325.58334-10.74675.051-14.23775-.0196-15.66334-.31661zm-60.39556-31.41415c0-41.066477-.0776-53.361215-.33867-53.622231-.48655-.486551-22.825005-.486551-23.311557.0-.260705.260706-.338666 11.197639-.338666 47.510711.0 44.57348.02721 47.19577.493889 47.60286.773503.67473 22.447854 11.78236 23.001114 11.78757.46864.004.49389-2.71905.49389-53.27891zm-.22462-63.415343c.79724-6.702849 1.37258-8.927036 3.08209-11.91494l.9041-1.580216-1.49551.177123c-1.81727.215228-4.59864 1.475364-6.02966 2.731818-2.11683 1.8586-3.43464 5.058311-3.827569 9.293533C3.998949 57.16069 3.945815 58.476371 4.01884 58.597334 4.09187 58.7183 5.760465 58.7818 7.726835 58.738445l3.57523-.07882zm15.36793-1.514656c.44272-4.248666 1.05149-6.616133 2.38261-9.265816.60541-1.205103 1.10075-2.306004 1.10075-2.446449.0-.459119-2.62687.09103-4.40279.922088-.95405.446453-2.23978 1.268101-2.85718 1.825885-1.24613 1.125804-2.66992 3.599657-3.18431 5.532772-.39593 1.487949-.87547 6.220156-.66485 6.560945.0803.129918 1.75373.200744 3.71874.157389l3.57275-.07882z" id="path1998" sodipodi:nodetypes="cssssssssssscsscsccssscssccsssccscsssccscscccccsscccscssscssscssssscssssssssscs"/><path style="fill:#5c8da7;stroke-width:.282222" d="m33.176975 204.12248c-7.85984-.64495-16.91964-2.50948-24.55334-5.05317-13.466587-4.4873-27.073941-12.65571-37.102367-22.27232-9.381841-8.99658-15.949067-17.81888-21.479107-28.85466-5.032511-10.04292-8.224178-20.52836-9.866784-32.41493-.623537-4.51217-.85969-16.167151-.429987-21.221461 2.090161-24.585182 12.781181-47.16505 30.481452-64.378064C-13.741233 14.337282 6.612455 4.6634107 29.225865 1.8863339c6.19217-.7604402 18.04619-.6909356 24.27111.1423106C80.452405 5.6368047 103.55149 18.66761 120.36511 39.750731c3.91563 4.90993 9.2604 13.118448 8.91044 13.684696-.11601.187692-6.6641.284988-19.13912.284379l-18.962785-847e-6-.47802-2.464074c-.60096-3.097872-2.47231-6.949432-4.45025-9.159461-2.70181-3.018835-6.41755-5.008183-11.33459-6.068359-2.19116-.472443-4.44575-.509668-30.86826-.509668-30.95311.0-30.56147-.01772-34.97188 1.582886-6.917178 2.510361-11.36541 8.335092-12.330139 16.145674-.156873 1.270071-.373094 3.007719-.480491 3.861441l-.195267 1.552223-6.773334.141111c-7.522989.156729-7.835734.232195-8.724576 2.10529-.403645.850621-.447647 6.018542-.447647 52.576188v51.63283l.639093.94836c.798652 1.18511 1.112113 1.35942 18.943778 10.53395l14.643983 7.53444 42.78824.005c23.53354.003 43.034445.10232 43.335345.22182.47409.1883.32383.38222-1.126255 1.45346-4.32417 3.19444-11.33529 7.15921-17.42287 9.85259-9.12592 4.03764-19.52182 6.87238-29.55242 8.05832-4.65381.55023-14.78621.76139-19.19111.39995z" id="path1996"/><path style="fill:#305e7c;stroke-width:.287592" d="m34.094199 204.09613c-4.90274-.2941-5.851578-.31957-13.836339-1.79966C13.133291 200.97583 4.8525671 198.07041.16057245 195.84612-2.8249008 190.4424-10.10013 177.69478-14.474916 169.25443l29.942445 14.77436 42.85689.14654c39.43972.13484 42.815151.18416 42.333341.61852-1.056251.95222-5.694201 4.03952-8.990231 5.98443-11.34385 6.69377-24.80609 11.26496-37.95889 12.88922-4.49801.55547-15.597035.66962-19.61444.42863z" id="path1994" sodipodi:nodetypes="sscccsssss"/></g><g aria-label="S" transform="scale(1.0330982,0.96796221)" id="text2479" style="font-weight:700;font-size:141.652px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.737771"><path d="m-480.05316 31.80206q0 4.426625.27666 8.645752.27667 4.149961 1.24499 7.469929 1.03749 3.319969 2.90497 5.394949 1.93665 2.074981 5.18745 2.282479 7.46993.0 7.46993-9.54491.0-13.00321-14.73236-26.006421l-7.81576-6.639937q-3.31997-2.76664-6.84743-5.8791108-3.52747-3.1816366-6.43244-7.26243131-2.90497-4.14996069-4.84162-9.54490969-1.86748-5.3949492-1.86748-12.6573802.0-7.539095 2.55914-13.625704t7.1241-10.305736q4.63412-4.288293 11.06656-6.570771 6.5016-2.282479 14.38653-2.282479 6.57077.0 12.31155 2.559143 5.80994 2.559142 10.09824 6.916601 4.35746 4.357459 6.84743 10.23657 2.48998 5.809945 2.48998 12.380716l-.0692 2.974138-26.00642 3.596633q0-.414996.0-1.03749.0692-.622494.0692-1.314154.0692-.760827.0692-1.452487.0692-.69166.0692-1.244988.0-2.282478-.34583-4.772455-.34583-2.559142-1.24499-4.634122-.82999-2.144147-2.42081-3.527467-1.52165-1.38332-3.94246-1.38332-2.07498.0-3.6658.899158-1.52165.899158-2.55914 2.42081-1.03749 1.521652-1.59082 3.527467-.48416 1.936648-.48416 4.080795.0 3.11247.69166 5.740779.69166 2.559142 2.07498 4.910786 1.38332 2.351645 3.31997 4.4957912 2.00581 2.1441464 4.56495 4.2882928l9.19908 7.8849253q4.97996 4.3574588 9.06075 8.9224157 4.14996 4.564957 7.1241 9.683242 2.97414 5.118284 4.56496 10.997396 1.65998 5.809945 1.65998 12.726546.0 6.501605-2.55914 11.96572-2.48998 5.464115-6.84744 9.406577-4.28829 3.942463-10.1674 6.155776-5.80995 2.213312-12.44988 2.213312-8.78409.0-15.21653-3.112471-6.43243-3.11247-10.78989-8.369087-4.2883-5.325783-6.50161-12.173218-2.21331-6.916601-2.55914-14.524863z" id="path871"/></g><g aria-label="W" transform="scale(1.0056781,0.99435395)" id="text2479-6" style="font-weight:700;font-size:145.071px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Bold';letter-spacing:0;word-spacing:0;fill:#f49523;stroke-width:.755582"><path d="m-445.9168-54.090165h21.95899l7.93357 84.435855 10.90866-84.435855h18.91306l10.69616 83.940007 8.28775-83.940007h22.02982l-17.85053 127.503808h-22.02983l-10.69615-83.444159-10.48365 83.444159h-22.02982z" id="path892"/></g><g aria-label="360" transform="scale(0.99303949,1.0070093)" id="text12214" style="font-size:140.163px;line-height:1.25;font-family:Oswald;-inkscape-font-specification:'Oswald, Normal';letter-spacing:0;word-spacing:0;fill:#5c8da7;stroke-width:.350408"><path d="m-306.09117 72.145338q-8.21267.0-14.02998-2.532241-5.81731-2.532242-9.51302-6.843897-3.6957-4.311654-5.40668-10.128966-1.71097-5.817312-1.71097-12.387452v-4.380094h17.52037q0 6.570141.82127 10.813356.82127 4.243216 2.4638 6.707019 1.64254 2.463802 4.10634 3.421948 2.4638.958145 5.74887.958145 3.28508.0 5.74888-.958145 2.4638-.958146 4.10634-3.421948 1.64253-2.463803 2.4638-6.707019.82127-4.243215.82127-10.813356.0-4.927605-.88971-8.965504t-2.94288-6.912335-5.40667-4.448532q-3.35351-1.574097-8.28112-1.574097V-3.5481539q4.92761.0 8.28112-.8897065 3.3535-.8897065 5.40667-2.9428754 2.05317-2.0531688 2.94288-5.4066782.88971-3.353509.88971-8.281114t-.82127-8.281115q-.82127-3.353509-2.4638-5.406678-1.64254-2.053168-4.10634-2.942875-2.4638-.889706-5.74888-.889706-3.28507.0-5.74887.958145t-4.10634 3.421948q-1.64253 2.463803-2.4638 6.707018-.82127 4.243216-.82127 10.813356h-17.52037v-4.380093q0-6.570141 1.71097-12.387452 1.71098-5.817312 5.40668-10.128967 3.69571-4.311654 9.51302-6.843896 5.81731-2.532242 14.02998-2.532242 8.21268.0 14.02999 2.532242t9.51302 6.843896q3.6957 4.311655 5.40668 10.128967 1.71097 5.817311 1.71097 12.387452.0 6.57014-1.77941 11.2239896-1.71098 4.5854105-4.3801 7.6651638-2.60068 3.07975326-5.68043 4.8591663-3.01131 1.710974-5.68043 2.5322416 2.66912.8897065 5.68043 2.8744364 3.07975 1.9162913 5.68043 5.4751173 2.66912 3.490387 4.3801 8.965504 1.77941 5.475117 1.77941 13.345597.0 8.212676-1.71097 14.919694-1.71098 6.707018-5.40668 11.429307-3.69571 4.722288-9.51302 7.322969-5.81731 2.60068-14.02999 2.60068z" id="path846"/><path d="m-229.43952 72.145338q-6.57015.0-12.18214-2.669119-5.61199-2.66912-9.71833-7.802042-4.10634-5.132922-6.43326-12.729647-2.32693-7.596725-2.32693-17.451935V-7.9282475q0-9.8552105 1.71097-18.1363245 1.71098-8.281115 5.40668-14.235305 3.69571-5.954189 9.51302-9.307698 5.81731-3.35351 14.02999-3.35351 6.57014.0 12.18213 1.916291 5.612 1.916291 9.71833 5.817312 4.10634 3.901021 6.43327 9.92365 2.32692 6.022628 2.32692 14.235304h-17.52037q0-4.927605-.82127-8.281115-.75283-3.353509-2.39537-5.406678-1.64253-2.053168-4.10633-2.942875-2.46381-.889706-5.81731-.889706-13.14029.0-13.14029 26.280561V5.2120333q.75283-1.3003403 2.05317-2.8059975 1.36878-1.5740961 3.49039-2.87443638 2.12161-1.36877922 5.06448-2.19004682 2.94288-.8897065 6.91234-.8897065 8.21267.0 13.3456 3.01131436 5.13292 3.01131434 8.00736 7.93891964 2.87443 4.9276049 3.90102 11.2239899 1.02658 6.296384 1.02658 12.866525.0 8.212675-1.71097 15.604083-1.71098 7.391408-5.40668 12.934964-3.69571 5.543556-9.51302 8.828626-5.81731 3.28507-14.02998 3.28507zm-13.14029-36.27265q0 4.927606.82127 8.965504.82127 4.037899 2.4638 6.912336 1.64254 2.874436 4.10634 4.448532 2.46381 1.574096 5.74888 1.574096t5.74887-1.574096q2.4638-1.574096 4.10634-4.448532 1.64253-2.874437 2.4638-6.912336.82127-4.037898.82127-8.965504.0-4.927605-.20532-9.649893-.20532-4.722289-1.43722-8.417993t-3.90102-5.954189q-2.66912-2.2584862-7.59672-2.2584862-2.66912.0-4.79073.8897062-2.05317.821268-3.69571 2.190047-1.64253 1.30034-2.80599 2.874437-1.16347 1.505657-1.84786 2.805997z" id="path848"/><path d="m-150.59783 72.145338q-5.88576.0-11.42931-1.98473-5.54356-2.053169-9.85521-6.433262-4.24322-4.380094-6.8439-11.22399-2.53224-6.912335-2.53224-16.630668v-52.561123q0-8.281114 1.64254-14.166865 1.71097-5.88575 4.38009-9.923649 2.66912-4.037899 6.02263-6.433263 3.35351-2.395363 6.77545-3.695704 3.42195-1.30034 6.50171-1.642535 3.14819-.410634 5.33824-.410634 2.19004.0 5.2698.410634 3.14819.342195 6.57014 1.642535 3.42194 1.300341 6.77545 3.695704 3.35351 2.395364 6.02263 6.433263 2.66912 4.037899 4.31166 9.923649 1.71097 5.885751 1.71097 14.166865v52.561123q0 9.718333-2.60068 16.630668-2.53224 6.843896-6.8439 11.22399-4.24321 4.380093-9.78677 6.433262-5.54355 1.98473-11.4293 1.98473zm0-14.372182q2.87443.0 4.99604-1.095023 2.12161-1.095024 3.55883-2.874437 1.43721-1.779413 2.32692-4.106337.95815-2.326925 1.43722-4.722289.47907-2.463802.61595-4.790727.20532-2.395364.20532-4.311655v-52.561123q0-1.98473-.13688-4.380093-.0684-2.395364-.54751-4.790728-.41064-2.463802-1.2319-4.722288-.82127-2.326925-2.32693-4.106338-1.43722-1.779413-3.62726-2.805997-2.19005-1.095023-5.2698-1.095023-3.07976.0-5.2698 1.095023-2.19005 1.026584-3.69571 2.805997-1.43722 1.779413-2.25848 4.106338-.82127 2.258486-1.30034 4.722288-.41064 2.395364-.54752 4.790728-.0684 2.395363-.0684 4.380093v52.561123q0 1.916291.13688 4.311655.20532 2.326925.68439 4.790727.47907 2.395364 1.36878 4.722289.95815 2.326924 2.39537 4.106337 1.43721 1.779413 3.55882 2.874437 2.12161 1.095023 4.99605 1.095023z" id="path850"/></g></g></g></svg> + </a> + <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar"> + <ul class="navbar-nav mt-2 mt-lg-0"> + + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/about/" ><span>About</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link active" href="/sw360/screenshots/" ><span class="active">Screenshots</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/presentations/" ><span>Presentations</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + + + <a class="nav-link" href="/sw360/docs/" ><span>Documentation</span></a> + </li> + + <li class="nav-item mr-4 mb-2 mb-lg-0"> + + + + + + + <a class="nav-link" href="https://github.com/eclipse/sw360" target="_blank" ><i class='fab fa-github'></i> <span>Github</span></a> + </li> + + + + </ul> + </div> + <div class="navbar-nav d-none d-lg-block"></div> +</nav> + + </header> + <div class="container-fluid td-default td-outer"> + <main role="main" class="td-main"> + - <body> - <div id="all"> - <header> - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - Screenshots logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Eclipse SW360 - Screenshots logo" class="visible-xs visible-sm"> - <span class="sr-only">Eclipse SW360 - Screenshots - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - <div class="collapse clearfix" id="search"> - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> +<section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-sm js-td-cover td-overlay td-overlay--dark -bg-primary"> + <div class="container td-overlay__inner"> + <div class="row"> + <div class="col-12"> + <div class="text-center"> + + + <div class="pt-3 lead"> + <div class="text-left"> + <h1 class="display-1 mb-5">Screenshots</h1><h3 class="font-weight-light">A picture is worth a thousand words</h3> + </div> + + </div> </div> + </div> </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Eclipse SW360 - Screenshots</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - - - <div class="container"> - - <div class="row"> - - <div class="col-md-12"> - - <div> - - -<h2 id="a-picture-is-worth-a-thousand-words">A picture is worth a thousand words</h2> + </div> + +</section> +<div class="container l-container--padded"> <p>The SW360 application is divided into several sections around managing a catalogue of software components and the software bill-of-material of your software projects, products or services. The menu bar as shown on home screen cover the following main sections.</p> - -<h3 id="home">Home</h3> - +<br> +<h2 id="home">Home</h2> <p>A dashboard listing the components and projects created by the user logged in. With this overview, the own projects and components can be directly accessed.</p> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/css/lightbox.min.css" integrity="sha256-tBxlolRHP9uMsEFKVk+hk//ekOlXOixLKvye5W2WR5c=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/js/lightbox.min.js" integrity="sha256-CtKylYan+AJuoH8jrMht1+1PMhMqrKnB8K5g012WN5I=" crossorigin="anonymous"></script><div class="card-deck"> + + <a href="../img/sw360screenshots/sw360screenshot-home.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-home.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Home</h5> + <p class="card-text"> + + </p> + </div> + </div> +</a> -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-home.png" width="700" height="440" /> - - -</figure> - - -<p><br/><br/></p> -<h3 id="projects">Projects</h3> +</div> +<h2 id="project">Project</h2> +<p>As for individual projects, a number of subsections is provided, allowing for managing different aspects of a project: license compliance, export control (ECC), vulnerabilities, locking of attachments for project use, and vulnerabilities. +For each project, a number of attributes can be maintained, most notably external ids, which allow for a mapping to the dataset in SW360 with external systems.</p> <p>The main area of work in the projects section. SW360 uses the term project as synonym for products, services, or internal projects. The projects area starts with a listing of all projects which are visible to the user, according to the visibility setting of the project.</p> - -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-projectlist.png" width="700" height="440" /> - - -</figure> - - -<p><br/></p> - -<p>As for individual projects, a number of subsections is provided, allowing for managing different aspects of a project: license compliance, export control (ECC), vulnerabilities, locking of attachments for project use, and vulnerabilities.</p> - -<p>For each project, a number of attributes can be maintained, most notably external ids, which allow for a mapping to the dataset in SW360 with external systems.</p> - -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-projects01.png" width="700" height="440" /> - - -</figure> - - -<p><br/></p> - <p>For the license compliance, SW360 allows for maintaining a global clearing status for each release of a component. In addition, a clearing status can be set for use at each individual project.</p> - -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-projects02.png" width="700" height="440" /> - - -</figure> - - -<p><br/></p> - <p>Not only the clearing status for each use of a release can be captured by SW360. Also, the type of usage (contained, side-by-side installation, etc.) can be saved as attribute.</p> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/css/lightbox.min.css" integrity="sha256-tBxlolRHP9uMsEFKVk+hk//ekOlXOixLKvye5W2WR5c=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/js/lightbox.min.js" integrity="sha256-CtKylYan+AJuoH8jrMht1+1PMhMqrKnB8K5g012WN5I=" crossorigin="anonymous"></script><div class="card-deck"> + + <a href="../img/sw360screenshots/sw360screenshot-projectlist.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-projectlist.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Main area</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-projects04.png" width="700" height="440" /> - - -</figure> + <a href="../img/sw360screenshots/sw360screenshot-projects01.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-projects01.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Summary</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p><br/><br/></p> -<h3 id="components">Components</h3> + <a href="../img/sw360screenshots/sw360screenshot-projects02.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-projects02.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Clearing Status</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p>Components in SW360 can have multiple types, such as OSS, commercial component or a service (and more types), since license compliance matters for type of software, not only OSS. Components are in fact a container for releases, because license compliance information and other attributes change between different releases of a component.</p> -<p><br/></p> + <a href="../img/sw360screenshots/sw360screenshot-projects03.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-projects03.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">ECC Clearing Status</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-components02.png" width="700" height="440" /> - - -</figure> +<a href="../img/sw360screenshots/sw360screenshot-projects04.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-projects04.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Releases and Projects</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p><br/></p> +</div> +<h2 id="components">Components</h2> +<p>Components in SW360 can have multiple types, such as OSS, commercial component or a service (and more types), since license compliance matters for type of software, not only OSS. Components are in fact a container for releases, because license compliance information and other attributes change between different releases of a component.</p> <p>At each release, basic attributes can be stored, some of them are informal, but can give relevant input to usage statistics of software in an organisation.</p> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/css/lightbox.min.css" integrity="sha256-tBxlolRHP9uMsEFKVk+hk//ekOlXOixLKvye5W2WR5c=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/js/lightbox.min.js" integrity="sha256-CtKylYan+AJuoH8jrMht1+1PMhMqrKnB8K5g012WN5I=" crossorigin="anonymous"></script><div class="card-deck"> + + <a href="../img/sw360screenshots/sw360screenshot-components02.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-components02.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Component</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-components01.png" width="700" height="440" /> - - -</figure> - - -<p><br/></p> - -<p>Of course, when if comes to license clearing, more relevant attributes can be found.</p> - -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-components04.png" width="700" height="440" /> - - -</figure> - - -<p><br/><br/></p> - -<h3 id="special-export-control-and-customs">Special: Export Control and Customs</h3> - -<p>Once the software bill-of-material has been setup, not only license compliance per component can be checked. But also the export control and customs (ECC) relevant information can be assessed for each project.</p> - -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-projects03.png" width="700" height="440" /> - - -</figure> - - -<p><br/></p> - -<p>ECC classifications can be set for each release of a component - SW360 supports a specific role for ECC experts who are the only users which can modify ECC data. Other users can enter ECC data which requires approval by ECC experts with the particular role.</p> -<p><br/></p> + <a href="../img/sw360screenshots/sw360screenshot-components01.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-components01.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Component Edit</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-components03.png" width="700" height="440" /> - - -</figure> + <a href="../img/sw360screenshots/sw360screenshot-components04.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-components04.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Component Clearance</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p><br/><br/></p> -<h3 id="search">Search</h3> +</div> +<h2 id="search">Search</h2> <p>SW360 provides an index for all data, thus searching for keywords will yield results for all different datasets, such as projects, components, licenses, etc. Search for terms can be filtered by data set types.</p> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/css/lightbox.min.css" integrity="sha256-tBxlolRHP9uMsEFKVk+hk//ekOlXOixLKvye5W2WR5c=" crossorigin="anonymous" /> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.1/js/lightbox.min.js" integrity="sha256-CtKylYan+AJuoH8jrMht1+1PMhMqrKnB8K5g012WN5I=" crossorigin="anonymous"></script><div class="card-deck"> + + <a href="../img/sw360screenshots/sw360screenshot-search.png" data-lightbox="x" class="mb-5"> + <div class="card"> + <img class="card-img-top" src="../img/sw360screenshots/sw360screenshot-search.png" alt="Card image cap" /> + <div class="card-body"> + <h5 class="card-title">Search</h5> + <p class="card-text"> + </p> + </div> + </div> +</a> -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-search.png" width="700" height="440" /> - - -</figure> - - -<p><br/><br/></p> - -<h3 id="preferences">Preferences</h3> - -<p><br/></p> - -<p>The preferences section of SW360 shows the basic user information. In addition, this is the area where users can generate access tokens for the REST API. Access tokens can be configured to have a limited validity or set for only allowing for read access. Once issued access tokens cannot be shown anymore because SW360 stores only a hash. Thus deletion of access tokens requires a designating name for each token.</p> - -<p><br/></p> - - -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-preferences01.png" width="700" height="440" /> - - -</figure> - - -<p><br/></p> - -<p>Moreover, in the preferences section, each user can define own notification settings - depending on the user&rsquo;s needs.</p> -<p><br/></p> +</div> -<figure> - - <img src="../img/sw360screenshots/sw360screenshot-preferences02.png" width="700" height="440" /> - - -</figure> +</div> - </div> - </div> + </main> + <footer class="footer py-5 row d-print-none"> + <div class="container-fluid mx-sm-5"> + <div class="row"> + <div class="col-md-3 col-sm-6"> + <h4>Legal</h4> + <ul> + <li> + <a href="https://www.eclipse.org/legal/privacy.php" + >Privacy Policy</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/termsofuse.php" + >Terms of Use</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/copyright.php" + >Copyright Agent</a + > + </li> + <li> + <a href="https://www.eclipse.org/legal/epl-2.0/" + >Eclipse Public License</a + > + </li> + <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> + </ul> + </div> + + <div class="col-md-6 col-sm-6" align="center"> + <p><strong>Eclipse SW360</strong> is supported by</p> + <p> + <a href="https://www.siemens.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Siemens.png" + class="footer-img" + width="100" + alt="Siemens" + /></a> + <a href="https://www.bosch-si.com/"> + <img + src="https://www.eclipse.org/sw360//img/clients/BoschSI.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + <a href="https://verifa.io/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Verifa.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a> + </p> - </div> - + + <small>&copy; 2022 The Eclipse Foundation All Rights Reserved</small> + + <div style="margin-top: 10px"><a href="http://www.eclipse.org/"> + <img + src="https://www.eclipse.org/sw360//img/clients/Eclipse.png" + class="footer-img" + width="100" + alt="Bosch Software Innovation" + /></a></div> + </div> + + <div class="col-md-3 col-sm-6 "> + +<ul class="list-inline mb-0"> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="GitHub" + aria-label="GitHub" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://github.com/eclipse/sw360" + aria-label="GitHub" + > + <i class="fab fa-github"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Slack" + aria-label="Slack" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="https://sw360chat.slack.com" + aria-label="Slack" + > + <i class="fab fa-slack"></i> + </a> + </li> + + <li + class="list-inline-item mx-2 h3" + data-toggle="tooltip" + data-placement="top" + title="Developer mailing list" + aria-label="Developer mailing list" + > + <a + class="text-white" + target="_blank" + rel="noopener" + href="mailto:sw360-dev@eclipse.org" + aria-label="Developer mailing list" + > + <i class="fa fa-envelope"></i> + </a> + </li> + +</ul> + + </div> + </div> + </div> + +</footer> - </div> - - - </div> - + </div> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" + integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" + crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" + integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" + crossorigin="anonymous"></script> - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - </div> - -</footer> +<script src='/sw360/js/tabpane-persist.js'></script> -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - @@ -465,27 +497,14 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - </div> - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> +<script src="/sw360/js/main.js"></script> -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> </body> -</html> +</html> \ No newline at end of file diff --git a/scss/main.css b/scss/main.css new file mode 100644 index 0000000..42d1e55 --- /dev/null +++ b/scss/main.css @@ -0,0 +1,20585 @@ +/* + +Bootstrap variables overrides for theme. +See https://github.com/twbs/bootstrap/pull/23260 +*/ +@import url("https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v27.0.1/dist/font-face.css"); +@fa-font-path : "../webfonts"; +/*! + * Bootstrap v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --blue: #72A1E5; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #BA5A31; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #797676; + --gray-dark: #333; + --primary: #1a3f51; + --secondary: #102129; + --success: #3772FF; + --info: #C0E0DE; + --warning: #ED6A5A; + --danger: #ED6A5A; + --light: #D3F3EE; + --dark: #403F4C; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + +*, +*::before, +*::after { + box-sizing: border-box; } + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; } + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #222; + text-align: left; + background-color: #fff; } + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; } + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; } + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; } + +p { + margin-top: 0; + margin-bottom: 1rem; } + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; } + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; } + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } + +dt { + font-weight: 700; } + +dd { + margin-bottom: .5rem; + margin-left: 0; } + +blockquote { + margin: 0 0 1rem; } + +b, +strong { + font-weight: bolder; } + +small { + font-size: 80%; } + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } + +sub { + bottom: -.25em; } + +sup { + top: -.5em; } + +a { + color: #3176d9; + text-decoration: none; + background-color: transparent; } + a:hover { + color: #1e53a0; + text-decoration: none; } + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; } + a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; } + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; } + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; } + +figure { + margin: 0 0 1rem; } + +img { + vertical-align: middle; + border-style: none; } + +svg { + overflow: hidden; + vertical-align: middle; } + +table { + border-collapse: collapse; } + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #797676; + text-align: left; + caption-side: bottom; } + +th { + text-align: inherit; + text-align: -webkit-match-parent; } + +label { + display: inline-block; + margin-bottom: 0.5rem; } + +button { + border-radius: 0; } + +button:focus:not(:focus-visible) { + outline: 0; } + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +button, +input { + overflow: visible; } + +button, +select { + text-transform: none; } + +[role="button"] { + cursor: pointer; } + +select { + word-wrap: normal; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; } + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; } + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; } + +textarea { + overflow: auto; + resize: vertical; } + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; } + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; } + +progress { + vertical-align: baseline; } + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; } + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; } + +output { + display: inline-block; } + +summary { + display: list-item; + cursor: pointer; } + +template { + display: none; } + +[hidden] { + display: none !important; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; } + +h1, .h1 { + font-size: 2.25rem; } + +h2, .h2 { + font-size: 2rem; } + +h3, .h3 { + font-size: 1.5rem; } + +h4, .h4 { + font-size: 1.35rem; } + +h5, .h5 { + font-size: 1.15rem; } + +h6, .h6 { + font-size: 1rem; } + +.lead { + font-size: 1.25rem; + font-weight: 300; } + +.display-1 { + font-size: 3rem; + font-weight: 700; + line-height: 1.2; } + +.display-2 { + font-size: 2.5rem; + font-weight: 700; + line-height: 1.2; } + +.display-3 { + font-size: 2rem; + font-weight: 700; + line-height: 1.2; } + +.display-4 { + font-size: 1.75rem; + font-weight: 700; + line-height: 1.2; } + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); } + +small, +.small { + font-size: 80%; + font-weight: 400; } + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; } + +.list-unstyled { + padding-left: 0; + list-style: none; } + +.list-inline { + padding-left: 0; + list-style: none; } + +.list-inline-item { + display: inline-block; } + .list-inline-item:not(:last-child) { + margin-right: 0.5rem; } + +.initialism { + font-size: 90%; + text-transform: uppercase; } + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; } + +.blockquote-footer { + display: block; + font-size: 80%; + color: #797676; } + .blockquote-footer::before { + content: "\2014\00A0"; } + +.img-fluid, .td-content img { + max-width: 100%; + height: auto; } + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + max-width: 100%; + height: auto; } + +.figure { + display: inline-block; } + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; } + +.figure-caption { + font-size: 90%; + color: #797676; } + +code { + font-size: 87.5%; + color: black; + word-wrap: break-word; } + a > code { + color: inherit; } + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #222; + border-radius: 0.2rem; + box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; + box-shadow: none; } + +pre { + display: block; + font-size: 87.5%; + color: #222; } + pre code { + font-size: inherit; + color: inherit; + word-break: normal; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container, +.container-fluid, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; } } + +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; } } + +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; } } + +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; } } + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; } + +.no-gutters { + margin-right: 0; + margin-left: 0; } + .no-gutters > .col, + .no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; } + +.col-xl, +.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg, +.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md, +.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm, +.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col, +.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; } + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + +.row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; } + +.row-cols-2 > * { + flex: 0 0 50%; + max-width: 50%; } + +.row-cols-3 > * { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + +.row-cols-4 > * { + flex: 0 0 25%; + max-width: 25%; } + +.row-cols-5 > * { + flex: 0 0 20%; + max-width: 20%; } + +.row-cols-6 > * { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + +.col-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; } + +.col-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + +.col-3 { + flex: 0 0 25%; + max-width: 25%; } + +.col-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + +.col-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; } + +.col-6 { + flex: 0 0 50%; + max-width: 50%; } + +.col-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; } + +.col-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; } + +.col-9 { + flex: 0 0 75%; + max-width: 75%; } + +.col-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; } + +.col-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; } + +.col-12 { + flex: 0 0 100%; + max-width: 100%; } + +.order-first { + order: -1; } + +.order-last { + order: 13; } + +.order-0 { + order: 0; } + +.order-1 { + order: 1; } + +.order-2 { + order: 2; } + +.order-3 { + order: 3; } + +.order-4 { + order: 4; } + +.order-5 { + order: 5; } + +.order-6 { + order: 6; } + +.order-7 { + order: 7; } + +.order-8 { + order: 8; } + +.order-9 { + order: 9; } + +.order-10 { + order: 10; } + +.order-11 { + order: 11; } + +.order-12 { + order: 12; } + +.offset-1 { + margin-left: 8.33333333%; } + +.offset-2 { + margin-left: 16.66666667%; } + +.offset-3 { + margin-left: 25%; } + +.offset-4 { + margin-left: 33.33333333%; } + +.offset-5 { + margin-left: 41.66666667%; } + +.offset-6 { + margin-left: 50%; } + +.offset-7 { + margin-left: 58.33333333%; } + +.offset-8 { + margin-left: 66.66666667%; } + +.offset-9 { + margin-left: 75%; } + +.offset-10 { + margin-left: 83.33333333%; } + +.offset-11 { + margin-left: 91.66666667%; } + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + .row-cols-sm-1 > * { + flex: 0 0 100%; + max-width: 100%; } + .row-cols-sm-2 > * { + flex: 0 0 50%; + max-width: 50%; } + .row-cols-sm-3 > * { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .row-cols-sm-4 > * { + flex: 0 0 25%; + max-width: 25%; } + .row-cols-sm-5 > * { + flex: 0 0 20%; + max-width: 20%; } + .row-cols-sm-6 > * { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-sm-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; } + .col-sm-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; } + .col-sm-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .col-sm-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; } + .col-sm-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; } + .col-sm-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; } + .col-sm-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; } + .col-sm-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; } + .order-sm-first { + order: -1; } + .order-sm-last { + order: 13; } + .order-sm-0 { + order: 0; } + .order-sm-1 { + order: 1; } + .order-sm-2 { + order: 2; } + .order-sm-3 { + order: 3; } + .order-sm-4 { + order: 4; } + .order-sm-5 { + order: 5; } + .order-sm-6 { + order: 6; } + .order-sm-7 { + order: 7; } + .order-sm-8 { + order: 8; } + .order-sm-9 { + order: 9; } + .order-sm-10 { + order: 10; } + .order-sm-11 { + order: 11; } + .order-sm-12 { + order: 12; } + .offset-sm-0 { + margin-left: 0; } + .offset-sm-1 { + margin-left: 8.33333333%; } + .offset-sm-2 { + margin-left: 16.66666667%; } + .offset-sm-3 { + margin-left: 25%; } + .offset-sm-4 { + margin-left: 33.33333333%; } + .offset-sm-5 { + margin-left: 41.66666667%; } + .offset-sm-6 { + margin-left: 50%; } + .offset-sm-7 { + margin-left: 58.33333333%; } + .offset-sm-8 { + margin-left: 66.66666667%; } + .offset-sm-9 { + margin-left: 75%; } + .offset-sm-10 { + margin-left: 83.33333333%; } + .offset-sm-11 { + margin-left: 91.66666667%; } } + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + .row-cols-md-1 > * { + flex: 0 0 100%; + max-width: 100%; } + .row-cols-md-2 > * { + flex: 0 0 50%; + max-width: 50%; } + .row-cols-md-3 > * { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .row-cols-md-4 > * { + flex: 0 0 25%; + max-width: 25%; } + .row-cols-md-5 > * { + flex: 0 0 20%; + max-width: 20%; } + .row-cols-md-6 > * { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-md-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; } + .col-md-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; } + .col-md-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .col-md-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; } + .col-md-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; } + .col-md-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; } + .col-md-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; } + .col-md-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; } + .order-md-first { + order: -1; } + .order-md-last { + order: 13; } + .order-md-0 { + order: 0; } + .order-md-1 { + order: 1; } + .order-md-2 { + order: 2; } + .order-md-3 { + order: 3; } + .order-md-4 { + order: 4; } + .order-md-5 { + order: 5; } + .order-md-6 { + order: 6; } + .order-md-7 { + order: 7; } + .order-md-8 { + order: 8; } + .order-md-9 { + order: 9; } + .order-md-10 { + order: 10; } + .order-md-11 { + order: 11; } + .order-md-12 { + order: 12; } + .offset-md-0 { + margin-left: 0; } + .offset-md-1 { + margin-left: 8.33333333%; } + .offset-md-2 { + margin-left: 16.66666667%; } + .offset-md-3 { + margin-left: 25%; } + .offset-md-4 { + margin-left: 33.33333333%; } + .offset-md-5 { + margin-left: 41.66666667%; } + .offset-md-6 { + margin-left: 50%; } + .offset-md-7 { + margin-left: 58.33333333%; } + .offset-md-8 { + margin-left: 66.66666667%; } + .offset-md-9 { + margin-left: 75%; } + .offset-md-10 { + margin-left: 83.33333333%; } + .offset-md-11 { + margin-left: 91.66666667%; } } + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + .row-cols-lg-1 > * { + flex: 0 0 100%; + max-width: 100%; } + .row-cols-lg-2 > * { + flex: 0 0 50%; + max-width: 50%; } + .row-cols-lg-3 > * { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .row-cols-lg-4 > * { + flex: 0 0 25%; + max-width: 25%; } + .row-cols-lg-5 > * { + flex: 0 0 20%; + max-width: 20%; } + .row-cols-lg-6 > * { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-lg-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; } + .col-lg-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; } + .col-lg-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .col-lg-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; } + .col-lg-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; } + .col-lg-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; } + .col-lg-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; } + .col-lg-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; } + .order-lg-first { + order: -1; } + .order-lg-last { + order: 13; } + .order-lg-0 { + order: 0; } + .order-lg-1 { + order: 1; } + .order-lg-2 { + order: 2; } + .order-lg-3 { + order: 3; } + .order-lg-4 { + order: 4; } + .order-lg-5 { + order: 5; } + .order-lg-6 { + order: 6; } + .order-lg-7 { + order: 7; } + .order-lg-8 { + order: 8; } + .order-lg-9 { + order: 9; } + .order-lg-10 { + order: 10; } + .order-lg-11 { + order: 11; } + .order-lg-12 { + order: 12; } + .offset-lg-0 { + margin-left: 0; } + .offset-lg-1 { + margin-left: 8.33333333%; } + .offset-lg-2 { + margin-left: 16.66666667%; } + .offset-lg-3 { + margin-left: 25%; } + .offset-lg-4 { + margin-left: 33.33333333%; } + .offset-lg-5 { + margin-left: 41.66666667%; } + .offset-lg-6 { + margin-left: 50%; } + .offset-lg-7 { + margin-left: 58.33333333%; } + .offset-lg-8 { + margin-left: 66.66666667%; } + .offset-lg-9 { + margin-left: 75%; } + .offset-lg-10 { + margin-left: 83.33333333%; } + .offset-lg-11 { + margin-left: 91.66666667%; } } + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; } + .row-cols-xl-1 > * { + flex: 0 0 100%; + max-width: 100%; } + .row-cols-xl-2 > * { + flex: 0 0 50%; + max-width: 50%; } + .row-cols-xl-3 > * { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .row-cols-xl-4 > * { + flex: 0 0 25%; + max-width: 25%; } + .row-cols-xl-5 > * { + flex: 0 0 20%; + max-width: 20%; } + .row-cols-xl-6 > * { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-xl-1 { + flex: 0 0 8.33333333%; + max-width: 8.33333333%; } + .col-xl-2 { + flex: 0 0 16.66666667%; + max-width: 16.66666667%; } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; } + .col-xl-4 { + flex: 0 0 33.33333333%; + max-width: 33.33333333%; } + .col-xl-5 { + flex: 0 0 41.66666667%; + max-width: 41.66666667%; } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; } + .col-xl-7 { + flex: 0 0 58.33333333%; + max-width: 58.33333333%; } + .col-xl-8 { + flex: 0 0 66.66666667%; + max-width: 66.66666667%; } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; } + .col-xl-10 { + flex: 0 0 83.33333333%; + max-width: 83.33333333%; } + .col-xl-11 { + flex: 0 0 91.66666667%; + max-width: 91.66666667%; } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; } + .order-xl-first { + order: -1; } + .order-xl-last { + order: 13; } + .order-xl-0 { + order: 0; } + .order-xl-1 { + order: 1; } + .order-xl-2 { + order: 2; } + .order-xl-3 { + order: 3; } + .order-xl-4 { + order: 4; } + .order-xl-5 { + order: 5; } + .order-xl-6 { + order: 6; } + .order-xl-7 { + order: 7; } + .order-xl-8 { + order: 8; } + .order-xl-9 { + order: 9; } + .order-xl-10 { + order: 10; } + .order-xl-11 { + order: 11; } + .order-xl-12 { + order: 12; } + .offset-xl-0 { + margin-left: 0; } + .offset-xl-1 { + margin-left: 8.33333333%; } + .offset-xl-2 { + margin-left: 16.66666667%; } + .offset-xl-3 { + margin-left: 25%; } + .offset-xl-4 { + margin-left: 33.33333333%; } + .offset-xl-5 { + margin-left: 41.66666667%; } + .offset-xl-6 { + margin-left: 50%; } + .offset-xl-7 { + margin-left: 58.33333333%; } + .offset-xl-8 { + margin-left: 66.66666667%; } + .offset-xl-9 { + margin-left: 75%; } + .offset-xl-10 { + margin-left: 83.33333333%; } + .offset-xl-11 { + margin-left: 91.66666667%; } } + +.table, .td-content > table, .td-box .row.section > table { + width: 100%; + margin-bottom: 1rem; + color: #222; } + .table th, .td-content > table th, .td-box .row.section > table th, + .table td, + .td-content > table td, + .td-box .row.section > table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; } + .table thead th, .td-content > table thead th, .td-box .row.section > table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; } + .table tbody + tbody, .td-content > table tbody + tbody, .td-box .row.section > table tbody + tbody { + border-top: 2px solid #dee2e6; } + +.table-sm th, +.table-sm td { + padding: 0.3rem; } + +.table-bordered { + border: 1px solid #dee2e6; } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6; } + .table-bordered thead th, + .table-bordered thead td { + border-bottom-width: 2px; } + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; } + +.table-striped tbody tr:nth-of-type(odd), .td-content > table tbody tr:nth-of-type(odd), .td-box .row.section > table tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); } + +.table-hover tbody tr:hover { + color: #222; + background-color: rgba(0, 0, 0, 0.075); } + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #bfc9ce; } + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #889ba5; } + +.table-hover .table-primary:hover { + background-color: #b1bdc3; } + .table-hover .table-primary:hover > td, + .table-hover .table-primary:hover > th { + background-color: #b1bdc3; } + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #bcc1c3; } + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #838c90; } + +.table-hover .table-secondary:hover { + background-color: #afb5b7; } + .table-hover .table-secondary:hover > td, + .table-hover .table-secondary:hover > th { + background-color: #afb5b7; } + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c7d8ff; } + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #97b6ff; } + +.table-hover .table-success:hover { + background-color: #aec6ff; } + .table-hover .table-success:hover > td, + .table-hover .table-success:hover > th { + background-color: #aec6ff; } + +.table-info, +.table-info > th, +.table-info > td { + background-color: #edf6f6; } + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #deefee; } + +.table-hover .table-info:hover { + background-color: #dceeee; } + .table-hover .table-info:hover > td, + .table-hover .table-info:hover > th { + background-color: #dceeee; } + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #fad5d1; } + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #f6b2a9; } + +.table-hover .table-warning:hover { + background-color: #f8c0ba; } + .table-hover .table-warning:hover > td, + .table-hover .table-warning:hover > th { + background-color: #f8c0ba; } + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #fad5d1; } + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #f6b2a9; } + +.table-hover .table-danger:hover { + background-color: #f8c0ba; } + .table-hover .table-danger:hover > td, + .table-hover .table-danger:hover > th { + background-color: #f8c0ba; } + +.table-light, +.table-light > th, +.table-light > td { + background-color: #f3fcfa; } + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #e8f9f6; } + +.table-hover .table-light:hover { + background-color: #dff7f2; } + .table-hover .table-light:hover > td, + .table-hover .table-light:hover > th { + background-color: #dff7f2; } + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #cac9cd; } + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #9c9ba2; } + +.table-hover .table-dark:hover { + background-color: #bdbcc1; } + .table-hover .table-dark:hover > td, + .table-hover .table-dark:hover > th { + background-color: #bdbcc1; } + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); } + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); } + .table-hover .table-active:hover > td, + .table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); } + +.table .thead-dark th, .td-content > table .thead-dark th, .td-box .row.section > table .thead-dark th { + color: #fff; + background-color: #333; + border-color: #464646; } + +.table .thead-light th, .td-content > table .thead-light th, .td-box .row.section > table .thead-light th { + color: #495057; + background-color: #eee; + border-color: #dee2e6; } + +.table-dark { + color: #fff; + background-color: #333; } + .table-dark th, + .table-dark td, + .table-dark thead th { + border-color: #464646; } + .table-dark.table-bordered { + border: 0; } + .table-dark.table-striped tbody tr:nth-of-type(odd), .td-content > table.table-dark tbody tr:nth-of-type(odd), .td-box .row.section > table.table-dark tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); } + .table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); } + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-sm > .table-bordered { + border: 0; } } + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-md > .table-bordered { + border: 0; } } + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-lg > .table-bordered { + border: 0; } } + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-xl > .table-bordered { + border: 0; } } + +.table-responsive, .td-content > table, .td-box .row.section > table { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive > .table-bordered, .td-content > table > .table-bordered, .td-box .row.section > table > .table-bordered { + border: 0; } + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border-radius: 0.25rem; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; } } + .form-control::-ms-expand { + background-color: transparent; + border: 0; } + .form-control:focus { + color: #495057; + background-color: #fff; + border-color: #398ab2; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .form-control::placeholder { + color: #797676; + opacity: 1; } + .form-control:disabled, .form-control[readonly] { + background-color: #eee; + opacity: 1; } + +input[type="date"].form-control, +input[type="time"].form-control, +input[type="datetime-local"].form-control, +input[type="month"].form-control { + appearance: none; } + +select.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; } + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; } + +.form-control-file, +.form-control-range { + display: block; + width: 100%; } + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; } + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; } + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; } + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #222; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; } + .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; } + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +select.form-control[size], select.form-control[multiple] { + height: auto; } + +textarea.form-control { + height: auto; } + +.form-group { + margin-bottom: 1rem; } + +.form-text { + display: block; + margin-top: 0.25rem; } + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; } + .form-row > .col, + .form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; } + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; } + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; } + .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + color: #797676; } + +.form-check-label { + margin-bottom: 0; } + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; } + .form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; } + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #3772FF; } + +.valid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(55, 114, 255, 0.9); + border-radius: 0.25rem; } + .form-row > .col > .valid-tooltip, .form-row > [class*="col-"] > .valid-tooltip { + left: 5px; } + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #3772FF; + padding-right: calc(1.5em + 0.75rem) !important; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%233772FF' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #3772FF; + box-shadow: 0 0 0 0.2rem rgba(55, 114, 255, 0.25); } + +.was-validated select.form-control:valid, select.form-control.is-valid { + padding-right: 3rem !important; + background-position: right 1.5rem center; } + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #3772FF; + padding-right: calc(0.75em + 2.3125rem) !important; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%233772FF' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; } + .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #3772FF; + box-shadow: 0 0 0 0.2rem rgba(55, 114, 255, 0.25); } + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #3772FF; } + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #3772FF; } + .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #3772FF; } + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #6a96ff; + background: #6a96ff linear-gradient(180deg, #80a6ff, #6a96ff) repeat-x; } + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(55, 114, 255, 0.25); } + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #3772FF; } + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #3772FF; } + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #3772FF; + box-shadow: 0 0 0 0.2rem rgba(55, 114, 255, 0.25); } + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #ED6A5A; } + +.invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(237, 106, 90, 0.9); + border-radius: 0.25rem; } + .form-row > .col > .invalid-tooltip, .form-row > [class*="col-"] > .invalid-tooltip { + left: 5px; } + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #ED6A5A; + padding-right: calc(1.5em + 0.75rem) !important; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ED6A5A' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ED6A5A' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #ED6A5A; + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.25); } + +.was-validated select.form-control:invalid, select.form-control.is-invalid { + padding-right: 3rem !important; + background-position: right 1.5rem center; } + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #ED6A5A; + padding-right: calc(0.75em + 2.3125rem) !important; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ED6A5A' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ED6A5A' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; } + .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #ED6A5A; + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.25); } + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #ED6A5A; } + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #ED6A5A; } + .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #ED6A5A; } + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #f29488; + background: #f29488 linear-gradient(180deg, #f4a49a, #f29488) repeat-x; } + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.25); } + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #ED6A5A; } + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #ED6A5A; } + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #ED6A5A; + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.25); } + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; } + .form-inline .form-check { + width: 100%; } + @media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .form-control-plaintext { + display: inline-block; } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; } + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; } + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; } + .form-inline .custom-control { + align-items: center; + justify-content: center; } + .form-inline .custom-control-label { + margin-bottom: 0; } } +.btn { + display: inline-block; + font-weight: 400; + color: #222; + text-align: center; + vertical-align: middle; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .btn { + transition: none; } } + .btn:hover { + color: #222; + text-decoration: none; } + .btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .btn.disabled, .btn:disabled { + opacity: 0.65; + box-shadow: none; } + .btn:not(:disabled):not(.disabled) { + cursor: pointer; } + .btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn:not(:disabled):not(.disabled):active:focus, .btn:not(:disabled):not(.disabled).active:focus { + box-shadow: 0 0 0 0.2rem rgba(26, 63, 81, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125); } + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; } + +.btn-primary { + color: #fff; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; + border-color: #1a3f51; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-primary:hover { + color: #fff; + background: #112834 linear-gradient(180deg, #344952, #112834) repeat-x; + border-color: #0e212a; } + .btn-primary:focus, .btn-primary.focus { + color: #fff; + background: #112834 linear-gradient(180deg, #344952, #112834) repeat-x; + border-color: #0e212a; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(60, 92, 107, 0.5); } + .btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #1a3f51; + border-color: #1a3f51; + background-image: none; } + .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0e212a; + background-image: none; + border-color: #0b1921; } + .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(60, 92, 107, 0.5); } + +.btn-secondary { + color: #fff; + background: #102129 linear-gradient(180deg, #344249, #102129) repeat-x; + border-color: #102129; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-secondary:hover { + color: #fff; + background: #050b0d linear-gradient(180deg, #2b2f32, #050b0d) repeat-x; + border-color: #020304; } + .btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background: #050b0d linear-gradient(180deg, #2b2f32, #050b0d) repeat-x; + border-color: #020304; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(52, 66, 73, 0.5); } + .btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #102129; + border-color: #102129; + background-image: none; } + .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #020304; + background-image: none; + border-color: black; } + .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(52, 66, 73, 0.5); } + +.btn-success { + color: #fff; + background: #3772FF linear-gradient(180deg, #5587ff, #3772FF) repeat-x; + border-color: #3772FF; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-success:hover { + color: #fff; + background: #1157ff linear-gradient(180deg, #3470ff, #1157ff) repeat-x; + border-color: #044eff; } + .btn-success:focus, .btn-success.focus { + color: #fff; + background: #1157ff linear-gradient(180deg, #3470ff, #1157ff) repeat-x; + border-color: #044eff; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(85, 135, 255, 0.5); } + .btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #3772FF; + border-color: #3772FF; + background-image: none; } + .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #044eff; + background-image: none; + border-color: #0049f6; } + .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(85, 135, 255, 0.5); } + +.btn-info { + color: #222; + background: #C0E0DE linear-gradient(180deg, #c9e5e3, #C0E0DE) repeat-x; + border-color: #C0E0DE; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-info:hover { + color: #fff; + background: #a6d3d1 linear-gradient(180deg, #b4dad8, #a6d3d1) repeat-x; + border-color: #9ecfcc; } + .btn-info:focus, .btn-info.focus { + color: #fff; + background: #a6d3d1 linear-gradient(180deg, #b4dad8, #a6d3d1) repeat-x; + border-color: #9ecfcc; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(168, 196, 194, 0.5); } + .btn-info.disabled, .btn-info:disabled { + color: #222; + background-color: #C0E0DE; + border-color: #C0E0DE; + background-image: none; } + .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #9ecfcc; + background-image: none; + border-color: #95cbc8; } + .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(168, 196, 194, 0.5); } + +.btn-warning { + color: #fff; + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x; + border-color: #ED6A5A; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-warning:hover { + color: #fff; + background: #e94b38 linear-gradient(180deg, #ed6655, #e94b38) repeat-x; + border-color: #e8402c; } + .btn-warning:focus, .btn-warning.focus { + color: #fff; + background: #e94b38 linear-gradient(180deg, #ed6655, #e94b38) repeat-x; + border-color: #e8402c; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(240, 128, 115, 0.5); } + .btn-warning.disabled, .btn-warning:disabled { + color: #fff; + background-color: #ED6A5A; + border-color: #ED6A5A; + background-image: none; } + .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #e8402c; + background-image: none; + border-color: #e73621; } + .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(240, 128, 115, 0.5); } + +.btn-danger { + color: #fff; + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x; + border-color: #ED6A5A; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-danger:hover { + color: #fff; + background: #e94b38 linear-gradient(180deg, #ed6655, #e94b38) repeat-x; + border-color: #e8402c; } + .btn-danger:focus, .btn-danger.focus { + color: #fff; + background: #e94b38 linear-gradient(180deg, #ed6655, #e94b38) repeat-x; + border-color: #e8402c; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(240, 128, 115, 0.5); } + .btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #ED6A5A; + border-color: #ED6A5A; + background-image: none; } + .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #e8402c; + background-image: none; + border-color: #e73621; } + .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(240, 128, 115, 0.5); } + +.btn-light { + color: #222; + background: #D3F3EE linear-gradient(180deg, #daf5f1, #D3F3EE) repeat-x; + border-color: #D3F3EE; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-light:hover { + color: #222; + background: #b5ebe2 linear-gradient(180deg, #c0eee7, #b5ebe2) repeat-x; + border-color: #abe8df; } + .btn-light:focus, .btn-light.focus { + color: #222; + background: #b5ebe2 linear-gradient(180deg, #c0eee7, #b5ebe2) repeat-x; + border-color: #abe8df; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(184, 212, 207, 0.5); } + .btn-light.disabled, .btn-light:disabled { + color: #222; + background-color: #D3F3EE; + border-color: #D3F3EE; + background-image: none; } + .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { + color: #222; + background-color: #abe8df; + background-image: none; + border-color: #a1e5db; } + .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(184, 212, 207, 0.5); } + +.btn-dark { + color: #fff; + background: #403F4C linear-gradient(180deg, #5d5c67, #403F4C) repeat-x; + border-color: #403F4C; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); } + .btn-dark:hover { + color: #fff; + background: #2e2e37 linear-gradient(180deg, #4e4d55, #2e2e37) repeat-x; + border-color: #292830; } + .btn-dark:focus, .btn-dark.focus { + color: #fff; + background: #2e2e37 linear-gradient(180deg, #4e4d55, #2e2e37) repeat-x; + border-color: #292830; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(93, 92, 103, 0.5); } + .btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #403F4C; + border-color: #403F4C; + background-image: none; } + .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #292830; + background-image: none; + border-color: #232229; } + .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(93, 92, 103, 0.5); } + +.btn-outline-primary { + color: #1a3f51; + border-color: #1a3f51; } + .btn-outline-primary:hover { + color: #fff; + background-color: #1a3f51; + border-color: #1a3f51; } + .btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(26, 63, 81, 0.5); } + .btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #1a3f51; + background-color: transparent; } + .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #1a3f51; + border-color: #1a3f51; } + .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(26, 63, 81, 0.5); } + +.btn-outline-secondary { + color: #102129; + border-color: #102129; } + .btn-outline-secondary:hover { + color: #fff; + background-color: #102129; + border-color: #102129; } + .btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(16, 33, 41, 0.5); } + .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #102129; + background-color: transparent; } + .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #102129; + border-color: #102129; } + .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(16, 33, 41, 0.5); } + +.btn-outline-success { + color: #3772FF; + border-color: #3772FF; } + .btn-outline-success:hover { + color: #fff; + background-color: #3772FF; + border-color: #3772FF; } + .btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(55, 114, 255, 0.5); } + .btn-outline-success.disabled, .btn-outline-success:disabled { + color: #3772FF; + background-color: transparent; } + .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #3772FF; + border-color: #3772FF; } + .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(55, 114, 255, 0.5); } + +.btn-outline-info { + color: #C0E0DE; + border-color: #C0E0DE; } + .btn-outline-info:hover { + color: #222; + background-color: #C0E0DE; + border-color: #C0E0DE; } + .btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(192, 224, 222, 0.5); } + .btn-outline-info.disabled, .btn-outline-info:disabled { + color: #C0E0DE; + background-color: transparent; } + .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { + color: #222; + background-color: #C0E0DE; + border-color: #C0E0DE; } + .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(192, 224, 222, 0.5); } + +.btn-outline-warning { + color: #ED6A5A; + border-color: #ED6A5A; } + .btn-outline-warning:hover { + color: #fff; + background-color: #ED6A5A; + border-color: #ED6A5A; } + .btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.5); } + .btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ED6A5A; + background-color: transparent; } + .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #ED6A5A; + border-color: #ED6A5A; } + .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(237, 106, 90, 0.5); } + +.btn-outline-danger { + color: #ED6A5A; + border-color: #ED6A5A; } + .btn-outline-danger:hover { + color: #fff; + background-color: #ED6A5A; + border-color: #ED6A5A; } + .btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.5); } + .btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #ED6A5A; + background-color: transparent; } + .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #ED6A5A; + border-color: #ED6A5A; } + .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(237, 106, 90, 0.5); } + +.btn-outline-light { + color: #D3F3EE; + border-color: #D3F3EE; } + .btn-outline-light:hover { + color: #222; + background-color: #D3F3EE; + border-color: #D3F3EE; } + .btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(211, 243, 238, 0.5); } + .btn-outline-light.disabled, .btn-outline-light:disabled { + color: #D3F3EE; + background-color: transparent; } + .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { + color: #222; + background-color: #D3F3EE; + border-color: #D3F3EE; } + .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(211, 243, 238, 0.5); } + +.btn-outline-dark { + color: #403F4C; + border-color: #403F4C; } + .btn-outline-dark:hover { + color: #fff; + background-color: #403F4C; + border-color: #403F4C; } + .btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(64, 63, 76, 0.5); } + .btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #403F4C; + background-color: transparent; } + .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #403F4C; + border-color: #403F4C; } + .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.2rem rgba(64, 63, 76, 0.5); } + +.btn-link { + font-weight: 400; + color: #3176d9; + text-decoration: none; } + .btn-link:hover { + color: #1e53a0; + text-decoration: none; } + .btn-link:focus, .btn-link.focus { + text-decoration: none; } + .btn-link:disabled, .btn-link.disabled { + color: #797676; + pointer-events: none; } + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + +.btn-block { + display: block; + width: 100%; } + .btn-block + .btn-block { + margin-top: 0.5rem; } + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } + +.fade { + transition: opacity 0.15s linear; } + @media (prefers-reduced-motion: reduce) { + .fade { + transition: none; } } + .fade:not(.show) { + opacity: 0; } + +.collapse:not(.show) { + display: none; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; } + @media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; } } +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; } + +.dropdown-toggle { + white-space: nowrap; } + .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; } + .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #222; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175); } + +.dropdown-menu-left { + right: auto; + left: 0; } + +.dropdown-menu-right { + right: 0; + left: auto; } + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; } + .dropdown-menu-sm-right { + right: 0; + left: auto; } } + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; } + .dropdown-menu-md-right { + right: 0; + left: auto; } } + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; } + .dropdown-menu-lg-right { + right: 0; + left: auto; } } + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; } + .dropdown-menu-xl-right { + right: 0; + left: auto; } } + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; } + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; } + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; } + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; } + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropright .dropdown-toggle::after { + vertical-align: 0; } + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; } + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; } + +.dropleft .dropdown-toggle::after { + display: none; } + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; } + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropleft .dropdown-toggle::before { + vertical-align: 0; } + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; } + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #eee; } + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #222; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; } + .dropdown-item:hover, .dropdown-item:focus { + color: #151515; + text-decoration: none; + background: #eee linear-gradient(180deg, #f1f1f1, #eee) repeat-x; } + .dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; } + .dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; + background-image: none; } + +.dropdown-menu.show { + display: block; } + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #797676; + white-space: nowrap; } + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #222; } + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; } + .btn-group > .btn:hover, + .btn-group-vertical > .btn:hover { + z-index: 1; } + .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 1; } + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; } + .btn-toolbar .input-group { + width: auto; } + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; } + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; } + .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after { + margin-left: 0; } + .dropleft .dropdown-toggle-split::before { + margin-right: 0; } + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } + +.btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; } + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; } + .btn-group-vertical > .btn, + .btn-group-vertical > .btn-group { + width: 100%; } + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; } + .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), + .btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; } + .btn-group-toggle > .btn input[type="radio"], + .btn-group-toggle > .btn input[type="checkbox"], + .btn-group-toggle > .btn-group > .btn input[type="radio"], + .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; } + .input-group > .form-control, + .input-group > .form-control-plaintext, + .input-group > .custom-select, + .input-group > .custom-file { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; } + .input-group > .form-control + .form-control, + .input-group > .form-control + .custom-select, + .input-group > .form-control + .custom-file, + .input-group > .form-control-plaintext + .form-control, + .input-group > .form-control-plaintext + .custom-select, + .input-group > .form-control-plaintext + .custom-file, + .input-group > .custom-select + .form-control, + .input-group > .custom-select + .custom-select, + .input-group > .custom-select + .custom-file, + .input-group > .custom-file + .form-control, + .input-group > .custom-file + .custom-select, + .input-group > .custom-file + .custom-file { + margin-left: -1px; } + .input-group > .form-control:focus, + .input-group > .custom-select:focus, + .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; } + .input-group > .custom-file .custom-file-input:focus { + z-index: 4; } + .input-group > .form-control:not(:first-child), + .input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .input-group > .custom-file { + display: flex; + align-items: center; } + .input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .input-group:not(.has-validation) > .form-control:not(:last-child), + .input-group:not(.has-validation) > .custom-select:not(:last-child), + .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label, + .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .input-group.has-validation > .form-control:nth-last-child(n + 3), + .input-group.has-validation > .custom-select:nth-last-child(n + 3), + .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label, + .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.input-group-prepend, +.input-group-append { + display: flex; } + .input-group-prepend .btn, + .input-group-append .btn { + position: relative; + z-index: 2; } + .input-group-prepend .btn:focus, + .input-group-append .btn:focus { + z-index: 3; } + .input-group-prepend .btn + .btn, + .input-group-prepend .btn + .input-group-text, + .input-group-prepend .input-group-text + .input-group-text, + .input-group-prepend .input-group-text + .btn, + .input-group-append .btn + .btn, + .input-group-append .btn + .input-group-text, + .input-group-append .input-group-text + .input-group-text, + .input-group-append .input-group-text + .btn { + margin-left: -1px; } + +.input-group-prepend { + margin-right: -1px; } + +.input-group-append { + margin-left: -1px; } + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 0.25rem; } + .input-group-text input[type="radio"], + .input-group-text input[type="checkbox"] { + margin-top: 0; } + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); } + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); } + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; } + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, +.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn, +.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.custom-control { + position: relative; + z-index: 1; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; + color-adjust: exact; } + +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; } + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; } + .custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #1a3f51; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; + box-shadow:; } + .custom-control-input:focus ~ .custom-control-label::before { + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #398ab2; } + .custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #55a3c8; + border-color: #55a3c8; + box-shadow:; } + .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #797676; } + .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #eee; } + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; } + .custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: 50% / 50% 50% no-repeat; } + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; } + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); } + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #1a3f51; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; + box-shadow:; } + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background: rgba(26, 63, 81, 0.5) linear-gradient(180deg, rgba(105, 129, 141, 0.575), rgba(26, 63, 81, 0.5)) repeat-x; } + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background: rgba(26, 63, 81, 0.5) linear-gradient(180deg, rgba(105, 129, 141, 0.575), rgba(26, 63, 81, 0.5)) repeat-x; } + +.custom-radio .custom-control-label::before { + border-radius: 50%; } + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background: rgba(26, 63, 81, 0.5) linear-gradient(180deg, rgba(105, 129, 141, 0.575), rgba(26, 63, 81, 0.5)) repeat-x; } + +.custom-switch { + padding-left: 2.25rem; } + .custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; } + .custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; } } + .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); } + .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background: rgba(26, 63, 81, 0.5) linear-gradient(180deg, rgba(105, 129, 141, 0.575), rgba(26, 63, 81, 0.5)) repeat-x; } + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; + border: 1px solid #ccc; + border-radius: 0.25rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + appearance: none; } + .custom-select:focus { + border-color: #398ab2; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; } + .custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; } + .custom-select:disabled { + color: #797676; + background-color: #eee; } + .custom-select::-ms-expand { + display: none; } + .custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; } + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; } + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; } + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; } + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + overflow: hidden; + opacity: 0; } + .custom-file-input:focus ~ .custom-file-label { + border-color: #398ab2; + box-shadow: 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label { + background-color: #eee; } + .custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; } + .custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); } + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + overflow: hidden; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 0.25rem; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background: #eee linear-gradient(180deg, #f1f1f1, #eee) repeat-x; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; } + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + appearance: none; } + .custom-range:focus { + outline: 0; } + .custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + .custom-range::-moz-focus-outer { + border: 0; } + .custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; } } + .custom-range::-webkit-slider-thumb:active { + background: #55a3c8 linear-gradient(180deg, #6fb1d1, #55a3c8) repeat-x; } + .custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + .custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; } } + .custom-range::-moz-range-thumb:active { + background: #55a3c8 linear-gradient(180deg, #6fb1d1, #55a3c8) repeat-x; } + .custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + .custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; } } + .custom-range::-ms-thumb:active { + background: #55a3c8 linear-gradient(180deg, #6fb1d1, #55a3c8) repeat-x; } + .custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); } + .custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; } + .custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; } + .custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; } + .custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; } + .custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; } + .custom-range:disabled::-moz-range-track { + cursor: default; } + .custom-range:disabled::-ms-thumb { + background-color: #adb5bd; } + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; } } +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + +.nav-link { + display: block; + padding: 0.5rem 1rem; } + .nav-link:hover, .nav-link:focus { + text-decoration: none; } + .nav-link.disabled { + color: #797676; + pointer-events: none; + cursor: default; } + +.nav-tabs { + border-bottom: 1px solid #dee2e6; } + .nav-tabs .nav-link { + margin-bottom: -1px; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #eee #eee #dee2e6; } + .nav-tabs .nav-link.disabled { + color: #797676; + background-color: transparent; + border-color: transparent; } + .nav-tabs .nav-link.active, + .nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; } + .nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.nav-pills .nav-link { + border-radius: 0.25rem; } + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #1a3f51; } + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; } + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; } + +.tab-content > .tab-pane { + display: none; } + +.tab-content > .active { + display: block; } + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; } + .navbar .container, + .navbar .container-fluid, + .navbar .container-sm, + .navbar .container-md, + .navbar .container-lg, + .navbar .container-xl { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; } + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; } + .navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; } + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + .navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; } + .navbar-nav .dropdown-menu { + position: static; + float: none; } + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; } + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; } + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; } + .navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; } + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: 50% / 100% 100% no-repeat; } + +.navbar-nav-scroll { + max-height: 75vh; + overflow-y: auto; } + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, + .navbar-expand-sm > .container-sm, + .navbar-expand-sm > .container-md, + .navbar-expand-sm > .container-lg, + .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; } + .navbar-expand-sm .navbar-nav { + flex-direction: row; } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, + .navbar-expand-sm > .container-sm, + .navbar-expand-sm > .container-md, + .navbar-expand-sm > .container-lg, + .navbar-expand-sm > .container-xl { + flex-wrap: nowrap; } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; } + .navbar-expand-sm .navbar-toggler { + display: none; } } + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, + .navbar-expand-md > .container-sm, + .navbar-expand-md > .container-md, + .navbar-expand-md > .container-lg, + .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; } + .navbar-expand-md .navbar-nav { + flex-direction: row; } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, + .navbar-expand-md > .container-sm, + .navbar-expand-md > .container-md, + .navbar-expand-md > .container-lg, + .navbar-expand-md > .container-xl { + flex-wrap: nowrap; } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; } + .navbar-expand-md .navbar-toggler { + display: none; } } + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, + .navbar-expand-lg > .container-sm, + .navbar-expand-lg > .container-md, + .navbar-expand-lg > .container-lg, + .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; } + .navbar-expand-lg .navbar-nav { + flex-direction: row; } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, + .navbar-expand-lg > .container-sm, + .navbar-expand-lg > .container-md, + .navbar-expand-lg > .container-lg, + .navbar-expand-lg > .container-xl { + flex-wrap: nowrap; } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; } + .navbar-expand-lg .navbar-toggler { + display: none; } } + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, + .navbar-expand-xl > .container-sm, + .navbar-expand-xl > .container-md, + .navbar-expand-xl > .container-lg, + .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; } + .navbar-expand-xl .navbar-nav { + flex-direction: row; } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, + .navbar-expand-xl > .container-sm, + .navbar-expand-xl > .container-md, + .navbar-expand-xl > .container-lg, + .navbar-expand-xl > .container-xl { + flex-wrap: nowrap; } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; } + .navbar-expand-xl .navbar-toggler { + display: none; } } + +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; } + .navbar-expand > .container, + .navbar-expand > .container-fluid, + .navbar-expand > .container-sm, + .navbar-expand > .container-md, + .navbar-expand > .container-lg, + .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; } + .navbar-expand .navbar-nav { + flex-direction: row; } + .navbar-expand .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand > .container, + .navbar-expand > .container-fluid, + .navbar-expand > .container-sm, + .navbar-expand > .container-md, + .navbar-expand > .container-lg, + .navbar-expand > .container-xl { + flex-wrap: nowrap; } + .navbar-expand .navbar-nav-scroll { + overflow: visible; } + .navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; } + .navbar-expand .navbar-toggler { + display: none; } + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); } + .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); } + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); } + .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); } + .navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); } + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); } + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); } + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); } + .navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); } + .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); } + +.navbar-dark .navbar-brand { + color: #fff; } + .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; } + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.75); } + .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.5); } + .navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); } + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; } + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.75); + border-color: rgba(255, 255, 255, 0.1); } + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.75); } + .navbar-dark .navbar-text a { + color: #fff; } + .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; } + +.card, .td-content .highlight { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; } + .card > hr, .td-content .highlight > hr { + margin-right: 0; + margin-left: 0; } + .card > .list-group, .td-content .highlight > .list-group { + border-top: inherit; + border-bottom: inherit; } + .card > .list-group:first-child, .td-content .highlight > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + .card > .list-group:last-child, .td-content .highlight > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + .card > .card-header + .list-group, .td-content .highlight > .card-header + .list-group, + .card > .list-group + .card-footer, + .td-content .highlight > .list-group + .card-footer { + border-top: 0; } + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; } + +.card-title { + margin-bottom: 0.75rem; } + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; } + +.card-text:last-child { + margin-bottom: 0; } + +.card-link:hover { + text-decoration: none; } + +.card-link + .card-link { + margin-left: 1.25rem; } + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); } + .card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); } + .card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; } + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; } + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(0.25rem - 1px); } + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; + width: 100%; } + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + +.card-deck .card, .card-deck .td-content .highlight, .td-content .card-deck .highlight { + margin-bottom: 15px; } + +@media (min-width: 576px) { + .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; } + .card-deck .card, .card-deck .td-content .highlight, .td-content .card-deck .highlight { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; } } + +.card-group > .card, .td-content .card-group > .highlight { + margin-bottom: 15px; } + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; } + .card-group > .card, .td-content .card-group > .highlight { + flex: 1 0 0%; + margin-bottom: 0; } + .card-group > .card + .card, .td-content .card-group > .highlight + .card, .td-content .card-group > .card + .highlight, .td-content .card-group > .highlight + .highlight { + margin-left: 0; + border-left: 0; } + .card-group > .card:not(:last-child), .td-content .card-group > .highlight:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .card-group > .card:not(:last-child) .card-img-top, .td-content .card-group > .highlight:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header, + .td-content .card-group > .highlight:not(:last-child) .card-header { + border-top-right-radius: 0; } + .card-group > .card:not(:last-child) .card-img-bottom, .td-content .card-group > .highlight:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer, + .td-content .card-group > .highlight:not(:last-child) .card-footer { + border-bottom-right-radius: 0; } + .card-group > .card:not(:first-child), .td-content .card-group > .highlight:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .card-group > .card:not(:first-child) .card-img-top, .td-content .card-group > .highlight:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header, + .td-content .card-group > .highlight:not(:first-child) .card-header { + border-top-left-radius: 0; } + .card-group > .card:not(:first-child) .card-img-bottom, .td-content .card-group > .highlight:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer, + .td-content .card-group > .highlight:not(:first-child) .card-footer { + border-bottom-left-radius: 0; } } + +.card-columns .card, .card-columns .td-content .highlight, .td-content .card-columns .highlight { + margin-bottom: 0.75rem; } + +@media (min-width: 576px) { + .card-columns { + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; } + .card-columns .card, .card-columns .td-content .highlight, .td-content .card-columns .highlight { + display: inline-block; + width: 100%; } } + +.accordion { + overflow-anchor: none; } + .accordion > .card, .td-content .accordion > .highlight { + overflow: hidden; } + .accordion > .card:not(:last-of-type), .td-content .accordion > .highlight:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .accordion > .card:not(:first-of-type), .td-content .accordion > .highlight:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; } + .accordion > .card > .card-header, .td-content .accordion > .highlight > .card-header { + border-radius: 0; + margin-bottom: -1px; } + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #eee; + border-radius: 0.25rem; } + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; } + .breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #797676; + content: "/"; } + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; } + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; } + +.breadcrumb-item.active { + color: #797676; } + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; } + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #797676; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.1); } + .page-link:hover { + z-index: 2; + color: #1e53a0; + text-decoration: none; + background-color: #eee; + border-color: #dee2e6; } + .page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(26, 63, 81, 0.25); } + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #1a3f51; + border-color: #14303e; } + +.page-item.disabled .page-link { + color: #dee2e6; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; } + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; } + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; } + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; } + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; } + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; } + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; } + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .badge { + transition: none; } } + a.badge:hover, a.badge:focus { + text-decoration: none; } + .badge:empty { + display: none; } + +.btn .badge { + position: relative; + top: -1px; } + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; } + +.badge-primary { + color: #fff; + background-color: #1a3f51; } + a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0e212a; } + a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(26, 63, 81, 0.5); } + +.badge-secondary { + color: #fff; + background-color: #102129; } + a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #020304; } + a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(16, 33, 41, 0.5); } + +.badge-success { + color: #fff; + background-color: #3772FF; } + a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #044eff; } + a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(55, 114, 255, 0.5); } + +.badge-info { + color: #222; + background-color: #C0E0DE; } + a.badge-info:hover, a.badge-info:focus { + color: #222; + background-color: #9ecfcc; } + a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(192, 224, 222, 0.5); } + +.badge-warning { + color: #fff; + background-color: #ED6A5A; } + a.badge-warning:hover, a.badge-warning:focus { + color: #fff; + background-color: #e8402c; } + a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.5); } + +.badge-danger { + color: #fff; + background-color: #ED6A5A; } + a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #e8402c; } + a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(237, 106, 90, 0.5); } + +.badge-light { + color: #222; + background-color: #D3F3EE; } + a.badge-light:hover, a.badge-light:focus { + color: #222; + background-color: #abe8df; } + a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(211, 243, 238, 0.5); } + +.badge-dark { + color: #fff; + background-color: #403F4C; } + a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #292830; } + a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(64, 63, 76, 0.5); } + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #eee; + border-radius: 0.3rem; } + @media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; } } +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; } + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; } + +.alert-heading { + color: inherit; } + +.alert-link { + font-weight: 700; } + +.alert-dismissible { + padding-right: 4rem; } + .alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 0.75rem 1.25rem; + color: inherit; } + +.alert-primary { + color: #0e212a; + background: #d1d9dc linear-gradient(180deg, #d8dfe1, #d1d9dc) repeat-x; + border-color: #bfc9ce; } + .alert-primary hr { + border-top-color: #b1bdc3; } + .alert-primary .alert-link { + color: #010304; } + +.alert-secondary { + color: #081115; + background: #cfd3d4 linear-gradient(180deg, #d6dada, #cfd3d4) repeat-x; + border-color: #bcc1c3; } + .alert-secondary hr { + border-top-color: #afb5b7; } + .alert-secondary .alert-link { + color: black; } + +.alert-success { + color: #1d3b85; + background: #d7e3ff linear-gradient(180deg, #dde7ff, #d7e3ff) repeat-x; + border-color: #c7d8ff; } + .alert-success hr { + border-top-color: #aec6ff; } + .alert-success .alert-link { + color: #14285b; } + +.alert-info { + color: #647473; + background: #f2f9f8 linear-gradient(180deg, #f4faf9, #f2f9f8) repeat-x; + border-color: #edf6f6; } + .alert-info hr { + border-top-color: #dceeee; } + .alert-info .alert-link { + color: #4c5958; } + +.alert-warning { + color: #7b372f; + background: #fbe1de linear-gradient(180deg, #fce6e3, #fbe1de) repeat-x; + border-color: #fad5d1; } + .alert-warning hr { + border-top-color: #f8c0ba; } + .alert-warning .alert-link { + color: #562721; } + +.alert-danger { + color: #7b372f; + background: #fbe1de linear-gradient(180deg, #fce6e3, #fbe1de) repeat-x; + border-color: #fad5d1; } + .alert-danger hr { + border-top-color: #f8c0ba; } + .alert-danger .alert-link { + color: #562721; } + +.alert-light { + color: #6e7e7c; + background: #f6fdfc linear-gradient(180deg, #f7fdfc, #f6fdfc) repeat-x; + border-color: #f3fcfa; } + .alert-light hr { + border-top-color: #dff7f2; } + .alert-light .alert-link { + color: #566361; } + +.alert-dark { + color: #212128; + background: #d9d9db linear-gradient(180deg, #dfdfe0, #d9d9db) repeat-x; + border-color: #cac9cd; } + .alert-dark hr { + border-top-color: #bdbcc1; } + .alert-dark .alert-link { + color: #0a0a0c; } + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; } + to { + background-position: 0 0; } } + +.progress { + display: flex; + height: 1rem; + overflow: hidden; + line-height: 0; + font-size: 0.75rem; + background-color: #eee; + border-radius: 0.25rem; + box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); } + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #1a3f51; + transition: width 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; } } +.progress-bar-striped { + 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: 1rem 1rem; } + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; } + @media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; } } +.media { + display: flex; + align-items: flex-start; } + +.media-body { + flex: 1; } + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; } + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; } + .list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; } + .list-group-item-action:active { + color: #222; + background-color: #eee; } + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); } + .list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; } + .list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; } + .list-group-item.disabled, .list-group-item:disabled { + color: #797676; + pointer-events: none; + background-color: #fff; } + .list-group-item.active { + z-index: 2; + color: #fff; + background-color: #1a3f51; + border-color: #1a3f51; } + .list-group-item + .list-group-item { + border-top-width: 0; } + .list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; } + +.list-group-horizontal { + flex-direction: row; } + .list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + .list-group-horizontal > .list-group-item.active { + margin-top: 0; } + .list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + .list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +.list-group-flush { + border-radius: 0; } + .list-group-flush > .list-group-item { + border-width: 0 0 1px; } + .list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; } + +.list-group-item-primary { + color: #0e212a; + background-color: #bfc9ce; } + .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #0e212a; + background-color: #b1bdc3; } + .list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #0e212a; + border-color: #0e212a; } + +.list-group-item-secondary { + color: #081115; + background-color: #bcc1c3; } + .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #081115; + background-color: #afb5b7; } + .list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #081115; + border-color: #081115; } + +.list-group-item-success { + color: #1d3b85; + background-color: #c7d8ff; } + .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #1d3b85; + background-color: #aec6ff; } + .list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #1d3b85; + border-color: #1d3b85; } + +.list-group-item-info { + color: #647473; + background-color: #edf6f6; } + .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #647473; + background-color: #dceeee; } + .list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #647473; + border-color: #647473; } + +.list-group-item-warning { + color: #7b372f; + background-color: #fad5d1; } + .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #7b372f; + background-color: #f8c0ba; } + .list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #7b372f; + border-color: #7b372f; } + +.list-group-item-danger { + color: #7b372f; + background-color: #fad5d1; } + .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #7b372f; + background-color: #f8c0ba; } + .list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #7b372f; + border-color: #7b372f; } + +.list-group-item-light { + color: #6e7e7c; + background-color: #f3fcfa; } + .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #6e7e7c; + background-color: #dff7f2; } + .list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #6e7e7c; + border-color: #6e7e7c; } + +.list-group-item-dark { + color: #212128; + background-color: #cac9cd; } + .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #212128; + background-color: #bdbcc1; } + .list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #212128; + border-color: #212128; } + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; } + .close:hover { + color: #000; + text-decoration: none; } + .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; } + +button.close { + padding: 0; + background-color: transparent; + border: 0; } + +a.close.disabled { + pointer-events: none; } + +.toast { + flex-basis: 350px; + max-width: 350px; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + opacity: 0; + border-radius: 0.25rem; } + .toast:not(:last-child) { + margin-bottom: 0.75rem; } + .toast.showing { + opacity: 1; } + .toast.show { + display: block; + opacity: 1; } + .toast.hide { + display: none; } + +.toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #797676; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + +.toast-body { + padding: 0.75rem; } + +.modal-open { + overflow: hidden; } + .modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; } + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; } + .modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); } + @media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; } } + .modal.show .modal-dialog { + transform: none; } + .modal.modal-static .modal-dialog { + transform: scale(1.02); } + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; } + .modal-dialog-scrollable .modal-header, + .modal-dialog-scrollable .modal-footer { + flex-shrink: 0; } + .modal-dialog-scrollable .modal-body { + overflow-y: auto; } + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); } + .modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + height: min-content; + content: ""; } + .modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; } + .modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; } + .modal-dialog-centered.modal-dialog-scrollable::before { + content: none; } + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.5); + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; } + .modal-backdrop.show { + opacity: 0.5; } + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); } + .modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; } + +.modal-title { + margin-bottom: 0; + line-height: 1.5; } + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; } + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); } + .modal-footer > * { + margin: 0.25rem; } + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + height: min-content; } + .modal-content { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5); } + .modal-sm { + max-width: 300px; } } + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; } } + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; } } + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; } + .tooltip.show { + opacity: 0.9; } + .tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; } + .tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; } + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; } + .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; } + .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; } + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; } + .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; } + .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; } + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; } + .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; } + .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; } + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; } + .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; } + .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; } + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; } + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2); } + .popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; } + .popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; } + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; } + .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); } + .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); } + .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; } + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; } + .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } + .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); } + .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; } + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; } + .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); } + .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); } + .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; } + .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; } + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; } + .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } + .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); } + .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; } + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); } + .popover-header:empty { + display: none; } + +.popover-body { + padding: 0.5rem 0.75rem; + color: #222; } + +.carousel { + position: relative; } + +.carousel.pointer-event { + touch-action: pan-y; } + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; } + .carousel-inner::after { + display: block; + clear: both; + content: ""; } + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; } } +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; } + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); } + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); } + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; } + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; } + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; } + @media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; } } +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; } } + .carousel-control-prev:hover, .carousel-control-prev:focus, + .carousel-control-next:hover, + .carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; } + +.carousel-control-prev { + left: 0; + background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001)); } + +.carousel-control-next { + right: 0; + background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001)); } + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: 50% / 100% 100% no-repeat; } + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); } + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); } + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; } + .carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; } } + .carousel-indicators .active { + opacity: 1; } + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; } + +@keyframes spinner-border { + to { + transform: rotate(360deg); } } + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + animation: .75s linear infinite spinner-border; } + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; } + +@keyframes spinner-grow { + 0% { + transform: scale(0); } + 50% { + opacity: 1; + transform: none; } } + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + animation: .75s linear infinite spinner-grow; } + +.spinner-grow-sm { + width: 1rem; + height: 1rem; } + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + animation-duration: 1.5s; } } + +.align-baseline { + vertical-align: baseline !important; } + +.align-top { + vertical-align: top !important; } + +.align-middle { + vertical-align: middle !important; } + +.align-bottom { + vertical-align: bottom !important; } + +.align-text-bottom { + vertical-align: text-bottom !important; } + +.align-text-top { + vertical-align: text-top !important; } + +.bg-primary { + background-color: #1a3f51 !important; } + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0e212a !important; } + +.bg-secondary { + background-color: #102129 !important; } + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #020304 !important; } + +.bg-success { + background-color: #3772FF !important; } + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #044eff !important; } + +.bg-info { + background-color: #C0E0DE !important; } + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #9ecfcc !important; } + +.bg-warning { + background-color: #ED6A5A !important; } + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #e8402c !important; } + +.bg-danger { + background-color: #ED6A5A !important; } + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #e8402c !important; } + +.bg-light { + background-color: #D3F3EE !important; } + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #abe8df !important; } + +.bg-dark { + background-color: #403F4C !important; } + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #292830 !important; } + +.bg-gradient-primary { + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x !important; } + +.bg-gradient-secondary { + background: #102129 linear-gradient(180deg, #344249, #102129) repeat-x !important; } + +.bg-gradient-success { + background: #3772FF linear-gradient(180deg, #5587ff, #3772FF) repeat-x !important; } + +.bg-gradient-info { + background: #C0E0DE linear-gradient(180deg, #c9e5e3, #C0E0DE) repeat-x !important; } + +.bg-gradient-warning { + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x !important; } + +.bg-gradient-danger { + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x !important; } + +.bg-gradient-light { + background: #D3F3EE linear-gradient(180deg, #daf5f1, #D3F3EE) repeat-x !important; } + +.bg-gradient-dark { + background: #403F4C linear-gradient(180deg, #5d5c67, #403F4C) repeat-x !important; } + +.bg-white { + background-color: #fff !important; } + +.bg-transparent { + background-color: transparent !important; } + +.border { + border: 1px solid #dee2e6 !important; } + +.border-top { + border-top: 1px solid #dee2e6 !important; } + +.border-right { + border-right: 1px solid #dee2e6 !important; } + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; } + +.border-left { + border-left: 1px solid #dee2e6 !important; } + +.border-0 { + border: 0 !important; } + +.border-top-0 { + border-top: 0 !important; } + +.border-right-0 { + border-right: 0 !important; } + +.border-bottom-0 { + border-bottom: 0 !important; } + +.border-left-0 { + border-left: 0 !important; } + +.border-primary { + border-color: #1a3f51 !important; } + +.border-secondary { + border-color: #102129 !important; } + +.border-success { + border-color: #3772FF !important; } + +.border-info { + border-color: #C0E0DE !important; } + +.border-warning { + border-color: #ED6A5A !important; } + +.border-danger { + border-color: #ED6A5A !important; } + +.border-light { + border-color: #D3F3EE !important; } + +.border-dark { + border-color: #403F4C !important; } + +.border-white { + border-color: #fff !important; } + +.rounded-sm { + border-radius: 0.2rem !important; } + +.rounded { + border-radius: 0.25rem !important; } + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; } + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; } + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + +.rounded-lg { + border-radius: 0.3rem !important; } + +.rounded-circle { + border-radius: 50% !important; } + +.rounded-pill { + border-radius: 50rem !important; } + +.rounded-0 { + border-radius: 0 !important; } + +.clearfix::after { + display: block; + clear: both; + content: ""; } + +.d-none { + display: none !important; } + +.d-inline { + display: inline !important; } + +.d-inline-block { + display: inline-block !important; } + +.d-block { + display: block !important; } + +.d-table { + display: table !important; } + +.d-table-row { + display: table-row !important; } + +.d-table-cell { + display: table-cell !important; } + +.d-flex { + display: flex !important; } + +.d-inline-flex { + display: inline-flex !important; } + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; } + .d-sm-inline { + display: inline !important; } + .d-sm-inline-block { + display: inline-block !important; } + .d-sm-block { + display: block !important; } + .d-sm-table { + display: table !important; } + .d-sm-table-row { + display: table-row !important; } + .d-sm-table-cell { + display: table-cell !important; } + .d-sm-flex { + display: flex !important; } + .d-sm-inline-flex { + display: inline-flex !important; } } + +@media (min-width: 768px) { + .d-md-none { + display: none !important; } + .d-md-inline { + display: inline !important; } + .d-md-inline-block { + display: inline-block !important; } + .d-md-block { + display: block !important; } + .d-md-table { + display: table !important; } + .d-md-table-row { + display: table-row !important; } + .d-md-table-cell { + display: table-cell !important; } + .d-md-flex { + display: flex !important; } + .d-md-inline-flex { + display: inline-flex !important; } } + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; } + .d-lg-inline { + display: inline !important; } + .d-lg-inline-block { + display: inline-block !important; } + .d-lg-block { + display: block !important; } + .d-lg-table { + display: table !important; } + .d-lg-table-row { + display: table-row !important; } + .d-lg-table-cell { + display: table-cell !important; } + .d-lg-flex { + display: flex !important; } + .d-lg-inline-flex { + display: inline-flex !important; } } + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; } + .d-xl-inline { + display: inline !important; } + .d-xl-inline-block { + display: inline-block !important; } + .d-xl-block { + display: block !important; } + .d-xl-table { + display: table !important; } + .d-xl-table-row { + display: table-row !important; } + .d-xl-table-cell { + display: table-cell !important; } + .d-xl-flex { + display: flex !important; } + .d-xl-inline-flex { + display: inline-flex !important; } } + +@media print { + .d-print-none { + display: none !important; } + .d-print-inline { + display: inline !important; } + .d-print-inline-block { + display: inline-block !important; } + .d-print-block { + display: block !important; } + .d-print-table { + display: table !important; } + .d-print-table-row { + display: table-row !important; } + .d-print-table-cell { + display: table-cell !important; } + .d-print-flex { + display: flex !important; } + .d-print-inline-flex { + display: inline-flex !important; } } + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; } + .embed-responsive::before { + display: block; + content: ""; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } + +.embed-responsive-21by9::before { + padding-top: 42.85714286%; } + +.embed-responsive-16by9::before { + padding-top: 56.25%; } + +.embed-responsive-4by3::before { + padding-top: 75%; } + +.embed-responsive-1by1::before { + padding-top: 100%; } + +.flex-row { + flex-direction: row !important; } + +.flex-column { + flex-direction: column !important; } + +.flex-row-reverse { + flex-direction: row-reverse !important; } + +.flex-column-reverse { + flex-direction: column-reverse !important; } + +.flex-wrap { + flex-wrap: wrap !important; } + +.flex-nowrap { + flex-wrap: nowrap !important; } + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; } + +.flex-fill { + flex: 1 1 auto !important; } + +.flex-grow-0 { + flex-grow: 0 !important; } + +.flex-grow-1 { + flex-grow: 1 !important; } + +.flex-shrink-0 { + flex-shrink: 0 !important; } + +.flex-shrink-1 { + flex-shrink: 1 !important; } + +.justify-content-start { + justify-content: flex-start !important; } + +.justify-content-end { + justify-content: flex-end !important; } + +.justify-content-center { + justify-content: center !important; } + +.justify-content-between { + justify-content: space-between !important; } + +.justify-content-around { + justify-content: space-around !important; } + +.align-items-start { + align-items: flex-start !important; } + +.align-items-end { + align-items: flex-end !important; } + +.align-items-center { + align-items: center !important; } + +.align-items-baseline { + align-items: baseline !important; } + +.align-items-stretch { + align-items: stretch !important; } + +.align-content-start { + align-content: flex-start !important; } + +.align-content-end { + align-content: flex-end !important; } + +.align-content-center { + align-content: center !important; } + +.align-content-between { + align-content: space-between !important; } + +.align-content-around { + align-content: space-around !important; } + +.align-content-stretch { + align-content: stretch !important; } + +.align-self-auto { + align-self: auto !important; } + +.align-self-start { + align-self: flex-start !important; } + +.align-self-end { + align-self: flex-end !important; } + +.align-self-center { + align-self: center !important; } + +.align-self-baseline { + align-self: baseline !important; } + +.align-self-stretch { + align-self: stretch !important; } + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; } + .flex-sm-column { + flex-direction: column !important; } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; } + .flex-sm-wrap { + flex-wrap: wrap !important; } + .flex-sm-nowrap { + flex-wrap: nowrap !important; } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; } + .flex-sm-fill { + flex: 1 1 auto !important; } + .flex-sm-grow-0 { + flex-grow: 0 !important; } + .flex-sm-grow-1 { + flex-grow: 1 !important; } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; } + .justify-content-sm-start { + justify-content: flex-start !important; } + .justify-content-sm-end { + justify-content: flex-end !important; } + .justify-content-sm-center { + justify-content: center !important; } + .justify-content-sm-between { + justify-content: space-between !important; } + .justify-content-sm-around { + justify-content: space-around !important; } + .align-items-sm-start { + align-items: flex-start !important; } + .align-items-sm-end { + align-items: flex-end !important; } + .align-items-sm-center { + align-items: center !important; } + .align-items-sm-baseline { + align-items: baseline !important; } + .align-items-sm-stretch { + align-items: stretch !important; } + .align-content-sm-start { + align-content: flex-start !important; } + .align-content-sm-end { + align-content: flex-end !important; } + .align-content-sm-center { + align-content: center !important; } + .align-content-sm-between { + align-content: space-between !important; } + .align-content-sm-around { + align-content: space-around !important; } + .align-content-sm-stretch { + align-content: stretch !important; } + .align-self-sm-auto { + align-self: auto !important; } + .align-self-sm-start { + align-self: flex-start !important; } + .align-self-sm-end { + align-self: flex-end !important; } + .align-self-sm-center { + align-self: center !important; } + .align-self-sm-baseline { + align-self: baseline !important; } + .align-self-sm-stretch { + align-self: stretch !important; } } + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; } + .flex-md-column { + flex-direction: column !important; } + .flex-md-row-reverse { + flex-direction: row-reverse !important; } + .flex-md-column-reverse { + flex-direction: column-reverse !important; } + .flex-md-wrap { + flex-wrap: wrap !important; } + .flex-md-nowrap { + flex-wrap: nowrap !important; } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; } + .flex-md-fill { + flex: 1 1 auto !important; } + .flex-md-grow-0 { + flex-grow: 0 !important; } + .flex-md-grow-1 { + flex-grow: 1 !important; } + .flex-md-shrink-0 { + flex-shrink: 0 !important; } + .flex-md-shrink-1 { + flex-shrink: 1 !important; } + .justify-content-md-start { + justify-content: flex-start !important; } + .justify-content-md-end { + justify-content: flex-end !important; } + .justify-content-md-center { + justify-content: center !important; } + .justify-content-md-between { + justify-content: space-between !important; } + .justify-content-md-around { + justify-content: space-around !important; } + .align-items-md-start { + align-items: flex-start !important; } + .align-items-md-end { + align-items: flex-end !important; } + .align-items-md-center { + align-items: center !important; } + .align-items-md-baseline { + align-items: baseline !important; } + .align-items-md-stretch { + align-items: stretch !important; } + .align-content-md-start { + align-content: flex-start !important; } + .align-content-md-end { + align-content: flex-end !important; } + .align-content-md-center { + align-content: center !important; } + .align-content-md-between { + align-content: space-between !important; } + .align-content-md-around { + align-content: space-around !important; } + .align-content-md-stretch { + align-content: stretch !important; } + .align-self-md-auto { + align-self: auto !important; } + .align-self-md-start { + align-self: flex-start !important; } + .align-self-md-end { + align-self: flex-end !important; } + .align-self-md-center { + align-self: center !important; } + .align-self-md-baseline { + align-self: baseline !important; } + .align-self-md-stretch { + align-self: stretch !important; } } + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; } + .flex-lg-column { + flex-direction: column !important; } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; } + .flex-lg-wrap { + flex-wrap: wrap !important; } + .flex-lg-nowrap { + flex-wrap: nowrap !important; } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; } + .flex-lg-fill { + flex: 1 1 auto !important; } + .flex-lg-grow-0 { + flex-grow: 0 !important; } + .flex-lg-grow-1 { + flex-grow: 1 !important; } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; } + .justify-content-lg-start { + justify-content: flex-start !important; } + .justify-content-lg-end { + justify-content: flex-end !important; } + .justify-content-lg-center { + justify-content: center !important; } + .justify-content-lg-between { + justify-content: space-between !important; } + .justify-content-lg-around { + justify-content: space-around !important; } + .align-items-lg-start { + align-items: flex-start !important; } + .align-items-lg-end { + align-items: flex-end !important; } + .align-items-lg-center { + align-items: center !important; } + .align-items-lg-baseline { + align-items: baseline !important; } + .align-items-lg-stretch { + align-items: stretch !important; } + .align-content-lg-start { + align-content: flex-start !important; } + .align-content-lg-end { + align-content: flex-end !important; } + .align-content-lg-center { + align-content: center !important; } + .align-content-lg-between { + align-content: space-between !important; } + .align-content-lg-around { + align-content: space-around !important; } + .align-content-lg-stretch { + align-content: stretch !important; } + .align-self-lg-auto { + align-self: auto !important; } + .align-self-lg-start { + align-self: flex-start !important; } + .align-self-lg-end { + align-self: flex-end !important; } + .align-self-lg-center { + align-self: center !important; } + .align-self-lg-baseline { + align-self: baseline !important; } + .align-self-lg-stretch { + align-self: stretch !important; } } + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important; } + .flex-xl-column { + flex-direction: column !important; } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; } + .flex-xl-wrap { + flex-wrap: wrap !important; } + .flex-xl-nowrap { + flex-wrap: nowrap !important; } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; } + .flex-xl-fill { + flex: 1 1 auto !important; } + .flex-xl-grow-0 { + flex-grow: 0 !important; } + .flex-xl-grow-1 { + flex-grow: 1 !important; } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; } + .justify-content-xl-start { + justify-content: flex-start !important; } + .justify-content-xl-end { + justify-content: flex-end !important; } + .justify-content-xl-center { + justify-content: center !important; } + .justify-content-xl-between { + justify-content: space-between !important; } + .justify-content-xl-around { + justify-content: space-around !important; } + .align-items-xl-start { + align-items: flex-start !important; } + .align-items-xl-end { + align-items: flex-end !important; } + .align-items-xl-center { + align-items: center !important; } + .align-items-xl-baseline { + align-items: baseline !important; } + .align-items-xl-stretch { + align-items: stretch !important; } + .align-content-xl-start { + align-content: flex-start !important; } + .align-content-xl-end { + align-content: flex-end !important; } + .align-content-xl-center { + align-content: center !important; } + .align-content-xl-between { + align-content: space-between !important; } + .align-content-xl-around { + align-content: space-around !important; } + .align-content-xl-stretch { + align-content: stretch !important; } + .align-self-xl-auto { + align-self: auto !important; } + .align-self-xl-start { + align-self: flex-start !important; } + .align-self-xl-end { + align-self: flex-end !important; } + .align-self-xl-center { + align-self: center !important; } + .align-self-xl-baseline { + align-self: baseline !important; } + .align-self-xl-stretch { + align-self: stretch !important; } } + +.float-left { + float: left !important; } + +.float-right { + float: right !important; } + +.float-none { + float: none !important; } + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; } + .float-sm-right { + float: right !important; } + .float-sm-none { + float: none !important; } } + +@media (min-width: 768px) { + .float-md-left { + float: left !important; } + .float-md-right { + float: right !important; } + .float-md-none { + float: none !important; } } + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; } + .float-lg-right { + float: right !important; } + .float-lg-none { + float: none !important; } } + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; } + .float-xl-right { + float: right !important; } + .float-xl-none { + float: none !important; } } + +.user-select-all { + user-select: all !important; } + +.user-select-auto { + user-select: auto !important; } + +.user-select-none { + user-select: none !important; } + +.overflow-auto { + overflow: auto !important; } + +.overflow-hidden { + overflow: hidden !important; } + +.position-static { + position: static !important; } + +.position-relative { + position: relative !important; } + +.position-absolute { + position: absolute !important; } + +.position-fixed { + position: fixed !important; } + +.position-sticky { + position: sticky !important; } + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; } + +@supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020; } } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; } + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } + +.shadow-none { + box-shadow: none !important; } + +.w-25 { + width: 25% !important; } + +.w-50 { + width: 50% !important; } + +.w-75 { + width: 75% !important; } + +.w-100 { + width: 100% !important; } + +.w-auto { + width: auto !important; } + +.h-25 { + height: 25% !important; } + +.h-50 { + height: 50% !important; } + +.h-75 { + height: 75% !important; } + +.h-100 { + height: 100% !important; } + +.h-auto { + height: auto !important; } + +.mw-100 { + max-width: 100% !important; } + +.mh-100 { + max-height: 100% !important; } + +.min-vw-100 { + min-width: 100vw !important; } + +.min-vh-100 { + min-height: 100vh !important; } + +.vw-100 { + width: 100vw !important; } + +.vh-100 { + height: 100vh !important; } + +.m-0 { + margin: 0 !important; } + +.mt-0, +.my-0 { + margin-top: 0 !important; } + +.mr-0, +.mx-0 { + margin-right: 0 !important; } + +.mb-0, +.my-0 { + margin-bottom: 0 !important; } + +.ml-0, +.mx-0 { + margin-left: 0 !important; } + +.m-1 { + margin: 0.25rem !important; } + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; } + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; } + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; } + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; } + +.m-2 { + margin: 0.5rem !important; } + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; } + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; } + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; } + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; } + +.m-3 { + margin: 1rem !important; } + +.mt-3, +.my-3 { + margin-top: 1rem !important; } + +.mr-3, +.mx-3 { + margin-right: 1rem !important; } + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; } + +.ml-3, +.mx-3 { + margin-left: 1rem !important; } + +.m-4 { + margin: 1.5rem !important; } + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; } + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; } + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; } + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; } + +.m-5 { + margin: 3rem !important; } + +.mt-5, +.my-5 { + margin-top: 3rem !important; } + +.mr-5, +.mx-5 { + margin-right: 3rem !important; } + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; } + +.ml-5, +.mx-5 { + margin-left: 3rem !important; } + +.p-0 { + padding: 0 !important; } + +.pt-0, +.py-0 { + padding-top: 0 !important; } + +.pr-0, +.px-0 { + padding-right: 0 !important; } + +.pb-0, +.py-0 { + padding-bottom: 0 !important; } + +.pl-0, +.px-0 { + padding-left: 0 !important; } + +.p-1 { + padding: 0.25rem !important; } + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; } + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; } + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; } + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; } + +.p-2 { + padding: 0.5rem !important; } + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; } + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; } + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; } + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; } + +.p-3 { + padding: 1rem !important; } + +.pt-3, +.py-3 { + padding-top: 1rem !important; } + +.pr-3, +.px-3 { + padding-right: 1rem !important; } + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; } + +.pl-3, +.px-3 { + padding-left: 1rem !important; } + +.p-4 { + padding: 1.5rem !important; } + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; } + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; } + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; } + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; } + +.p-5 { + padding: 3rem !important; } + +.pt-5, +.py-5 { + padding-top: 3rem !important; } + +.pr-5, +.px-5 { + padding-right: 3rem !important; } + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; } + +.pl-5, +.px-5 { + padding-left: 3rem !important; } + +.m-n1 { + margin: -0.25rem !important; } + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; } + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; } + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; } + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; } + +.m-n2 { + margin: -0.5rem !important; } + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; } + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; } + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; } + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; } + +.m-n3 { + margin: -1rem !important; } + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; } + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; } + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; } + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; } + +.m-n4 { + margin: -1.5rem !important; } + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; } + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; } + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; } + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; } + +.m-n5 { + margin: -3rem !important; } + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; } + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; } + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; } + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; } + +.m-auto { + margin: auto !important; } + +.mt-auto, +.my-auto { + margin-top: auto !important; } + +.mr-auto, +.mx-auto { + margin-right: auto !important; } + +.mb-auto, +.my-auto { + margin-bottom: auto !important; } + +.ml-auto, +.mx-auto { + margin-left: auto !important; } + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; } + .m-sm-1 { + margin: 0.25rem !important; } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; } + .m-sm-2 { + margin: 0.5rem !important; } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; } + .m-sm-3 { + margin: 1rem !important; } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; } + .m-sm-4 { + margin: 1.5rem !important; } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; } + .m-sm-5 { + margin: 3rem !important; } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; } + .p-sm-0 { + padding: 0 !important; } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; } + .p-sm-1 { + padding: 0.25rem !important; } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; } + .p-sm-2 { + padding: 0.5rem !important; } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; } + .p-sm-3 { + padding: 1rem !important; } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; } + .p-sm-4 { + padding: 1.5rem !important; } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; } + .p-sm-5 { + padding: 3rem !important; } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; } + .m-sm-n1 { + margin: -0.25rem !important; } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; } + .m-sm-n2 { + margin: -0.5rem !important; } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; } + .m-sm-n3 { + margin: -1rem !important; } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; } + .m-sm-n4 { + margin: -1.5rem !important; } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; } + .m-sm-n5 { + margin: -3rem !important; } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; } + .m-sm-auto { + margin: auto !important; } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; } } + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; } + .m-md-1 { + margin: 0.25rem !important; } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; } + .m-md-2 { + margin: 0.5rem !important; } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; } + .m-md-3 { + margin: 1rem !important; } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; } + .m-md-4 { + margin: 1.5rem !important; } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; } + .m-md-5 { + margin: 3rem !important; } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; } + .p-md-0 { + padding: 0 !important; } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; } + .p-md-1 { + padding: 0.25rem !important; } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; } + .p-md-2 { + padding: 0.5rem !important; } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; } + .p-md-3 { + padding: 1rem !important; } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; } + .p-md-4 { + padding: 1.5rem !important; } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; } + .p-md-5 { + padding: 3rem !important; } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; } + .m-md-n1 { + margin: -0.25rem !important; } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; } + .m-md-n2 { + margin: -0.5rem !important; } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; } + .m-md-n3 { + margin: -1rem !important; } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; } + .m-md-n4 { + margin: -1.5rem !important; } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; } + .m-md-n5 { + margin: -3rem !important; } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; } + .m-md-auto { + margin: auto !important; } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; } } + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; } + .m-lg-1 { + margin: 0.25rem !important; } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; } + .m-lg-2 { + margin: 0.5rem !important; } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; } + .m-lg-3 { + margin: 1rem !important; } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; } + .m-lg-4 { + margin: 1.5rem !important; } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; } + .m-lg-5 { + margin: 3rem !important; } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; } + .p-lg-0 { + padding: 0 !important; } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; } + .p-lg-1 { + padding: 0.25rem !important; } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; } + .p-lg-2 { + padding: 0.5rem !important; } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; } + .p-lg-3 { + padding: 1rem !important; } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; } + .p-lg-4 { + padding: 1.5rem !important; } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; } + .p-lg-5 { + padding: 3rem !important; } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; } + .m-lg-n1 { + margin: -0.25rem !important; } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; } + .m-lg-n2 { + margin: -0.5rem !important; } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; } + .m-lg-n3 { + margin: -1rem !important; } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; } + .m-lg-n4 { + margin: -1.5rem !important; } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; } + .m-lg-n5 { + margin: -3rem !important; } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; } + .m-lg-auto { + margin: auto !important; } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; } } + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; } + .m-xl-1 { + margin: 0.25rem !important; } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; } + .m-xl-2 { + margin: 0.5rem !important; } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; } + .m-xl-3 { + margin: 1rem !important; } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; } + .m-xl-4 { + margin: 1.5rem !important; } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; } + .m-xl-5 { + margin: 3rem !important; } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; } + .p-xl-0 { + padding: 0 !important; } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; } + .p-xl-1 { + padding: 0.25rem !important; } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; } + .p-xl-2 { + padding: 0.5rem !important; } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; } + .p-xl-3 { + padding: 1rem !important; } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; } + .p-xl-4 { + padding: 1.5rem !important; } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; } + .p-xl-5 { + padding: 3rem !important; } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; } + .m-xl-n1 { + margin: -0.25rem !important; } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; } + .m-xl-n2 { + margin: -0.5rem !important; } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; } + .m-xl-n3 { + margin: -1rem !important; } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; } + .m-xl-n4 { + margin: -1.5rem !important; } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; } + .m-xl-n5 { + margin: -3rem !important; } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; } + .m-xl-auto { + margin: auto !important; } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; } } + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); } + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } + +.text-justify { + text-align: justify !important; } + +.text-wrap { + white-space: normal !important; } + +.text-nowrap { + white-space: nowrap !important; } + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +.text-left { + text-align: left !important; } + +.text-right { + text-align: right !important; } + +.text-center { + text-align: center !important; } + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; } + .text-sm-right { + text-align: right !important; } + .text-sm-center { + text-align: center !important; } } + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; } + .text-md-right { + text-align: right !important; } + .text-md-center { + text-align: center !important; } } + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; } + .text-lg-right { + text-align: right !important; } + .text-lg-center { + text-align: center !important; } } + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; } + .text-xl-right { + text-align: right !important; } + .text-xl-center { + text-align: center !important; } } + +.text-lowercase { + text-transform: lowercase !important; } + +.text-uppercase { + text-transform: uppercase !important; } + +.text-capitalize { + text-transform: capitalize !important; } + +.font-weight-light { + font-weight: 300 !important; } + +.font-weight-lighter { + font-weight: lighter !important; } + +.font-weight-normal { + font-weight: 400 !important; } + +.font-weight-bold { + font-weight: 700 !important; } + +.font-weight-bolder { + font-weight: bolder !important; } + +.font-italic { + font-style: italic !important; } + +.text-white { + color: #fff !important; } + +.text-primary { + color: #1a3f51 !important; } + +a.text-primary:hover, a.text-primary:focus { + color: #071217 !important; } + +.text-secondary { + color: #102129 !important; } + +a.text-secondary:hover, a.text-secondary:focus { + color: black !important; } + +.text-success { + color: #3772FF !important; } + +a.text-success:hover, a.text-success:focus { + color: #0045ea !important; } + +.text-info { + color: #C0E0DE !important; } + +a.text-info:hover, a.text-info:focus { + color: #8dc7c3 !important; } + +.text-warning { + color: #ED6A5A !important; } + +a.text-warning:hover, a.text-warning:focus { + color: #e22f19 !important; } + +.text-danger { + color: #ED6A5A !important; } + +a.text-danger:hover, a.text-danger:focus { + color: #e22f19 !important; } + +.text-light { + color: #D3F3EE !important; } + +a.text-light:hover, a.text-light:focus { + color: #97e3d7 !important; } + +.text-dark { + color: #403F4C !important; } + +a.text-dark:hover, a.text-dark:focus { + color: #1d1c22 !important; } + +.text-body { + color: #222 !important; } + +.text-muted { + color: #797676 !important; } + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; } + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; } + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.text-decoration-none { + text-decoration: none !important; } + +.text-break { + word-break: break-word !important; + word-wrap: break-word !important; } + +.text-reset { + color: inherit !important; } + +.visible { + visibility: visible !important; } + +.invisible { + visibility: hidden !important; } + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; } + a:not(.btn) { + text-decoration: underline; } + abbr[title]::after { + content: " (" attr(title) ")"; } + pre { + white-space: pre-wrap !important; } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; } + tr, + img { + page-break-inside: avoid; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + @page { + size: a3; } + body { + min-width: 992px !important; } + .container { + min-width: 992px !important; } + .navbar { + display: none; } + .badge { + border: 1px solid #000; } + .table, .td-content > table, .td-box .row.section > table { + border-collapse: collapse !important; } + .table td, .td-content > table td, .td-box .row.section > table td, + .table th, + .td-content > table th, + .td-box .row.section > table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; } + .table-dark { + color: inherit; } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; } + .table .thead-dark th, .td-content > table .thead-dark th, .td-box .row.section > table .thead-dark th { + color: inherit; + border-color: #dee2e6; } } + +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + animation: fa-spin 1s infinite steps(8); } + +@keyframes fa-spin { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\e059"; } + +.fa-bacterium:before { + content: "\e05a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\e05b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\e005"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\e05c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\e05d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\e05e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\e05f"; } + +.fa-handshake-slash:before { + content: "\e060"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\e061"; } + +.fa-head-side-cough-slash:before { + content: "\e062"; } + +.fa-head-side-mask:before { + content: "\e063"; } + +.fa-head-side-virus:before { + content: "\e064"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\e065"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\e066"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\e067"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\e068"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\e069"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\e06a"; } + +.fa-pump-soap:before { + content: "\e06b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\e06c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\e06d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\e06e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\e06f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\e070"; } + +.fa-store-slash:before { + content: "\e071"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\e072"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\e041"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\e073"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-vest:before { + content: "\e085"; } + +.fa-vest-patches:before { + content: "\e086"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\e074"; } + +.fa-virus-slash:before { + content: "\e075"; } + +.fa-viruses:before { + content: "\e076"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } + +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.td-border-top { + border: none; + border-top: 1px solid #eee; } + +.td-border-none { + border: none; } + +.td-block-padding, .td-default main section { + padding-top: 4rem; + padding-bottom: 4rem; } + @media (min-width: 768px) { + .td-block-padding, .td-default main section { + padding-top: 5rem; + padding-bottom: 5rem; } } +.td-overlay { + position: relative; } + .td-overlay::after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; } + .td-overlay--dark::after { + background-color: rgba(64, 63, 76, 0.3); } + .td-overlay--light::after { + background-color: rgba(211, 243, 238, 0.3); } + .td-overlay__inner { + position: relative; + z-index: 1; } + +@media (min-width: 992px) { + .td-max-width-on-larger-screens, .td-content > pre, .td-content > .highlight, .td-content > .lead, .td-content > h1, .td-content > h2, .td-content > ul, .td-content > ol, .td-content > p, .td-content > blockquote, .td-content > dl dd, .td-content .footnotes, .td-content > .alert { + max-width: 80%; } } + +.-bg-blue { + color: #fff; + background-color: #72A1E5; } + +.-bg-blue p > a { + color: #a0c0ee; } + .-bg-blue p > a:hover { + color: #1e53a0; } + +.-text-blue { + color: #72A1E5; } + +.-bg-indigo { + color: #fff; + background-color: #6610f2; } + +.-bg-indigo p > a { + color: #b8cff2; } + .-bg-indigo p > a:hover { + color: #1e53a0; } + +.-text-indigo { + color: #6610f2; } + +.-bg-purple { + color: #fff; + background-color: #6f42c1; } + +.-bg-purple p > a { + color: #b7cff2; } + .-bg-purple p > a:hover { + color: #1e53a0; } + +.-text-purple { + color: #6f42c1; } + +.-bg-pink { + color: #fff; + background-color: #e83e8c; } + +.-bg-pink p > a { + color: #aec9f0; } + .-bg-pink p > a:hover { + color: #1e53a0; } + +.-text-pink { + color: #e83e8c; } + +.-bg-red { + color: #fff; + background-color: #dc3545; } + +.-bg-red p > a { + color: #b4cdf1; } + .-bg-red p > a:hover { + color: #1e53a0; } + +.-text-red { + color: #dc3545; } + +.-bg-orange { + color: #fff; + background-color: #BA5A31; } + +.-bg-orange p > a { + color: #bed4f3; } + .-bg-orange p > a:hover { + color: #1e53a0; } + +.-text-orange { + color: #BA5A31; } + +.-bg-yellow { + color: #fff; + background-color: #ffc107; } + +.-bg-yellow p > a { + color: #b7cff2; } + .-bg-yellow p > a:hover { + color: #1e53a0; } + +.-text-yellow { + color: #ffc107; } + +.-bg-green { + color: #fff; + background-color: #28a745; } + +.-bg-green p > a { + color: #c6d9f4; } + .-bg-green p > a:hover { + color: #1e53a0; } + +.-text-green { + color: #28a745; } + +.-bg-teal { + color: #fff; + background-color: #20c997; } + +.-bg-teal p > a { + color: #bfd4f3; } + .-bg-teal p > a:hover { + color: #1e53a0; } + +.-text-teal { + color: #20c997; } + +.-bg-cyan { + color: #fff; + background-color: #17a2b8; } + +.-bg-cyan p > a { + color: #c6d9f4; } + .-bg-cyan p > a:hover { + color: #1e53a0; } + +.-text-cyan { + color: #17a2b8; } + +.-bg-white { + color: #222; + background-color: #fff; } + +.-bg-white p > a { + color: #72a1e5; } + .-bg-white p > a:hover { + color: #1e53a0; } + +.-text-white { + color: #fff; } + +.-bg-gray { + color: #fff; + background-color: #797676; } + +.-bg-gray p > a { + color: #bdd3f3; } + .-bg-gray p > a:hover { + color: #1e53a0; } + +.-text-gray { + color: #797676; } + +.-bg-gray-dark { + color: #fff; + background-color: #333; } + +.-bg-gray-dark p > a { + color: #e3ecfa; } + .-bg-gray-dark p > a:hover { + color: #1e53a0; } + +.-text-gray-dark { + color: #333; } + +.-bg-primary { + color: #fff; + background-color: #1a3f51; } + +.-bg-primary p > a { + color: #e1ebfa; } + .-bg-primary p > a:hover { + color: #1e53a0; } + +.-text-primary { + color: #1a3f51; } + +.-bg-secondary { + color: #fff; + background-color: #102129; } + +.-bg-secondary p > a { + color: #eff4fc; } + .-bg-secondary p > a:hover { + color: #1e53a0; } + +.-text-secondary { + color: #102129; } + +.-bg-success { + color: #fff; + background-color: #3772FF; } + +.-bg-success p > a { + color: #a9c6ef; } + .-bg-success p > a:hover { + color: #1e53a0; } + +.-text-success { + color: #3772FF; } + +.-bg-info { + color: #222; + background-color: #C0E0DE; } + +.-bg-info p > a { + color: #638ac1; } + .-bg-info p > a:hover { + color: #1e53a0; } + +.-text-info { + color: #C0E0DE; } + +.-bg-warning { + color: #fff; + background-color: #ED6A5A; } + +.-bg-warning p > a { + color: #a5c3ee; } + .-bg-warning p > a:hover { + color: #1e53a0; } + +.-text-warning { + color: #ED6A5A; } + +.-bg-danger { + color: #fff; + background-color: #ED6A5A; } + +.-bg-danger p > a { + color: #a5c3ee; } + .-bg-danger p > a:hover { + color: #1e53a0; } + +.-text-danger { + color: #ED6A5A; } + +.-bg-light { + color: #222; + background-color: #D3F3EE; } + +.-bg-light p > a { + color: #6993d0; } + .-bg-light p > a:hover { + color: #1e53a0; } + +.-text-light { + color: #D3F3EE; } + +.-bg-dark { + color: #fff; + background-color: #403F4C; } + +.-bg-dark p > a { + color: #d9e5f8; } + .-bg-dark p > a:hover { + color: #1e53a0; } + +.-text-dark { + color: #403F4C; } + +.-bg-100 { + color: #222; + background-color: #f8f9fa; } + +.-bg-100 p > a { + color: #709ee0; } + .-bg-100 p > a:hover { + color: #1e53a0; } + +.-text-100 { + color: #f8f9fa; } + +.-bg-200 { + color: #222; + background-color: #eee; } + +.-bg-200 p > a { + color: #6d99d8; } + .-bg-200 p > a:hover { + color: #1e53a0; } + +.-text-200 { + color: #eee; } + +.-bg-300 { + color: #222; + background-color: #dee2e6; } + +.-bg-300 p > a { + color: #6993cf; } + .-bg-300 p > a:hover { + color: #1e53a0; } + +.-text-300 { + color: #dee2e6; } + +.-bg-400 { + color: #222; + background-color: #ccc; } + +.-bg-400 p > a { + color: #6288be; } + .-bg-400 p > a:hover { + color: #1e53a0; } + +.-text-400 { + color: #ccc; } + +.-bg-500 { + color: #fff; + background-color: #adb5bd; } + +.-bg-500 p > a { + color: #9bbced; } + .-bg-500 p > a:hover { + color: #1e53a0; } + +.-text-500 { + color: #adb5bd; } + +.-bg-600 { + color: #fff; + background-color: #797676; } + +.-bg-600 p > a { + color: #bdd3f3; } + .-bg-600 p > a:hover { + color: #1e53a0; } + +.-text-600 { + color: #797676; } + +.-bg-700 { + color: #fff; + background-color: #495057; } + +.-bg-700 p > a { + color: #d3e2f7; } + .-bg-700 p > a:hover { + color: #1e53a0; } + +.-text-700 { + color: #495057; } + +.-bg-800 { + color: #fff; + background-color: #333; } + +.-bg-800 p > a { + color: #e3ecfa; } + .-bg-800 p > a:hover { + color: #1e53a0; } + +.-text-800 { + color: #333; } + +.-bg-900 { + color: #fff; + background-color: #222; } + +.-bg-900 p > a { + color: #ecf2fc; } + .-bg-900 p > a:hover { + color: #1e53a0; } + +.-text-900 { + color: #222; } + +.-bg-0 { + color: #fff; + background-color: #403F4C; } + +.-bg-0 p > a { + color: #d9e5f8; } + .-bg-0 p > a:hover { + color: #1e53a0; } + +.-text-0 { + color: #403F4C; } + +.-bg-1 { + color: #fff; + background-color: #1a3f51; } + +.-bg-1 p > a { + color: #e1ebfa; } + .-bg-1 p > a:hover { + color: #1e53a0; } + +.-text-1 { + color: #1a3f51; } + +.-bg-2 { + color: #fff; + background-color: #102129; } + +.-bg-2 p > a { + color: #eff4fc; } + .-bg-2 p > a:hover { + color: #1e53a0; } + +.-text-2 { + color: #102129; } + +.-bg-3 { + color: #222; + background-color: #C0E0DE; } + +.-bg-3 p > a { + color: #638ac1; } + .-bg-3 p > a:hover { + color: #1e53a0; } + +.-text-3 { + color: #C0E0DE; } + +.-bg-4 { + color: #222; + background-color: #eff7fa; } + +.-bg-4 p > a { + color: #6f9cdd; } + .-bg-4 p > a:hover { + color: #1e53a0; } + +.-text-4 { + color: #eff7fa; } + +.-bg-5 { + color: #fff; + background-color: #797676; } + +.-bg-5 p > a { + color: #bdd3f3; } + .-bg-5 p > a:hover { + color: #1e53a0; } + +.-text-5 { + color: #797676; } + +.-bg-6 { + color: #fff; + background-color: #3772FF; } + +.-bg-6 p > a { + color: #a9c6ef; } + .-bg-6 p > a:hover { + color: #1e53a0; } + +.-text-6 { + color: #3772FF; } + +.-bg-7 { + color: #fff; + background-color: #ED6A5A; } + +.-bg-7 p > a { + color: #a5c3ee; } + .-bg-7 p > a:hover { + color: #1e53a0; } + +.-text-7 { + color: #ED6A5A; } + +.-bg-8 { + color: #fff; + background-color: #403F4C; } + +.-bg-8 p > a { + color: #d9e5f8; } + .-bg-8 p > a:hover { + color: #1e53a0; } + +.-text-8 { + color: #403F4C; } + +.-bg-9 { + color: #fff; + background-color: #ED6A5A; } + +.-bg-9 p > a { + color: #a5c3ee; } + .-bg-9 p > a:hover { + color: #1e53a0; } + +.-text-9 { + color: #ED6A5A; } + +.-bg-10 { + color: #fff; + background-color: #1a3f51; } + +.-bg-10 p > a { + color: #e1ebfa; } + .-bg-10 p > a:hover { + color: #1e53a0; } + +.-text-10 { + color: #1a3f51; } + +.-bg-11 { + color: #fff; + background-color: #102129; } + +.-bg-11 p > a { + color: #eff4fc; } + .-bg-11 p > a:hover { + color: #1e53a0; } + +.-text-11 { + color: #102129; } + +.-bg-12 { + color: #222; + background-color: #eff7fa; } + +.-bg-12 p > a { + color: #6f9cdd; } + .-bg-12 p > a:hover { + color: #1e53a0; } + +.-text-12 { + color: #eff7fa; } + +.-bg-13 { + color: #222; + background-color: #C0E0DE; } + +.-bg-13 p > a { + color: #638ac1; } + .-bg-13 p > a:hover { + color: #1e53a0; } + +.-text-13 { + color: #C0E0DE; } + +.td-box--height-min { + min-height: 300px; } + +.td-box--height-med { + min-height: 400px; } + +.td-box--height-max { + min-height: 500px; } + +.td-box--height-full { + min-height: 100vh; } + +@media (min-width: 768px) { + .td-box--height-min { + min-height: 450px; } + .td-box--height-med { + min-height: 500px; } + .td-box--height-max { + min-height: 650px; } } + +.td-box .row.section { + padding-left: 5vw; + padding-right: 5vw; + flex-direction: column; } + +.td-box .row { + padding-left: 5vw; + padding-right: 5vw; + flex-direction: row; } + +.td-box.linkbox { + padding: 5vh 5vw; } + +.td-box--0 { + color: #fff; + background-color: #403F4C; } + .td-box--0 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #403F4C transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--0 p > a { + color: #d9e5f8; } + .td-box--0 p > a:hover { + color: #1e53a0; } + +.td-box--10.td-box--gradient { + background: #403F4C linear-gradient(180deg, #5d5c67, #403F4C) repeat-x !important; } + +.td-box--1 { + color: #fff; + background-color: #1a3f51; } + .td-box--1 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #1a3f51 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--1 p > a { + color: #e1ebfa; } + .td-box--1 p > a:hover { + color: #1e53a0; } + +.td-box--11.td-box--gradient { + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x !important; } + +.td-box--2 { + color: #fff; + background-color: #102129; } + .td-box--2 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #102129 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--2 p > a { + color: #eff4fc; } + .td-box--2 p > a:hover { + color: #1e53a0; } + +.td-box--12.td-box--gradient { + background: #102129 linear-gradient(180deg, #344249, #102129) repeat-x !important; } + +.td-box--3 { + color: #222; + background-color: #C0E0DE; } + .td-box--3 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #C0E0DE transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--3 p > a { + color: #638ac1; } + .td-box--3 p > a:hover { + color: #1e53a0; } + +.td-box--13.td-box--gradient { + background: #C0E0DE linear-gradient(180deg, #c9e5e3, #C0E0DE) repeat-x !important; } + +.td-box--4 { + color: #222; + background-color: #eff7fa; } + .td-box--4 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #eff7fa transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--4 p > a { + color: #6f9cdd; } + .td-box--4 p > a:hover { + color: #1e53a0; } + +.td-box--14.td-box--gradient { + background: #eff7fa linear-gradient(180deg, #f2f8fb, #eff7fa) repeat-x !important; } + +.td-box--5 { + color: #fff; + background-color: #797676; } + .td-box--5 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #797676 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--5 p > a { + color: #bdd3f3; } + .td-box--5 p > a:hover { + color: #1e53a0; } + +.td-box--15.td-box--gradient { + background: #797676 linear-gradient(180deg, #8d8b8b, #797676) repeat-x !important; } + +.td-box--6 { + color: #fff; + background-color: #3772FF; } + .td-box--6 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #3772FF transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--6 p > a { + color: #a9c6ef; } + .td-box--6 p > a:hover { + color: #1e53a0; } + +.td-box--16.td-box--gradient { + background: #3772FF linear-gradient(180deg, #5587ff, #3772FF) repeat-x !important; } + +.td-box--7 { + color: #fff; + background-color: #ED6A5A; } + .td-box--7 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #ED6A5A transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--7 p > a { + color: #a5c3ee; } + .td-box--7 p > a:hover { + color: #1e53a0; } + +.td-box--17.td-box--gradient { + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x !important; } + +.td-box--8 { + color: #fff; + background-color: #403F4C; } + .td-box--8 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #403F4C transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--8 p > a { + color: #d9e5f8; } + .td-box--8 p > a:hover { + color: #1e53a0; } + +.td-box--18.td-box--gradient { + background: #403F4C linear-gradient(180deg, #5d5c67, #403F4C) repeat-x !important; } + +.td-box--9 { + color: #fff; + background-color: #ED6A5A; } + .td-box--9 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #ED6A5A transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--9 p > a { + color: #a5c3ee; } + .td-box--9 p > a:hover { + color: #1e53a0; } + +.td-box--19.td-box--gradient { + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x !important; } + +.td-box--10 { + color: #fff; + background-color: #1a3f51; } + .td-box--10 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #1a3f51 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--10 p > a { + color: #e1ebfa; } + .td-box--10 p > a:hover { + color: #1e53a0; } + +.td-box--110.td-box--gradient { + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x !important; } + +.td-box--11 { + color: #fff; + background-color: #102129; } + .td-box--11 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #102129 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--11 p > a { + color: #eff4fc; } + .td-box--11 p > a:hover { + color: #1e53a0; } + +.td-box--111.td-box--gradient { + background: #102129 linear-gradient(180deg, #344249, #102129) repeat-x !important; } + +.td-box--12 { + color: #222; + background-color: #eff7fa; } + .td-box--12 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #eff7fa transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--12 p > a { + color: #6f9cdd; } + .td-box--12 p > a:hover { + color: #1e53a0; } + +.td-box--112.td-box--gradient { + background: #eff7fa linear-gradient(180deg, #f2f8fb, #eff7fa) repeat-x !important; } + +.td-box--13 { + color: #222; + background-color: #C0E0DE; } + .td-box--13 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #C0E0DE transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--13 p > a { + color: #638ac1; } + .td-box--13 p > a:hover { + color: #1e53a0; } + +.td-box--113.td-box--gradient { + background: #C0E0DE linear-gradient(180deg, #c9e5e3, #C0E0DE) repeat-x !important; } + +.td-box--blue { + color: #fff; + background-color: #72A1E5; } + .td-box--blue .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #72A1E5 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--blue p > a { + color: #a0c0ee; } + .td-box--blue p > a:hover { + color: #1e53a0; } + +.td-box--1blue.td-box--gradient { + background: #72A1E5 linear-gradient(180deg, #87afe9, #72A1E5) repeat-x !important; } + +.td-box--indigo { + color: #fff; + background-color: #6610f2; } + .td-box--indigo .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #6610f2 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--indigo p > a { + color: #b8cff2; } + .td-box--indigo p > a:hover { + color: #1e53a0; } + +.td-box--1indigo.td-box--gradient { + background: #6610f2 linear-gradient(180deg, #7d34f4, #6610f2) repeat-x !important; } + +.td-box--purple { + color: #fff; + background-color: #6f42c1; } + .td-box--purple .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #6f42c1 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--purple p > a { + color: #b7cff2; } + .td-box--purple p > a:hover { + color: #1e53a0; } + +.td-box--1purple.td-box--gradient { + background: #6f42c1 linear-gradient(180deg, #855eca, #6f42c1) repeat-x !important; } + +.td-box--pink { + color: #fff; + background-color: #e83e8c; } + .td-box--pink .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #e83e8c transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--pink p > a { + color: #aec9f0; } + .td-box--pink p > a:hover { + color: #1e53a0; } + +.td-box--1pink.td-box--gradient { + background: #e83e8c linear-gradient(180deg, #eb5b9d, #e83e8c) repeat-x !important; } + +.td-box--red { + color: #fff; + background-color: #dc3545; } + .td-box--red .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #dc3545 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--red p > a { + color: #b4cdf1; } + .td-box--red p > a:hover { + color: #1e53a0; } + +.td-box--1red.td-box--gradient { + background: #dc3545 linear-gradient(180deg, #e15361, #dc3545) repeat-x !important; } + +.td-box--orange { + color: #fff; + background-color: #BA5A31; } + .td-box--orange .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #BA5A31 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--orange p > a { + color: #bed4f3; } + .td-box--orange p > a:hover { + color: #1e53a0; } + +.td-box--1orange.td-box--gradient { + background: #BA5A31 linear-gradient(180deg, #c47350, #BA5A31) repeat-x !important; } + +.td-box--yellow { + color: #fff; + background-color: #ffc107; } + .td-box--yellow .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #ffc107 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--yellow p > a { + color: #b7cff2; } + .td-box--yellow p > a:hover { + color: #1e53a0; } + +.td-box--1yellow.td-box--gradient { + background: #ffc107 linear-gradient(180deg, #ffca2c, #ffc107) repeat-x !important; } + +.td-box--green { + color: #fff; + background-color: #28a745; } + .td-box--green .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #28a745 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--green p > a { + color: #c6d9f4; } + .td-box--green p > a:hover { + color: #1e53a0; } + +.td-box--1green.td-box--gradient { + background: #28a745 linear-gradient(180deg, #48b461, #28a745) repeat-x !important; } + +.td-box--teal { + color: #fff; + background-color: #20c997; } + .td-box--teal .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #20c997 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--teal p > a { + color: #bfd4f3; } + .td-box--teal p > a:hover { + color: #1e53a0; } + +.td-box--1teal.td-box--gradient { + background: #20c997 linear-gradient(180deg, #41d1a7, #20c997) repeat-x !important; } + +.td-box--cyan { + color: #fff; + background-color: #17a2b8; } + .td-box--cyan .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #17a2b8 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--cyan p > a { + color: #c6d9f4; } + .td-box--cyan p > a:hover { + color: #1e53a0; } + +.td-box--1cyan.td-box--gradient { + background: #17a2b8 linear-gradient(180deg, #3ab0c3, #17a2b8) repeat-x !important; } + +.td-box--white { + color: #222; + background-color: #fff; } + .td-box--white .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #fff transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--white p > a { + color: #72a1e5; } + .td-box--white p > a:hover { + color: #1e53a0; } + +.td-box--1white.td-box--gradient { + background: #fff linear-gradient(180deg, white, #fff) repeat-x !important; } + +.td-box--gray { + color: #fff; + background-color: #797676; } + .td-box--gray .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #797676 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--gray p > a { + color: #bdd3f3; } + .td-box--gray p > a:hover { + color: #1e53a0; } + +.td-box--1gray.td-box--gradient { + background: #797676 linear-gradient(180deg, #8d8b8b, #797676) repeat-x !important; } + +.td-box--gray-dark { + color: #fff; + background-color: #333; } + .td-box--gray-dark .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #333 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--gray-dark p > a { + color: #e3ecfa; } + .td-box--gray-dark p > a:hover { + color: #1e53a0; } + +.td-box--1gray-dark.td-box--gradient { + background: #333 linear-gradient(180deg, #525252, #333) repeat-x !important; } + +.td-box--primary { + color: #fff; + background-color: #1a3f51; } + .td-box--primary .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #1a3f51 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--primary p > a { + color: #e1ebfa; } + .td-box--primary p > a:hover { + color: #1e53a0; } + +.td-box--1primary.td-box--gradient { + background: #1a3f51 linear-gradient(180deg, #3c5c6b, #1a3f51) repeat-x !important; } + +.td-box--secondary { + color: #fff; + background-color: #102129; } + .td-box--secondary .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #102129 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--secondary p > a { + color: #eff4fc; } + .td-box--secondary p > a:hover { + color: #1e53a0; } + +.td-box--1secondary.td-box--gradient { + background: #102129 linear-gradient(180deg, #344249, #102129) repeat-x !important; } + +.td-box--success { + color: #fff; + background-color: #3772FF; } + .td-box--success .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #3772FF transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--success p > a { + color: #a9c6ef; } + .td-box--success p > a:hover { + color: #1e53a0; } + +.td-box--1success.td-box--gradient { + background: #3772FF linear-gradient(180deg, #5587ff, #3772FF) repeat-x !important; } + +.td-box--info { + color: #222; + background-color: #C0E0DE; } + .td-box--info .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #C0E0DE transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--info p > a { + color: #638ac1; } + .td-box--info p > a:hover { + color: #1e53a0; } + +.td-box--1info.td-box--gradient { + background: #C0E0DE linear-gradient(180deg, #c9e5e3, #C0E0DE) repeat-x !important; } + +.td-box--warning { + color: #fff; + background-color: #ED6A5A; } + .td-box--warning .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #ED6A5A transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--warning p > a { + color: #a5c3ee; } + .td-box--warning p > a:hover { + color: #1e53a0; } + +.td-box--1warning.td-box--gradient { + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x !important; } + +.td-box--danger { + color: #fff; + background-color: #ED6A5A; } + .td-box--danger .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #ED6A5A transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--danger p > a { + color: #a5c3ee; } + .td-box--danger p > a:hover { + color: #1e53a0; } + +.td-box--1danger.td-box--gradient { + background: #ED6A5A linear-gradient(180deg, #f08073, #ED6A5A) repeat-x !important; } + +.td-box--light { + color: #222; + background-color: #D3F3EE; } + .td-box--light .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #D3F3EE transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--light p > a { + color: #6993d0; } + .td-box--light p > a:hover { + color: #1e53a0; } + +.td-box--1light.td-box--gradient { + background: #D3F3EE linear-gradient(180deg, #daf5f1, #D3F3EE) repeat-x !important; } + +.td-box--dark { + color: #fff; + background-color: #403F4C; } + .td-box--dark .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #403F4C transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--dark p > a { + color: #d9e5f8; } + .td-box--dark p > a:hover { + color: #1e53a0; } + +.td-box--1dark.td-box--gradient { + background: #403F4C linear-gradient(180deg, #5d5c67, #403F4C) repeat-x !important; } + +.td-box--100 { + color: #222; + background-color: #f8f9fa; } + .td-box--100 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #f8f9fa transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--100 p > a { + color: #709ee0; } + .td-box--100 p > a:hover { + color: #1e53a0; } + +.td-box--1100.td-box--gradient { + background: #f8f9fa linear-gradient(180deg, #f9fafb, #f8f9fa) repeat-x !important; } + +.td-box--200 { + color: #222; + background-color: #eee; } + .td-box--200 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #eee transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--200 p > a { + color: #6d99d8; } + .td-box--200 p > a:hover { + color: #1e53a0; } + +.td-box--1200.td-box--gradient { + background: #eee linear-gradient(180deg, #f1f1f1, #eee) repeat-x !important; } + +.td-box--300 { + color: #222; + background-color: #dee2e6; } + .td-box--300 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #dee2e6 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--300 p > a { + color: #6993cf; } + .td-box--300 p > a:hover { + color: #1e53a0; } + +.td-box--1300.td-box--gradient { + background: #dee2e6 linear-gradient(180deg, #e3e6ea, #dee2e6) repeat-x !important; } + +.td-box--400 { + color: #222; + background-color: #ccc; } + .td-box--400 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #ccc transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--400 p > a { + color: #6288be; } + .td-box--400 p > a:hover { + color: #1e53a0; } + +.td-box--1400.td-box--gradient { + background: #ccc linear-gradient(180deg, #d4d4d4, #ccc) repeat-x !important; } + +.td-box--500 { + color: #fff; + background-color: #adb5bd; } + .td-box--500 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #adb5bd transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--500 p > a { + color: #9bbced; } + .td-box--500 p > a:hover { + color: #1e53a0; } + +.td-box--1500.td-box--gradient { + background: #adb5bd linear-gradient(180deg, #b9c0c7, #adb5bd) repeat-x !important; } + +.td-box--600 { + color: #fff; + background-color: #797676; } + .td-box--600 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #797676 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--600 p > a { + color: #bdd3f3; } + .td-box--600 p > a:hover { + color: #1e53a0; } + +.td-box--1600.td-box--gradient { + background: #797676 linear-gradient(180deg, #8d8b8b, #797676) repeat-x !important; } + +.td-box--700 { + color: #fff; + background-color: #495057; } + .td-box--700 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #495057 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--700 p > a { + color: #d3e2f7; } + .td-box--700 p > a:hover { + color: #1e53a0; } + +.td-box--1700.td-box--gradient { + background: #495057 linear-gradient(180deg, #646a70, #495057) repeat-x !important; } + +.td-box--800 { + color: #fff; + background-color: #333; } + .td-box--800 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #333 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--800 p > a { + color: #e3ecfa; } + .td-box--800 p > a:hover { + color: #1e53a0; } + +.td-box--1800.td-box--gradient { + background: #333 linear-gradient(180deg, #525252, #333) repeat-x !important; } + +.td-box--900 { + color: #fff; + background-color: #222; } + .td-box--900 .td-arrow-down::before { + left: 50%; + margin-left: -30px; + bottom: -25px; + border-style: solid; + border-width: 25px 30px 0 30px; + border-color: #222 transparent transparent transparent; + z-index: 3; + position: absolute; + content: ""; } + +.td-box--900 p > a { + color: #ecf2fc; } + .td-box--900 p > a:hover { + color: #1e53a0; } + +.td-box--1900.td-box--gradient { + background: #222 linear-gradient(180deg, #434343, #222) repeat-x !important; } + +.td-blog .td-rss-button { + position: absolute; + top: 5.5rem; + right: 1rem; + z-index: 22; } + +.td-content .highlight { + margin: 2rem 0; + padding: 0; } + .td-content .highlight pre { + margin: 0; + padding: 1rem; } + +.td-content p code, .td-content li > code, .td-content table code { + color: inherit; + padding: 0.2em 0.4em; + margin: 0; + font-size: 85%; + word-break: normal; + background-color: rgba(0, 0, 0, 0.05); + border-radius: 0.25rem; } + .td-content p code br, .td-content li > code br, .td-content table code br { + display: none; } + +.td-content pre { + word-wrap: normal; + background-color: #f8f9fa; + padding: 1rem; } + .td-content pre > code { + background-color: inherit !important; + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + border: 0; } + +.td-content pre.mermaid { + background-color: inherit; + font-size: 0; } + +.td-navbar-cover { + background: #1a3f51; } + @media (min-width: 768px) { + .td-navbar-cover { + background: transparent !important; } + .td-navbar-cover .nav-link { + text-shadow: 1px 1px 2px #403F4C; } } + .td-navbar-cover.navbar-bg-onscroll .nav-link { + text-shadow: none; } + +.navbar-bg-onscroll { + background: #1a3f51 !important; + opacity: inherit; } + +.td-navbar { + background: #1a3f51; + min-height: 4rem; + margin: 0; + z-index: 32; } + @media (min-width: 768px) { + .td-navbar { + position: fixed; + top: 0; + width: 100%; } } + .td-navbar .navbar-brand { + text-transform: none; + text-align: middle; } + .td-navbar .navbar-brand .nav-link { + display: inline-block; + margin-right: -30px; } + .td-navbar .navbar-brand svg { + display: inline-block; + margin: 0 10px; + height: 30px; } + .td-navbar .nav-link { + text-transform: none; + font-weight: 700; } + .td-navbar .td-search-input { + border: none; + color: rgba(255, 255, 255, 0.75); } + .td-navbar .td-search-input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.75); } + .td-navbar .td-search-input:-moz-placeholder { + color: rgba(255, 255, 255, 0.75); } + .td-navbar .td-search-input::-moz-placeholder { + color: rgba(255, 255, 255, 0.75); } + .td-navbar .td-search-input:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.75); } + .td-navbar .dropdown { + min-width: 100px; } + @media (max-width: 991.98px) { + .td-navbar { + padding-right: .5rem; + padding-left: .75rem; } + .td-navbar .td-navbar-nav-scroll { + max-width: 100%; + height: 2.5rem; + margin-top: .25rem; + overflow: hidden; + font-size: .875rem; } + .td-navbar .td-navbar-nav-scroll .nav-link { + padding-right: .25rem; + padding-left: 0; } + .td-navbar .td-navbar-nav-scroll .navbar-nav { + padding-bottom: 2rem; + overflow-x: auto; + white-space: nowrap; + -webkit-overflow-scrolling: touch; } } +#main_navbar li i { + padding-right: 0.5em; } + #main_navbar li i:before { + display: inline-block; + text-align: center; + min-width: 1em; } + +#main_navbar .alert { + background-color: inherit; + padding: 0; + color: #102129; + border: 0; + font-weight: inherit; } + #main_navbar .alert:before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f0d9"; + padding-left: 0.5em; + padding-right: 0.5em; } + +nav.foldable-nav#td-section-nav { + position: relative; } + +nav.foldable-nav#td-section-nav label { + margin-bottom: 0; + width: 100%; } + +nav.foldable-nav .td-sidebar-nav__section, nav.foldable-nav .with-child ul { + list-style: none; + padding: 0; + margin: 0; } + +nav.foldable-nav .ul-1 > li { + padding-left: 1.5em; } + +nav.foldable-nav ul.foldable { + max-height: 0; + overflow: hidden; + transition: max-height 0.5s cubic-bezier(0, 1, 0, 1); } + +nav.foldable-nav input:checked ~ ul.foldable { + max-height: 100000vmax; + transition: max-height 1s ease-in-out; } + +nav.foldable-nav input[type=checkbox] { + display: none; } + +nav.foldable-nav .with-child, nav.foldable-nav .without-child { + position: relative; + padding-left: 1.5em; } + +nav.foldable-nav .ul-1 .with-child > label:before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f0da"; + position: absolute; + left: 0.1em; + padding-left: 0.4em; + padding-right: 0.4em; + font-size: 1em; + color: #222; + transition: all 0.5s; } + nav.foldable-nav .ul-1 .with-child > label:before:hover { + transform: rotate(90deg); } + +nav.foldable-nav .ul-1 .with-child > input:checked ~ label:before { + color: #1a3f51; + transform: rotate(90deg); + transition: transform 0.5s; } + +nav.foldable-nav .with-child ul { + margin-top: 0.1em; } + +@media (hover: hover) and (pointer: fine) { + nav.foldable-nav .ul-1 .with-child > label:hover:before { + color: #1a3f51; + transform: rotate(30deg); + transition: transform 0.5s; } + nav.foldable-nav .ul-1 .with-child > input:checked ~ label:hover:before { + color: #1a3f51; + transform: rotate(60deg) !important; + transition: transform 0.5s; } } + +.td-sidebar-nav { + padding-right: 0.5rem; + margin-right: -15px; + margin-left: -15px; } + @media (min-width: 768px) { + @supports (position: sticky) { + .td-sidebar-nav { + max-height: calc(100vh - 10rem); + overflow-y: auto; } } } + @media (min-width: 768px) { + .td-sidebar-nav { + display: block !important; } } + .td-sidebar-nav__section { + padding-left: 0; } + .td-sidebar-nav__section li { + list-style: none; } + .td-sidebar-nav__section ul { + padding: 0; + margin: 0; } + @media (min-width: 768px) { + .td-sidebar-nav__section .ul-1 ul { + padding-left: 1.5em; } } + .td-sidebar-nav__section-title { + display: block; + font-weight: 500; } + .td-sidebar-nav__section-title .active { + font-weight: 700; } + .td-sidebar-nav__section-title a { + color: #222; } + .td-sidebar-nav .td-sidebar-link { + display: block; + padding-bottom: 0.375rem; } + .td-sidebar-nav .td-sidebar-link__page { + color: #495057; + font-weight: 300; } + .td-sidebar-nav a:hover { + color: #72A1E5; + text-decoration: none; } + .td-sidebar-nav a.active { + font-weight: 700; } + .td-sidebar-nav .dropdown a { + color: #495057; } + .td-sidebar-nav .dropdown .nav-link { + padding: 0 0 1rem; } + .td-sidebar-nav > .td-sidebar-nav__section { + padding-top: .5rem; + padding-left: 1.5rem; } + .td-sidebar-nav li i { + padding-right: 0.5em; } + .td-sidebar-nav li i:before { + display: inline-block; + text-align: center; + min-width: 1em; } + .td-sidebar-nav .td-sidebar-link.tree-root { + font-weight: 700; + color: #1a3f51; + border-bottom: 1px #1a3f51 solid; + margin-bottom: 1rem; } + +.td-sidebar { + padding-bottom: 1rem; } + @media (min-width: 768px) { + .td-sidebar { + padding-top: 4rem; + background-color: rgba(26, 63, 81, 0.03); + padding-right: 1rem; + border-right: 1px solid #dee2e6; } } + .td-sidebar__toggle { + line-height: 1; + color: #222; + margin: 1rem; } + .td-sidebar__search { + padding: 1rem 15px; + margin-right: -15px; + margin-left: -15px; } + .td-sidebar__inner { + order: 0; } + @media (min-width: 768px) { + @supports (position: sticky) { + .td-sidebar__inner { + position: sticky; + top: 4rem; + z-index: 10; + height: calc(100vh - 6rem); } } } + @media (min-width: 1200px) { + .td-sidebar__inner { + flex: 0 1 320px; } } + .td-sidebar__inner .td-search-box { + width: 100%; } + .td-sidebar #content-desktop { + display: block; } + .td-sidebar #content-mobile { + display: none; } + @media (max-width: 991.98px) { + .td-sidebar #content-desktop { + display: none; } + .td-sidebar #content-mobile { + display: block; } } +.td-sidebar-toc { + border-left: 1px solid #dee2e6; + order: 2; + padding-top: 0.75rem; + padding-bottom: 1.5rem; + vertical-align: top; } + @supports (position: sticky) { + .td-sidebar-toc { + position: sticky; + top: 4rem; + height: calc(100vh - 4rem); + overflow-y: auto; } } + +.td-page-meta a { + display: block; + font-weight: 500; } + +.td-toc a { + display: block; + font-weight: 300; + padding-bottom: .25rem; } + +.td-toc li { + list-style: none; + display: block; } + +.td-toc li li { + margin-left: 0.5rem; } + +.td-toc #TableOfContents a { + color: #797676; } + .td-toc #TableOfContents a:hover { + color: #72A1E5; + text-decoration: none; } + +.td-toc ul { + padding-left: 0; } + +.btn { + border-radius: 1rem; } + .btn-lg, .btn-group-lg > .btn { + border-radius: 2rem; } + .btn-sm, .btn-group-sm > .btn { + border-radius: 1rem; } + +@media print { + .td-breadcrumbs { + display: none !important; } } + +.td-breadcrumbs .breadcrumb { + background: inherit; + padding-left: 0; + padding-top: 0; } + +.alert { + font-weight: 500; + background: #fff; + color: inherit; + border-radius: 0; } + .alert-primary { + border-style: solid; + border-color: #1a3f51; + border-width: 0 0 0 4px; } + .alert-primary .alert-heading { + color: #1a3f51; } + .alert-secondary { + border-style: solid; + border-color: #102129; + border-width: 0 0 0 4px; } + .alert-secondary .alert-heading { + color: #102129; } + .alert-success { + border-style: solid; + border-color: #3772FF; + border-width: 0 0 0 4px; } + .alert-success .alert-heading { + color: #3772FF; } + .alert-info { + border-style: solid; + border-color: #C0E0DE; + border-width: 0 0 0 4px; } + .alert-info .alert-heading { + color: #C0E0DE; } + .alert-warning { + border-style: solid; + border-color: #ED6A5A; + border-width: 0 0 0 4px; } + .alert-warning .alert-heading { + color: #ED6A5A; } + .alert-danger { + border-style: solid; + border-color: #ED6A5A; + border-width: 0 0 0 4px; } + .alert-danger .alert-heading { + color: #ED6A5A; } + .alert-light { + border-style: solid; + border-color: #D3F3EE; + border-width: 0 0 0 4px; } + .alert-light .alert-heading { + color: #D3F3EE; } + .alert-dark { + border-style: solid; + border-color: #403F4C; + border-width: 0 0 0 4px; } + .alert-dark .alert-heading { + color: #403F4C; } + +.td-content { + order: 1; } + .td-content p, .td-content li, .td-content td { + font-weight: 400; } + .td-content > h1 { + font-weight: 700; + margin-bottom: 1rem; } + .td-content > h2 { + margin-bottom: 1rem; } + .td-content > h2:not(:first-child) { + margin-top: 3rem; } + .td-content > h2 + h3 { + margin-top: 1rem; } + .td-content > h3, .td-content > h4, .td-content > h5, .td-content > h6 { + margin-bottom: 1rem; + margin-top: 2rem; } + .td-content > blockquote { + padding: 0 0 0 1rem; + margin-bottom: 1rem; + color: #797676; + border-left: 6px solid #102129; } + .td-content > ul li, .td-content > ol li { + margin-bottom: .25rem; } + .td-content strong { + font-weight: 700; } + .td-content .alert:not(:first-child) { + margin-top: 2rem; + margin-bottom: 2rem; } + .td-content .lead { + margin-bottom: 1.5rem; } + +.td-title { + margin-top: 1rem; + margin-bottom: .5rem; } + @media (min-width: 576px) { + .td-title { + font-size: 3rem; } } +.td-search-input { + background: transparent; + max-width: 90%; + border-radius: 1rem; + font-family: "Font Awesome 5 Free", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } + .td-search-input.form-control:focus { + border-color: #b6d7e7; + box-shadow: 0 0 0 2px #4298c2; + color: inherit; } + +.popover.offline-search-result { + max-width: 90%; } + .popover.offline-search-result .card, .popover.offline-search-result .td-content .highlight, .td-content .popover.offline-search-result .highlight { + margin-bottom: 0.5rem; } + .popover.offline-search-result .card .card-header, .popover.offline-search-result .td-content .highlight .card-header, .td-content .popover.offline-search-result .highlight .card-header { + font-weight: bold; } + +.td-outer { + display: flex; + flex-direction: column; + height: 100vh; } + +@media (min-width: 768px) { + .td-default main > section:first-of-type { + padding-top: 8rem; } } + +.td-main { + flex-grow: 1; } + .td-main main { + padding-bottom: 2rem; } + @media (min-width: 768px) { + .td-main main { + padding-top: 5.5rem; } } +.td-cover-block--height-min { + min-height: 300px; } + +.td-cover-block--height-med { + min-height: 400px; } + +.td-cover-block--height-max { + min-height: 500px; } + +.td-cover-block--height-full { + min-height: 100vh; } + +@media (min-width: 768px) { + .td-cover-block--height-min { + min-height: 450px; } + .td-cover-block--height-med { + min-height: 500px; } + .td-cover-block--height-max { + min-height: 650px; } } + +.td-cover-logo { + margin-right: 0.5em; } + +.td-cover-block { + position: relative; + padding-top: 5rem; + padding-bottom: 5rem; + background-repeat: no-repeat; + background-position: 50% 0; + background-size: cover; } + .td-cover-block > .byline { + position: absolute; + bottom: 2px; + right: 4px; } + +.td-bg-arrow-wrapper { + position: relative; } + +.section-index .entry { + padding: .75rem; } + +.section-index h5 { + margin-bottom: 0; } + .section-index h5 a { + font-weight: 700; } + +.section-index p { + margin-top: 0; } + +.pageinfo { + font-weight: 500; + background: #f8f9fa; + color: inherit; + border-radius: 0; + margin: 2rem; + padding: 1.5rem; + padding-bottom: 0.5rem; } + .pageinfo-primary { + border-style: solid; + border-color: #1a3f51; } + .pageinfo-secondary { + border-style: solid; + border-color: #102129; } + .pageinfo-success { + border-style: solid; + border-color: #3772FF; } + .pageinfo-info { + border-style: solid; + border-color: #C0E0DE; } + .pageinfo-warning { + border-style: solid; + border-color: #ED6A5A; } + .pageinfo-danger { + border-style: solid; + border-color: #ED6A5A; } + .pageinfo-light { + border-style: solid; + border-color: #D3F3EE; } + .pageinfo-dark { + border-style: solid; + border-color: #403F4C; } + +.taxonomy-terms-article { + width: 100%; + clear: both; + font-size: 0.8rem; } + .taxonomy-terms-article .taxonomy-title { + display: inline; + font-size: 1.25em; + height: 1em; + line-height: 1em; + margin-right: 0.5em; + padding: 0; } + +.taxonomy-terms-cloud { + width: 100%; + clear: both; + font-size: 0.8rem; } + .taxonomy-terms-cloud .taxonomy-title { + display: inline-block; + width: 100%; + font-size: 1rem; + font-weight: 700; + color: #1a3f51; + border-bottom: 1px #1a3f51 solid; + margin-bottom: 1em; + padding-bottom: 0.375rem; + margin-top: 1em; } + +.taxonomy-terms-page { + max-width: 800px; + margin: auto; } + .taxonomy-terms-page h1 { + margin-bottom: 1em; } + .taxonomy-terms-page .taxonomy-terms-cloud { + font-size: 1em; } + .taxonomy-terms-page .taxonomy-terms-cloud li { + display: block; } + .taxonomy-terms-page .taxo-text-tags li + li::before { + content: none; } + .taxonomy-terms-page .taxo-fruits .taxonomy-count, + .taxonomy-terms-page .taxo-fruits .taxonomy-label { + display: inherit; + font-size: 1rem; + margin: 0; + padding: 0; + padding-right: 0.5em; } + .taxonomy-terms-page .taxo-fruits .taxonomy-count::before { + content: "("; } + .taxonomy-terms-page .taxo-fruits .taxonomy-count::after { + content: ")"; } + +.taxonomy-terms { + list-style: none; + margin: 0; + overflow: hidden; + padding: 0; + display: inline; } + .taxonomy-terms li { + display: inline; + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-all; + word-break: break-word; + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; } + +.taxonomy-count { + font-size: 0.8em; + line-height: 1.25em; + display: inline-block; + padding-left: 0.6em; + padding-right: 0.6em; + margin-left: 0.6em; + text-align: center; + border-radius: 1em; + background-color: #fff; } + +.taxonomy-term { + background: #eee; + border-width: 0; + border-radius: 0 3px 3px 0; + color: #797676; + display: inline-block; + font-size: 1em; + line-height: 1.5em; + min-height: 1.5em; + max-width: 100%; + padding: 0 0.5em 0 1em; + position: relative; + margin: 0 0.5em 0.2em 0; + text-decoration: none; + -webkit-transition: color 0.2s; + -webkit-clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0); + clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0); } + .taxonomy-term:hover { + background-color: #1a3f51; + color: #fff; } + .taxonomy-term:hover .taxonomy-count { + color: #403F4C !important; } + .taxonomy-term:hover::before { + background: #1a3f51; } + +.taxo-text-tags .taxonomy-term { + background: none; + border-width: 0; + border-radius: 0; + color: #797676; + font-size: 1em; + line-height: 1.5em; + min-height: 1.5em; + max-width: 100%; + padding: 0; + position: relative; + margin: 0; + text-decoration: none; + -webkit-clip-path: none; + clip-path: none; } + .taxo-text-tags .taxonomy-term:hover { + background: none; + color: #3176d9; } + .taxo-text-tags .taxonomy-term:hover .taxonomy-count { + color: #403F4C !important; } + .taxo-text-tags .taxonomy-term:hover::before { + background: none; } + +.taxo-text-tags li + li::before { + content: "|"; + color: #797676; + margin-right: 0.2em; } + +.taxo-text-tags .taxonomy-count { + font-size: 1em; + line-height: 1.25em; + display: inline-block; + padding: 0; + margin: 0; + text-align: center; + border-radius: 0; + background: none; + vertical-align: super; + font-size: 0.75em; } + +.taxo-text-tags .taxonomy-term:hover .taxonomy-count { + color: #3176d9 !important; } + +.taxo-fruits .taxonomy-term[data-taxonomy-term]::before { + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + font-family: "Font Awesome 5 Free"; + padding-right: 0.5em; + font-size: 2em; + min-width: 1.5em; + display: inline-block; } + +.taxo-fruits .taxonomy-term[data-taxonomy-term="apple"]::before { + content: "\f5d1"; + color: red; } + +.taxo-fruits .taxonomy-term[data-taxonomy-term="carrot"]::before { + content: "\f787"; + color: orange; } + +.taxo-fruits .taxonomy-term[data-taxonomy-term="lemon"]::before { + content: "\f094"; + color: limegreen; } + +.taxo-fruits .taxonomy-term[data-taxonomy-term="pepper"]::before { + content: "\f816"; + color: darkred; } + +.taxo-fruits .taxonomy-term { + background: none; + border-width: 0; + border-radius: 0; + color: #797676; + font-size: 1em; + line-height: 2.5em; + max-width: 100%; + padding: 0; + position: relative; + margin: 0; + text-decoration: none; + -webkit-clip-path: none; + clip-path: none; } + .taxo-fruits .taxonomy-term:hover { + background: none; + color: #3176d9; } + .taxo-fruits .taxonomy-term:hover .taxonomy-count { + color: #403F4C !important; } + .taxo-fruits .taxonomy-term:hover::before { + background: none; + text-shadow: 0 0 3px #222; } + +.taxo-fruits .taxonomy-count, +.taxo-fruits .taxonomy-label { + display: none; } + +.taxo-fruits.taxonomy-terms-article { + margin-bottom: 1rem; } + .taxo-fruits.taxonomy-terms-article .taxonomy-title { + display: none; } + +.taxonomy-taxonomy-page { + max-width: 800px; + margin: auto; } + .taxonomy-taxonomy-page h1 { + margin-bottom: 1em; } + +.article-meta { + margin-bottom: 1.5rem; } + +.article-teaser.article-type-docs h3 a:before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + font-family: "Font Awesome 5 Free"; + content: "\f02d"; + padding-right: 0.5em; } + +.article-teaser.article-type-blog h3 a:before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + font-family: "Font Awesome 5 Free"; + content: "\f781"; + padding-right: 0.5em; } + +.all-taxonomy-terms { + font-weight: 500; + line-height: 1.2; + font-size: 1.5rem; } + .all-taxonomy-terms:before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + font-family: "Font Awesome 5 Free"; + content: "\f122"; + padding-right: 0.5em; } + +div.drawio { + display: inline-block; + position: relative; } + div.drawio button { + position: absolute; + font-size: 0.8em; + bottom: 5px; + right: 5px; + background-color: rgba(16, 33, 41, 0.8); + color: #eff7fa; + padding: 0.4em 0.5em; + display: none; } + div.drawio:hover button { + display: inline; } + +div.drawioframe { + position: fixed; + height: 100%; + width: 100%; + top: 0; + left: 0px; + z-index: 1000; + background: #000b; + border: 0; } + div.drawioframe iframe { + position: absolute; + height: 90%; + width: 90%; + top: 5%; + left: 5%; + z-index: 1010; } + +footer { + min-height: 150px; } + @media (max-width: 991.98px) { + footer { + min-height: 200px; } } +@media (min-width: 768px) { + .td-offset-anchor:target { + display: block; + position: relative; + top: -4rem; + visibility: hidden; } + h2[id]:before, + h3[id]:before, + h4[id]:before, + h5[id]:before { + display: block; + content: " "; + margin-top: -5rem; + height: 5rem; + visibility: hidden; } } + +body:lang(fa), +body:lang(ar), +body:lang(az), +body:lang(dv), +body:lang(he), +body:lang(ku), +body:lang(ur) { + direction: rtl; + text-align: right; } + body:lang(fa) .m-0, + body:lang(ar) .m-0, + body:lang(az) .m-0, + body:lang(dv) .m-0, + body:lang(he) .m-0, + body:lang(ku) .m-0, + body:lang(ur) .m-0 { + margin: 0 !important; } + body:lang(fa) .mt-0, + body:lang(fa) .my-0, + body:lang(ar) .mt-0, + body:lang(ar) .my-0, + body:lang(az) .mt-0, + body:lang(az) .my-0, + body:lang(dv) .mt-0, + body:lang(dv) .my-0, + body:lang(he) .mt-0, + body:lang(he) .my-0, + body:lang(ku) .mt-0, + body:lang(ku) .my-0, + body:lang(ur) .mt-0, + body:lang(ur) .my-0 { + margin-top: 0 !important; } + body:lang(fa) .mr-0, + body:lang(fa) .mx-0, + body:lang(ar) .mr-0, + body:lang(ar) .mx-0, + body:lang(az) .mr-0, + body:lang(az) .mx-0, + body:lang(dv) .mr-0, + body:lang(dv) .mx-0, + body:lang(he) .mr-0, + body:lang(he) .mx-0, + body:lang(ku) .mr-0, + body:lang(ku) .mx-0, + body:lang(ur) .mr-0, + body:lang(ur) .mx-0 { + margin-inline-end: 0 !important; } + body:lang(fa) .mb-0, + body:lang(fa) .my-0, + body:lang(ar) .mb-0, + body:lang(ar) .my-0, + body:lang(az) .mb-0, + body:lang(az) .my-0, + body:lang(dv) .mb-0, + body:lang(dv) .my-0, + body:lang(he) .mb-0, + body:lang(he) .my-0, + body:lang(ku) .mb-0, + body:lang(ku) .my-0, + body:lang(ur) .mb-0, + body:lang(ur) .my-0 { + margin-bottom: 0 !important; } + body:lang(fa) .ml-0, + body:lang(fa) .mx-0, + body:lang(ar) .ml-0, + body:lang(ar) .mx-0, + body:lang(az) .ml-0, + body:lang(az) .mx-0, + body:lang(dv) .ml-0, + body:lang(dv) .mx-0, + body:lang(he) .ml-0, + body:lang(he) .mx-0, + body:lang(ku) .ml-0, + body:lang(ku) .mx-0, + body:lang(ur) .ml-0, + body:lang(ur) .mx-0 { + margin-inline-start: 0 !important; } + body:lang(fa) .m-1, + body:lang(ar) .m-1, + body:lang(az) .m-1, + body:lang(dv) .m-1, + body:lang(he) .m-1, + body:lang(ku) .m-1, + body:lang(ur) .m-1 { + margin: 0.25rem !important; } + body:lang(fa) .mt-1, + body:lang(fa) .my-1, + body:lang(ar) .mt-1, + body:lang(ar) .my-1, + body:lang(az) .mt-1, + body:lang(az) .my-1, + body:lang(dv) .mt-1, + body:lang(dv) .my-1, + body:lang(he) .mt-1, + body:lang(he) .my-1, + body:lang(ku) .mt-1, + body:lang(ku) .my-1, + body:lang(ur) .mt-1, + body:lang(ur) .my-1 { + margin-top: 0.25rem !important; } + body:lang(fa) .mr-1, + body:lang(fa) .mx-1, + body:lang(ar) .mr-1, + body:lang(ar) .mx-1, + body:lang(az) .mr-1, + body:lang(az) .mx-1, + body:lang(dv) .mr-1, + body:lang(dv) .mx-1, + body:lang(he) .mr-1, + body:lang(he) .mx-1, + body:lang(ku) .mr-1, + body:lang(ku) .mx-1, + body:lang(ur) .mr-1, + body:lang(ur) .mx-1 { + margin-inline-end: 0.25rem !important; } + body:lang(fa) .mb-1, + body:lang(fa) .my-1, + body:lang(ar) .mb-1, + body:lang(ar) .my-1, + body:lang(az) .mb-1, + body:lang(az) .my-1, + body:lang(dv) .mb-1, + body:lang(dv) .my-1, + body:lang(he) .mb-1, + body:lang(he) .my-1, + body:lang(ku) .mb-1, + body:lang(ku) .my-1, + body:lang(ur) .mb-1, + body:lang(ur) .my-1 { + margin-bottom: 0.25rem !important; } + body:lang(fa) .ml-1, + body:lang(fa) .mx-1, + body:lang(ar) .ml-1, + body:lang(ar) .mx-1, + body:lang(az) .ml-1, + body:lang(az) .mx-1, + body:lang(dv) .ml-1, + body:lang(dv) .mx-1, + body:lang(he) .ml-1, + body:lang(he) .mx-1, + body:lang(ku) .ml-1, + body:lang(ku) .mx-1, + body:lang(ur) .ml-1, + body:lang(ur) .mx-1 { + margin-inline-start: 0.25rem !important; } + body:lang(fa) .m-2, + body:lang(ar) .m-2, + body:lang(az) .m-2, + body:lang(dv) .m-2, + body:lang(he) .m-2, + body:lang(ku) .m-2, + body:lang(ur) .m-2 { + margin: 0.5rem !important; } + body:lang(fa) .mt-2, + body:lang(fa) .my-2, + body:lang(ar) .mt-2, + body:lang(ar) .my-2, + body:lang(az) .mt-2, + body:lang(az) .my-2, + body:lang(dv) .mt-2, + body:lang(dv) .my-2, + body:lang(he) .mt-2, + body:lang(he) .my-2, + body:lang(ku) .mt-2, + body:lang(ku) .my-2, + body:lang(ur) .mt-2, + body:lang(ur) .my-2 { + margin-top: 0.5rem !important; } + body:lang(fa) .mr-2, + body:lang(fa) .mx-2, + body:lang(ar) .mr-2, + body:lang(ar) .mx-2, + body:lang(az) .mr-2, + body:lang(az) .mx-2, + body:lang(dv) .mr-2, + body:lang(dv) .mx-2, + body:lang(he) .mr-2, + body:lang(he) .mx-2, + body:lang(ku) .mr-2, + body:lang(ku) .mx-2, + body:lang(ur) .mr-2, + body:lang(ur) .mx-2 { + margin-inline-end: 0.5rem !important; } + body:lang(fa) .mb-2, + body:lang(fa) .my-2, + body:lang(ar) .mb-2, + body:lang(ar) .my-2, + body:lang(az) .mb-2, + body:lang(az) .my-2, + body:lang(dv) .mb-2, + body:lang(dv) .my-2, + body:lang(he) .mb-2, + body:lang(he) .my-2, + body:lang(ku) .mb-2, + body:lang(ku) .my-2, + body:lang(ur) .mb-2, + body:lang(ur) .my-2 { + margin-bottom: 0.5rem !important; } + body:lang(fa) .ml-2, + body:lang(fa) .mx-2, + body:lang(ar) .ml-2, + body:lang(ar) .mx-2, + body:lang(az) .ml-2, + body:lang(az) .mx-2, + body:lang(dv) .ml-2, + body:lang(dv) .mx-2, + body:lang(he) .ml-2, + body:lang(he) .mx-2, + body:lang(ku) .ml-2, + body:lang(ku) .mx-2, + body:lang(ur) .ml-2, + body:lang(ur) .mx-2 { + margin-inline-start: 0.5rem !important; } + body:lang(fa) .m-3, + body:lang(ar) .m-3, + body:lang(az) .m-3, + body:lang(dv) .m-3, + body:lang(he) .m-3, + body:lang(ku) .m-3, + body:lang(ur) .m-3 { + margin: 1rem !important; } + body:lang(fa) .mt-3, + body:lang(fa) .my-3, + body:lang(ar) .mt-3, + body:lang(ar) .my-3, + body:lang(az) .mt-3, + body:lang(az) .my-3, + body:lang(dv) .mt-3, + body:lang(dv) .my-3, + body:lang(he) .mt-3, + body:lang(he) .my-3, + body:lang(ku) .mt-3, + body:lang(ku) .my-3, + body:lang(ur) .mt-3, + body:lang(ur) .my-3 { + margin-top: 1rem !important; } + body:lang(fa) .mr-3, + body:lang(fa) .mx-3, + body:lang(ar) .mr-3, + body:lang(ar) .mx-3, + body:lang(az) .mr-3, + body:lang(az) .mx-3, + body:lang(dv) .mr-3, + body:lang(dv) .mx-3, + body:lang(he) .mr-3, + body:lang(he) .mx-3, + body:lang(ku) .mr-3, + body:lang(ku) .mx-3, + body:lang(ur) .mr-3, + body:lang(ur) .mx-3 { + margin-inline-end: 1rem !important; } + body:lang(fa) .mb-3, + body:lang(fa) .my-3, + body:lang(ar) .mb-3, + body:lang(ar) .my-3, + body:lang(az) .mb-3, + body:lang(az) .my-3, + body:lang(dv) .mb-3, + body:lang(dv) .my-3, + body:lang(he) .mb-3, + body:lang(he) .my-3, + body:lang(ku) .mb-3, + body:lang(ku) .my-3, + body:lang(ur) .mb-3, + body:lang(ur) .my-3 { + margin-bottom: 1rem !important; } + body:lang(fa) .ml-3, + body:lang(fa) .mx-3, + body:lang(ar) .ml-3, + body:lang(ar) .mx-3, + body:lang(az) .ml-3, + body:lang(az) .mx-3, + body:lang(dv) .ml-3, + body:lang(dv) .mx-3, + body:lang(he) .ml-3, + body:lang(he) .mx-3, + body:lang(ku) .ml-3, + body:lang(ku) .mx-3, + body:lang(ur) .ml-3, + body:lang(ur) .mx-3 { + margin-inline-start: 1rem !important; } + body:lang(fa) .m-4, + body:lang(ar) .m-4, + body:lang(az) .m-4, + body:lang(dv) .m-4, + body:lang(he) .m-4, + body:lang(ku) .m-4, + body:lang(ur) .m-4 { + margin: 1.5rem !important; } + body:lang(fa) .mt-4, + body:lang(fa) .my-4, + body:lang(ar) .mt-4, + body:lang(ar) .my-4, + body:lang(az) .mt-4, + body:lang(az) .my-4, + body:lang(dv) .mt-4, + body:lang(dv) .my-4, + body:lang(he) .mt-4, + body:lang(he) .my-4, + body:lang(ku) .mt-4, + body:lang(ku) .my-4, + body:lang(ur) .mt-4, + body:lang(ur) .my-4 { + margin-top: 1.5rem !important; } + body:lang(fa) .mr-4, + body:lang(fa) .mx-4, + body:lang(ar) .mr-4, + body:lang(ar) .mx-4, + body:lang(az) .mr-4, + body:lang(az) .mx-4, + body:lang(dv) .mr-4, + body:lang(dv) .mx-4, + body:lang(he) .mr-4, + body:lang(he) .mx-4, + body:lang(ku) .mr-4, + body:lang(ku) .mx-4, + body:lang(ur) .mr-4, + body:lang(ur) .mx-4 { + margin-inline-end: 1.5rem !important; } + body:lang(fa) .mb-4, + body:lang(fa) .my-4, + body:lang(ar) .mb-4, + body:lang(ar) .my-4, + body:lang(az) .mb-4, + body:lang(az) .my-4, + body:lang(dv) .mb-4, + body:lang(dv) .my-4, + body:lang(he) .mb-4, + body:lang(he) .my-4, + body:lang(ku) .mb-4, + body:lang(ku) .my-4, + body:lang(ur) .mb-4, + body:lang(ur) .my-4 { + margin-bottom: 1.5rem !important; } + body:lang(fa) .ml-4, + body:lang(fa) .mx-4, + body:lang(ar) .ml-4, + body:lang(ar) .mx-4, + body:lang(az) .ml-4, + body:lang(az) .mx-4, + body:lang(dv) .ml-4, + body:lang(dv) .mx-4, + body:lang(he) .ml-4, + body:lang(he) .mx-4, + body:lang(ku) .ml-4, + body:lang(ku) .mx-4, + body:lang(ur) .ml-4, + body:lang(ur) .mx-4 { + margin-inline-start: 1.5rem !important; } + body:lang(fa) .m-5, + body:lang(ar) .m-5, + body:lang(az) .m-5, + body:lang(dv) .m-5, + body:lang(he) .m-5, + body:lang(ku) .m-5, + body:lang(ur) .m-5 { + margin: 3rem !important; } + body:lang(fa) .mt-5, + body:lang(fa) .my-5, + body:lang(ar) .mt-5, + body:lang(ar) .my-5, + body:lang(az) .mt-5, + body:lang(az) .my-5, + body:lang(dv) .mt-5, + body:lang(dv) .my-5, + body:lang(he) .mt-5, + body:lang(he) .my-5, + body:lang(ku) .mt-5, + body:lang(ku) .my-5, + body:lang(ur) .mt-5, + body:lang(ur) .my-5 { + margin-top: 3rem !important; } + body:lang(fa) .mr-5, + body:lang(fa) .mx-5, + body:lang(ar) .mr-5, + body:lang(ar) .mx-5, + body:lang(az) .mr-5, + body:lang(az) .mx-5, + body:lang(dv) .mr-5, + body:lang(dv) .mx-5, + body:lang(he) .mr-5, + body:lang(he) .mx-5, + body:lang(ku) .mr-5, + body:lang(ku) .mx-5, + body:lang(ur) .mr-5, + body:lang(ur) .mx-5 { + margin-inline-end: 3rem !important; } + body:lang(fa) .mb-5, + body:lang(fa) .my-5, + body:lang(ar) .mb-5, + body:lang(ar) .my-5, + body:lang(az) .mb-5, + body:lang(az) .my-5, + body:lang(dv) .mb-5, + body:lang(dv) .my-5, + body:lang(he) .mb-5, + body:lang(he) .my-5, + body:lang(ku) .mb-5, + body:lang(ku) .my-5, + body:lang(ur) .mb-5, + body:lang(ur) .my-5 { + margin-bottom: 3rem !important; } + body:lang(fa) .ml-5, + body:lang(fa) .mx-5, + body:lang(ar) .ml-5, + body:lang(ar) .mx-5, + body:lang(az) .ml-5, + body:lang(az) .mx-5, + body:lang(dv) .ml-5, + body:lang(dv) .mx-5, + body:lang(he) .ml-5, + body:lang(he) .mx-5, + body:lang(ku) .ml-5, + body:lang(ku) .mx-5, + body:lang(ur) .ml-5, + body:lang(ur) .mx-5 { + margin-inline-start: 3rem !important; } + body:lang(fa) .p-0, + body:lang(ar) .p-0, + body:lang(az) .p-0, + body:lang(dv) .p-0, + body:lang(he) .p-0, + body:lang(ku) .p-0, + body:lang(ur) .p-0 { + padding: 0 !important; } + body:lang(fa) .pt-0, + body:lang(fa) .py-0, + body:lang(ar) .pt-0, + body:lang(ar) .py-0, + body:lang(az) .pt-0, + body:lang(az) .py-0, + body:lang(dv) .pt-0, + body:lang(dv) .py-0, + body:lang(he) .pt-0, + body:lang(he) .py-0, + body:lang(ku) .pt-0, + body:lang(ku) .py-0, + body:lang(ur) .pt-0, + body:lang(ur) .py-0 { + padding-top: 0 !important; } + body:lang(fa) .pr-0, + body:lang(fa) .px-0, + body:lang(ar) .pr-0, + body:lang(ar) .px-0, + body:lang(az) .pr-0, + body:lang(az) .px-0, + body:lang(dv) .pr-0, + body:lang(dv) .px-0, + body:lang(he) .pr-0, + body:lang(he) .px-0, + body:lang(ku) .pr-0, + body:lang(ku) .px-0, + body:lang(ur) .pr-0, + body:lang(ur) .px-0 { + padding-inline-end: 0 !important; } + body:lang(fa) .pb-0, + body:lang(fa) .py-0, + body:lang(ar) .pb-0, + body:lang(ar) .py-0, + body:lang(az) .pb-0, + body:lang(az) .py-0, + body:lang(dv) .pb-0, + body:lang(dv) .py-0, + body:lang(he) .pb-0, + body:lang(he) .py-0, + body:lang(ku) .pb-0, + body:lang(ku) .py-0, + body:lang(ur) .pb-0, + body:lang(ur) .py-0 { + padding-bottom: 0 !important; } + body:lang(fa) .pl-0, + body:lang(fa) .px-0, + body:lang(ar) .pl-0, + body:lang(ar) .px-0, + body:lang(az) .pl-0, + body:lang(az) .px-0, + body:lang(dv) .pl-0, + body:lang(dv) .px-0, + body:lang(he) .pl-0, + body:lang(he) .px-0, + body:lang(ku) .pl-0, + body:lang(ku) .px-0, + body:lang(ur) .pl-0, + body:lang(ur) .px-0 { + padding-inline-start: 0 !important; } + body:lang(fa) .p-1, + body:lang(ar) .p-1, + body:lang(az) .p-1, + body:lang(dv) .p-1, + body:lang(he) .p-1, + body:lang(ku) .p-1, + body:lang(ur) .p-1 { + padding: 0.25rem !important; } + body:lang(fa) .pt-1, + body:lang(fa) .py-1, + body:lang(ar) .pt-1, + body:lang(ar) .py-1, + body:lang(az) .pt-1, + body:lang(az) .py-1, + body:lang(dv) .pt-1, + body:lang(dv) .py-1, + body:lang(he) .pt-1, + body:lang(he) .py-1, + body:lang(ku) .pt-1, + body:lang(ku) .py-1, + body:lang(ur) .pt-1, + body:lang(ur) .py-1 { + padding-top: 0.25rem !important; } + body:lang(fa) .pr-1, + body:lang(fa) .px-1, + body:lang(ar) .pr-1, + body:lang(ar) .px-1, + body:lang(az) .pr-1, + body:lang(az) .px-1, + body:lang(dv) .pr-1, + body:lang(dv) .px-1, + body:lang(he) .pr-1, + body:lang(he) .px-1, + body:lang(ku) .pr-1, + body:lang(ku) .px-1, + body:lang(ur) .pr-1, + body:lang(ur) .px-1 { + padding-inline-end: 0.25rem !important; } + body:lang(fa) .pb-1, + body:lang(fa) .py-1, + body:lang(ar) .pb-1, + body:lang(ar) .py-1, + body:lang(az) .pb-1, + body:lang(az) .py-1, + body:lang(dv) .pb-1, + body:lang(dv) .py-1, + body:lang(he) .pb-1, + body:lang(he) .py-1, + body:lang(ku) .pb-1, + body:lang(ku) .py-1, + body:lang(ur) .pb-1, + body:lang(ur) .py-1 { + padding-bottom: 0.25rem !important; } + body:lang(fa) .pl-1, + body:lang(fa) .px-1, + body:lang(ar) .pl-1, + body:lang(ar) .px-1, + body:lang(az) .pl-1, + body:lang(az) .px-1, + body:lang(dv) .pl-1, + body:lang(dv) .px-1, + body:lang(he) .pl-1, + body:lang(he) .px-1, + body:lang(ku) .pl-1, + body:lang(ku) .px-1, + body:lang(ur) .pl-1, + body:lang(ur) .px-1 { + padding-inline-start: 0.25rem !important; } + body:lang(fa) .p-2, + body:lang(ar) .p-2, + body:lang(az) .p-2, + body:lang(dv) .p-2, + body:lang(he) .p-2, + body:lang(ku) .p-2, + body:lang(ur) .p-2 { + padding: 0.5rem !important; } + body:lang(fa) .pt-2, + body:lang(fa) .py-2, + body:lang(ar) .pt-2, + body:lang(ar) .py-2, + body:lang(az) .pt-2, + body:lang(az) .py-2, + body:lang(dv) .pt-2, + body:lang(dv) .py-2, + body:lang(he) .pt-2, + body:lang(he) .py-2, + body:lang(ku) .pt-2, + body:lang(ku) .py-2, + body:lang(ur) .pt-2, + body:lang(ur) .py-2 { + padding-top: 0.5rem !important; } + body:lang(fa) .pr-2, + body:lang(fa) .px-2, + body:lang(ar) .pr-2, + body:lang(ar) .px-2, + body:lang(az) .pr-2, + body:lang(az) .px-2, + body:lang(dv) .pr-2, + body:lang(dv) .px-2, + body:lang(he) .pr-2, + body:lang(he) .px-2, + body:lang(ku) .pr-2, + body:lang(ku) .px-2, + body:lang(ur) .pr-2, + body:lang(ur) .px-2 { + padding-inline-end: 0.5rem !important; } + body:lang(fa) .pb-2, + body:lang(fa) .py-2, + body:lang(ar) .pb-2, + body:lang(ar) .py-2, + body:lang(az) .pb-2, + body:lang(az) .py-2, + body:lang(dv) .pb-2, + body:lang(dv) .py-2, + body:lang(he) .pb-2, + body:lang(he) .py-2, + body:lang(ku) .pb-2, + body:lang(ku) .py-2, + body:lang(ur) .pb-2, + body:lang(ur) .py-2 { + padding-bottom: 0.5rem !important; } + body:lang(fa) .pl-2, + body:lang(fa) .px-2, + body:lang(ar) .pl-2, + body:lang(ar) .px-2, + body:lang(az) .pl-2, + body:lang(az) .px-2, + body:lang(dv) .pl-2, + body:lang(dv) .px-2, + body:lang(he) .pl-2, + body:lang(he) .px-2, + body:lang(ku) .pl-2, + body:lang(ku) .px-2, + body:lang(ur) .pl-2, + body:lang(ur) .px-2 { + padding-inline-start: 0.5rem !important; } + body:lang(fa) .p-3, + body:lang(ar) .p-3, + body:lang(az) .p-3, + body:lang(dv) .p-3, + body:lang(he) .p-3, + body:lang(ku) .p-3, + body:lang(ur) .p-3 { + padding: 1rem !important; } + body:lang(fa) .pt-3, + body:lang(fa) .py-3, + body:lang(ar) .pt-3, + body:lang(ar) .py-3, + body:lang(az) .pt-3, + body:lang(az) .py-3, + body:lang(dv) .pt-3, + body:lang(dv) .py-3, + body:lang(he) .pt-3, + body:lang(he) .py-3, + body:lang(ku) .pt-3, + body:lang(ku) .py-3, + body:lang(ur) .pt-3, + body:lang(ur) .py-3 { + padding-top: 1rem !important; } + body:lang(fa) .pr-3, + body:lang(fa) .px-3, + body:lang(ar) .pr-3, + body:lang(ar) .px-3, + body:lang(az) .pr-3, + body:lang(az) .px-3, + body:lang(dv) .pr-3, + body:lang(dv) .px-3, + body:lang(he) .pr-3, + body:lang(he) .px-3, + body:lang(ku) .pr-3, + body:lang(ku) .px-3, + body:lang(ur) .pr-3, + body:lang(ur) .px-3 { + padding-inline-end: 1rem !important; } + body:lang(fa) .pb-3, + body:lang(fa) .py-3, + body:lang(ar) .pb-3, + body:lang(ar) .py-3, + body:lang(az) .pb-3, + body:lang(az) .py-3, + body:lang(dv) .pb-3, + body:lang(dv) .py-3, + body:lang(he) .pb-3, + body:lang(he) .py-3, + body:lang(ku) .pb-3, + body:lang(ku) .py-3, + body:lang(ur) .pb-3, + body:lang(ur) .py-3 { + padding-bottom: 1rem !important; } + body:lang(fa) .pl-3, + body:lang(fa) .px-3, + body:lang(ar) .pl-3, + body:lang(ar) .px-3, + body:lang(az) .pl-3, + body:lang(az) .px-3, + body:lang(dv) .pl-3, + body:lang(dv) .px-3, + body:lang(he) .pl-3, + body:lang(he) .px-3, + body:lang(ku) .pl-3, + body:lang(ku) .px-3, + body:lang(ur) .pl-3, + body:lang(ur) .px-3 { + padding-inline-start: 1rem !important; } + body:lang(fa) .p-4, + body:lang(ar) .p-4, + body:lang(az) .p-4, + body:lang(dv) .p-4, + body:lang(he) .p-4, + body:lang(ku) .p-4, + body:lang(ur) .p-4 { + padding: 1.5rem !important; } + body:lang(fa) .pt-4, + body:lang(fa) .py-4, + body:lang(ar) .pt-4, + body:lang(ar) .py-4, + body:lang(az) .pt-4, + body:lang(az) .py-4, + body:lang(dv) .pt-4, + body:lang(dv) .py-4, + body:lang(he) .pt-4, + body:lang(he) .py-4, + body:lang(ku) .pt-4, + body:lang(ku) .py-4, + body:lang(ur) .pt-4, + body:lang(ur) .py-4 { + padding-top: 1.5rem !important; } + body:lang(fa) .pr-4, + body:lang(fa) .px-4, + body:lang(ar) .pr-4, + body:lang(ar) .px-4, + body:lang(az) .pr-4, + body:lang(az) .px-4, + body:lang(dv) .pr-4, + body:lang(dv) .px-4, + body:lang(he) .pr-4, + body:lang(he) .px-4, + body:lang(ku) .pr-4, + body:lang(ku) .px-4, + body:lang(ur) .pr-4, + body:lang(ur) .px-4 { + padding-inline-end: 1.5rem !important; } + body:lang(fa) .pb-4, + body:lang(fa) .py-4, + body:lang(ar) .pb-4, + body:lang(ar) .py-4, + body:lang(az) .pb-4, + body:lang(az) .py-4, + body:lang(dv) .pb-4, + body:lang(dv) .py-4, + body:lang(he) .pb-4, + body:lang(he) .py-4, + body:lang(ku) .pb-4, + body:lang(ku) .py-4, + body:lang(ur) .pb-4, + body:lang(ur) .py-4 { + padding-bottom: 1.5rem !important; } + body:lang(fa) .pl-4, + body:lang(fa) .px-4, + body:lang(ar) .pl-4, + body:lang(ar) .px-4, + body:lang(az) .pl-4, + body:lang(az) .px-4, + body:lang(dv) .pl-4, + body:lang(dv) .px-4, + body:lang(he) .pl-4, + body:lang(he) .px-4, + body:lang(ku) .pl-4, + body:lang(ku) .px-4, + body:lang(ur) .pl-4, + body:lang(ur) .px-4 { + padding-inline-start: 1.5rem !important; } + body:lang(fa) .p-5, + body:lang(ar) .p-5, + body:lang(az) .p-5, + body:lang(dv) .p-5, + body:lang(he) .p-5, + body:lang(ku) .p-5, + body:lang(ur) .p-5 { + padding: 3rem !important; } + body:lang(fa) .pt-5, + body:lang(fa) .py-5, + body:lang(ar) .pt-5, + body:lang(ar) .py-5, + body:lang(az) .pt-5, + body:lang(az) .py-5, + body:lang(dv) .pt-5, + body:lang(dv) .py-5, + body:lang(he) .pt-5, + body:lang(he) .py-5, + body:lang(ku) .pt-5, + body:lang(ku) .py-5, + body:lang(ur) .pt-5, + body:lang(ur) .py-5 { + padding-top: 3rem !important; } + body:lang(fa) .pr-5, + body:lang(fa) .px-5, + body:lang(ar) .pr-5, + body:lang(ar) .px-5, + body:lang(az) .pr-5, + body:lang(az) .px-5, + body:lang(dv) .pr-5, + body:lang(dv) .px-5, + body:lang(he) .pr-5, + body:lang(he) .px-5, + body:lang(ku) .pr-5, + body:lang(ku) .px-5, + body:lang(ur) .pr-5, + body:lang(ur) .px-5 { + padding-inline-end: 3rem !important; } + body:lang(fa) .pb-5, + body:lang(fa) .py-5, + body:lang(ar) .pb-5, + body:lang(ar) .py-5, + body:lang(az) .pb-5, + body:lang(az) .py-5, + body:lang(dv) .pb-5, + body:lang(dv) .py-5, + body:lang(he) .pb-5, + body:lang(he) .py-5, + body:lang(ku) .pb-5, + body:lang(ku) .py-5, + body:lang(ur) .pb-5, + body:lang(ur) .py-5 { + padding-bottom: 3rem !important; } + body:lang(fa) .pl-5, + body:lang(fa) .px-5, + body:lang(ar) .pl-5, + body:lang(ar) .px-5, + body:lang(az) .pl-5, + body:lang(az) .px-5, + body:lang(dv) .pl-5, + body:lang(dv) .px-5, + body:lang(he) .pl-5, + body:lang(he) .px-5, + body:lang(ku) .pl-5, + body:lang(ku) .px-5, + body:lang(ur) .pl-5, + body:lang(ur) .px-5 { + padding-inline-start: 3rem !important; } + body:lang(fa) .m-n1, + body:lang(ar) .m-n1, + body:lang(az) .m-n1, + body:lang(dv) .m-n1, + body:lang(he) .m-n1, + body:lang(ku) .m-n1, + body:lang(ur) .m-n1 { + margin: -0.25rem !important; } + body:lang(fa) .mt-n1, + body:lang(fa) .my-n1, + body:lang(ar) .mt-n1, + body:lang(ar) .my-n1, + body:lang(az) .mt-n1, + body:lang(az) .my-n1, + body:lang(dv) .mt-n1, + body:lang(dv) .my-n1, + body:lang(he) .mt-n1, + body:lang(he) .my-n1, + body:lang(ku) .mt-n1, + body:lang(ku) .my-n1, + body:lang(ur) .mt-n1, + body:lang(ur) .my-n1 { + margin-top: -0.25rem !important; } + body:lang(fa) .mr-n1, + body:lang(fa) .mx-n1, + body:lang(ar) .mr-n1, + body:lang(ar) .mx-n1, + body:lang(az) .mr-n1, + body:lang(az) .mx-n1, + body:lang(dv) .mr-n1, + body:lang(dv) .mx-n1, + body:lang(he) .mr-n1, + body:lang(he) .mx-n1, + body:lang(ku) .mr-n1, + body:lang(ku) .mx-n1, + body:lang(ur) .mr-n1, + body:lang(ur) .mx-n1 { + margin-right: -0.25rem !important; } + body:lang(fa) .mb-n1, + body:lang(fa) .my-n1, + body:lang(ar) .mb-n1, + body:lang(ar) .my-n1, + body:lang(az) .mb-n1, + body:lang(az) .my-n1, + body:lang(dv) .mb-n1, + body:lang(dv) .my-n1, + body:lang(he) .mb-n1, + body:lang(he) .my-n1, + body:lang(ku) .mb-n1, + body:lang(ku) .my-n1, + body:lang(ur) .mb-n1, + body:lang(ur) .my-n1 { + margin-bottom: -0.25rem !important; } + body:lang(fa) .ml-n1, + body:lang(fa) .mx-n1, + body:lang(ar) .ml-n1, + body:lang(ar) .mx-n1, + body:lang(az) .ml-n1, + body:lang(az) .mx-n1, + body:lang(dv) .ml-n1, + body:lang(dv) .mx-n1, + body:lang(he) .ml-n1, + body:lang(he) .mx-n1, + body:lang(ku) .ml-n1, + body:lang(ku) .mx-n1, + body:lang(ur) .ml-n1, + body:lang(ur) .mx-n1 { + margin-left: -0.25rem !important; } + body:lang(fa) .m-n2, + body:lang(ar) .m-n2, + body:lang(az) .m-n2, + body:lang(dv) .m-n2, + body:lang(he) .m-n2, + body:lang(ku) .m-n2, + body:lang(ur) .m-n2 { + margin: -0.5rem !important; } + body:lang(fa) .mt-n2, + body:lang(fa) .my-n2, + body:lang(ar) .mt-n2, + body:lang(ar) .my-n2, + body:lang(az) .mt-n2, + body:lang(az) .my-n2, + body:lang(dv) .mt-n2, + body:lang(dv) .my-n2, + body:lang(he) .mt-n2, + body:lang(he) .my-n2, + body:lang(ku) .mt-n2, + body:lang(ku) .my-n2, + body:lang(ur) .mt-n2, + body:lang(ur) .my-n2 { + margin-top: -0.5rem !important; } + body:lang(fa) .mr-n2, + body:lang(fa) .mx-n2, + body:lang(ar) .mr-n2, + body:lang(ar) .mx-n2, + body:lang(az) .mr-n2, + body:lang(az) .mx-n2, + body:lang(dv) .mr-n2, + body:lang(dv) .mx-n2, + body:lang(he) .mr-n2, + body:lang(he) .mx-n2, + body:lang(ku) .mr-n2, + body:lang(ku) .mx-n2, + body:lang(ur) .mr-n2, + body:lang(ur) .mx-n2 { + margin-right: -0.5rem !important; } + body:lang(fa) .mb-n2, + body:lang(fa) .my-n2, + body:lang(ar) .mb-n2, + body:lang(ar) .my-n2, + body:lang(az) .mb-n2, + body:lang(az) .my-n2, + body:lang(dv) .mb-n2, + body:lang(dv) .my-n2, + body:lang(he) .mb-n2, + body:lang(he) .my-n2, + body:lang(ku) .mb-n2, + body:lang(ku) .my-n2, + body:lang(ur) .mb-n2, + body:lang(ur) .my-n2 { + margin-bottom: -0.5rem !important; } + body:lang(fa) .ml-n2, + body:lang(fa) .mx-n2, + body:lang(ar) .ml-n2, + body:lang(ar) .mx-n2, + body:lang(az) .ml-n2, + body:lang(az) .mx-n2, + body:lang(dv) .ml-n2, + body:lang(dv) .mx-n2, + body:lang(he) .ml-n2, + body:lang(he) .mx-n2, + body:lang(ku) .ml-n2, + body:lang(ku) .mx-n2, + body:lang(ur) .ml-n2, + body:lang(ur) .mx-n2 { + margin-left: -0.5rem !important; } + body:lang(fa) .m-n3, + body:lang(ar) .m-n3, + body:lang(az) .m-n3, + body:lang(dv) .m-n3, + body:lang(he) .m-n3, + body:lang(ku) .m-n3, + body:lang(ur) .m-n3 { + margin: -1rem !important; } + body:lang(fa) .mt-n3, + body:lang(fa) .my-n3, + body:lang(ar) .mt-n3, + body:lang(ar) .my-n3, + body:lang(az) .mt-n3, + body:lang(az) .my-n3, + body:lang(dv) .mt-n3, + body:lang(dv) .my-n3, + body:lang(he) .mt-n3, + body:lang(he) .my-n3, + body:lang(ku) .mt-n3, + body:lang(ku) .my-n3, + body:lang(ur) .mt-n3, + body:lang(ur) .my-n3 { + margin-top: -1rem !important; } + body:lang(fa) .mr-n3, + body:lang(fa) .mx-n3, + body:lang(ar) .mr-n3, + body:lang(ar) .mx-n3, + body:lang(az) .mr-n3, + body:lang(az) .mx-n3, + body:lang(dv) .mr-n3, + body:lang(dv) .mx-n3, + body:lang(he) .mr-n3, + body:lang(he) .mx-n3, + body:lang(ku) .mr-n3, + body:lang(ku) .mx-n3, + body:lang(ur) .mr-n3, + body:lang(ur) .mx-n3 { + margin-right: -1rem !important; } + body:lang(fa) .mb-n3, + body:lang(fa) .my-n3, + body:lang(ar) .mb-n3, + body:lang(ar) .my-n3, + body:lang(az) .mb-n3, + body:lang(az) .my-n3, + body:lang(dv) .mb-n3, + body:lang(dv) .my-n3, + body:lang(he) .mb-n3, + body:lang(he) .my-n3, + body:lang(ku) .mb-n3, + body:lang(ku) .my-n3, + body:lang(ur) .mb-n3, + body:lang(ur) .my-n3 { + margin-bottom: -1rem !important; } + body:lang(fa) .ml-n3, + body:lang(fa) .mx-n3, + body:lang(ar) .ml-n3, + body:lang(ar) .mx-n3, + body:lang(az) .ml-n3, + body:lang(az) .mx-n3, + body:lang(dv) .ml-n3, + body:lang(dv) .mx-n3, + body:lang(he) .ml-n3, + body:lang(he) .mx-n3, + body:lang(ku) .ml-n3, + body:lang(ku) .mx-n3, + body:lang(ur) .ml-n3, + body:lang(ur) .mx-n3 { + margin-left: -1rem !important; } + body:lang(fa) .m-n4, + body:lang(ar) .m-n4, + body:lang(az) .m-n4, + body:lang(dv) .m-n4, + body:lang(he) .m-n4, + body:lang(ku) .m-n4, + body:lang(ur) .m-n4 { + margin: -1.5rem !important; } + body:lang(fa) .mt-n4, + body:lang(fa) .my-n4, + body:lang(ar) .mt-n4, + body:lang(ar) .my-n4, + body:lang(az) .mt-n4, + body:lang(az) .my-n4, + body:lang(dv) .mt-n4, + body:lang(dv) .my-n4, + body:lang(he) .mt-n4, + body:lang(he) .my-n4, + body:lang(ku) .mt-n4, + body:lang(ku) .my-n4, + body:lang(ur) .mt-n4, + body:lang(ur) .my-n4 { + margin-top: -1.5rem !important; } + body:lang(fa) .mr-n4, + body:lang(fa) .mx-n4, + body:lang(ar) .mr-n4, + body:lang(ar) .mx-n4, + body:lang(az) .mr-n4, + body:lang(az) .mx-n4, + body:lang(dv) .mr-n4, + body:lang(dv) .mx-n4, + body:lang(he) .mr-n4, + body:lang(he) .mx-n4, + body:lang(ku) .mr-n4, + body:lang(ku) .mx-n4, + body:lang(ur) .mr-n4, + body:lang(ur) .mx-n4 { + margin-right: -1.5rem !important; } + body:lang(fa) .mb-n4, + body:lang(fa) .my-n4, + body:lang(ar) .mb-n4, + body:lang(ar) .my-n4, + body:lang(az) .mb-n4, + body:lang(az) .my-n4, + body:lang(dv) .mb-n4, + body:lang(dv) .my-n4, + body:lang(he) .mb-n4, + body:lang(he) .my-n4, + body:lang(ku) .mb-n4, + body:lang(ku) .my-n4, + body:lang(ur) .mb-n4, + body:lang(ur) .my-n4 { + margin-bottom: -1.5rem !important; } + body:lang(fa) .ml-n4, + body:lang(fa) .mx-n4, + body:lang(ar) .ml-n4, + body:lang(ar) .mx-n4, + body:lang(az) .ml-n4, + body:lang(az) .mx-n4, + body:lang(dv) .ml-n4, + body:lang(dv) .mx-n4, + body:lang(he) .ml-n4, + body:lang(he) .mx-n4, + body:lang(ku) .ml-n4, + body:lang(ku) .mx-n4, + body:lang(ur) .ml-n4, + body:lang(ur) .mx-n4 { + margin-left: -1.5rem !important; } + body:lang(fa) .m-n5, + body:lang(ar) .m-n5, + body:lang(az) .m-n5, + body:lang(dv) .m-n5, + body:lang(he) .m-n5, + body:lang(ku) .m-n5, + body:lang(ur) .m-n5 { + margin: -3rem !important; } + body:lang(fa) .mt-n5, + body:lang(fa) .my-n5, + body:lang(ar) .mt-n5, + body:lang(ar) .my-n5, + body:lang(az) .mt-n5, + body:lang(az) .my-n5, + body:lang(dv) .mt-n5, + body:lang(dv) .my-n5, + body:lang(he) .mt-n5, + body:lang(he) .my-n5, + body:lang(ku) .mt-n5, + body:lang(ku) .my-n5, + body:lang(ur) .mt-n5, + body:lang(ur) .my-n5 { + margin-top: -3rem !important; } + body:lang(fa) .mr-n5, + body:lang(fa) .mx-n5, + body:lang(ar) .mr-n5, + body:lang(ar) .mx-n5, + body:lang(az) .mr-n5, + body:lang(az) .mx-n5, + body:lang(dv) .mr-n5, + body:lang(dv) .mx-n5, + body:lang(he) .mr-n5, + body:lang(he) .mx-n5, + body:lang(ku) .mr-n5, + body:lang(ku) .mx-n5, + body:lang(ur) .mr-n5, + body:lang(ur) .mx-n5 { + margin-right: -3rem !important; } + body:lang(fa) .mb-n5, + body:lang(fa) .my-n5, + body:lang(ar) .mb-n5, + body:lang(ar) .my-n5, + body:lang(az) .mb-n5, + body:lang(az) .my-n5, + body:lang(dv) .mb-n5, + body:lang(dv) .my-n5, + body:lang(he) .mb-n5, + body:lang(he) .my-n5, + body:lang(ku) .mb-n5, + body:lang(ku) .my-n5, + body:lang(ur) .mb-n5, + body:lang(ur) .my-n5 { + margin-bottom: -3rem !important; } + body:lang(fa) .ml-n5, + body:lang(fa) .mx-n5, + body:lang(ar) .ml-n5, + body:lang(ar) .mx-n5, + body:lang(az) .ml-n5, + body:lang(az) .mx-n5, + body:lang(dv) .ml-n5, + body:lang(dv) .mx-n5, + body:lang(he) .ml-n5, + body:lang(he) .mx-n5, + body:lang(ku) .ml-n5, + body:lang(ku) .mx-n5, + body:lang(ur) .ml-n5, + body:lang(ur) .mx-n5 { + margin-left: -3rem !important; } + body:lang(fa) .m-auto, + body:lang(ar) .m-auto, + body:lang(az) .m-auto, + body:lang(dv) .m-auto, + body:lang(he) .m-auto, + body:lang(ku) .m-auto, + body:lang(ur) .m-auto { + margin: auto !important; } + body:lang(fa) .mt-auto, + body:lang(fa) .my-auto, + body:lang(ar) .mt-auto, + body:lang(ar) .my-auto, + body:lang(az) .mt-auto, + body:lang(az) .my-auto, + body:lang(dv) .mt-auto, + body:lang(dv) .my-auto, + body:lang(he) .mt-auto, + body:lang(he) .my-auto, + body:lang(ku) .mt-auto, + body:lang(ku) .my-auto, + body:lang(ur) .mt-auto, + body:lang(ur) .my-auto { + margin-top: auto !important; } + body:lang(fa) .mr-auto, + body:lang(fa) .mx-auto, + body:lang(ar) .mr-auto, + body:lang(ar) .mx-auto, + body:lang(az) .mr-auto, + body:lang(az) .mx-auto, + body:lang(dv) .mr-auto, + body:lang(dv) .mx-auto, + body:lang(he) .mr-auto, + body:lang(he) .mx-auto, + body:lang(ku) .mr-auto, + body:lang(ku) .mx-auto, + body:lang(ur) .mr-auto, + body:lang(ur) .mx-auto { + margin-right: auto !important; } + body:lang(fa) .mb-auto, + body:lang(fa) .my-auto, + body:lang(ar) .mb-auto, + body:lang(ar) .my-auto, + body:lang(az) .mb-auto, + body:lang(az) .my-auto, + body:lang(dv) .mb-auto, + body:lang(dv) .my-auto, + body:lang(he) .mb-auto, + body:lang(he) .my-auto, + body:lang(ku) .mb-auto, + body:lang(ku) .my-auto, + body:lang(ur) .mb-auto, + body:lang(ur) .my-auto { + margin-bottom: auto !important; } + body:lang(fa) .ml-auto, + body:lang(fa) .mx-auto, + body:lang(ar) .ml-auto, + body:lang(ar) .mx-auto, + body:lang(az) .ml-auto, + body:lang(az) .mx-auto, + body:lang(dv) .ml-auto, + body:lang(dv) .mx-auto, + body:lang(he) .ml-auto, + body:lang(he) .mx-auto, + body:lang(ku) .ml-auto, + body:lang(ku) .mx-auto, + body:lang(ur) .ml-auto, + body:lang(ur) .mx-auto { + margin-left: auto !important; } + @media (min-width: 576px) { + body:lang(fa) .m-sm-0, + body:lang(ar) .m-sm-0, + body:lang(az) .m-sm-0, + body:lang(dv) .m-sm-0, + body:lang(he) .m-sm-0, + body:lang(ku) .m-sm-0, + body:lang(ur) .m-sm-0 { + margin: 0 !important; } + body:lang(fa) .mt-sm-0, + body:lang(fa) .my-sm-0, + body:lang(ar) .mt-sm-0, + body:lang(ar) .my-sm-0, + body:lang(az) .mt-sm-0, + body:lang(az) .my-sm-0, + body:lang(dv) .mt-sm-0, + body:lang(dv) .my-sm-0, + body:lang(he) .mt-sm-0, + body:lang(he) .my-sm-0, + body:lang(ku) .mt-sm-0, + body:lang(ku) .my-sm-0, + body:lang(ur) .mt-sm-0, + body:lang(ur) .my-sm-0 { + margin-top: 0 !important; } + body:lang(fa) .mr-sm-0, + body:lang(fa) .mx-sm-0, + body:lang(ar) .mr-sm-0, + body:lang(ar) .mx-sm-0, + body:lang(az) .mr-sm-0, + body:lang(az) .mx-sm-0, + body:lang(dv) .mr-sm-0, + body:lang(dv) .mx-sm-0, + body:lang(he) .mr-sm-0, + body:lang(he) .mx-sm-0, + body:lang(ku) .mr-sm-0, + body:lang(ku) .mx-sm-0, + body:lang(ur) .mr-sm-0, + body:lang(ur) .mx-sm-0 { + margin-inline-end: 0 !important; } + body:lang(fa) .mb-sm-0, + body:lang(fa) .my-sm-0, + body:lang(ar) .mb-sm-0, + body:lang(ar) .my-sm-0, + body:lang(az) .mb-sm-0, + body:lang(az) .my-sm-0, + body:lang(dv) .mb-sm-0, + body:lang(dv) .my-sm-0, + body:lang(he) .mb-sm-0, + body:lang(he) .my-sm-0, + body:lang(ku) .mb-sm-0, + body:lang(ku) .my-sm-0, + body:lang(ur) .mb-sm-0, + body:lang(ur) .my-sm-0 { + margin-bottom: 0 !important; } + body:lang(fa) .ml-sm-0, + body:lang(fa) .mx-sm-0, + body:lang(ar) .ml-sm-0, + body:lang(ar) .mx-sm-0, + body:lang(az) .ml-sm-0, + body:lang(az) .mx-sm-0, + body:lang(dv) .ml-sm-0, + body:lang(dv) .mx-sm-0, + body:lang(he) .ml-sm-0, + body:lang(he) .mx-sm-0, + body:lang(ku) .ml-sm-0, + body:lang(ku) .mx-sm-0, + body:lang(ur) .ml-sm-0, + body:lang(ur) .mx-sm-0 { + margin-inline-start: 0 !important; } + body:lang(fa) .m-sm-1, + body:lang(ar) .m-sm-1, + body:lang(az) .m-sm-1, + body:lang(dv) .m-sm-1, + body:lang(he) .m-sm-1, + body:lang(ku) .m-sm-1, + body:lang(ur) .m-sm-1 { + margin: 0.25rem !important; } + body:lang(fa) .mt-sm-1, + body:lang(fa) .my-sm-1, + body:lang(ar) .mt-sm-1, + body:lang(ar) .my-sm-1, + body:lang(az) .mt-sm-1, + body:lang(az) .my-sm-1, + body:lang(dv) .mt-sm-1, + body:lang(dv) .my-sm-1, + body:lang(he) .mt-sm-1, + body:lang(he) .my-sm-1, + body:lang(ku) .mt-sm-1, + body:lang(ku) .my-sm-1, + body:lang(ur) .mt-sm-1, + body:lang(ur) .my-sm-1 { + margin-top: 0.25rem !important; } + body:lang(fa) .mr-sm-1, + body:lang(fa) .mx-sm-1, + body:lang(ar) .mr-sm-1, + body:lang(ar) .mx-sm-1, + body:lang(az) .mr-sm-1, + body:lang(az) .mx-sm-1, + body:lang(dv) .mr-sm-1, + body:lang(dv) .mx-sm-1, + body:lang(he) .mr-sm-1, + body:lang(he) .mx-sm-1, + body:lang(ku) .mr-sm-1, + body:lang(ku) .mx-sm-1, + body:lang(ur) .mr-sm-1, + body:lang(ur) .mx-sm-1 { + margin-inline-end: 0.25rem !important; } + body:lang(fa) .mb-sm-1, + body:lang(fa) .my-sm-1, + body:lang(ar) .mb-sm-1, + body:lang(ar) .my-sm-1, + body:lang(az) .mb-sm-1, + body:lang(az) .my-sm-1, + body:lang(dv) .mb-sm-1, + body:lang(dv) .my-sm-1, + body:lang(he) .mb-sm-1, + body:lang(he) .my-sm-1, + body:lang(ku) .mb-sm-1, + body:lang(ku) .my-sm-1, + body:lang(ur) .mb-sm-1, + body:lang(ur) .my-sm-1 { + margin-bottom: 0.25rem !important; } + body:lang(fa) .ml-sm-1, + body:lang(fa) .mx-sm-1, + body:lang(ar) .ml-sm-1, + body:lang(ar) .mx-sm-1, + body:lang(az) .ml-sm-1, + body:lang(az) .mx-sm-1, + body:lang(dv) .ml-sm-1, + body:lang(dv) .mx-sm-1, + body:lang(he) .ml-sm-1, + body:lang(he) .mx-sm-1, + body:lang(ku) .ml-sm-1, + body:lang(ku) .mx-sm-1, + body:lang(ur) .ml-sm-1, + body:lang(ur) .mx-sm-1 { + margin-inline-start: 0.25rem !important; } + body:lang(fa) .m-sm-2, + body:lang(ar) .m-sm-2, + body:lang(az) .m-sm-2, + body:lang(dv) .m-sm-2, + body:lang(he) .m-sm-2, + body:lang(ku) .m-sm-2, + body:lang(ur) .m-sm-2 { + margin: 0.5rem !important; } + body:lang(fa) .mt-sm-2, + body:lang(fa) .my-sm-2, + body:lang(ar) .mt-sm-2, + body:lang(ar) .my-sm-2, + body:lang(az) .mt-sm-2, + body:lang(az) .my-sm-2, + body:lang(dv) .mt-sm-2, + body:lang(dv) .my-sm-2, + body:lang(he) .mt-sm-2, + body:lang(he) .my-sm-2, + body:lang(ku) .mt-sm-2, + body:lang(ku) .my-sm-2, + body:lang(ur) .mt-sm-2, + body:lang(ur) .my-sm-2 { + margin-top: 0.5rem !important; } + body:lang(fa) .mr-sm-2, + body:lang(fa) .mx-sm-2, + body:lang(ar) .mr-sm-2, + body:lang(ar) .mx-sm-2, + body:lang(az) .mr-sm-2, + body:lang(az) .mx-sm-2, + body:lang(dv) .mr-sm-2, + body:lang(dv) .mx-sm-2, + body:lang(he) .mr-sm-2, + body:lang(he) .mx-sm-2, + body:lang(ku) .mr-sm-2, + body:lang(ku) .mx-sm-2, + body:lang(ur) .mr-sm-2, + body:lang(ur) .mx-sm-2 { + margin-inline-end: 0.5rem !important; } + body:lang(fa) .mb-sm-2, + body:lang(fa) .my-sm-2, + body:lang(ar) .mb-sm-2, + body:lang(ar) .my-sm-2, + body:lang(az) .mb-sm-2, + body:lang(az) .my-sm-2, + body:lang(dv) .mb-sm-2, + body:lang(dv) .my-sm-2, + body:lang(he) .mb-sm-2, + body:lang(he) .my-sm-2, + body:lang(ku) .mb-sm-2, + body:lang(ku) .my-sm-2, + body:lang(ur) .mb-sm-2, + body:lang(ur) .my-sm-2 { + margin-bottom: 0.5rem !important; } + body:lang(fa) .ml-sm-2, + body:lang(fa) .mx-sm-2, + body:lang(ar) .ml-sm-2, + body:lang(ar) .mx-sm-2, + body:lang(az) .ml-sm-2, + body:lang(az) .mx-sm-2, + body:lang(dv) .ml-sm-2, + body:lang(dv) .mx-sm-2, + body:lang(he) .ml-sm-2, + body:lang(he) .mx-sm-2, + body:lang(ku) .ml-sm-2, + body:lang(ku) .mx-sm-2, + body:lang(ur) .ml-sm-2, + body:lang(ur) .mx-sm-2 { + margin-inline-start: 0.5rem !important; } + body:lang(fa) .m-sm-3, + body:lang(ar) .m-sm-3, + body:lang(az) .m-sm-3, + body:lang(dv) .m-sm-3, + body:lang(he) .m-sm-3, + body:lang(ku) .m-sm-3, + body:lang(ur) .m-sm-3 { + margin: 1rem !important; } + body:lang(fa) .mt-sm-3, + body:lang(fa) .my-sm-3, + body:lang(ar) .mt-sm-3, + body:lang(ar) .my-sm-3, + body:lang(az) .mt-sm-3, + body:lang(az) .my-sm-3, + body:lang(dv) .mt-sm-3, + body:lang(dv) .my-sm-3, + body:lang(he) .mt-sm-3, + body:lang(he) .my-sm-3, + body:lang(ku) .mt-sm-3, + body:lang(ku) .my-sm-3, + body:lang(ur) .mt-sm-3, + body:lang(ur) .my-sm-3 { + margin-top: 1rem !important; } + body:lang(fa) .mr-sm-3, + body:lang(fa) .mx-sm-3, + body:lang(ar) .mr-sm-3, + body:lang(ar) .mx-sm-3, + body:lang(az) .mr-sm-3, + body:lang(az) .mx-sm-3, + body:lang(dv) .mr-sm-3, + body:lang(dv) .mx-sm-3, + body:lang(he) .mr-sm-3, + body:lang(he) .mx-sm-3, + body:lang(ku) .mr-sm-3, + body:lang(ku) .mx-sm-3, + body:lang(ur) .mr-sm-3, + body:lang(ur) .mx-sm-3 { + margin-inline-end: 1rem !important; } + body:lang(fa) .mb-sm-3, + body:lang(fa) .my-sm-3, + body:lang(ar) .mb-sm-3, + body:lang(ar) .my-sm-3, + body:lang(az) .mb-sm-3, + body:lang(az) .my-sm-3, + body:lang(dv) .mb-sm-3, + body:lang(dv) .my-sm-3, + body:lang(he) .mb-sm-3, + body:lang(he) .my-sm-3, + body:lang(ku) .mb-sm-3, + body:lang(ku) .my-sm-3, + body:lang(ur) .mb-sm-3, + body:lang(ur) .my-sm-3 { + margin-bottom: 1rem !important; } + body:lang(fa) .ml-sm-3, + body:lang(fa) .mx-sm-3, + body:lang(ar) .ml-sm-3, + body:lang(ar) .mx-sm-3, + body:lang(az) .ml-sm-3, + body:lang(az) .mx-sm-3, + body:lang(dv) .ml-sm-3, + body:lang(dv) .mx-sm-3, + body:lang(he) .ml-sm-3, + body:lang(he) .mx-sm-3, + body:lang(ku) .ml-sm-3, + body:lang(ku) .mx-sm-3, + body:lang(ur) .ml-sm-3, + body:lang(ur) .mx-sm-3 { + margin-inline-start: 1rem !important; } + body:lang(fa) .m-sm-4, + body:lang(ar) .m-sm-4, + body:lang(az) .m-sm-4, + body:lang(dv) .m-sm-4, + body:lang(he) .m-sm-4, + body:lang(ku) .m-sm-4, + body:lang(ur) .m-sm-4 { + margin: 1.5rem !important; } + body:lang(fa) .mt-sm-4, + body:lang(fa) .my-sm-4, + body:lang(ar) .mt-sm-4, + body:lang(ar) .my-sm-4, + body:lang(az) .mt-sm-4, + body:lang(az) .my-sm-4, + body:lang(dv) .mt-sm-4, + body:lang(dv) .my-sm-4, + body:lang(he) .mt-sm-4, + body:lang(he) .my-sm-4, + body:lang(ku) .mt-sm-4, + body:lang(ku) .my-sm-4, + body:lang(ur) .mt-sm-4, + body:lang(ur) .my-sm-4 { + margin-top: 1.5rem !important; } + body:lang(fa) .mr-sm-4, + body:lang(fa) .mx-sm-4, + body:lang(ar) .mr-sm-4, + body:lang(ar) .mx-sm-4, + body:lang(az) .mr-sm-4, + body:lang(az) .mx-sm-4, + body:lang(dv) .mr-sm-4, + body:lang(dv) .mx-sm-4, + body:lang(he) .mr-sm-4, + body:lang(he) .mx-sm-4, + body:lang(ku) .mr-sm-4, + body:lang(ku) .mx-sm-4, + body:lang(ur) .mr-sm-4, + body:lang(ur) .mx-sm-4 { + margin-inline-end: 1.5rem !important; } + body:lang(fa) .mb-sm-4, + body:lang(fa) .my-sm-4, + body:lang(ar) .mb-sm-4, + body:lang(ar) .my-sm-4, + body:lang(az) .mb-sm-4, + body:lang(az) .my-sm-4, + body:lang(dv) .mb-sm-4, + body:lang(dv) .my-sm-4, + body:lang(he) .mb-sm-4, + body:lang(he) .my-sm-4, + body:lang(ku) .mb-sm-4, + body:lang(ku) .my-sm-4, + body:lang(ur) .mb-sm-4, + body:lang(ur) .my-sm-4 { + margin-bottom: 1.5rem !important; } + body:lang(fa) .ml-sm-4, + body:lang(fa) .mx-sm-4, + body:lang(ar) .ml-sm-4, + body:lang(ar) .mx-sm-4, + body:lang(az) .ml-sm-4, + body:lang(az) .mx-sm-4, + body:lang(dv) .ml-sm-4, + body:lang(dv) .mx-sm-4, + body:lang(he) .ml-sm-4, + body:lang(he) .mx-sm-4, + body:lang(ku) .ml-sm-4, + body:lang(ku) .mx-sm-4, + body:lang(ur) .ml-sm-4, + body:lang(ur) .mx-sm-4 { + margin-inline-start: 1.5rem !important; } + body:lang(fa) .m-sm-5, + body:lang(ar) .m-sm-5, + body:lang(az) .m-sm-5, + body:lang(dv) .m-sm-5, + body:lang(he) .m-sm-5, + body:lang(ku) .m-sm-5, + body:lang(ur) .m-sm-5 { + margin: 3rem !important; } + body:lang(fa) .mt-sm-5, + body:lang(fa) .my-sm-5, + body:lang(ar) .mt-sm-5, + body:lang(ar) .my-sm-5, + body:lang(az) .mt-sm-5, + body:lang(az) .my-sm-5, + body:lang(dv) .mt-sm-5, + body:lang(dv) .my-sm-5, + body:lang(he) .mt-sm-5, + body:lang(he) .my-sm-5, + body:lang(ku) .mt-sm-5, + body:lang(ku) .my-sm-5, + body:lang(ur) .mt-sm-5, + body:lang(ur) .my-sm-5 { + margin-top: 3rem !important; } + body:lang(fa) .mr-sm-5, + body:lang(fa) .mx-sm-5, + body:lang(ar) .mr-sm-5, + body:lang(ar) .mx-sm-5, + body:lang(az) .mr-sm-5, + body:lang(az) .mx-sm-5, + body:lang(dv) .mr-sm-5, + body:lang(dv) .mx-sm-5, + body:lang(he) .mr-sm-5, + body:lang(he) .mx-sm-5, + body:lang(ku) .mr-sm-5, + body:lang(ku) .mx-sm-5, + body:lang(ur) .mr-sm-5, + body:lang(ur) .mx-sm-5 { + margin-inline-end: 3rem !important; } + body:lang(fa) .mb-sm-5, + body:lang(fa) .my-sm-5, + body:lang(ar) .mb-sm-5, + body:lang(ar) .my-sm-5, + body:lang(az) .mb-sm-5, + body:lang(az) .my-sm-5, + body:lang(dv) .mb-sm-5, + body:lang(dv) .my-sm-5, + body:lang(he) .mb-sm-5, + body:lang(he) .my-sm-5, + body:lang(ku) .mb-sm-5, + body:lang(ku) .my-sm-5, + body:lang(ur) .mb-sm-5, + body:lang(ur) .my-sm-5 { + margin-bottom: 3rem !important; } + body:lang(fa) .ml-sm-5, + body:lang(fa) .mx-sm-5, + body:lang(ar) .ml-sm-5, + body:lang(ar) .mx-sm-5, + body:lang(az) .ml-sm-5, + body:lang(az) .mx-sm-5, + body:lang(dv) .ml-sm-5, + body:lang(dv) .mx-sm-5, + body:lang(he) .ml-sm-5, + body:lang(he) .mx-sm-5, + body:lang(ku) .ml-sm-5, + body:lang(ku) .mx-sm-5, + body:lang(ur) .ml-sm-5, + body:lang(ur) .mx-sm-5 { + margin-inline-start: 3rem !important; } + body:lang(fa) .p-sm-0, + body:lang(ar) .p-sm-0, + body:lang(az) .p-sm-0, + body:lang(dv) .p-sm-0, + body:lang(he) .p-sm-0, + body:lang(ku) .p-sm-0, + body:lang(ur) .p-sm-0 { + padding: 0 !important; } + body:lang(fa) .pt-sm-0, + body:lang(fa) .py-sm-0, + body:lang(ar) .pt-sm-0, + body:lang(ar) .py-sm-0, + body:lang(az) .pt-sm-0, + body:lang(az) .py-sm-0, + body:lang(dv) .pt-sm-0, + body:lang(dv) .py-sm-0, + body:lang(he) .pt-sm-0, + body:lang(he) .py-sm-0, + body:lang(ku) .pt-sm-0, + body:lang(ku) .py-sm-0, + body:lang(ur) .pt-sm-0, + body:lang(ur) .py-sm-0 { + padding-top: 0 !important; } + body:lang(fa) .pr-sm-0, + body:lang(fa) .px-sm-0, + body:lang(ar) .pr-sm-0, + body:lang(ar) .px-sm-0, + body:lang(az) .pr-sm-0, + body:lang(az) .px-sm-0, + body:lang(dv) .pr-sm-0, + body:lang(dv) .px-sm-0, + body:lang(he) .pr-sm-0, + body:lang(he) .px-sm-0, + body:lang(ku) .pr-sm-0, + body:lang(ku) .px-sm-0, + body:lang(ur) .pr-sm-0, + body:lang(ur) .px-sm-0 { + padding-inline-end: 0 !important; } + body:lang(fa) .pb-sm-0, + body:lang(fa) .py-sm-0, + body:lang(ar) .pb-sm-0, + body:lang(ar) .py-sm-0, + body:lang(az) .pb-sm-0, + body:lang(az) .py-sm-0, + body:lang(dv) .pb-sm-0, + body:lang(dv) .py-sm-0, + body:lang(he) .pb-sm-0, + body:lang(he) .py-sm-0, + body:lang(ku) .pb-sm-0, + body:lang(ku) .py-sm-0, + body:lang(ur) .pb-sm-0, + body:lang(ur) .py-sm-0 { + padding-bottom: 0 !important; } + body:lang(fa) .pl-sm-0, + body:lang(fa) .px-sm-0, + body:lang(ar) .pl-sm-0, + body:lang(ar) .px-sm-0, + body:lang(az) .pl-sm-0, + body:lang(az) .px-sm-0, + body:lang(dv) .pl-sm-0, + body:lang(dv) .px-sm-0, + body:lang(he) .pl-sm-0, + body:lang(he) .px-sm-0, + body:lang(ku) .pl-sm-0, + body:lang(ku) .px-sm-0, + body:lang(ur) .pl-sm-0, + body:lang(ur) .px-sm-0 { + padding-inline-start: 0 !important; } + body:lang(fa) .p-sm-1, + body:lang(ar) .p-sm-1, + body:lang(az) .p-sm-1, + body:lang(dv) .p-sm-1, + body:lang(he) .p-sm-1, + body:lang(ku) .p-sm-1, + body:lang(ur) .p-sm-1 { + padding: 0.25rem !important; } + body:lang(fa) .pt-sm-1, + body:lang(fa) .py-sm-1, + body:lang(ar) .pt-sm-1, + body:lang(ar) .py-sm-1, + body:lang(az) .pt-sm-1, + body:lang(az) .py-sm-1, + body:lang(dv) .pt-sm-1, + body:lang(dv) .py-sm-1, + body:lang(he) .pt-sm-1, + body:lang(he) .py-sm-1, + body:lang(ku) .pt-sm-1, + body:lang(ku) .py-sm-1, + body:lang(ur) .pt-sm-1, + body:lang(ur) .py-sm-1 { + padding-top: 0.25rem !important; } + body:lang(fa) .pr-sm-1, + body:lang(fa) .px-sm-1, + body:lang(ar) .pr-sm-1, + body:lang(ar) .px-sm-1, + body:lang(az) .pr-sm-1, + body:lang(az) .px-sm-1, + body:lang(dv) .pr-sm-1, + body:lang(dv) .px-sm-1, + body:lang(he) .pr-sm-1, + body:lang(he) .px-sm-1, + body:lang(ku) .pr-sm-1, + body:lang(ku) .px-sm-1, + body:lang(ur) .pr-sm-1, + body:lang(ur) .px-sm-1 { + padding-inline-end: 0.25rem !important; } + body:lang(fa) .pb-sm-1, + body:lang(fa) .py-sm-1, + body:lang(ar) .pb-sm-1, + body:lang(ar) .py-sm-1, + body:lang(az) .pb-sm-1, + body:lang(az) .py-sm-1, + body:lang(dv) .pb-sm-1, + body:lang(dv) .py-sm-1, + body:lang(he) .pb-sm-1, + body:lang(he) .py-sm-1, + body:lang(ku) .pb-sm-1, + body:lang(ku) .py-sm-1, + body:lang(ur) .pb-sm-1, + body:lang(ur) .py-sm-1 { + padding-bottom: 0.25rem !important; } + body:lang(fa) .pl-sm-1, + body:lang(fa) .px-sm-1, + body:lang(ar) .pl-sm-1, + body:lang(ar) .px-sm-1, + body:lang(az) .pl-sm-1, + body:lang(az) .px-sm-1, + body:lang(dv) .pl-sm-1, + body:lang(dv) .px-sm-1, + body:lang(he) .pl-sm-1, + body:lang(he) .px-sm-1, + body:lang(ku) .pl-sm-1, + body:lang(ku) .px-sm-1, + body:lang(ur) .pl-sm-1, + body:lang(ur) .px-sm-1 { + padding-inline-start: 0.25rem !important; } + body:lang(fa) .p-sm-2, + body:lang(ar) .p-sm-2, + body:lang(az) .p-sm-2, + body:lang(dv) .p-sm-2, + body:lang(he) .p-sm-2, + body:lang(ku) .p-sm-2, + body:lang(ur) .p-sm-2 { + padding: 0.5rem !important; } + body:lang(fa) .pt-sm-2, + body:lang(fa) .py-sm-2, + body:lang(ar) .pt-sm-2, + body:lang(ar) .py-sm-2, + body:lang(az) .pt-sm-2, + body:lang(az) .py-sm-2, + body:lang(dv) .pt-sm-2, + body:lang(dv) .py-sm-2, + body:lang(he) .pt-sm-2, + body:lang(he) .py-sm-2, + body:lang(ku) .pt-sm-2, + body:lang(ku) .py-sm-2, + body:lang(ur) .pt-sm-2, + body:lang(ur) .py-sm-2 { + padding-top: 0.5rem !important; } + body:lang(fa) .pr-sm-2, + body:lang(fa) .px-sm-2, + body:lang(ar) .pr-sm-2, + body:lang(ar) .px-sm-2, + body:lang(az) .pr-sm-2, + body:lang(az) .px-sm-2, + body:lang(dv) .pr-sm-2, + body:lang(dv) .px-sm-2, + body:lang(he) .pr-sm-2, + body:lang(he) .px-sm-2, + body:lang(ku) .pr-sm-2, + body:lang(ku) .px-sm-2, + body:lang(ur) .pr-sm-2, + body:lang(ur) .px-sm-2 { + padding-inline-end: 0.5rem !important; } + body:lang(fa) .pb-sm-2, + body:lang(fa) .py-sm-2, + body:lang(ar) .pb-sm-2, + body:lang(ar) .py-sm-2, + body:lang(az) .pb-sm-2, + body:lang(az) .py-sm-2, + body:lang(dv) .pb-sm-2, + body:lang(dv) .py-sm-2, + body:lang(he) .pb-sm-2, + body:lang(he) .py-sm-2, + body:lang(ku) .pb-sm-2, + body:lang(ku) .py-sm-2, + body:lang(ur) .pb-sm-2, + body:lang(ur) .py-sm-2 { + padding-bottom: 0.5rem !important; } + body:lang(fa) .pl-sm-2, + body:lang(fa) .px-sm-2, + body:lang(ar) .pl-sm-2, + body:lang(ar) .px-sm-2, + body:lang(az) .pl-sm-2, + body:lang(az) .px-sm-2, + body:lang(dv) .pl-sm-2, + body:lang(dv) .px-sm-2, + body:lang(he) .pl-sm-2, + body:lang(he) .px-sm-2, + body:lang(ku) .pl-sm-2, + body:lang(ku) .px-sm-2, + body:lang(ur) .pl-sm-2, + body:lang(ur) .px-sm-2 { + padding-inline-start: 0.5rem !important; } + body:lang(fa) .p-sm-3, + body:lang(ar) .p-sm-3, + body:lang(az) .p-sm-3, + body:lang(dv) .p-sm-3, + body:lang(he) .p-sm-3, + body:lang(ku) .p-sm-3, + body:lang(ur) .p-sm-3 { + padding: 1rem !important; } + body:lang(fa) .pt-sm-3, + body:lang(fa) .py-sm-3, + body:lang(ar) .pt-sm-3, + body:lang(ar) .py-sm-3, + body:lang(az) .pt-sm-3, + body:lang(az) .py-sm-3, + body:lang(dv) .pt-sm-3, + body:lang(dv) .py-sm-3, + body:lang(he) .pt-sm-3, + body:lang(he) .py-sm-3, + body:lang(ku) .pt-sm-3, + body:lang(ku) .py-sm-3, + body:lang(ur) .pt-sm-3, + body:lang(ur) .py-sm-3 { + padding-top: 1rem !important; } + body:lang(fa) .pr-sm-3, + body:lang(fa) .px-sm-3, + body:lang(ar) .pr-sm-3, + body:lang(ar) .px-sm-3, + body:lang(az) .pr-sm-3, + body:lang(az) .px-sm-3, + body:lang(dv) .pr-sm-3, + body:lang(dv) .px-sm-3, + body:lang(he) .pr-sm-3, + body:lang(he) .px-sm-3, + body:lang(ku) .pr-sm-3, + body:lang(ku) .px-sm-3, + body:lang(ur) .pr-sm-3, + body:lang(ur) .px-sm-3 { + padding-inline-end: 1rem !important; } + body:lang(fa) .pb-sm-3, + body:lang(fa) .py-sm-3, + body:lang(ar) .pb-sm-3, + body:lang(ar) .py-sm-3, + body:lang(az) .pb-sm-3, + body:lang(az) .py-sm-3, + body:lang(dv) .pb-sm-3, + body:lang(dv) .py-sm-3, + body:lang(he) .pb-sm-3, + body:lang(he) .py-sm-3, + body:lang(ku) .pb-sm-3, + body:lang(ku) .py-sm-3, + body:lang(ur) .pb-sm-3, + body:lang(ur) .py-sm-3 { + padding-bottom: 1rem !important; } + body:lang(fa) .pl-sm-3, + body:lang(fa) .px-sm-3, + body:lang(ar) .pl-sm-3, + body:lang(ar) .px-sm-3, + body:lang(az) .pl-sm-3, + body:lang(az) .px-sm-3, + body:lang(dv) .pl-sm-3, + body:lang(dv) .px-sm-3, + body:lang(he) .pl-sm-3, + body:lang(he) .px-sm-3, + body:lang(ku) .pl-sm-3, + body:lang(ku) .px-sm-3, + body:lang(ur) .pl-sm-3, + body:lang(ur) .px-sm-3 { + padding-inline-start: 1rem !important; } + body:lang(fa) .p-sm-4, + body:lang(ar) .p-sm-4, + body:lang(az) .p-sm-4, + body:lang(dv) .p-sm-4, + body:lang(he) .p-sm-4, + body:lang(ku) .p-sm-4, + body:lang(ur) .p-sm-4 { + padding: 1.5rem !important; } + body:lang(fa) .pt-sm-4, + body:lang(fa) .py-sm-4, + body:lang(ar) .pt-sm-4, + body:lang(ar) .py-sm-4, + body:lang(az) .pt-sm-4, + body:lang(az) .py-sm-4, + body:lang(dv) .pt-sm-4, + body:lang(dv) .py-sm-4, + body:lang(he) .pt-sm-4, + body:lang(he) .py-sm-4, + body:lang(ku) .pt-sm-4, + body:lang(ku) .py-sm-4, + body:lang(ur) .pt-sm-4, + body:lang(ur) .py-sm-4 { + padding-top: 1.5rem !important; } + body:lang(fa) .pr-sm-4, + body:lang(fa) .px-sm-4, + body:lang(ar) .pr-sm-4, + body:lang(ar) .px-sm-4, + body:lang(az) .pr-sm-4, + body:lang(az) .px-sm-4, + body:lang(dv) .pr-sm-4, + body:lang(dv) .px-sm-4, + body:lang(he) .pr-sm-4, + body:lang(he) .px-sm-4, + body:lang(ku) .pr-sm-4, + body:lang(ku) .px-sm-4, + body:lang(ur) .pr-sm-4, + body:lang(ur) .px-sm-4 { + padding-inline-end: 1.5rem !important; } + body:lang(fa) .pb-sm-4, + body:lang(fa) .py-sm-4, + body:lang(ar) .pb-sm-4, + body:lang(ar) .py-sm-4, + body:lang(az) .pb-sm-4, + body:lang(az) .py-sm-4, + body:lang(dv) .pb-sm-4, + body:lang(dv) .py-sm-4, + body:lang(he) .pb-sm-4, + body:lang(he) .py-sm-4, + body:lang(ku) .pb-sm-4, + body:lang(ku) .py-sm-4, + body:lang(ur) .pb-sm-4, + body:lang(ur) .py-sm-4 { + padding-bottom: 1.5rem !important; } + body:lang(fa) .pl-sm-4, + body:lang(fa) .px-sm-4, + body:lang(ar) .pl-sm-4, + body:lang(ar) .px-sm-4, + body:lang(az) .pl-sm-4, + body:lang(az) .px-sm-4, + body:lang(dv) .pl-sm-4, + body:lang(dv) .px-sm-4, + body:lang(he) .pl-sm-4, + body:lang(he) .px-sm-4, + body:lang(ku) .pl-sm-4, + body:lang(ku) .px-sm-4, + body:lang(ur) .pl-sm-4, + body:lang(ur) .px-sm-4 { + padding-inline-start: 1.5rem !important; } + body:lang(fa) .p-sm-5, + body:lang(ar) .p-sm-5, + body:lang(az) .p-sm-5, + body:lang(dv) .p-sm-5, + body:lang(he) .p-sm-5, + body:lang(ku) .p-sm-5, + body:lang(ur) .p-sm-5 { + padding: 3rem !important; } + body:lang(fa) .pt-sm-5, + body:lang(fa) .py-sm-5, + body:lang(ar) .pt-sm-5, + body:lang(ar) .py-sm-5, + body:lang(az) .pt-sm-5, + body:lang(az) .py-sm-5, + body:lang(dv) .pt-sm-5, + body:lang(dv) .py-sm-5, + body:lang(he) .pt-sm-5, + body:lang(he) .py-sm-5, + body:lang(ku) .pt-sm-5, + body:lang(ku) .py-sm-5, + body:lang(ur) .pt-sm-5, + body:lang(ur) .py-sm-5 { + padding-top: 3rem !important; } + body:lang(fa) .pr-sm-5, + body:lang(fa) .px-sm-5, + body:lang(ar) .pr-sm-5, + body:lang(ar) .px-sm-5, + body:lang(az) .pr-sm-5, + body:lang(az) .px-sm-5, + body:lang(dv) .pr-sm-5, + body:lang(dv) .px-sm-5, + body:lang(he) .pr-sm-5, + body:lang(he) .px-sm-5, + body:lang(ku) .pr-sm-5, + body:lang(ku) .px-sm-5, + body:lang(ur) .pr-sm-5, + body:lang(ur) .px-sm-5 { + padding-inline-end: 3rem !important; } + body:lang(fa) .pb-sm-5, + body:lang(fa) .py-sm-5, + body:lang(ar) .pb-sm-5, + body:lang(ar) .py-sm-5, + body:lang(az) .pb-sm-5, + body:lang(az) .py-sm-5, + body:lang(dv) .pb-sm-5, + body:lang(dv) .py-sm-5, + body:lang(he) .pb-sm-5, + body:lang(he) .py-sm-5, + body:lang(ku) .pb-sm-5, + body:lang(ku) .py-sm-5, + body:lang(ur) .pb-sm-5, + body:lang(ur) .py-sm-5 { + padding-bottom: 3rem !important; } + body:lang(fa) .pl-sm-5, + body:lang(fa) .px-sm-5, + body:lang(ar) .pl-sm-5, + body:lang(ar) .px-sm-5, + body:lang(az) .pl-sm-5, + body:lang(az) .px-sm-5, + body:lang(dv) .pl-sm-5, + body:lang(dv) .px-sm-5, + body:lang(he) .pl-sm-5, + body:lang(he) .px-sm-5, + body:lang(ku) .pl-sm-5, + body:lang(ku) .px-sm-5, + body:lang(ur) .pl-sm-5, + body:lang(ur) .px-sm-5 { + padding-inline-start: 3rem !important; } + body:lang(fa) .m-sm-n1, + body:lang(ar) .m-sm-n1, + body:lang(az) .m-sm-n1, + body:lang(dv) .m-sm-n1, + body:lang(he) .m-sm-n1, + body:lang(ku) .m-sm-n1, + body:lang(ur) .m-sm-n1 { + margin: -0.25rem !important; } + body:lang(fa) .mt-sm-n1, + body:lang(fa) .my-sm-n1, + body:lang(ar) .mt-sm-n1, + body:lang(ar) .my-sm-n1, + body:lang(az) .mt-sm-n1, + body:lang(az) .my-sm-n1, + body:lang(dv) .mt-sm-n1, + body:lang(dv) .my-sm-n1, + body:lang(he) .mt-sm-n1, + body:lang(he) .my-sm-n1, + body:lang(ku) .mt-sm-n1, + body:lang(ku) .my-sm-n1, + body:lang(ur) .mt-sm-n1, + body:lang(ur) .my-sm-n1 { + margin-top: -0.25rem !important; } + body:lang(fa) .mr-sm-n1, + body:lang(fa) .mx-sm-n1, + body:lang(ar) .mr-sm-n1, + body:lang(ar) .mx-sm-n1, + body:lang(az) .mr-sm-n1, + body:lang(az) .mx-sm-n1, + body:lang(dv) .mr-sm-n1, + body:lang(dv) .mx-sm-n1, + body:lang(he) .mr-sm-n1, + body:lang(he) .mx-sm-n1, + body:lang(ku) .mr-sm-n1, + body:lang(ku) .mx-sm-n1, + body:lang(ur) .mr-sm-n1, + body:lang(ur) .mx-sm-n1 { + margin-right: -0.25rem !important; } + body:lang(fa) .mb-sm-n1, + body:lang(fa) .my-sm-n1, + body:lang(ar) .mb-sm-n1, + body:lang(ar) .my-sm-n1, + body:lang(az) .mb-sm-n1, + body:lang(az) .my-sm-n1, + body:lang(dv) .mb-sm-n1, + body:lang(dv) .my-sm-n1, + body:lang(he) .mb-sm-n1, + body:lang(he) .my-sm-n1, + body:lang(ku) .mb-sm-n1, + body:lang(ku) .my-sm-n1, + body:lang(ur) .mb-sm-n1, + body:lang(ur) .my-sm-n1 { + margin-bottom: -0.25rem !important; } + body:lang(fa) .ml-sm-n1, + body:lang(fa) .mx-sm-n1, + body:lang(ar) .ml-sm-n1, + body:lang(ar) .mx-sm-n1, + body:lang(az) .ml-sm-n1, + body:lang(az) .mx-sm-n1, + body:lang(dv) .ml-sm-n1, + body:lang(dv) .mx-sm-n1, + body:lang(he) .ml-sm-n1, + body:lang(he) .mx-sm-n1, + body:lang(ku) .ml-sm-n1, + body:lang(ku) .mx-sm-n1, + body:lang(ur) .ml-sm-n1, + body:lang(ur) .mx-sm-n1 { + margin-left: -0.25rem !important; } + body:lang(fa) .m-sm-n2, + body:lang(ar) .m-sm-n2, + body:lang(az) .m-sm-n2, + body:lang(dv) .m-sm-n2, + body:lang(he) .m-sm-n2, + body:lang(ku) .m-sm-n2, + body:lang(ur) .m-sm-n2 { + margin: -0.5rem !important; } + body:lang(fa) .mt-sm-n2, + body:lang(fa) .my-sm-n2, + body:lang(ar) .mt-sm-n2, + body:lang(ar) .my-sm-n2, + body:lang(az) .mt-sm-n2, + body:lang(az) .my-sm-n2, + body:lang(dv) .mt-sm-n2, + body:lang(dv) .my-sm-n2, + body:lang(he) .mt-sm-n2, + body:lang(he) .my-sm-n2, + body:lang(ku) .mt-sm-n2, + body:lang(ku) .my-sm-n2, + body:lang(ur) .mt-sm-n2, + body:lang(ur) .my-sm-n2 { + margin-top: -0.5rem !important; } + body:lang(fa) .mr-sm-n2, + body:lang(fa) .mx-sm-n2, + body:lang(ar) .mr-sm-n2, + body:lang(ar) .mx-sm-n2, + body:lang(az) .mr-sm-n2, + body:lang(az) .mx-sm-n2, + body:lang(dv) .mr-sm-n2, + body:lang(dv) .mx-sm-n2, + body:lang(he) .mr-sm-n2, + body:lang(he) .mx-sm-n2, + body:lang(ku) .mr-sm-n2, + body:lang(ku) .mx-sm-n2, + body:lang(ur) .mr-sm-n2, + body:lang(ur) .mx-sm-n2 { + margin-right: -0.5rem !important; } + body:lang(fa) .mb-sm-n2, + body:lang(fa) .my-sm-n2, + body:lang(ar) .mb-sm-n2, + body:lang(ar) .my-sm-n2, + body:lang(az) .mb-sm-n2, + body:lang(az) .my-sm-n2, + body:lang(dv) .mb-sm-n2, + body:lang(dv) .my-sm-n2, + body:lang(he) .mb-sm-n2, + body:lang(he) .my-sm-n2, + body:lang(ku) .mb-sm-n2, + body:lang(ku) .my-sm-n2, + body:lang(ur) .mb-sm-n2, + body:lang(ur) .my-sm-n2 { + margin-bottom: -0.5rem !important; } + body:lang(fa) .ml-sm-n2, + body:lang(fa) .mx-sm-n2, + body:lang(ar) .ml-sm-n2, + body:lang(ar) .mx-sm-n2, + body:lang(az) .ml-sm-n2, + body:lang(az) .mx-sm-n2, + body:lang(dv) .ml-sm-n2, + body:lang(dv) .mx-sm-n2, + body:lang(he) .ml-sm-n2, + body:lang(he) .mx-sm-n2, + body:lang(ku) .ml-sm-n2, + body:lang(ku) .mx-sm-n2, + body:lang(ur) .ml-sm-n2, + body:lang(ur) .mx-sm-n2 { + margin-left: -0.5rem !important; } + body:lang(fa) .m-sm-n3, + body:lang(ar) .m-sm-n3, + body:lang(az) .m-sm-n3, + body:lang(dv) .m-sm-n3, + body:lang(he) .m-sm-n3, + body:lang(ku) .m-sm-n3, + body:lang(ur) .m-sm-n3 { + margin: -1rem !important; } + body:lang(fa) .mt-sm-n3, + body:lang(fa) .my-sm-n3, + body:lang(ar) .mt-sm-n3, + body:lang(ar) .my-sm-n3, + body:lang(az) .mt-sm-n3, + body:lang(az) .my-sm-n3, + body:lang(dv) .mt-sm-n3, + body:lang(dv) .my-sm-n3, + body:lang(he) .mt-sm-n3, + body:lang(he) .my-sm-n3, + body:lang(ku) .mt-sm-n3, + body:lang(ku) .my-sm-n3, + body:lang(ur) .mt-sm-n3, + body:lang(ur) .my-sm-n3 { + margin-top: -1rem !important; } + body:lang(fa) .mr-sm-n3, + body:lang(fa) .mx-sm-n3, + body:lang(ar) .mr-sm-n3, + body:lang(ar) .mx-sm-n3, + body:lang(az) .mr-sm-n3, + body:lang(az) .mx-sm-n3, + body:lang(dv) .mr-sm-n3, + body:lang(dv) .mx-sm-n3, + body:lang(he) .mr-sm-n3, + body:lang(he) .mx-sm-n3, + body:lang(ku) .mr-sm-n3, + body:lang(ku) .mx-sm-n3, + body:lang(ur) .mr-sm-n3, + body:lang(ur) .mx-sm-n3 { + margin-right: -1rem !important; } + body:lang(fa) .mb-sm-n3, + body:lang(fa) .my-sm-n3, + body:lang(ar) .mb-sm-n3, + body:lang(ar) .my-sm-n3, + body:lang(az) .mb-sm-n3, + body:lang(az) .my-sm-n3, + body:lang(dv) .mb-sm-n3, + body:lang(dv) .my-sm-n3, + body:lang(he) .mb-sm-n3, + body:lang(he) .my-sm-n3, + body:lang(ku) .mb-sm-n3, + body:lang(ku) .my-sm-n3, + body:lang(ur) .mb-sm-n3, + body:lang(ur) .my-sm-n3 { + margin-bottom: -1rem !important; } + body:lang(fa) .ml-sm-n3, + body:lang(fa) .mx-sm-n3, + body:lang(ar) .ml-sm-n3, + body:lang(ar) .mx-sm-n3, + body:lang(az) .ml-sm-n3, + body:lang(az) .mx-sm-n3, + body:lang(dv) .ml-sm-n3, + body:lang(dv) .mx-sm-n3, + body:lang(he) .ml-sm-n3, + body:lang(he) .mx-sm-n3, + body:lang(ku) .ml-sm-n3, + body:lang(ku) .mx-sm-n3, + body:lang(ur) .ml-sm-n3, + body:lang(ur) .mx-sm-n3 { + margin-left: -1rem !important; } + body:lang(fa) .m-sm-n4, + body:lang(ar) .m-sm-n4, + body:lang(az) .m-sm-n4, + body:lang(dv) .m-sm-n4, + body:lang(he) .m-sm-n4, + body:lang(ku) .m-sm-n4, + body:lang(ur) .m-sm-n4 { + margin: -1.5rem !important; } + body:lang(fa) .mt-sm-n4, + body:lang(fa) .my-sm-n4, + body:lang(ar) .mt-sm-n4, + body:lang(ar) .my-sm-n4, + body:lang(az) .mt-sm-n4, + body:lang(az) .my-sm-n4, + body:lang(dv) .mt-sm-n4, + body:lang(dv) .my-sm-n4, + body:lang(he) .mt-sm-n4, + body:lang(he) .my-sm-n4, + body:lang(ku) .mt-sm-n4, + body:lang(ku) .my-sm-n4, + body:lang(ur) .mt-sm-n4, + body:lang(ur) .my-sm-n4 { + margin-top: -1.5rem !important; } + body:lang(fa) .mr-sm-n4, + body:lang(fa) .mx-sm-n4, + body:lang(ar) .mr-sm-n4, + body:lang(ar) .mx-sm-n4, + body:lang(az) .mr-sm-n4, + body:lang(az) .mx-sm-n4, + body:lang(dv) .mr-sm-n4, + body:lang(dv) .mx-sm-n4, + body:lang(he) .mr-sm-n4, + body:lang(he) .mx-sm-n4, + body:lang(ku) .mr-sm-n4, + body:lang(ku) .mx-sm-n4, + body:lang(ur) .mr-sm-n4, + body:lang(ur) .mx-sm-n4 { + margin-right: -1.5rem !important; } + body:lang(fa) .mb-sm-n4, + body:lang(fa) .my-sm-n4, + body:lang(ar) .mb-sm-n4, + body:lang(ar) .my-sm-n4, + body:lang(az) .mb-sm-n4, + body:lang(az) .my-sm-n4, + body:lang(dv) .mb-sm-n4, + body:lang(dv) .my-sm-n4, + body:lang(he) .mb-sm-n4, + body:lang(he) .my-sm-n4, + body:lang(ku) .mb-sm-n4, + body:lang(ku) .my-sm-n4, + body:lang(ur) .mb-sm-n4, + body:lang(ur) .my-sm-n4 { + margin-bottom: -1.5rem !important; } + body:lang(fa) .ml-sm-n4, + body:lang(fa) .mx-sm-n4, + body:lang(ar) .ml-sm-n4, + body:lang(ar) .mx-sm-n4, + body:lang(az) .ml-sm-n4, + body:lang(az) .mx-sm-n4, + body:lang(dv) .ml-sm-n4, + body:lang(dv) .mx-sm-n4, + body:lang(he) .ml-sm-n4, + body:lang(he) .mx-sm-n4, + body:lang(ku) .ml-sm-n4, + body:lang(ku) .mx-sm-n4, + body:lang(ur) .ml-sm-n4, + body:lang(ur) .mx-sm-n4 { + margin-left: -1.5rem !important; } + body:lang(fa) .m-sm-n5, + body:lang(ar) .m-sm-n5, + body:lang(az) .m-sm-n5, + body:lang(dv) .m-sm-n5, + body:lang(he) .m-sm-n5, + body:lang(ku) .m-sm-n5, + body:lang(ur) .m-sm-n5 { + margin: -3rem !important; } + body:lang(fa) .mt-sm-n5, + body:lang(fa) .my-sm-n5, + body:lang(ar) .mt-sm-n5, + body:lang(ar) .my-sm-n5, + body:lang(az) .mt-sm-n5, + body:lang(az) .my-sm-n5, + body:lang(dv) .mt-sm-n5, + body:lang(dv) .my-sm-n5, + body:lang(he) .mt-sm-n5, + body:lang(he) .my-sm-n5, + body:lang(ku) .mt-sm-n5, + body:lang(ku) .my-sm-n5, + body:lang(ur) .mt-sm-n5, + body:lang(ur) .my-sm-n5 { + margin-top: -3rem !important; } + body:lang(fa) .mr-sm-n5, + body:lang(fa) .mx-sm-n5, + body:lang(ar) .mr-sm-n5, + body:lang(ar) .mx-sm-n5, + body:lang(az) .mr-sm-n5, + body:lang(az) .mx-sm-n5, + body:lang(dv) .mr-sm-n5, + body:lang(dv) .mx-sm-n5, + body:lang(he) .mr-sm-n5, + body:lang(he) .mx-sm-n5, + body:lang(ku) .mr-sm-n5, + body:lang(ku) .mx-sm-n5, + body:lang(ur) .mr-sm-n5, + body:lang(ur) .mx-sm-n5 { + margin-right: -3rem !important; } + body:lang(fa) .mb-sm-n5, + body:lang(fa) .my-sm-n5, + body:lang(ar) .mb-sm-n5, + body:lang(ar) .my-sm-n5, + body:lang(az) .mb-sm-n5, + body:lang(az) .my-sm-n5, + body:lang(dv) .mb-sm-n5, + body:lang(dv) .my-sm-n5, + body:lang(he) .mb-sm-n5, + body:lang(he) .my-sm-n5, + body:lang(ku) .mb-sm-n5, + body:lang(ku) .my-sm-n5, + body:lang(ur) .mb-sm-n5, + body:lang(ur) .my-sm-n5 { + margin-bottom: -3rem !important; } + body:lang(fa) .ml-sm-n5, + body:lang(fa) .mx-sm-n5, + body:lang(ar) .ml-sm-n5, + body:lang(ar) .mx-sm-n5, + body:lang(az) .ml-sm-n5, + body:lang(az) .mx-sm-n5, + body:lang(dv) .ml-sm-n5, + body:lang(dv) .mx-sm-n5, + body:lang(he) .ml-sm-n5, + body:lang(he) .mx-sm-n5, + body:lang(ku) .ml-sm-n5, + body:lang(ku) .mx-sm-n5, + body:lang(ur) .ml-sm-n5, + body:lang(ur) .mx-sm-n5 { + margin-left: -3rem !important; } + body:lang(fa) .m-sm-auto, + body:lang(ar) .m-sm-auto, + body:lang(az) .m-sm-auto, + body:lang(dv) .m-sm-auto, + body:lang(he) .m-sm-auto, + body:lang(ku) .m-sm-auto, + body:lang(ur) .m-sm-auto { + margin: auto !important; } + body:lang(fa) .mt-sm-auto, + body:lang(fa) .my-sm-auto, + body:lang(ar) .mt-sm-auto, + body:lang(ar) .my-sm-auto, + body:lang(az) .mt-sm-auto, + body:lang(az) .my-sm-auto, + body:lang(dv) .mt-sm-auto, + body:lang(dv) .my-sm-auto, + body:lang(he) .mt-sm-auto, + body:lang(he) .my-sm-auto, + body:lang(ku) .mt-sm-auto, + body:lang(ku) .my-sm-auto, + body:lang(ur) .mt-sm-auto, + body:lang(ur) .my-sm-auto { + margin-top: auto !important; } + body:lang(fa) .mr-sm-auto, + body:lang(fa) .mx-sm-auto, + body:lang(ar) .mr-sm-auto, + body:lang(ar) .mx-sm-auto, + body:lang(az) .mr-sm-auto, + body:lang(az) .mx-sm-auto, + body:lang(dv) .mr-sm-auto, + body:lang(dv) .mx-sm-auto, + body:lang(he) .mr-sm-auto, + body:lang(he) .mx-sm-auto, + body:lang(ku) .mr-sm-auto, + body:lang(ku) .mx-sm-auto, + body:lang(ur) .mr-sm-auto, + body:lang(ur) .mx-sm-auto { + margin-right: auto !important; } + body:lang(fa) .mb-sm-auto, + body:lang(fa) .my-sm-auto, + body:lang(ar) .mb-sm-auto, + body:lang(ar) .my-sm-auto, + body:lang(az) .mb-sm-auto, + body:lang(az) .my-sm-auto, + body:lang(dv) .mb-sm-auto, + body:lang(dv) .my-sm-auto, + body:lang(he) .mb-sm-auto, + body:lang(he) .my-sm-auto, + body:lang(ku) .mb-sm-auto, + body:lang(ku) .my-sm-auto, + body:lang(ur) .mb-sm-auto, + body:lang(ur) .my-sm-auto { + margin-bottom: auto !important; } + body:lang(fa) .ml-sm-auto, + body:lang(fa) .mx-sm-auto, + body:lang(ar) .ml-sm-auto, + body:lang(ar) .mx-sm-auto, + body:lang(az) .ml-sm-auto, + body:lang(az) .mx-sm-auto, + body:lang(dv) .ml-sm-auto, + body:lang(dv) .mx-sm-auto, + body:lang(he) .ml-sm-auto, + body:lang(he) .mx-sm-auto, + body:lang(ku) .ml-sm-auto, + body:lang(ku) .mx-sm-auto, + body:lang(ur) .ml-sm-auto, + body:lang(ur) .mx-sm-auto { + margin-left: auto !important; } } + @media (min-width: 768px) { + body:lang(fa) .m-md-0, + body:lang(ar) .m-md-0, + body:lang(az) .m-md-0, + body:lang(dv) .m-md-0, + body:lang(he) .m-md-0, + body:lang(ku) .m-md-0, + body:lang(ur) .m-md-0 { + margin: 0 !important; } + body:lang(fa) .mt-md-0, + body:lang(fa) .my-md-0, + body:lang(ar) .mt-md-0, + body:lang(ar) .my-md-0, + body:lang(az) .mt-md-0, + body:lang(az) .my-md-0, + body:lang(dv) .mt-md-0, + body:lang(dv) .my-md-0, + body:lang(he) .mt-md-0, + body:lang(he) .my-md-0, + body:lang(ku) .mt-md-0, + body:lang(ku) .my-md-0, + body:lang(ur) .mt-md-0, + body:lang(ur) .my-md-0 { + margin-top: 0 !important; } + body:lang(fa) .mr-md-0, + body:lang(fa) .mx-md-0, + body:lang(ar) .mr-md-0, + body:lang(ar) .mx-md-0, + body:lang(az) .mr-md-0, + body:lang(az) .mx-md-0, + body:lang(dv) .mr-md-0, + body:lang(dv) .mx-md-0, + body:lang(he) .mr-md-0, + body:lang(he) .mx-md-0, + body:lang(ku) .mr-md-0, + body:lang(ku) .mx-md-0, + body:lang(ur) .mr-md-0, + body:lang(ur) .mx-md-0 { + margin-inline-end: 0 !important; } + body:lang(fa) .mb-md-0, + body:lang(fa) .my-md-0, + body:lang(ar) .mb-md-0, + body:lang(ar) .my-md-0, + body:lang(az) .mb-md-0, + body:lang(az) .my-md-0, + body:lang(dv) .mb-md-0, + body:lang(dv) .my-md-0, + body:lang(he) .mb-md-0, + body:lang(he) .my-md-0, + body:lang(ku) .mb-md-0, + body:lang(ku) .my-md-0, + body:lang(ur) .mb-md-0, + body:lang(ur) .my-md-0 { + margin-bottom: 0 !important; } + body:lang(fa) .ml-md-0, + body:lang(fa) .mx-md-0, + body:lang(ar) .ml-md-0, + body:lang(ar) .mx-md-0, + body:lang(az) .ml-md-0, + body:lang(az) .mx-md-0, + body:lang(dv) .ml-md-0, + body:lang(dv) .mx-md-0, + body:lang(he) .ml-md-0, + body:lang(he) .mx-md-0, + body:lang(ku) .ml-md-0, + body:lang(ku) .mx-md-0, + body:lang(ur) .ml-md-0, + body:lang(ur) .mx-md-0 { + margin-inline-start: 0 !important; } + body:lang(fa) .m-md-1, + body:lang(ar) .m-md-1, + body:lang(az) .m-md-1, + body:lang(dv) .m-md-1, + body:lang(he) .m-md-1, + body:lang(ku) .m-md-1, + body:lang(ur) .m-md-1 { + margin: 0.25rem !important; } + body:lang(fa) .mt-md-1, + body:lang(fa) .my-md-1, + body:lang(ar) .mt-md-1, + body:lang(ar) .my-md-1, + body:lang(az) .mt-md-1, + body:lang(az) .my-md-1, + body:lang(dv) .mt-md-1, + body:lang(dv) .my-md-1, + body:lang(he) .mt-md-1, + body:lang(he) .my-md-1, + body:lang(ku) .mt-md-1, + body:lang(ku) .my-md-1, + body:lang(ur) .mt-md-1, + body:lang(ur) .my-md-1 { + margin-top: 0.25rem !important; } + body:lang(fa) .mr-md-1, + body:lang(fa) .mx-md-1, + body:lang(ar) .mr-md-1, + body:lang(ar) .mx-md-1, + body:lang(az) .mr-md-1, + body:lang(az) .mx-md-1, + body:lang(dv) .mr-md-1, + body:lang(dv) .mx-md-1, + body:lang(he) .mr-md-1, + body:lang(he) .mx-md-1, + body:lang(ku) .mr-md-1, + body:lang(ku) .mx-md-1, + body:lang(ur) .mr-md-1, + body:lang(ur) .mx-md-1 { + margin-inline-end: 0.25rem !important; } + body:lang(fa) .mb-md-1, + body:lang(fa) .my-md-1, + body:lang(ar) .mb-md-1, + body:lang(ar) .my-md-1, + body:lang(az) .mb-md-1, + body:lang(az) .my-md-1, + body:lang(dv) .mb-md-1, + body:lang(dv) .my-md-1, + body:lang(he) .mb-md-1, + body:lang(he) .my-md-1, + body:lang(ku) .mb-md-1, + body:lang(ku) .my-md-1, + body:lang(ur) .mb-md-1, + body:lang(ur) .my-md-1 { + margin-bottom: 0.25rem !important; } + body:lang(fa) .ml-md-1, + body:lang(fa) .mx-md-1, + body:lang(ar) .ml-md-1, + body:lang(ar) .mx-md-1, + body:lang(az) .ml-md-1, + body:lang(az) .mx-md-1, + body:lang(dv) .ml-md-1, + body:lang(dv) .mx-md-1, + body:lang(he) .ml-md-1, + body:lang(he) .mx-md-1, + body:lang(ku) .ml-md-1, + body:lang(ku) .mx-md-1, + body:lang(ur) .ml-md-1, + body:lang(ur) .mx-md-1 { + margin-inline-start: 0.25rem !important; } + body:lang(fa) .m-md-2, + body:lang(ar) .m-md-2, + body:lang(az) .m-md-2, + body:lang(dv) .m-md-2, + body:lang(he) .m-md-2, + body:lang(ku) .m-md-2, + body:lang(ur) .m-md-2 { + margin: 0.5rem !important; } + body:lang(fa) .mt-md-2, + body:lang(fa) .my-md-2, + body:lang(ar) .mt-md-2, + body:lang(ar) .my-md-2, + body:lang(az) .mt-md-2, + body:lang(az) .my-md-2, + body:lang(dv) .mt-md-2, + body:lang(dv) .my-md-2, + body:lang(he) .mt-md-2, + body:lang(he) .my-md-2, + body:lang(ku) .mt-md-2, + body:lang(ku) .my-md-2, + body:lang(ur) .mt-md-2, + body:lang(ur) .my-md-2 { + margin-top: 0.5rem !important; } + body:lang(fa) .mr-md-2, + body:lang(fa) .mx-md-2, + body:lang(ar) .mr-md-2, + body:lang(ar) .mx-md-2, + body:lang(az) .mr-md-2, + body:lang(az) .mx-md-2, + body:lang(dv) .mr-md-2, + body:lang(dv) .mx-md-2, + body:lang(he) .mr-md-2, + body:lang(he) .mx-md-2, + body:lang(ku) .mr-md-2, + body:lang(ku) .mx-md-2, + body:lang(ur) .mr-md-2, + body:lang(ur) .mx-md-2 { + margin-inline-end: 0.5rem !important; } + body:lang(fa) .mb-md-2, + body:lang(fa) .my-md-2, + body:lang(ar) .mb-md-2, + body:lang(ar) .my-md-2, + body:lang(az) .mb-md-2, + body:lang(az) .my-md-2, + body:lang(dv) .mb-md-2, + body:lang(dv) .my-md-2, + body:lang(he) .mb-md-2, + body:lang(he) .my-md-2, + body:lang(ku) .mb-md-2, + body:lang(ku) .my-md-2, + body:lang(ur) .mb-md-2, + body:lang(ur) .my-md-2 { + margin-bottom: 0.5rem !important; } + body:lang(fa) .ml-md-2, + body:lang(fa) .mx-md-2, + body:lang(ar) .ml-md-2, + body:lang(ar) .mx-md-2, + body:lang(az) .ml-md-2, + body:lang(az) .mx-md-2, + body:lang(dv) .ml-md-2, + body:lang(dv) .mx-md-2, + body:lang(he) .ml-md-2, + body:lang(he) .mx-md-2, + body:lang(ku) .ml-md-2, + body:lang(ku) .mx-md-2, + body:lang(ur) .ml-md-2, + body:lang(ur) .mx-md-2 { + margin-inline-start: 0.5rem !important; } + body:lang(fa) .m-md-3, + body:lang(ar) .m-md-3, + body:lang(az) .m-md-3, + body:lang(dv) .m-md-3, + body:lang(he) .m-md-3, + body:lang(ku) .m-md-3, + body:lang(ur) .m-md-3 { + margin: 1rem !important; } + body:lang(fa) .mt-md-3, + body:lang(fa) .my-md-3, + body:lang(ar) .mt-md-3, + body:lang(ar) .my-md-3, + body:lang(az) .mt-md-3, + body:lang(az) .my-md-3, + body:lang(dv) .mt-md-3, + body:lang(dv) .my-md-3, + body:lang(he) .mt-md-3, + body:lang(he) .my-md-3, + body:lang(ku) .mt-md-3, + body:lang(ku) .my-md-3, + body:lang(ur) .mt-md-3, + body:lang(ur) .my-md-3 { + margin-top: 1rem !important; } + body:lang(fa) .mr-md-3, + body:lang(fa) .mx-md-3, + body:lang(ar) .mr-md-3, + body:lang(ar) .mx-md-3, + body:lang(az) .mr-md-3, + body:lang(az) .mx-md-3, + body:lang(dv) .mr-md-3, + body:lang(dv) .mx-md-3, + body:lang(he) .mr-md-3, + body:lang(he) .mx-md-3, + body:lang(ku) .mr-md-3, + body:lang(ku) .mx-md-3, + body:lang(ur) .mr-md-3, + body:lang(ur) .mx-md-3 { + margin-inline-end: 1rem !important; } + body:lang(fa) .mb-md-3, + body:lang(fa) .my-md-3, + body:lang(ar) .mb-md-3, + body:lang(ar) .my-md-3, + body:lang(az) .mb-md-3, + body:lang(az) .my-md-3, + body:lang(dv) .mb-md-3, + body:lang(dv) .my-md-3, + body:lang(he) .mb-md-3, + body:lang(he) .my-md-3, + body:lang(ku) .mb-md-3, + body:lang(ku) .my-md-3, + body:lang(ur) .mb-md-3, + body:lang(ur) .my-md-3 { + margin-bottom: 1rem !important; } + body:lang(fa) .ml-md-3, + body:lang(fa) .mx-md-3, + body:lang(ar) .ml-md-3, + body:lang(ar) .mx-md-3, + body:lang(az) .ml-md-3, + body:lang(az) .mx-md-3, + body:lang(dv) .ml-md-3, + body:lang(dv) .mx-md-3, + body:lang(he) .ml-md-3, + body:lang(he) .mx-md-3, + body:lang(ku) .ml-md-3, + body:lang(ku) .mx-md-3, + body:lang(ur) .ml-md-3, + body:lang(ur) .mx-md-3 { + margin-inline-start: 1rem !important; } + body:lang(fa) .m-md-4, + body:lang(ar) .m-md-4, + body:lang(az) .m-md-4, + body:lang(dv) .m-md-4, + body:lang(he) .m-md-4, + body:lang(ku) .m-md-4, + body:lang(ur) .m-md-4 { + margin: 1.5rem !important; } + body:lang(fa) .mt-md-4, + body:lang(fa) .my-md-4, + body:lang(ar) .mt-md-4, + body:lang(ar) .my-md-4, + body:lang(az) .mt-md-4, + body:lang(az) .my-md-4, + body:lang(dv) .mt-md-4, + body:lang(dv) .my-md-4, + body:lang(he) .mt-md-4, + body:lang(he) .my-md-4, + body:lang(ku) .mt-md-4, + body:lang(ku) .my-md-4, + body:lang(ur) .mt-md-4, + body:lang(ur) .my-md-4 { + margin-top: 1.5rem !important; } + body:lang(fa) .mr-md-4, + body:lang(fa) .mx-md-4, + body:lang(ar) .mr-md-4, + body:lang(ar) .mx-md-4, + body:lang(az) .mr-md-4, + body:lang(az) .mx-md-4, + body:lang(dv) .mr-md-4, + body:lang(dv) .mx-md-4, + body:lang(he) .mr-md-4, + body:lang(he) .mx-md-4, + body:lang(ku) .mr-md-4, + body:lang(ku) .mx-md-4, + body:lang(ur) .mr-md-4, + body:lang(ur) .mx-md-4 { + margin-inline-end: 1.5rem !important; } + body:lang(fa) .mb-md-4, + body:lang(fa) .my-md-4, + body:lang(ar) .mb-md-4, + body:lang(ar) .my-md-4, + body:lang(az) .mb-md-4, + body:lang(az) .my-md-4, + body:lang(dv) .mb-md-4, + body:lang(dv) .my-md-4, + body:lang(he) .mb-md-4, + body:lang(he) .my-md-4, + body:lang(ku) .mb-md-4, + body:lang(ku) .my-md-4, + body:lang(ur) .mb-md-4, + body:lang(ur) .my-md-4 { + margin-bottom: 1.5rem !important; } + body:lang(fa) .ml-md-4, + body:lang(fa) .mx-md-4, + body:lang(ar) .ml-md-4, + body:lang(ar) .mx-md-4, + body:lang(az) .ml-md-4, + body:lang(az) .mx-md-4, + body:lang(dv) .ml-md-4, + body:lang(dv) .mx-md-4, + body:lang(he) .ml-md-4, + body:lang(he) .mx-md-4, + body:lang(ku) .ml-md-4, + body:lang(ku) .mx-md-4, + body:lang(ur) .ml-md-4, + body:lang(ur) .mx-md-4 { + margin-inline-start: 1.5rem !important; } + body:lang(fa) .m-md-5, + body:lang(ar) .m-md-5, + body:lang(az) .m-md-5, + body:lang(dv) .m-md-5, + body:lang(he) .m-md-5, + body:lang(ku) .m-md-5, + body:lang(ur) .m-md-5 { + margin: 3rem !important; } + body:lang(fa) .mt-md-5, + body:lang(fa) .my-md-5, + body:lang(ar) .mt-md-5, + body:lang(ar) .my-md-5, + body:lang(az) .mt-md-5, + body:lang(az) .my-md-5, + body:lang(dv) .mt-md-5, + body:lang(dv) .my-md-5, + body:lang(he) .mt-md-5, + body:lang(he) .my-md-5, + body:lang(ku) .mt-md-5, + body:lang(ku) .my-md-5, + body:lang(ur) .mt-md-5, + body:lang(ur) .my-md-5 { + margin-top: 3rem !important; } + body:lang(fa) .mr-md-5, + body:lang(fa) .mx-md-5, + body:lang(ar) .mr-md-5, + body:lang(ar) .mx-md-5, + body:lang(az) .mr-md-5, + body:lang(az) .mx-md-5, + body:lang(dv) .mr-md-5, + body:lang(dv) .mx-md-5, + body:lang(he) .mr-md-5, + body:lang(he) .mx-md-5, + body:lang(ku) .mr-md-5, + body:lang(ku) .mx-md-5, + body:lang(ur) .mr-md-5, + body:lang(ur) .mx-md-5 { + margin-inline-end: 3rem !important; } + body:lang(fa) .mb-md-5, + body:lang(fa) .my-md-5, + body:lang(ar) .mb-md-5, + body:lang(ar) .my-md-5, + body:lang(az) .mb-md-5, + body:lang(az) .my-md-5, + body:lang(dv) .mb-md-5, + body:lang(dv) .my-md-5, + body:lang(he) .mb-md-5, + body:lang(he) .my-md-5, + body:lang(ku) .mb-md-5, + body:lang(ku) .my-md-5, + body:lang(ur) .mb-md-5, + body:lang(ur) .my-md-5 { + margin-bottom: 3rem !important; } + body:lang(fa) .ml-md-5, + body:lang(fa) .mx-md-5, + body:lang(ar) .ml-md-5, + body:lang(ar) .mx-md-5, + body:lang(az) .ml-md-5, + body:lang(az) .mx-md-5, + body:lang(dv) .ml-md-5, + body:lang(dv) .mx-md-5, + body:lang(he) .ml-md-5, + body:lang(he) .mx-md-5, + body:lang(ku) .ml-md-5, + body:lang(ku) .mx-md-5, + body:lang(ur) .ml-md-5, + body:lang(ur) .mx-md-5 { + margin-inline-start: 3rem !important; } + body:lang(fa) .p-md-0, + body:lang(ar) .p-md-0, + body:lang(az) .p-md-0, + body:lang(dv) .p-md-0, + body:lang(he) .p-md-0, + body:lang(ku) .p-md-0, + body:lang(ur) .p-md-0 { + padding: 0 !important; } + body:lang(fa) .pt-md-0, + body:lang(fa) .py-md-0, + body:lang(ar) .pt-md-0, + body:lang(ar) .py-md-0, + body:lang(az) .pt-md-0, + body:lang(az) .py-md-0, + body:lang(dv) .pt-md-0, + body:lang(dv) .py-md-0, + body:lang(he) .pt-md-0, + body:lang(he) .py-md-0, + body:lang(ku) .pt-md-0, + body:lang(ku) .py-md-0, + body:lang(ur) .pt-md-0, + body:lang(ur) .py-md-0 { + padding-top: 0 !important; } + body:lang(fa) .pr-md-0, + body:lang(fa) .px-md-0, + body:lang(ar) .pr-md-0, + body:lang(ar) .px-md-0, + body:lang(az) .pr-md-0, + body:lang(az) .px-md-0, + body:lang(dv) .pr-md-0, + body:lang(dv) .px-md-0, + body:lang(he) .pr-md-0, + body:lang(he) .px-md-0, + body:lang(ku) .pr-md-0, + body:lang(ku) .px-md-0, + body:lang(ur) .pr-md-0, + body:lang(ur) .px-md-0 { + padding-inline-end: 0 !important; } + body:lang(fa) .pb-md-0, + body:lang(fa) .py-md-0, + body:lang(ar) .pb-md-0, + body:lang(ar) .py-md-0, + body:lang(az) .pb-md-0, + body:lang(az) .py-md-0, + body:lang(dv) .pb-md-0, + body:lang(dv) .py-md-0, + body:lang(he) .pb-md-0, + body:lang(he) .py-md-0, + body:lang(ku) .pb-md-0, + body:lang(ku) .py-md-0, + body:lang(ur) .pb-md-0, + body:lang(ur) .py-md-0 { + padding-bottom: 0 !important; } + body:lang(fa) .pl-md-0, + body:lang(fa) .px-md-0, + body:lang(ar) .pl-md-0, + body:lang(ar) .px-md-0, + body:lang(az) .pl-md-0, + body:lang(az) .px-md-0, + body:lang(dv) .pl-md-0, + body:lang(dv) .px-md-0, + body:lang(he) .pl-md-0, + body:lang(he) .px-md-0, + body:lang(ku) .pl-md-0, + body:lang(ku) .px-md-0, + body:lang(ur) .pl-md-0, + body:lang(ur) .px-md-0 { + padding-inline-start: 0 !important; } + body:lang(fa) .p-md-1, + body:lang(ar) .p-md-1, + body:lang(az) .p-md-1, + body:lang(dv) .p-md-1, + body:lang(he) .p-md-1, + body:lang(ku) .p-md-1, + body:lang(ur) .p-md-1 { + padding: 0.25rem !important; } + body:lang(fa) .pt-md-1, + body:lang(fa) .py-md-1, + body:lang(ar) .pt-md-1, + body:lang(ar) .py-md-1, + body:lang(az) .pt-md-1, + body:lang(az) .py-md-1, + body:lang(dv) .pt-md-1, + body:lang(dv) .py-md-1, + body:lang(he) .pt-md-1, + body:lang(he) .py-md-1, + body:lang(ku) .pt-md-1, + body:lang(ku) .py-md-1, + body:lang(ur) .pt-md-1, + body:lang(ur) .py-md-1 { + padding-top: 0.25rem !important; } + body:lang(fa) .pr-md-1, + body:lang(fa) .px-md-1, + body:lang(ar) .pr-md-1, + body:lang(ar) .px-md-1, + body:lang(az) .pr-md-1, + body:lang(az) .px-md-1, + body:lang(dv) .pr-md-1, + body:lang(dv) .px-md-1, + body:lang(he) .pr-md-1, + body:lang(he) .px-md-1, + body:lang(ku) .pr-md-1, + body:lang(ku) .px-md-1, + body:lang(ur) .pr-md-1, + body:lang(ur) .px-md-1 { + padding-inline-end: 0.25rem !important; } + body:lang(fa) .pb-md-1, + body:lang(fa) .py-md-1, + body:lang(ar) .pb-md-1, + body:lang(ar) .py-md-1, + body:lang(az) .pb-md-1, + body:lang(az) .py-md-1, + body:lang(dv) .pb-md-1, + body:lang(dv) .py-md-1, + body:lang(he) .pb-md-1, + body:lang(he) .py-md-1, + body:lang(ku) .pb-md-1, + body:lang(ku) .py-md-1, + body:lang(ur) .pb-md-1, + body:lang(ur) .py-md-1 { + padding-bottom: 0.25rem !important; } + body:lang(fa) .pl-md-1, + body:lang(fa) .px-md-1, + body:lang(ar) .pl-md-1, + body:lang(ar) .px-md-1, + body:lang(az) .pl-md-1, + body:lang(az) .px-md-1, + body:lang(dv) .pl-md-1, + body:lang(dv) .px-md-1, + body:lang(he) .pl-md-1, + body:lang(he) .px-md-1, + body:lang(ku) .pl-md-1, + body:lang(ku) .px-md-1, + body:lang(ur) .pl-md-1, + body:lang(ur) .px-md-1 { + padding-inline-start: 0.25rem !important; } + body:lang(fa) .p-md-2, + body:lang(ar) .p-md-2, + body:lang(az) .p-md-2, + body:lang(dv) .p-md-2, + body:lang(he) .p-md-2, + body:lang(ku) .p-md-2, + body:lang(ur) .p-md-2 { + padding: 0.5rem !important; } + body:lang(fa) .pt-md-2, + body:lang(fa) .py-md-2, + body:lang(ar) .pt-md-2, + body:lang(ar) .py-md-2, + body:lang(az) .pt-md-2, + body:lang(az) .py-md-2, + body:lang(dv) .pt-md-2, + body:lang(dv) .py-md-2, + body:lang(he) .pt-md-2, + body:lang(he) .py-md-2, + body:lang(ku) .pt-md-2, + body:lang(ku) .py-md-2, + body:lang(ur) .pt-md-2, + body:lang(ur) .py-md-2 { + padding-top: 0.5rem !important; } + body:lang(fa) .pr-md-2, + body:lang(fa) .px-md-2, + body:lang(ar) .pr-md-2, + body:lang(ar) .px-md-2, + body:lang(az) .pr-md-2, + body:lang(az) .px-md-2, + body:lang(dv) .pr-md-2, + body:lang(dv) .px-md-2, + body:lang(he) .pr-md-2, + body:lang(he) .px-md-2, + body:lang(ku) .pr-md-2, + body:lang(ku) .px-md-2, + body:lang(ur) .pr-md-2, + body:lang(ur) .px-md-2 { + padding-inline-end: 0.5rem !important; } + body:lang(fa) .pb-md-2, + body:lang(fa) .py-md-2, + body:lang(ar) .pb-md-2, + body:lang(ar) .py-md-2, + body:lang(az) .pb-md-2, + body:lang(az) .py-md-2, + body:lang(dv) .pb-md-2, + body:lang(dv) .py-md-2, + body:lang(he) .pb-md-2, + body:lang(he) .py-md-2, + body:lang(ku) .pb-md-2, + body:lang(ku) .py-md-2, + body:lang(ur) .pb-md-2, + body:lang(ur) .py-md-2 { + padding-bottom: 0.5rem !important; } + body:lang(fa) .pl-md-2, + body:lang(fa) .px-md-2, + body:lang(ar) .pl-md-2, + body:lang(ar) .px-md-2, + body:lang(az) .pl-md-2, + body:lang(az) .px-md-2, + body:lang(dv) .pl-md-2, + body:lang(dv) .px-md-2, + body:lang(he) .pl-md-2, + body:lang(he) .px-md-2, + body:lang(ku) .pl-md-2, + body:lang(ku) .px-md-2, + body:lang(ur) .pl-md-2, + body:lang(ur) .px-md-2 { + padding-inline-start: 0.5rem !important; } + body:lang(fa) .p-md-3, + body:lang(ar) .p-md-3, + body:lang(az) .p-md-3, + body:lang(dv) .p-md-3, + body:lang(he) .p-md-3, + body:lang(ku) .p-md-3, + body:lang(ur) .p-md-3 { + padding: 1rem !important; } + body:lang(fa) .pt-md-3, + body:lang(fa) .py-md-3, + body:lang(ar) .pt-md-3, + body:lang(ar) .py-md-3, + body:lang(az) .pt-md-3, + body:lang(az) .py-md-3, + body:lang(dv) .pt-md-3, + body:lang(dv) .py-md-3, + body:lang(he) .pt-md-3, + body:lang(he) .py-md-3, + body:lang(ku) .pt-md-3, + body:lang(ku) .py-md-3, + body:lang(ur) .pt-md-3, + body:lang(ur) .py-md-3 { + padding-top: 1rem !important; } + body:lang(fa) .pr-md-3, + body:lang(fa) .px-md-3, + body:lang(ar) .pr-md-3, + body:lang(ar) .px-md-3, + body:lang(az) .pr-md-3, + body:lang(az) .px-md-3, + body:lang(dv) .pr-md-3, + body:lang(dv) .px-md-3, + body:lang(he) .pr-md-3, + body:lang(he) .px-md-3, + body:lang(ku) .pr-md-3, + body:lang(ku) .px-md-3, + body:lang(ur) .pr-md-3, + body:lang(ur) .px-md-3 { + padding-inline-end: 1rem !important; } + body:lang(fa) .pb-md-3, + body:lang(fa) .py-md-3, + body:lang(ar) .pb-md-3, + body:lang(ar) .py-md-3, + body:lang(az) .pb-md-3, + body:lang(az) .py-md-3, + body:lang(dv) .pb-md-3, + body:lang(dv) .py-md-3, + body:lang(he) .pb-md-3, + body:lang(he) .py-md-3, + body:lang(ku) .pb-md-3, + body:lang(ku) .py-md-3, + body:lang(ur) .pb-md-3, + body:lang(ur) .py-md-3 { + padding-bottom: 1rem !important; } + body:lang(fa) .pl-md-3, + body:lang(fa) .px-md-3, + body:lang(ar) .pl-md-3, + body:lang(ar) .px-md-3, + body:lang(az) .pl-md-3, + body:lang(az) .px-md-3, + body:lang(dv) .pl-md-3, + body:lang(dv) .px-md-3, + body:lang(he) .pl-md-3, + body:lang(he) .px-md-3, + body:lang(ku) .pl-md-3, + body:lang(ku) .px-md-3, + body:lang(ur) .pl-md-3, + body:lang(ur) .px-md-3 { + padding-inline-start: 1rem !important; } + body:lang(fa) .p-md-4, + body:lang(ar) .p-md-4, + body:lang(az) .p-md-4, + body:lang(dv) .p-md-4, + body:lang(he) .p-md-4, + body:lang(ku) .p-md-4, + body:lang(ur) .p-md-4 { + padding: 1.5rem !important; } + body:lang(fa) .pt-md-4, + body:lang(fa) .py-md-4, + body:lang(ar) .pt-md-4, + body:lang(ar) .py-md-4, + body:lang(az) .pt-md-4, + body:lang(az) .py-md-4, + body:lang(dv) .pt-md-4, + body:lang(dv) .py-md-4, + body:lang(he) .pt-md-4, + body:lang(he) .py-md-4, + body:lang(ku) .pt-md-4, + body:lang(ku) .py-md-4, + body:lang(ur) .pt-md-4, + body:lang(ur) .py-md-4 { + padding-top: 1.5rem !important; } + body:lang(fa) .pr-md-4, + body:lang(fa) .px-md-4, + body:lang(ar) .pr-md-4, + body:lang(ar) .px-md-4, + body:lang(az) .pr-md-4, + body:lang(az) .px-md-4, + body:lang(dv) .pr-md-4, + body:lang(dv) .px-md-4, + body:lang(he) .pr-md-4, + body:lang(he) .px-md-4, + body:lang(ku) .pr-md-4, + body:lang(ku) .px-md-4, + body:lang(ur) .pr-md-4, + body:lang(ur) .px-md-4 { + padding-inline-end: 1.5rem !important; } + body:lang(fa) .pb-md-4, + body:lang(fa) .py-md-4, + body:lang(ar) .pb-md-4, + body:lang(ar) .py-md-4, + body:lang(az) .pb-md-4, + body:lang(az) .py-md-4, + body:lang(dv) .pb-md-4, + body:lang(dv) .py-md-4, + body:lang(he) .pb-md-4, + body:lang(he) .py-md-4, + body:lang(ku) .pb-md-4, + body:lang(ku) .py-md-4, + body:lang(ur) .pb-md-4, + body:lang(ur) .py-md-4 { + padding-bottom: 1.5rem !important; } + body:lang(fa) .pl-md-4, + body:lang(fa) .px-md-4, + body:lang(ar) .pl-md-4, + body:lang(ar) .px-md-4, + body:lang(az) .pl-md-4, + body:lang(az) .px-md-4, + body:lang(dv) .pl-md-4, + body:lang(dv) .px-md-4, + body:lang(he) .pl-md-4, + body:lang(he) .px-md-4, + body:lang(ku) .pl-md-4, + body:lang(ku) .px-md-4, + body:lang(ur) .pl-md-4, + body:lang(ur) .px-md-4 { + padding-inline-start: 1.5rem !important; } + body:lang(fa) .p-md-5, + body:lang(ar) .p-md-5, + body:lang(az) .p-md-5, + body:lang(dv) .p-md-5, + body:lang(he) .p-md-5, + body:lang(ku) .p-md-5, + body:lang(ur) .p-md-5 { + padding: 3rem !important; } + body:lang(fa) .pt-md-5, + body:lang(fa) .py-md-5, + body:lang(ar) .pt-md-5, + body:lang(ar) .py-md-5, + body:lang(az) .pt-md-5, + body:lang(az) .py-md-5, + body:lang(dv) .pt-md-5, + body:lang(dv) .py-md-5, + body:lang(he) .pt-md-5, + body:lang(he) .py-md-5, + body:lang(ku) .pt-md-5, + body:lang(ku) .py-md-5, + body:lang(ur) .pt-md-5, + body:lang(ur) .py-md-5 { + padding-top: 3rem !important; } + body:lang(fa) .pr-md-5, + body:lang(fa) .px-md-5, + body:lang(ar) .pr-md-5, + body:lang(ar) .px-md-5, + body:lang(az) .pr-md-5, + body:lang(az) .px-md-5, + body:lang(dv) .pr-md-5, + body:lang(dv) .px-md-5, + body:lang(he) .pr-md-5, + body:lang(he) .px-md-5, + body:lang(ku) .pr-md-5, + body:lang(ku) .px-md-5, + body:lang(ur) .pr-md-5, + body:lang(ur) .px-md-5 { + padding-inline-end: 3rem !important; } + body:lang(fa) .pb-md-5, + body:lang(fa) .py-md-5, + body:lang(ar) .pb-md-5, + body:lang(ar) .py-md-5, + body:lang(az) .pb-md-5, + body:lang(az) .py-md-5, + body:lang(dv) .pb-md-5, + body:lang(dv) .py-md-5, + body:lang(he) .pb-md-5, + body:lang(he) .py-md-5, + body:lang(ku) .pb-md-5, + body:lang(ku) .py-md-5, + body:lang(ur) .pb-md-5, + body:lang(ur) .py-md-5 { + padding-bottom: 3rem !important; } + body:lang(fa) .pl-md-5, + body:lang(fa) .px-md-5, + body:lang(ar) .pl-md-5, + body:lang(ar) .px-md-5, + body:lang(az) .pl-md-5, + body:lang(az) .px-md-5, + body:lang(dv) .pl-md-5, + body:lang(dv) .px-md-5, + body:lang(he) .pl-md-5, + body:lang(he) .px-md-5, + body:lang(ku) .pl-md-5, + body:lang(ku) .px-md-5, + body:lang(ur) .pl-md-5, + body:lang(ur) .px-md-5 { + padding-inline-start: 3rem !important; } + body:lang(fa) .m-md-n1, + body:lang(ar) .m-md-n1, + body:lang(az) .m-md-n1, + body:lang(dv) .m-md-n1, + body:lang(he) .m-md-n1, + body:lang(ku) .m-md-n1, + body:lang(ur) .m-md-n1 { + margin: -0.25rem !important; } + body:lang(fa) .mt-md-n1, + body:lang(fa) .my-md-n1, + body:lang(ar) .mt-md-n1, + body:lang(ar) .my-md-n1, + body:lang(az) .mt-md-n1, + body:lang(az) .my-md-n1, + body:lang(dv) .mt-md-n1, + body:lang(dv) .my-md-n1, + body:lang(he) .mt-md-n1, + body:lang(he) .my-md-n1, + body:lang(ku) .mt-md-n1, + body:lang(ku) .my-md-n1, + body:lang(ur) .mt-md-n1, + body:lang(ur) .my-md-n1 { + margin-top: -0.25rem !important; } + body:lang(fa) .mr-md-n1, + body:lang(fa) .mx-md-n1, + body:lang(ar) .mr-md-n1, + body:lang(ar) .mx-md-n1, + body:lang(az) .mr-md-n1, + body:lang(az) .mx-md-n1, + body:lang(dv) .mr-md-n1, + body:lang(dv) .mx-md-n1, + body:lang(he) .mr-md-n1, + body:lang(he) .mx-md-n1, + body:lang(ku) .mr-md-n1, + body:lang(ku) .mx-md-n1, + body:lang(ur) .mr-md-n1, + body:lang(ur) .mx-md-n1 { + margin-right: -0.25rem !important; } + body:lang(fa) .mb-md-n1, + body:lang(fa) .my-md-n1, + body:lang(ar) .mb-md-n1, + body:lang(ar) .my-md-n1, + body:lang(az) .mb-md-n1, + body:lang(az) .my-md-n1, + body:lang(dv) .mb-md-n1, + body:lang(dv) .my-md-n1, + body:lang(he) .mb-md-n1, + body:lang(he) .my-md-n1, + body:lang(ku) .mb-md-n1, + body:lang(ku) .my-md-n1, + body:lang(ur) .mb-md-n1, + body:lang(ur) .my-md-n1 { + margin-bottom: -0.25rem !important; } + body:lang(fa) .ml-md-n1, + body:lang(fa) .mx-md-n1, + body:lang(ar) .ml-md-n1, + body:lang(ar) .mx-md-n1, + body:lang(az) .ml-md-n1, + body:lang(az) .mx-md-n1, + body:lang(dv) .ml-md-n1, + body:lang(dv) .mx-md-n1, + body:lang(he) .ml-md-n1, + body:lang(he) .mx-md-n1, + body:lang(ku) .ml-md-n1, + body:lang(ku) .mx-md-n1, + body:lang(ur) .ml-md-n1, + body:lang(ur) .mx-md-n1 { + margin-left: -0.25rem !important; } + body:lang(fa) .m-md-n2, + body:lang(ar) .m-md-n2, + body:lang(az) .m-md-n2, + body:lang(dv) .m-md-n2, + body:lang(he) .m-md-n2, + body:lang(ku) .m-md-n2, + body:lang(ur) .m-md-n2 { + margin: -0.5rem !important; } + body:lang(fa) .mt-md-n2, + body:lang(fa) .my-md-n2, + body:lang(ar) .mt-md-n2, + body:lang(ar) .my-md-n2, + body:lang(az) .mt-md-n2, + body:lang(az) .my-md-n2, + body:lang(dv) .mt-md-n2, + body:lang(dv) .my-md-n2, + body:lang(he) .mt-md-n2, + body:lang(he) .my-md-n2, + body:lang(ku) .mt-md-n2, + body:lang(ku) .my-md-n2, + body:lang(ur) .mt-md-n2, + body:lang(ur) .my-md-n2 { + margin-top: -0.5rem !important; } + body:lang(fa) .mr-md-n2, + body:lang(fa) .mx-md-n2, + body:lang(ar) .mr-md-n2, + body:lang(ar) .mx-md-n2, + body:lang(az) .mr-md-n2, + body:lang(az) .mx-md-n2, + body:lang(dv) .mr-md-n2, + body:lang(dv) .mx-md-n2, + body:lang(he) .mr-md-n2, + body:lang(he) .mx-md-n2, + body:lang(ku) .mr-md-n2, + body:lang(ku) .mx-md-n2, + body:lang(ur) .mr-md-n2, + body:lang(ur) .mx-md-n2 { + margin-right: -0.5rem !important; } + body:lang(fa) .mb-md-n2, + body:lang(fa) .my-md-n2, + body:lang(ar) .mb-md-n2, + body:lang(ar) .my-md-n2, + body:lang(az) .mb-md-n2, + body:lang(az) .my-md-n2, + body:lang(dv) .mb-md-n2, + body:lang(dv) .my-md-n2, + body:lang(he) .mb-md-n2, + body:lang(he) .my-md-n2, + body:lang(ku) .mb-md-n2, + body:lang(ku) .my-md-n2, + body:lang(ur) .mb-md-n2, + body:lang(ur) .my-md-n2 { + margin-bottom: -0.5rem !important; } + body:lang(fa) .ml-md-n2, + body:lang(fa) .mx-md-n2, + body:lang(ar) .ml-md-n2, + body:lang(ar) .mx-md-n2, + body:lang(az) .ml-md-n2, + body:lang(az) .mx-md-n2, + body:lang(dv) .ml-md-n2, + body:lang(dv) .mx-md-n2, + body:lang(he) .ml-md-n2, + body:lang(he) .mx-md-n2, + body:lang(ku) .ml-md-n2, + body:lang(ku) .mx-md-n2, + body:lang(ur) .ml-md-n2, + body:lang(ur) .mx-md-n2 { + margin-left: -0.5rem !important; } + body:lang(fa) .m-md-n3, + body:lang(ar) .m-md-n3, + body:lang(az) .m-md-n3, + body:lang(dv) .m-md-n3, + body:lang(he) .m-md-n3, + body:lang(ku) .m-md-n3, + body:lang(ur) .m-md-n3 { + margin: -1rem !important; } + body:lang(fa) .mt-md-n3, + body:lang(fa) .my-md-n3, + body:lang(ar) .mt-md-n3, + body:lang(ar) .my-md-n3, + body:lang(az) .mt-md-n3, + body:lang(az) .my-md-n3, + body:lang(dv) .mt-md-n3, + body:lang(dv) .my-md-n3, + body:lang(he) .mt-md-n3, + body:lang(he) .my-md-n3, + body:lang(ku) .mt-md-n3, + body:lang(ku) .my-md-n3, + body:lang(ur) .mt-md-n3, + body:lang(ur) .my-md-n3 { + margin-top: -1rem !important; } + body:lang(fa) .mr-md-n3, + body:lang(fa) .mx-md-n3, + body:lang(ar) .mr-md-n3, + body:lang(ar) .mx-md-n3, + body:lang(az) .mr-md-n3, + body:lang(az) .mx-md-n3, + body:lang(dv) .mr-md-n3, + body:lang(dv) .mx-md-n3, + body:lang(he) .mr-md-n3, + body:lang(he) .mx-md-n3, + body:lang(ku) .mr-md-n3, + body:lang(ku) .mx-md-n3, + body:lang(ur) .mr-md-n3, + body:lang(ur) .mx-md-n3 { + margin-right: -1rem !important; } + body:lang(fa) .mb-md-n3, + body:lang(fa) .my-md-n3, + body:lang(ar) .mb-md-n3, + body:lang(ar) .my-md-n3, + body:lang(az) .mb-md-n3, + body:lang(az) .my-md-n3, + body:lang(dv) .mb-md-n3, + body:lang(dv) .my-md-n3, + body:lang(he) .mb-md-n3, + body:lang(he) .my-md-n3, + body:lang(ku) .mb-md-n3, + body:lang(ku) .my-md-n3, + body:lang(ur) .mb-md-n3, + body:lang(ur) .my-md-n3 { + margin-bottom: -1rem !important; } + body:lang(fa) .ml-md-n3, + body:lang(fa) .mx-md-n3, + body:lang(ar) .ml-md-n3, + body:lang(ar) .mx-md-n3, + body:lang(az) .ml-md-n3, + body:lang(az) .mx-md-n3, + body:lang(dv) .ml-md-n3, + body:lang(dv) .mx-md-n3, + body:lang(he) .ml-md-n3, + body:lang(he) .mx-md-n3, + body:lang(ku) .ml-md-n3, + body:lang(ku) .mx-md-n3, + body:lang(ur) .ml-md-n3, + body:lang(ur) .mx-md-n3 { + margin-left: -1rem !important; } + body:lang(fa) .m-md-n4, + body:lang(ar) .m-md-n4, + body:lang(az) .m-md-n4, + body:lang(dv) .m-md-n4, + body:lang(he) .m-md-n4, + body:lang(ku) .m-md-n4, + body:lang(ur) .m-md-n4 { + margin: -1.5rem !important; } + body:lang(fa) .mt-md-n4, + body:lang(fa) .my-md-n4, + body:lang(ar) .mt-md-n4, + body:lang(ar) .my-md-n4, + body:lang(az) .mt-md-n4, + body:lang(az) .my-md-n4, + body:lang(dv) .mt-md-n4, + body:lang(dv) .my-md-n4, + body:lang(he) .mt-md-n4, + body:lang(he) .my-md-n4, + body:lang(ku) .mt-md-n4, + body:lang(ku) .my-md-n4, + body:lang(ur) .mt-md-n4, + body:lang(ur) .my-md-n4 { + margin-top: -1.5rem !important; } + body:lang(fa) .mr-md-n4, + body:lang(fa) .mx-md-n4, + body:lang(ar) .mr-md-n4, + body:lang(ar) .mx-md-n4, + body:lang(az) .mr-md-n4, + body:lang(az) .mx-md-n4, + body:lang(dv) .mr-md-n4, + body:lang(dv) .mx-md-n4, + body:lang(he) .mr-md-n4, + body:lang(he) .mx-md-n4, + body:lang(ku) .mr-md-n4, + body:lang(ku) .mx-md-n4, + body:lang(ur) .mr-md-n4, + body:lang(ur) .mx-md-n4 { + margin-right: -1.5rem !important; } + body:lang(fa) .mb-md-n4, + body:lang(fa) .my-md-n4, + body:lang(ar) .mb-md-n4, + body:lang(ar) .my-md-n4, + body:lang(az) .mb-md-n4, + body:lang(az) .my-md-n4, + body:lang(dv) .mb-md-n4, + body:lang(dv) .my-md-n4, + body:lang(he) .mb-md-n4, + body:lang(he) .my-md-n4, + body:lang(ku) .mb-md-n4, + body:lang(ku) .my-md-n4, + body:lang(ur) .mb-md-n4, + body:lang(ur) .my-md-n4 { + margin-bottom: -1.5rem !important; } + body:lang(fa) .ml-md-n4, + body:lang(fa) .mx-md-n4, + body:lang(ar) .ml-md-n4, + body:lang(ar) .mx-md-n4, + body:lang(az) .ml-md-n4, + body:lang(az) .mx-md-n4, + body:lang(dv) .ml-md-n4, + body:lang(dv) .mx-md-n4, + body:lang(he) .ml-md-n4, + body:lang(he) .mx-md-n4, + body:lang(ku) .ml-md-n4, + body:lang(ku) .mx-md-n4, + body:lang(ur) .ml-md-n4, + body:lang(ur) .mx-md-n4 { + margin-left: -1.5rem !important; } + body:lang(fa) .m-md-n5, + body:lang(ar) .m-md-n5, + body:lang(az) .m-md-n5, + body:lang(dv) .m-md-n5, + body:lang(he) .m-md-n5, + body:lang(ku) .m-md-n5, + body:lang(ur) .m-md-n5 { + margin: -3rem !important; } + body:lang(fa) .mt-md-n5, + body:lang(fa) .my-md-n5, + body:lang(ar) .mt-md-n5, + body:lang(ar) .my-md-n5, + body:lang(az) .mt-md-n5, + body:lang(az) .my-md-n5, + body:lang(dv) .mt-md-n5, + body:lang(dv) .my-md-n5, + body:lang(he) .mt-md-n5, + body:lang(he) .my-md-n5, + body:lang(ku) .mt-md-n5, + body:lang(ku) .my-md-n5, + body:lang(ur) .mt-md-n5, + body:lang(ur) .my-md-n5 { + margin-top: -3rem !important; } + body:lang(fa) .mr-md-n5, + body:lang(fa) .mx-md-n5, + body:lang(ar) .mr-md-n5, + body:lang(ar) .mx-md-n5, + body:lang(az) .mr-md-n5, + body:lang(az) .mx-md-n5, + body:lang(dv) .mr-md-n5, + body:lang(dv) .mx-md-n5, + body:lang(he) .mr-md-n5, + body:lang(he) .mx-md-n5, + body:lang(ku) .mr-md-n5, + body:lang(ku) .mx-md-n5, + body:lang(ur) .mr-md-n5, + body:lang(ur) .mx-md-n5 { + margin-right: -3rem !important; } + body:lang(fa) .mb-md-n5, + body:lang(fa) .my-md-n5, + body:lang(ar) .mb-md-n5, + body:lang(ar) .my-md-n5, + body:lang(az) .mb-md-n5, + body:lang(az) .my-md-n5, + body:lang(dv) .mb-md-n5, + body:lang(dv) .my-md-n5, + body:lang(he) .mb-md-n5, + body:lang(he) .my-md-n5, + body:lang(ku) .mb-md-n5, + body:lang(ku) .my-md-n5, + body:lang(ur) .mb-md-n5, + body:lang(ur) .my-md-n5 { + margin-bottom: -3rem !important; } + body:lang(fa) .ml-md-n5, + body:lang(fa) .mx-md-n5, + body:lang(ar) .ml-md-n5, + body:lang(ar) .mx-md-n5, + body:lang(az) .ml-md-n5, + body:lang(az) .mx-md-n5, + body:lang(dv) .ml-md-n5, + body:lang(dv) .mx-md-n5, + body:lang(he) .ml-md-n5, + body:lang(he) .mx-md-n5, + body:lang(ku) .ml-md-n5, + body:lang(ku) .mx-md-n5, + body:lang(ur) .ml-md-n5, + body:lang(ur) .mx-md-n5 { + margin-left: -3rem !important; } + body:lang(fa) .m-md-auto, + body:lang(ar) .m-md-auto, + body:lang(az) .m-md-auto, + body:lang(dv) .m-md-auto, + body:lang(he) .m-md-auto, + body:lang(ku) .m-md-auto, + body:lang(ur) .m-md-auto { + margin: auto !important; } + body:lang(fa) .mt-md-auto, + body:lang(fa) .my-md-auto, + body:lang(ar) .mt-md-auto, + body:lang(ar) .my-md-auto, + body:lang(az) .mt-md-auto, + body:lang(az) .my-md-auto, + body:lang(dv) .mt-md-auto, + body:lang(dv) .my-md-auto, + body:lang(he) .mt-md-auto, + body:lang(he) .my-md-auto, + body:lang(ku) .mt-md-auto, + body:lang(ku) .my-md-auto, + body:lang(ur) .mt-md-auto, + body:lang(ur) .my-md-auto { + margin-top: auto !important; } + body:lang(fa) .mr-md-auto, + body:lang(fa) .mx-md-auto, + body:lang(ar) .mr-md-auto, + body:lang(ar) .mx-md-auto, + body:lang(az) .mr-md-auto, + body:lang(az) .mx-md-auto, + body:lang(dv) .mr-md-auto, + body:lang(dv) .mx-md-auto, + body:lang(he) .mr-md-auto, + body:lang(he) .mx-md-auto, + body:lang(ku) .mr-md-auto, + body:lang(ku) .mx-md-auto, + body:lang(ur) .mr-md-auto, + body:lang(ur) .mx-md-auto { + margin-right: auto !important; } + body:lang(fa) .mb-md-auto, + body:lang(fa) .my-md-auto, + body:lang(ar) .mb-md-auto, + body:lang(ar) .my-md-auto, + body:lang(az) .mb-md-auto, + body:lang(az) .my-md-auto, + body:lang(dv) .mb-md-auto, + body:lang(dv) .my-md-auto, + body:lang(he) .mb-md-auto, + body:lang(he) .my-md-auto, + body:lang(ku) .mb-md-auto, + body:lang(ku) .my-md-auto, + body:lang(ur) .mb-md-auto, + body:lang(ur) .my-md-auto { + margin-bottom: auto !important; } + body:lang(fa) .ml-md-auto, + body:lang(fa) .mx-md-auto, + body:lang(ar) .ml-md-auto, + body:lang(ar) .mx-md-auto, + body:lang(az) .ml-md-auto, + body:lang(az) .mx-md-auto, + body:lang(dv) .ml-md-auto, + body:lang(dv) .mx-md-auto, + body:lang(he) .ml-md-auto, + body:lang(he) .mx-md-auto, + body:lang(ku) .ml-md-auto, + body:lang(ku) .mx-md-auto, + body:lang(ur) .ml-md-auto, + body:lang(ur) .mx-md-auto { + margin-left: auto !important; } } + @media (min-width: 992px) { + body:lang(fa) .m-lg-0, + body:lang(ar) .m-lg-0, + body:lang(az) .m-lg-0, + body:lang(dv) .m-lg-0, + body:lang(he) .m-lg-0, + body:lang(ku) .m-lg-0, + body:lang(ur) .m-lg-0 { + margin: 0 !important; } + body:lang(fa) .mt-lg-0, + body:lang(fa) .my-lg-0, + body:lang(ar) .mt-lg-0, + body:lang(ar) .my-lg-0, + body:lang(az) .mt-lg-0, + body:lang(az) .my-lg-0, + body:lang(dv) .mt-lg-0, + body:lang(dv) .my-lg-0, + body:lang(he) .mt-lg-0, + body:lang(he) .my-lg-0, + body:lang(ku) .mt-lg-0, + body:lang(ku) .my-lg-0, + body:lang(ur) .mt-lg-0, + body:lang(ur) .my-lg-0 { + margin-top: 0 !important; } + body:lang(fa) .mr-lg-0, + body:lang(fa) .mx-lg-0, + body:lang(ar) .mr-lg-0, + body:lang(ar) .mx-lg-0, + body:lang(az) .mr-lg-0, + body:lang(az) .mx-lg-0, + body:lang(dv) .mr-lg-0, + body:lang(dv) .mx-lg-0, + body:lang(he) .mr-lg-0, + body:lang(he) .mx-lg-0, + body:lang(ku) .mr-lg-0, + body:lang(ku) .mx-lg-0, + body:lang(ur) .mr-lg-0, + body:lang(ur) .mx-lg-0 { + margin-inline-end: 0 !important; } + body:lang(fa) .mb-lg-0, + body:lang(fa) .my-lg-0, + body:lang(ar) .mb-lg-0, + body:lang(ar) .my-lg-0, + body:lang(az) .mb-lg-0, + body:lang(az) .my-lg-0, + body:lang(dv) .mb-lg-0, + body:lang(dv) .my-lg-0, + body:lang(he) .mb-lg-0, + body:lang(he) .my-lg-0, + body:lang(ku) .mb-lg-0, + body:lang(ku) .my-lg-0, + body:lang(ur) .mb-lg-0, + body:lang(ur) .my-lg-0 { + margin-bottom: 0 !important; } + body:lang(fa) .ml-lg-0, + body:lang(fa) .mx-lg-0, + body:lang(ar) .ml-lg-0, + body:lang(ar) .mx-lg-0, + body:lang(az) .ml-lg-0, + body:lang(az) .mx-lg-0, + body:lang(dv) .ml-lg-0, + body:lang(dv) .mx-lg-0, + body:lang(he) .ml-lg-0, + body:lang(he) .mx-lg-0, + body:lang(ku) .ml-lg-0, + body:lang(ku) .mx-lg-0, + body:lang(ur) .ml-lg-0, + body:lang(ur) .mx-lg-0 { + margin-inline-start: 0 !important; } + body:lang(fa) .m-lg-1, + body:lang(ar) .m-lg-1, + body:lang(az) .m-lg-1, + body:lang(dv) .m-lg-1, + body:lang(he) .m-lg-1, + body:lang(ku) .m-lg-1, + body:lang(ur) .m-lg-1 { + margin: 0.25rem !important; } + body:lang(fa) .mt-lg-1, + body:lang(fa) .my-lg-1, + body:lang(ar) .mt-lg-1, + body:lang(ar) .my-lg-1, + body:lang(az) .mt-lg-1, + body:lang(az) .my-lg-1, + body:lang(dv) .mt-lg-1, + body:lang(dv) .my-lg-1, + body:lang(he) .mt-lg-1, + body:lang(he) .my-lg-1, + body:lang(ku) .mt-lg-1, + body:lang(ku) .my-lg-1, + body:lang(ur) .mt-lg-1, + body:lang(ur) .my-lg-1 { + margin-top: 0.25rem !important; } + body:lang(fa) .mr-lg-1, + body:lang(fa) .mx-lg-1, + body:lang(ar) .mr-lg-1, + body:lang(ar) .mx-lg-1, + body:lang(az) .mr-lg-1, + body:lang(az) .mx-lg-1, + body:lang(dv) .mr-lg-1, + body:lang(dv) .mx-lg-1, + body:lang(he) .mr-lg-1, + body:lang(he) .mx-lg-1, + body:lang(ku) .mr-lg-1, + body:lang(ku) .mx-lg-1, + body:lang(ur) .mr-lg-1, + body:lang(ur) .mx-lg-1 { + margin-inline-end: 0.25rem !important; } + body:lang(fa) .mb-lg-1, + body:lang(fa) .my-lg-1, + body:lang(ar) .mb-lg-1, + body:lang(ar) .my-lg-1, + body:lang(az) .mb-lg-1, + body:lang(az) .my-lg-1, + body:lang(dv) .mb-lg-1, + body:lang(dv) .my-lg-1, + body:lang(he) .mb-lg-1, + body:lang(he) .my-lg-1, + body:lang(ku) .mb-lg-1, + body:lang(ku) .my-lg-1, + body:lang(ur) .mb-lg-1, + body:lang(ur) .my-lg-1 { + margin-bottom: 0.25rem !important; } + body:lang(fa) .ml-lg-1, + body:lang(fa) .mx-lg-1, + body:lang(ar) .ml-lg-1, + body:lang(ar) .mx-lg-1, + body:lang(az) .ml-lg-1, + body:lang(az) .mx-lg-1, + body:lang(dv) .ml-lg-1, + body:lang(dv) .mx-lg-1, + body:lang(he) .ml-lg-1, + body:lang(he) .mx-lg-1, + body:lang(ku) .ml-lg-1, + body:lang(ku) .mx-lg-1, + body:lang(ur) .ml-lg-1, + body:lang(ur) .mx-lg-1 { + margin-inline-start: 0.25rem !important; } + body:lang(fa) .m-lg-2, + body:lang(ar) .m-lg-2, + body:lang(az) .m-lg-2, + body:lang(dv) .m-lg-2, + body:lang(he) .m-lg-2, + body:lang(ku) .m-lg-2, + body:lang(ur) .m-lg-2 { + margin: 0.5rem !important; } + body:lang(fa) .mt-lg-2, + body:lang(fa) .my-lg-2, + body:lang(ar) .mt-lg-2, + body:lang(ar) .my-lg-2, + body:lang(az) .mt-lg-2, + body:lang(az) .my-lg-2, + body:lang(dv) .mt-lg-2, + body:lang(dv) .my-lg-2, + body:lang(he) .mt-lg-2, + body:lang(he) .my-lg-2, + body:lang(ku) .mt-lg-2, + body:lang(ku) .my-lg-2, + body:lang(ur) .mt-lg-2, + body:lang(ur) .my-lg-2 { + margin-top: 0.5rem !important; } + body:lang(fa) .mr-lg-2, + body:lang(fa) .mx-lg-2, + body:lang(ar) .mr-lg-2, + body:lang(ar) .mx-lg-2, + body:lang(az) .mr-lg-2, + body:lang(az) .mx-lg-2, + body:lang(dv) .mr-lg-2, + body:lang(dv) .mx-lg-2, + body:lang(he) .mr-lg-2, + body:lang(he) .mx-lg-2, + body:lang(ku) .mr-lg-2, + body:lang(ku) .mx-lg-2, + body:lang(ur) .mr-lg-2, + body:lang(ur) .mx-lg-2 { + margin-inline-end: 0.5rem !important; } + body:lang(fa) .mb-lg-2, + body:lang(fa) .my-lg-2, + body:lang(ar) .mb-lg-2, + body:lang(ar) .my-lg-2, + body:lang(az) .mb-lg-2, + body:lang(az) .my-lg-2, + body:lang(dv) .mb-lg-2, + body:lang(dv) .my-lg-2, + body:lang(he) .mb-lg-2, + body:lang(he) .my-lg-2, + body:lang(ku) .mb-lg-2, + body:lang(ku) .my-lg-2, + body:lang(ur) .mb-lg-2, + body:lang(ur) .my-lg-2 { + margin-bottom: 0.5rem !important; } + body:lang(fa) .ml-lg-2, + body:lang(fa) .mx-lg-2, + body:lang(ar) .ml-lg-2, + body:lang(ar) .mx-lg-2, + body:lang(az) .ml-lg-2, + body:lang(az) .mx-lg-2, + body:lang(dv) .ml-lg-2, + body:lang(dv) .mx-lg-2, + body:lang(he) .ml-lg-2, + body:lang(he) .mx-lg-2, + body:lang(ku) .ml-lg-2, + body:lang(ku) .mx-lg-2, + body:lang(ur) .ml-lg-2, + body:lang(ur) .mx-lg-2 { + margin-inline-start: 0.5rem !important; } + body:lang(fa) .m-lg-3, + body:lang(ar) .m-lg-3, + body:lang(az) .m-lg-3, + body:lang(dv) .m-lg-3, + body:lang(he) .m-lg-3, + body:lang(ku) .m-lg-3, + body:lang(ur) .m-lg-3 { + margin: 1rem !important; } + body:lang(fa) .mt-lg-3, + body:lang(fa) .my-lg-3, + body:lang(ar) .mt-lg-3, + body:lang(ar) .my-lg-3, + body:lang(az) .mt-lg-3, + body:lang(az) .my-lg-3, + body:lang(dv) .mt-lg-3, + body:lang(dv) .my-lg-3, + body:lang(he) .mt-lg-3, + body:lang(he) .my-lg-3, + body:lang(ku) .mt-lg-3, + body:lang(ku) .my-lg-3, + body:lang(ur) .mt-lg-3, + body:lang(ur) .my-lg-3 { + margin-top: 1rem !important; } + body:lang(fa) .mr-lg-3, + body:lang(fa) .mx-lg-3, + body:lang(ar) .mr-lg-3, + body:lang(ar) .mx-lg-3, + body:lang(az) .mr-lg-3, + body:lang(az) .mx-lg-3, + body:lang(dv) .mr-lg-3, + body:lang(dv) .mx-lg-3, + body:lang(he) .mr-lg-3, + body:lang(he) .mx-lg-3, + body:lang(ku) .mr-lg-3, + body:lang(ku) .mx-lg-3, + body:lang(ur) .mr-lg-3, + body:lang(ur) .mx-lg-3 { + margin-inline-end: 1rem !important; } + body:lang(fa) .mb-lg-3, + body:lang(fa) .my-lg-3, + body:lang(ar) .mb-lg-3, + body:lang(ar) .my-lg-3, + body:lang(az) .mb-lg-3, + body:lang(az) .my-lg-3, + body:lang(dv) .mb-lg-3, + body:lang(dv) .my-lg-3, + body:lang(he) .mb-lg-3, + body:lang(he) .my-lg-3, + body:lang(ku) .mb-lg-3, + body:lang(ku) .my-lg-3, + body:lang(ur) .mb-lg-3, + body:lang(ur) .my-lg-3 { + margin-bottom: 1rem !important; } + body:lang(fa) .ml-lg-3, + body:lang(fa) .mx-lg-3, + body:lang(ar) .ml-lg-3, + body:lang(ar) .mx-lg-3, + body:lang(az) .ml-lg-3, + body:lang(az) .mx-lg-3, + body:lang(dv) .ml-lg-3, + body:lang(dv) .mx-lg-3, + body:lang(he) .ml-lg-3, + body:lang(he) .mx-lg-3, + body:lang(ku) .ml-lg-3, + body:lang(ku) .mx-lg-3, + body:lang(ur) .ml-lg-3, + body:lang(ur) .mx-lg-3 { + margin-inline-start: 1rem !important; } + body:lang(fa) .m-lg-4, + body:lang(ar) .m-lg-4, + body:lang(az) .m-lg-4, + body:lang(dv) .m-lg-4, + body:lang(he) .m-lg-4, + body:lang(ku) .m-lg-4, + body:lang(ur) .m-lg-4 { + margin: 1.5rem !important; } + body:lang(fa) .mt-lg-4, + body:lang(fa) .my-lg-4, + body:lang(ar) .mt-lg-4, + body:lang(ar) .my-lg-4, + body:lang(az) .mt-lg-4, + body:lang(az) .my-lg-4, + body:lang(dv) .mt-lg-4, + body:lang(dv) .my-lg-4, + body:lang(he) .mt-lg-4, + body:lang(he) .my-lg-4, + body:lang(ku) .mt-lg-4, + body:lang(ku) .my-lg-4, + body:lang(ur) .mt-lg-4, + body:lang(ur) .my-lg-4 { + margin-top: 1.5rem !important; } + body:lang(fa) .mr-lg-4, + body:lang(fa) .mx-lg-4, + body:lang(ar) .mr-lg-4, + body:lang(ar) .mx-lg-4, + body:lang(az) .mr-lg-4, + body:lang(az) .mx-lg-4, + body:lang(dv) .mr-lg-4, + body:lang(dv) .mx-lg-4, + body:lang(he) .mr-lg-4, + body:lang(he) .mx-lg-4, + body:lang(ku) .mr-lg-4, + body:lang(ku) .mx-lg-4, + body:lang(ur) .mr-lg-4, + body:lang(ur) .mx-lg-4 { + margin-inline-end: 1.5rem !important; } + body:lang(fa) .mb-lg-4, + body:lang(fa) .my-lg-4, + body:lang(ar) .mb-lg-4, + body:lang(ar) .my-lg-4, + body:lang(az) .mb-lg-4, + body:lang(az) .my-lg-4, + body:lang(dv) .mb-lg-4, + body:lang(dv) .my-lg-4, + body:lang(he) .mb-lg-4, + body:lang(he) .my-lg-4, + body:lang(ku) .mb-lg-4, + body:lang(ku) .my-lg-4, + body:lang(ur) .mb-lg-4, + body:lang(ur) .my-lg-4 { + margin-bottom: 1.5rem !important; } + body:lang(fa) .ml-lg-4, + body:lang(fa) .mx-lg-4, + body:lang(ar) .ml-lg-4, + body:lang(ar) .mx-lg-4, + body:lang(az) .ml-lg-4, + body:lang(az) .mx-lg-4, + body:lang(dv) .ml-lg-4, + body:lang(dv) .mx-lg-4, + body:lang(he) .ml-lg-4, + body:lang(he) .mx-lg-4, + body:lang(ku) .ml-lg-4, + body:lang(ku) .mx-lg-4, + body:lang(ur) .ml-lg-4, + body:lang(ur) .mx-lg-4 { + margin-inline-start: 1.5rem !important; } + body:lang(fa) .m-lg-5, + body:lang(ar) .m-lg-5, + body:lang(az) .m-lg-5, + body:lang(dv) .m-lg-5, + body:lang(he) .m-lg-5, + body:lang(ku) .m-lg-5, + body:lang(ur) .m-lg-5 { + margin: 3rem !important; } + body:lang(fa) .mt-lg-5, + body:lang(fa) .my-lg-5, + body:lang(ar) .mt-lg-5, + body:lang(ar) .my-lg-5, + body:lang(az) .mt-lg-5, + body:lang(az) .my-lg-5, + body:lang(dv) .mt-lg-5, + body:lang(dv) .my-lg-5, + body:lang(he) .mt-lg-5, + body:lang(he) .my-lg-5, + body:lang(ku) .mt-lg-5, + body:lang(ku) .my-lg-5, + body:lang(ur) .mt-lg-5, + body:lang(ur) .my-lg-5 { + margin-top: 3rem !important; } + body:lang(fa) .mr-lg-5, + body:lang(fa) .mx-lg-5, + body:lang(ar) .mr-lg-5, + body:lang(ar) .mx-lg-5, + body:lang(az) .mr-lg-5, + body:lang(az) .mx-lg-5, + body:lang(dv) .mr-lg-5, + body:lang(dv) .mx-lg-5, + body:lang(he) .mr-lg-5, + body:lang(he) .mx-lg-5, + body:lang(ku) .mr-lg-5, + body:lang(ku) .mx-lg-5, + body:lang(ur) .mr-lg-5, + body:lang(ur) .mx-lg-5 { + margin-inline-end: 3rem !important; } + body:lang(fa) .mb-lg-5, + body:lang(fa) .my-lg-5, + body:lang(ar) .mb-lg-5, + body:lang(ar) .my-lg-5, + body:lang(az) .mb-lg-5, + body:lang(az) .my-lg-5, + body:lang(dv) .mb-lg-5, + body:lang(dv) .my-lg-5, + body:lang(he) .mb-lg-5, + body:lang(he) .my-lg-5, + body:lang(ku) .mb-lg-5, + body:lang(ku) .my-lg-5, + body:lang(ur) .mb-lg-5, + body:lang(ur) .my-lg-5 { + margin-bottom: 3rem !important; } + body:lang(fa) .ml-lg-5, + body:lang(fa) .mx-lg-5, + body:lang(ar) .ml-lg-5, + body:lang(ar) .mx-lg-5, + body:lang(az) .ml-lg-5, + body:lang(az) .mx-lg-5, + body:lang(dv) .ml-lg-5, + body:lang(dv) .mx-lg-5, + body:lang(he) .ml-lg-5, + body:lang(he) .mx-lg-5, + body:lang(ku) .ml-lg-5, + body:lang(ku) .mx-lg-5, + body:lang(ur) .ml-lg-5, + body:lang(ur) .mx-lg-5 { + margin-inline-start: 3rem !important; } + body:lang(fa) .p-lg-0, + body:lang(ar) .p-lg-0, + body:lang(az) .p-lg-0, + body:lang(dv) .p-lg-0, + body:lang(he) .p-lg-0, + body:lang(ku) .p-lg-0, + body:lang(ur) .p-lg-0 { + padding: 0 !important; } + body:lang(fa) .pt-lg-0, + body:lang(fa) .py-lg-0, + body:lang(ar) .pt-lg-0, + body:lang(ar) .py-lg-0, + body:lang(az) .pt-lg-0, + body:lang(az) .py-lg-0, + body:lang(dv) .pt-lg-0, + body:lang(dv) .py-lg-0, + body:lang(he) .pt-lg-0, + body:lang(he) .py-lg-0, + body:lang(ku) .pt-lg-0, + body:lang(ku) .py-lg-0, + body:lang(ur) .pt-lg-0, + body:lang(ur) .py-lg-0 { + padding-top: 0 !important; } + body:lang(fa) .pr-lg-0, + body:lang(fa) .px-lg-0, + body:lang(ar) .pr-lg-0, + body:lang(ar) .px-lg-0, + body:lang(az) .pr-lg-0, + body:lang(az) .px-lg-0, + body:lang(dv) .pr-lg-0, + body:lang(dv) .px-lg-0, + body:lang(he) .pr-lg-0, + body:lang(he) .px-lg-0, + body:lang(ku) .pr-lg-0, + body:lang(ku) .px-lg-0, + body:lang(ur) .pr-lg-0, + body:lang(ur) .px-lg-0 { + padding-inline-end: 0 !important; } + body:lang(fa) .pb-lg-0, + body:lang(fa) .py-lg-0, + body:lang(ar) .pb-lg-0, + body:lang(ar) .py-lg-0, + body:lang(az) .pb-lg-0, + body:lang(az) .py-lg-0, + body:lang(dv) .pb-lg-0, + body:lang(dv) .py-lg-0, + body:lang(he) .pb-lg-0, + body:lang(he) .py-lg-0, + body:lang(ku) .pb-lg-0, + body:lang(ku) .py-lg-0, + body:lang(ur) .pb-lg-0, + body:lang(ur) .py-lg-0 { + padding-bottom: 0 !important; } + body:lang(fa) .pl-lg-0, + body:lang(fa) .px-lg-0, + body:lang(ar) .pl-lg-0, + body:lang(ar) .px-lg-0, + body:lang(az) .pl-lg-0, + body:lang(az) .px-lg-0, + body:lang(dv) .pl-lg-0, + body:lang(dv) .px-lg-0, + body:lang(he) .pl-lg-0, + body:lang(he) .px-lg-0, + body:lang(ku) .pl-lg-0, + body:lang(ku) .px-lg-0, + body:lang(ur) .pl-lg-0, + body:lang(ur) .px-lg-0 { + padding-inline-start: 0 !important; } + body:lang(fa) .p-lg-1, + body:lang(ar) .p-lg-1, + body:lang(az) .p-lg-1, + body:lang(dv) .p-lg-1, + body:lang(he) .p-lg-1, + body:lang(ku) .p-lg-1, + body:lang(ur) .p-lg-1 { + padding: 0.25rem !important; } + body:lang(fa) .pt-lg-1, + body:lang(fa) .py-lg-1, + body:lang(ar) .pt-lg-1, + body:lang(ar) .py-lg-1, + body:lang(az) .pt-lg-1, + body:lang(az) .py-lg-1, + body:lang(dv) .pt-lg-1, + body:lang(dv) .py-lg-1, + body:lang(he) .pt-lg-1, + body:lang(he) .py-lg-1, + body:lang(ku) .pt-lg-1, + body:lang(ku) .py-lg-1, + body:lang(ur) .pt-lg-1, + body:lang(ur) .py-lg-1 { + padding-top: 0.25rem !important; } + body:lang(fa) .pr-lg-1, + body:lang(fa) .px-lg-1, + body:lang(ar) .pr-lg-1, + body:lang(ar) .px-lg-1, + body:lang(az) .pr-lg-1, + body:lang(az) .px-lg-1, + body:lang(dv) .pr-lg-1, + body:lang(dv) .px-lg-1, + body:lang(he) .pr-lg-1, + body:lang(he) .px-lg-1, + body:lang(ku) .pr-lg-1, + body:lang(ku) .px-lg-1, + body:lang(ur) .pr-lg-1, + body:lang(ur) .px-lg-1 { + padding-inline-end: 0.25rem !important; } + body:lang(fa) .pb-lg-1, + body:lang(fa) .py-lg-1, + body:lang(ar) .pb-lg-1, + body:lang(ar) .py-lg-1, + body:lang(az) .pb-lg-1, + body:lang(az) .py-lg-1, + body:lang(dv) .pb-lg-1, + body:lang(dv) .py-lg-1, + body:lang(he) .pb-lg-1, + body:lang(he) .py-lg-1, + body:lang(ku) .pb-lg-1, + body:lang(ku) .py-lg-1, + body:lang(ur) .pb-lg-1, + body:lang(ur) .py-lg-1 { + padding-bottom: 0.25rem !important; } + body:lang(fa) .pl-lg-1, + body:lang(fa) .px-lg-1, + body:lang(ar) .pl-lg-1, + body:lang(ar) .px-lg-1, + body:lang(az) .pl-lg-1, + body:lang(az) .px-lg-1, + body:lang(dv) .pl-lg-1, + body:lang(dv) .px-lg-1, + body:lang(he) .pl-lg-1, + body:lang(he) .px-lg-1, + body:lang(ku) .pl-lg-1, + body:lang(ku) .px-lg-1, + body:lang(ur) .pl-lg-1, + body:lang(ur) .px-lg-1 { + padding-inline-start: 0.25rem !important; } + body:lang(fa) .p-lg-2, + body:lang(ar) .p-lg-2, + body:lang(az) .p-lg-2, + body:lang(dv) .p-lg-2, + body:lang(he) .p-lg-2, + body:lang(ku) .p-lg-2, + body:lang(ur) .p-lg-2 { + padding: 0.5rem !important; } + body:lang(fa) .pt-lg-2, + body:lang(fa) .py-lg-2, + body:lang(ar) .pt-lg-2, + body:lang(ar) .py-lg-2, + body:lang(az) .pt-lg-2, + body:lang(az) .py-lg-2, + body:lang(dv) .pt-lg-2, + body:lang(dv) .py-lg-2, + body:lang(he) .pt-lg-2, + body:lang(he) .py-lg-2, + body:lang(ku) .pt-lg-2, + body:lang(ku) .py-lg-2, + body:lang(ur) .pt-lg-2, + body:lang(ur) .py-lg-2 { + padding-top: 0.5rem !important; } + body:lang(fa) .pr-lg-2, + body:lang(fa) .px-lg-2, + body:lang(ar) .pr-lg-2, + body:lang(ar) .px-lg-2, + body:lang(az) .pr-lg-2, + body:lang(az) .px-lg-2, + body:lang(dv) .pr-lg-2, + body:lang(dv) .px-lg-2, + body:lang(he) .pr-lg-2, + body:lang(he) .px-lg-2, + body:lang(ku) .pr-lg-2, + body:lang(ku) .px-lg-2, + body:lang(ur) .pr-lg-2, + body:lang(ur) .px-lg-2 { + padding-inline-end: 0.5rem !important; } + body:lang(fa) .pb-lg-2, + body:lang(fa) .py-lg-2, + body:lang(ar) .pb-lg-2, + body:lang(ar) .py-lg-2, + body:lang(az) .pb-lg-2, + body:lang(az) .py-lg-2, + body:lang(dv) .pb-lg-2, + body:lang(dv) .py-lg-2, + body:lang(he) .pb-lg-2, + body:lang(he) .py-lg-2, + body:lang(ku) .pb-lg-2, + body:lang(ku) .py-lg-2, + body:lang(ur) .pb-lg-2, + body:lang(ur) .py-lg-2 { + padding-bottom: 0.5rem !important; } + body:lang(fa) .pl-lg-2, + body:lang(fa) .px-lg-2, + body:lang(ar) .pl-lg-2, + body:lang(ar) .px-lg-2, + body:lang(az) .pl-lg-2, + body:lang(az) .px-lg-2, + body:lang(dv) .pl-lg-2, + body:lang(dv) .px-lg-2, + body:lang(he) .pl-lg-2, + body:lang(he) .px-lg-2, + body:lang(ku) .pl-lg-2, + body:lang(ku) .px-lg-2, + body:lang(ur) .pl-lg-2, + body:lang(ur) .px-lg-2 { + padding-inline-start: 0.5rem !important; } + body:lang(fa) .p-lg-3, + body:lang(ar) .p-lg-3, + body:lang(az) .p-lg-3, + body:lang(dv) .p-lg-3, + body:lang(he) .p-lg-3, + body:lang(ku) .p-lg-3, + body:lang(ur) .p-lg-3 { + padding: 1rem !important; } + body:lang(fa) .pt-lg-3, + body:lang(fa) .py-lg-3, + body:lang(ar) .pt-lg-3, + body:lang(ar) .py-lg-3, + body:lang(az) .pt-lg-3, + body:lang(az) .py-lg-3, + body:lang(dv) .pt-lg-3, + body:lang(dv) .py-lg-3, + body:lang(he) .pt-lg-3, + body:lang(he) .py-lg-3, + body:lang(ku) .pt-lg-3, + body:lang(ku) .py-lg-3, + body:lang(ur) .pt-lg-3, + body:lang(ur) .py-lg-3 { + padding-top: 1rem !important; } + body:lang(fa) .pr-lg-3, + body:lang(fa) .px-lg-3, + body:lang(ar) .pr-lg-3, + body:lang(ar) .px-lg-3, + body:lang(az) .pr-lg-3, + body:lang(az) .px-lg-3, + body:lang(dv) .pr-lg-3, + body:lang(dv) .px-lg-3, + body:lang(he) .pr-lg-3, + body:lang(he) .px-lg-3, + body:lang(ku) .pr-lg-3, + body:lang(ku) .px-lg-3, + body:lang(ur) .pr-lg-3, + body:lang(ur) .px-lg-3 { + padding-inline-end: 1rem !important; } + body:lang(fa) .pb-lg-3, + body:lang(fa) .py-lg-3, + body:lang(ar) .pb-lg-3, + body:lang(ar) .py-lg-3, + body:lang(az) .pb-lg-3, + body:lang(az) .py-lg-3, + body:lang(dv) .pb-lg-3, + body:lang(dv) .py-lg-3, + body:lang(he) .pb-lg-3, + body:lang(he) .py-lg-3, + body:lang(ku) .pb-lg-3, + body:lang(ku) .py-lg-3, + body:lang(ur) .pb-lg-3, + body:lang(ur) .py-lg-3 { + padding-bottom: 1rem !important; } + body:lang(fa) .pl-lg-3, + body:lang(fa) .px-lg-3, + body:lang(ar) .pl-lg-3, + body:lang(ar) .px-lg-3, + body:lang(az) .pl-lg-3, + body:lang(az) .px-lg-3, + body:lang(dv) .pl-lg-3, + body:lang(dv) .px-lg-3, + body:lang(he) .pl-lg-3, + body:lang(he) .px-lg-3, + body:lang(ku) .pl-lg-3, + body:lang(ku) .px-lg-3, + body:lang(ur) .pl-lg-3, + body:lang(ur) .px-lg-3 { + padding-inline-start: 1rem !important; } + body:lang(fa) .p-lg-4, + body:lang(ar) .p-lg-4, + body:lang(az) .p-lg-4, + body:lang(dv) .p-lg-4, + body:lang(he) .p-lg-4, + body:lang(ku) .p-lg-4, + body:lang(ur) .p-lg-4 { + padding: 1.5rem !important; } + body:lang(fa) .pt-lg-4, + body:lang(fa) .py-lg-4, + body:lang(ar) .pt-lg-4, + body:lang(ar) .py-lg-4, + body:lang(az) .pt-lg-4, + body:lang(az) .py-lg-4, + body:lang(dv) .pt-lg-4, + body:lang(dv) .py-lg-4, + body:lang(he) .pt-lg-4, + body:lang(he) .py-lg-4, + body:lang(ku) .pt-lg-4, + body:lang(ku) .py-lg-4, + body:lang(ur) .pt-lg-4, + body:lang(ur) .py-lg-4 { + padding-top: 1.5rem !important; } + body:lang(fa) .pr-lg-4, + body:lang(fa) .px-lg-4, + body:lang(ar) .pr-lg-4, + body:lang(ar) .px-lg-4, + body:lang(az) .pr-lg-4, + body:lang(az) .px-lg-4, + body:lang(dv) .pr-lg-4, + body:lang(dv) .px-lg-4, + body:lang(he) .pr-lg-4, + body:lang(he) .px-lg-4, + body:lang(ku) .pr-lg-4, + body:lang(ku) .px-lg-4, + body:lang(ur) .pr-lg-4, + body:lang(ur) .px-lg-4 { + padding-inline-end: 1.5rem !important; } + body:lang(fa) .pb-lg-4, + body:lang(fa) .py-lg-4, + body:lang(ar) .pb-lg-4, + body:lang(ar) .py-lg-4, + body:lang(az) .pb-lg-4, + body:lang(az) .py-lg-4, + body:lang(dv) .pb-lg-4, + body:lang(dv) .py-lg-4, + body:lang(he) .pb-lg-4, + body:lang(he) .py-lg-4, + body:lang(ku) .pb-lg-4, + body:lang(ku) .py-lg-4, + body:lang(ur) .pb-lg-4, + body:lang(ur) .py-lg-4 { + padding-bottom: 1.5rem !important; } + body:lang(fa) .pl-lg-4, + body:lang(fa) .px-lg-4, + body:lang(ar) .pl-lg-4, + body:lang(ar) .px-lg-4, + body:lang(az) .pl-lg-4, + body:lang(az) .px-lg-4, + body:lang(dv) .pl-lg-4, + body:lang(dv) .px-lg-4, + body:lang(he) .pl-lg-4, + body:lang(he) .px-lg-4, + body:lang(ku) .pl-lg-4, + body:lang(ku) .px-lg-4, + body:lang(ur) .pl-lg-4, + body:lang(ur) .px-lg-4 { + padding-inline-start: 1.5rem !important; } + body:lang(fa) .p-lg-5, + body:lang(ar) .p-lg-5, + body:lang(az) .p-lg-5, + body:lang(dv) .p-lg-5, + body:lang(he) .p-lg-5, + body:lang(ku) .p-lg-5, + body:lang(ur) .p-lg-5 { + padding: 3rem !important; } + body:lang(fa) .pt-lg-5, + body:lang(fa) .py-lg-5, + body:lang(ar) .pt-lg-5, + body:lang(ar) .py-lg-5, + body:lang(az) .pt-lg-5, + body:lang(az) .py-lg-5, + body:lang(dv) .pt-lg-5, + body:lang(dv) .py-lg-5, + body:lang(he) .pt-lg-5, + body:lang(he) .py-lg-5, + body:lang(ku) .pt-lg-5, + body:lang(ku) .py-lg-5, + body:lang(ur) .pt-lg-5, + body:lang(ur) .py-lg-5 { + padding-top: 3rem !important; } + body:lang(fa) .pr-lg-5, + body:lang(fa) .px-lg-5, + body:lang(ar) .pr-lg-5, + body:lang(ar) .px-lg-5, + body:lang(az) .pr-lg-5, + body:lang(az) .px-lg-5, + body:lang(dv) .pr-lg-5, + body:lang(dv) .px-lg-5, + body:lang(he) .pr-lg-5, + body:lang(he) .px-lg-5, + body:lang(ku) .pr-lg-5, + body:lang(ku) .px-lg-5, + body:lang(ur) .pr-lg-5, + body:lang(ur) .px-lg-5 { + padding-inline-end: 3rem !important; } + body:lang(fa) .pb-lg-5, + body:lang(fa) .py-lg-5, + body:lang(ar) .pb-lg-5, + body:lang(ar) .py-lg-5, + body:lang(az) .pb-lg-5, + body:lang(az) .py-lg-5, + body:lang(dv) .pb-lg-5, + body:lang(dv) .py-lg-5, + body:lang(he) .pb-lg-5, + body:lang(he) .py-lg-5, + body:lang(ku) .pb-lg-5, + body:lang(ku) .py-lg-5, + body:lang(ur) .pb-lg-5, + body:lang(ur) .py-lg-5 { + padding-bottom: 3rem !important; } + body:lang(fa) .pl-lg-5, + body:lang(fa) .px-lg-5, + body:lang(ar) .pl-lg-5, + body:lang(ar) .px-lg-5, + body:lang(az) .pl-lg-5, + body:lang(az) .px-lg-5, + body:lang(dv) .pl-lg-5, + body:lang(dv) .px-lg-5, + body:lang(he) .pl-lg-5, + body:lang(he) .px-lg-5, + body:lang(ku) .pl-lg-5, + body:lang(ku) .px-lg-5, + body:lang(ur) .pl-lg-5, + body:lang(ur) .px-lg-5 { + padding-inline-start: 3rem !important; } + body:lang(fa) .m-lg-n1, + body:lang(ar) .m-lg-n1, + body:lang(az) .m-lg-n1, + body:lang(dv) .m-lg-n1, + body:lang(he) .m-lg-n1, + body:lang(ku) .m-lg-n1, + body:lang(ur) .m-lg-n1 { + margin: -0.25rem !important; } + body:lang(fa) .mt-lg-n1, + body:lang(fa) .my-lg-n1, + body:lang(ar) .mt-lg-n1, + body:lang(ar) .my-lg-n1, + body:lang(az) .mt-lg-n1, + body:lang(az) .my-lg-n1, + body:lang(dv) .mt-lg-n1, + body:lang(dv) .my-lg-n1, + body:lang(he) .mt-lg-n1, + body:lang(he) .my-lg-n1, + body:lang(ku) .mt-lg-n1, + body:lang(ku) .my-lg-n1, + body:lang(ur) .mt-lg-n1, + body:lang(ur) .my-lg-n1 { + margin-top: -0.25rem !important; } + body:lang(fa) .mr-lg-n1, + body:lang(fa) .mx-lg-n1, + body:lang(ar) .mr-lg-n1, + body:lang(ar) .mx-lg-n1, + body:lang(az) .mr-lg-n1, + body:lang(az) .mx-lg-n1, + body:lang(dv) .mr-lg-n1, + body:lang(dv) .mx-lg-n1, + body:lang(he) .mr-lg-n1, + body:lang(he) .mx-lg-n1, + body:lang(ku) .mr-lg-n1, + body:lang(ku) .mx-lg-n1, + body:lang(ur) .mr-lg-n1, + body:lang(ur) .mx-lg-n1 { + margin-right: -0.25rem !important; } + body:lang(fa) .mb-lg-n1, + body:lang(fa) .my-lg-n1, + body:lang(ar) .mb-lg-n1, + body:lang(ar) .my-lg-n1, + body:lang(az) .mb-lg-n1, + body:lang(az) .my-lg-n1, + body:lang(dv) .mb-lg-n1, + body:lang(dv) .my-lg-n1, + body:lang(he) .mb-lg-n1, + body:lang(he) .my-lg-n1, + body:lang(ku) .mb-lg-n1, + body:lang(ku) .my-lg-n1, + body:lang(ur) .mb-lg-n1, + body:lang(ur) .my-lg-n1 { + margin-bottom: -0.25rem !important; } + body:lang(fa) .ml-lg-n1, + body:lang(fa) .mx-lg-n1, + body:lang(ar) .ml-lg-n1, + body:lang(ar) .mx-lg-n1, + body:lang(az) .ml-lg-n1, + body:lang(az) .mx-lg-n1, + body:lang(dv) .ml-lg-n1, + body:lang(dv) .mx-lg-n1, + body:lang(he) .ml-lg-n1, + body:lang(he) .mx-lg-n1, + body:lang(ku) .ml-lg-n1, + body:lang(ku) .mx-lg-n1, + body:lang(ur) .ml-lg-n1, + body:lang(ur) .mx-lg-n1 { + margin-left: -0.25rem !important; } + body:lang(fa) .m-lg-n2, + body:lang(ar) .m-lg-n2, + body:lang(az) .m-lg-n2, + body:lang(dv) .m-lg-n2, + body:lang(he) .m-lg-n2, + body:lang(ku) .m-lg-n2, + body:lang(ur) .m-lg-n2 { + margin: -0.5rem !important; } + body:lang(fa) .mt-lg-n2, + body:lang(fa) .my-lg-n2, + body:lang(ar) .mt-lg-n2, + body:lang(ar) .my-lg-n2, + body:lang(az) .mt-lg-n2, + body:lang(az) .my-lg-n2, + body:lang(dv) .mt-lg-n2, + body:lang(dv) .my-lg-n2, + body:lang(he) .mt-lg-n2, + body:lang(he) .my-lg-n2, + body:lang(ku) .mt-lg-n2, + body:lang(ku) .my-lg-n2, + body:lang(ur) .mt-lg-n2, + body:lang(ur) .my-lg-n2 { + margin-top: -0.5rem !important; } + body:lang(fa) .mr-lg-n2, + body:lang(fa) .mx-lg-n2, + body:lang(ar) .mr-lg-n2, + body:lang(ar) .mx-lg-n2, + body:lang(az) .mr-lg-n2, + body:lang(az) .mx-lg-n2, + body:lang(dv) .mr-lg-n2, + body:lang(dv) .mx-lg-n2, + body:lang(he) .mr-lg-n2, + body:lang(he) .mx-lg-n2, + body:lang(ku) .mr-lg-n2, + body:lang(ku) .mx-lg-n2, + body:lang(ur) .mr-lg-n2, + body:lang(ur) .mx-lg-n2 { + margin-right: -0.5rem !important; } + body:lang(fa) .mb-lg-n2, + body:lang(fa) .my-lg-n2, + body:lang(ar) .mb-lg-n2, + body:lang(ar) .my-lg-n2, + body:lang(az) .mb-lg-n2, + body:lang(az) .my-lg-n2, + body:lang(dv) .mb-lg-n2, + body:lang(dv) .my-lg-n2, + body:lang(he) .mb-lg-n2, + body:lang(he) .my-lg-n2, + body:lang(ku) .mb-lg-n2, + body:lang(ku) .my-lg-n2, + body:lang(ur) .mb-lg-n2, + body:lang(ur) .my-lg-n2 { + margin-bottom: -0.5rem !important; } + body:lang(fa) .ml-lg-n2, + body:lang(fa) .mx-lg-n2, + body:lang(ar) .ml-lg-n2, + body:lang(ar) .mx-lg-n2, + body:lang(az) .ml-lg-n2, + body:lang(az) .mx-lg-n2, + body:lang(dv) .ml-lg-n2, + body:lang(dv) .mx-lg-n2, + body:lang(he) .ml-lg-n2, + body:lang(he) .mx-lg-n2, + body:lang(ku) .ml-lg-n2, + body:lang(ku) .mx-lg-n2, + body:lang(ur) .ml-lg-n2, + body:lang(ur) .mx-lg-n2 { + margin-left: -0.5rem !important; } + body:lang(fa) .m-lg-n3, + body:lang(ar) .m-lg-n3, + body:lang(az) .m-lg-n3, + body:lang(dv) .m-lg-n3, + body:lang(he) .m-lg-n3, + body:lang(ku) .m-lg-n3, + body:lang(ur) .m-lg-n3 { + margin: -1rem !important; } + body:lang(fa) .mt-lg-n3, + body:lang(fa) .my-lg-n3, + body:lang(ar) .mt-lg-n3, + body:lang(ar) .my-lg-n3, + body:lang(az) .mt-lg-n3, + body:lang(az) .my-lg-n3, + body:lang(dv) .mt-lg-n3, + body:lang(dv) .my-lg-n3, + body:lang(he) .mt-lg-n3, + body:lang(he) .my-lg-n3, + body:lang(ku) .mt-lg-n3, + body:lang(ku) .my-lg-n3, + body:lang(ur) .mt-lg-n3, + body:lang(ur) .my-lg-n3 { + margin-top: -1rem !important; } + body:lang(fa) .mr-lg-n3, + body:lang(fa) .mx-lg-n3, + body:lang(ar) .mr-lg-n3, + body:lang(ar) .mx-lg-n3, + body:lang(az) .mr-lg-n3, + body:lang(az) .mx-lg-n3, + body:lang(dv) .mr-lg-n3, + body:lang(dv) .mx-lg-n3, + body:lang(he) .mr-lg-n3, + body:lang(he) .mx-lg-n3, + body:lang(ku) .mr-lg-n3, + body:lang(ku) .mx-lg-n3, + body:lang(ur) .mr-lg-n3, + body:lang(ur) .mx-lg-n3 { + margin-right: -1rem !important; } + body:lang(fa) .mb-lg-n3, + body:lang(fa) .my-lg-n3, + body:lang(ar) .mb-lg-n3, + body:lang(ar) .my-lg-n3, + body:lang(az) .mb-lg-n3, + body:lang(az) .my-lg-n3, + body:lang(dv) .mb-lg-n3, + body:lang(dv) .my-lg-n3, + body:lang(he) .mb-lg-n3, + body:lang(he) .my-lg-n3, + body:lang(ku) .mb-lg-n3, + body:lang(ku) .my-lg-n3, + body:lang(ur) .mb-lg-n3, + body:lang(ur) .my-lg-n3 { + margin-bottom: -1rem !important; } + body:lang(fa) .ml-lg-n3, + body:lang(fa) .mx-lg-n3, + body:lang(ar) .ml-lg-n3, + body:lang(ar) .mx-lg-n3, + body:lang(az) .ml-lg-n3, + body:lang(az) .mx-lg-n3, + body:lang(dv) .ml-lg-n3, + body:lang(dv) .mx-lg-n3, + body:lang(he) .ml-lg-n3, + body:lang(he) .mx-lg-n3, + body:lang(ku) .ml-lg-n3, + body:lang(ku) .mx-lg-n3, + body:lang(ur) .ml-lg-n3, + body:lang(ur) .mx-lg-n3 { + margin-left: -1rem !important; } + body:lang(fa) .m-lg-n4, + body:lang(ar) .m-lg-n4, + body:lang(az) .m-lg-n4, + body:lang(dv) .m-lg-n4, + body:lang(he) .m-lg-n4, + body:lang(ku) .m-lg-n4, + body:lang(ur) .m-lg-n4 { + margin: -1.5rem !important; } + body:lang(fa) .mt-lg-n4, + body:lang(fa) .my-lg-n4, + body:lang(ar) .mt-lg-n4, + body:lang(ar) .my-lg-n4, + body:lang(az) .mt-lg-n4, + body:lang(az) .my-lg-n4, + body:lang(dv) .mt-lg-n4, + body:lang(dv) .my-lg-n4, + body:lang(he) .mt-lg-n4, + body:lang(he) .my-lg-n4, + body:lang(ku) .mt-lg-n4, + body:lang(ku) .my-lg-n4, + body:lang(ur) .mt-lg-n4, + body:lang(ur) .my-lg-n4 { + margin-top: -1.5rem !important; } + body:lang(fa) .mr-lg-n4, + body:lang(fa) .mx-lg-n4, + body:lang(ar) .mr-lg-n4, + body:lang(ar) .mx-lg-n4, + body:lang(az) .mr-lg-n4, + body:lang(az) .mx-lg-n4, + body:lang(dv) .mr-lg-n4, + body:lang(dv) .mx-lg-n4, + body:lang(he) .mr-lg-n4, + body:lang(he) .mx-lg-n4, + body:lang(ku) .mr-lg-n4, + body:lang(ku) .mx-lg-n4, + body:lang(ur) .mr-lg-n4, + body:lang(ur) .mx-lg-n4 { + margin-right: -1.5rem !important; } + body:lang(fa) .mb-lg-n4, + body:lang(fa) .my-lg-n4, + body:lang(ar) .mb-lg-n4, + body:lang(ar) .my-lg-n4, + body:lang(az) .mb-lg-n4, + body:lang(az) .my-lg-n4, + body:lang(dv) .mb-lg-n4, + body:lang(dv) .my-lg-n4, + body:lang(he) .mb-lg-n4, + body:lang(he) .my-lg-n4, + body:lang(ku) .mb-lg-n4, + body:lang(ku) .my-lg-n4, + body:lang(ur) .mb-lg-n4, + body:lang(ur) .my-lg-n4 { + margin-bottom: -1.5rem !important; } + body:lang(fa) .ml-lg-n4, + body:lang(fa) .mx-lg-n4, + body:lang(ar) .ml-lg-n4, + body:lang(ar) .mx-lg-n4, + body:lang(az) .ml-lg-n4, + body:lang(az) .mx-lg-n4, + body:lang(dv) .ml-lg-n4, + body:lang(dv) .mx-lg-n4, + body:lang(he) .ml-lg-n4, + body:lang(he) .mx-lg-n4, + body:lang(ku) .ml-lg-n4, + body:lang(ku) .mx-lg-n4, + body:lang(ur) .ml-lg-n4, + body:lang(ur) .mx-lg-n4 { + margin-left: -1.5rem !important; } + body:lang(fa) .m-lg-n5, + body:lang(ar) .m-lg-n5, + body:lang(az) .m-lg-n5, + body:lang(dv) .m-lg-n5, + body:lang(he) .m-lg-n5, + body:lang(ku) .m-lg-n5, + body:lang(ur) .m-lg-n5 { + margin: -3rem !important; } + body:lang(fa) .mt-lg-n5, + body:lang(fa) .my-lg-n5, + body:lang(ar) .mt-lg-n5, + body:lang(ar) .my-lg-n5, + body:lang(az) .mt-lg-n5, + body:lang(az) .my-lg-n5, + body:lang(dv) .mt-lg-n5, + body:lang(dv) .my-lg-n5, + body:lang(he) .mt-lg-n5, + body:lang(he) .my-lg-n5, + body:lang(ku) .mt-lg-n5, + body:lang(ku) .my-lg-n5, + body:lang(ur) .mt-lg-n5, + body:lang(ur) .my-lg-n5 { + margin-top: -3rem !important; } + body:lang(fa) .mr-lg-n5, + body:lang(fa) .mx-lg-n5, + body:lang(ar) .mr-lg-n5, + body:lang(ar) .mx-lg-n5, + body:lang(az) .mr-lg-n5, + body:lang(az) .mx-lg-n5, + body:lang(dv) .mr-lg-n5, + body:lang(dv) .mx-lg-n5, + body:lang(he) .mr-lg-n5, + body:lang(he) .mx-lg-n5, + body:lang(ku) .mr-lg-n5, + body:lang(ku) .mx-lg-n5, + body:lang(ur) .mr-lg-n5, + body:lang(ur) .mx-lg-n5 { + margin-right: -3rem !important; } + body:lang(fa) .mb-lg-n5, + body:lang(fa) .my-lg-n5, + body:lang(ar) .mb-lg-n5, + body:lang(ar) .my-lg-n5, + body:lang(az) .mb-lg-n5, + body:lang(az) .my-lg-n5, + body:lang(dv) .mb-lg-n5, + body:lang(dv) .my-lg-n5, + body:lang(he) .mb-lg-n5, + body:lang(he) .my-lg-n5, + body:lang(ku) .mb-lg-n5, + body:lang(ku) .my-lg-n5, + body:lang(ur) .mb-lg-n5, + body:lang(ur) .my-lg-n5 { + margin-bottom: -3rem !important; } + body:lang(fa) .ml-lg-n5, + body:lang(fa) .mx-lg-n5, + body:lang(ar) .ml-lg-n5, + body:lang(ar) .mx-lg-n5, + body:lang(az) .ml-lg-n5, + body:lang(az) .mx-lg-n5, + body:lang(dv) .ml-lg-n5, + body:lang(dv) .mx-lg-n5, + body:lang(he) .ml-lg-n5, + body:lang(he) .mx-lg-n5, + body:lang(ku) .ml-lg-n5, + body:lang(ku) .mx-lg-n5, + body:lang(ur) .ml-lg-n5, + body:lang(ur) .mx-lg-n5 { + margin-left: -3rem !important; } + body:lang(fa) .m-lg-auto, + body:lang(ar) .m-lg-auto, + body:lang(az) .m-lg-auto, + body:lang(dv) .m-lg-auto, + body:lang(he) .m-lg-auto, + body:lang(ku) .m-lg-auto, + body:lang(ur) .m-lg-auto { + margin: auto !important; } + body:lang(fa) .mt-lg-auto, + body:lang(fa) .my-lg-auto, + body:lang(ar) .mt-lg-auto, + body:lang(ar) .my-lg-auto, + body:lang(az) .mt-lg-auto, + body:lang(az) .my-lg-auto, + body:lang(dv) .mt-lg-auto, + body:lang(dv) .my-lg-auto, + body:lang(he) .mt-lg-auto, + body:lang(he) .my-lg-auto, + body:lang(ku) .mt-lg-auto, + body:lang(ku) .my-lg-auto, + body:lang(ur) .mt-lg-auto, + body:lang(ur) .my-lg-auto { + margin-top: auto !important; } + body:lang(fa) .mr-lg-auto, + body:lang(fa) .mx-lg-auto, + body:lang(ar) .mr-lg-auto, + body:lang(ar) .mx-lg-auto, + body:lang(az) .mr-lg-auto, + body:lang(az) .mx-lg-auto, + body:lang(dv) .mr-lg-auto, + body:lang(dv) .mx-lg-auto, + body:lang(he) .mr-lg-auto, + body:lang(he) .mx-lg-auto, + body:lang(ku) .mr-lg-auto, + body:lang(ku) .mx-lg-auto, + body:lang(ur) .mr-lg-auto, + body:lang(ur) .mx-lg-auto { + margin-right: auto !important; } + body:lang(fa) .mb-lg-auto, + body:lang(fa) .my-lg-auto, + body:lang(ar) .mb-lg-auto, + body:lang(ar) .my-lg-auto, + body:lang(az) .mb-lg-auto, + body:lang(az) .my-lg-auto, + body:lang(dv) .mb-lg-auto, + body:lang(dv) .my-lg-auto, + body:lang(he) .mb-lg-auto, + body:lang(he) .my-lg-auto, + body:lang(ku) .mb-lg-auto, + body:lang(ku) .my-lg-auto, + body:lang(ur) .mb-lg-auto, + body:lang(ur) .my-lg-auto { + margin-bottom: auto !important; } + body:lang(fa) .ml-lg-auto, + body:lang(fa) .mx-lg-auto, + body:lang(ar) .ml-lg-auto, + body:lang(ar) .mx-lg-auto, + body:lang(az) .ml-lg-auto, + body:lang(az) .mx-lg-auto, + body:lang(dv) .ml-lg-auto, + body:lang(dv) .mx-lg-auto, + body:lang(he) .ml-lg-auto, + body:lang(he) .mx-lg-auto, + body:lang(ku) .ml-lg-auto, + body:lang(ku) .mx-lg-auto, + body:lang(ur) .ml-lg-auto, + body:lang(ur) .mx-lg-auto { + margin-left: auto !important; } } + @media (min-width: 1200px) { + body:lang(fa) .m-xl-0, + body:lang(ar) .m-xl-0, + body:lang(az) .m-xl-0, + body:lang(dv) .m-xl-0, + body:lang(he) .m-xl-0, + body:lang(ku) .m-xl-0, + body:lang(ur) .m-xl-0 { + margin: 0 !important; } + body:lang(fa) .mt-xl-0, + body:lang(fa) .my-xl-0, + body:lang(ar) .mt-xl-0, + body:lang(ar) .my-xl-0, + body:lang(az) .mt-xl-0, + body:lang(az) .my-xl-0, + body:lang(dv) .mt-xl-0, + body:lang(dv) .my-xl-0, + body:lang(he) .mt-xl-0, + body:lang(he) .my-xl-0, + body:lang(ku) .mt-xl-0, + body:lang(ku) .my-xl-0, + body:lang(ur) .mt-xl-0, + body:lang(ur) .my-xl-0 { + margin-top: 0 !important; } + body:lang(fa) .mr-xl-0, + body:lang(fa) .mx-xl-0, + body:lang(ar) .mr-xl-0, + body:lang(ar) .mx-xl-0, + body:lang(az) .mr-xl-0, + body:lang(az) .mx-xl-0, + body:lang(dv) .mr-xl-0, + body:lang(dv) .mx-xl-0, + body:lang(he) .mr-xl-0, + body:lang(he) .mx-xl-0, + body:lang(ku) .mr-xl-0, + body:lang(ku) .mx-xl-0, + body:lang(ur) .mr-xl-0, + body:lang(ur) .mx-xl-0 { + margin-inline-end: 0 !important; } + body:lang(fa) .mb-xl-0, + body:lang(fa) .my-xl-0, + body:lang(ar) .mb-xl-0, + body:lang(ar) .my-xl-0, + body:lang(az) .mb-xl-0, + body:lang(az) .my-xl-0, + body:lang(dv) .mb-xl-0, + body:lang(dv) .my-xl-0, + body:lang(he) .mb-xl-0, + body:lang(he) .my-xl-0, + body:lang(ku) .mb-xl-0, + body:lang(ku) .my-xl-0, + body:lang(ur) .mb-xl-0, + body:lang(ur) .my-xl-0 { + margin-bottom: 0 !important; } + body:lang(fa) .ml-xl-0, + body:lang(fa) .mx-xl-0, + body:lang(ar) .ml-xl-0, + body:lang(ar) .mx-xl-0, + body:lang(az) .ml-xl-0, + body:lang(az) .mx-xl-0, + body:lang(dv) .ml-xl-0, + body:lang(dv) .mx-xl-0, + body:lang(he) .ml-xl-0, + body:lang(he) .mx-xl-0, + body:lang(ku) .ml-xl-0, + body:lang(ku) .mx-xl-0, + body:lang(ur) .ml-xl-0, + body:lang(ur) .mx-xl-0 { + margin-inline-start: 0 !important; } + body:lang(fa) .m-xl-1, + body:lang(ar) .m-xl-1, + body:lang(az) .m-xl-1, + body:lang(dv) .m-xl-1, + body:lang(he) .m-xl-1, + body:lang(ku) .m-xl-1, + body:lang(ur) .m-xl-1 { + margin: 0.25rem !important; } + body:lang(fa) .mt-xl-1, + body:lang(fa) .my-xl-1, + body:lang(ar) .mt-xl-1, + body:lang(ar) .my-xl-1, + body:lang(az) .mt-xl-1, + body:lang(az) .my-xl-1, + body:lang(dv) .mt-xl-1, + body:lang(dv) .my-xl-1, + body:lang(he) .mt-xl-1, + body:lang(he) .my-xl-1, + body:lang(ku) .mt-xl-1, + body:lang(ku) .my-xl-1, + body:lang(ur) .mt-xl-1, + body:lang(ur) .my-xl-1 { + margin-top: 0.25rem !important; } + body:lang(fa) .mr-xl-1, + body:lang(fa) .mx-xl-1, + body:lang(ar) .mr-xl-1, + body:lang(ar) .mx-xl-1, + body:lang(az) .mr-xl-1, + body:lang(az) .mx-xl-1, + body:lang(dv) .mr-xl-1, + body:lang(dv) .mx-xl-1, + body:lang(he) .mr-xl-1, + body:lang(he) .mx-xl-1, + body:lang(ku) .mr-xl-1, + body:lang(ku) .mx-xl-1, + body:lang(ur) .mr-xl-1, + body:lang(ur) .mx-xl-1 { + margin-inline-end: 0.25rem !important; } + body:lang(fa) .mb-xl-1, + body:lang(fa) .my-xl-1, + body:lang(ar) .mb-xl-1, + body:lang(ar) .my-xl-1, + body:lang(az) .mb-xl-1, + body:lang(az) .my-xl-1, + body:lang(dv) .mb-xl-1, + body:lang(dv) .my-xl-1, + body:lang(he) .mb-xl-1, + body:lang(he) .my-xl-1, + body:lang(ku) .mb-xl-1, + body:lang(ku) .my-xl-1, + body:lang(ur) .mb-xl-1, + body:lang(ur) .my-xl-1 { + margin-bottom: 0.25rem !important; } + body:lang(fa) .ml-xl-1, + body:lang(fa) .mx-xl-1, + body:lang(ar) .ml-xl-1, + body:lang(ar) .mx-xl-1, + body:lang(az) .ml-xl-1, + body:lang(az) .mx-xl-1, + body:lang(dv) .ml-xl-1, + body:lang(dv) .mx-xl-1, + body:lang(he) .ml-xl-1, + body:lang(he) .mx-xl-1, + body:lang(ku) .ml-xl-1, + body:lang(ku) .mx-xl-1, + body:lang(ur) .ml-xl-1, + body:lang(ur) .mx-xl-1 { + margin-inline-start: 0.25rem !important; } + body:lang(fa) .m-xl-2, + body:lang(ar) .m-xl-2, + body:lang(az) .m-xl-2, + body:lang(dv) .m-xl-2, + body:lang(he) .m-xl-2, + body:lang(ku) .m-xl-2, + body:lang(ur) .m-xl-2 { + margin: 0.5rem !important; } + body:lang(fa) .mt-xl-2, + body:lang(fa) .my-xl-2, + body:lang(ar) .mt-xl-2, + body:lang(ar) .my-xl-2, + body:lang(az) .mt-xl-2, + body:lang(az) .my-xl-2, + body:lang(dv) .mt-xl-2, + body:lang(dv) .my-xl-2, + body:lang(he) .mt-xl-2, + body:lang(he) .my-xl-2, + body:lang(ku) .mt-xl-2, + body:lang(ku) .my-xl-2, + body:lang(ur) .mt-xl-2, + body:lang(ur) .my-xl-2 { + margin-top: 0.5rem !important; } + body:lang(fa) .mr-xl-2, + body:lang(fa) .mx-xl-2, + body:lang(ar) .mr-xl-2, + body:lang(ar) .mx-xl-2, + body:lang(az) .mr-xl-2, + body:lang(az) .mx-xl-2, + body:lang(dv) .mr-xl-2, + body:lang(dv) .mx-xl-2, + body:lang(he) .mr-xl-2, + body:lang(he) .mx-xl-2, + body:lang(ku) .mr-xl-2, + body:lang(ku) .mx-xl-2, + body:lang(ur) .mr-xl-2, + body:lang(ur) .mx-xl-2 { + margin-inline-end: 0.5rem !important; } + body:lang(fa) .mb-xl-2, + body:lang(fa) .my-xl-2, + body:lang(ar) .mb-xl-2, + body:lang(ar) .my-xl-2, + body:lang(az) .mb-xl-2, + body:lang(az) .my-xl-2, + body:lang(dv) .mb-xl-2, + body:lang(dv) .my-xl-2, + body:lang(he) .mb-xl-2, + body:lang(he) .my-xl-2, + body:lang(ku) .mb-xl-2, + body:lang(ku) .my-xl-2, + body:lang(ur) .mb-xl-2, + body:lang(ur) .my-xl-2 { + margin-bottom: 0.5rem !important; } + body:lang(fa) .ml-xl-2, + body:lang(fa) .mx-xl-2, + body:lang(ar) .ml-xl-2, + body:lang(ar) .mx-xl-2, + body:lang(az) .ml-xl-2, + body:lang(az) .mx-xl-2, + body:lang(dv) .ml-xl-2, + body:lang(dv) .mx-xl-2, + body:lang(he) .ml-xl-2, + body:lang(he) .mx-xl-2, + body:lang(ku) .ml-xl-2, + body:lang(ku) .mx-xl-2, + body:lang(ur) .ml-xl-2, + body:lang(ur) .mx-xl-2 { + margin-inline-start: 0.5rem !important; } + body:lang(fa) .m-xl-3, + body:lang(ar) .m-xl-3, + body:lang(az) .m-xl-3, + body:lang(dv) .m-xl-3, + body:lang(he) .m-xl-3, + body:lang(ku) .m-xl-3, + body:lang(ur) .m-xl-3 { + margin: 1rem !important; } + body:lang(fa) .mt-xl-3, + body:lang(fa) .my-xl-3, + body:lang(ar) .mt-xl-3, + body:lang(ar) .my-xl-3, + body:lang(az) .mt-xl-3, + body:lang(az) .my-xl-3, + body:lang(dv) .mt-xl-3, + body:lang(dv) .my-xl-3, + body:lang(he) .mt-xl-3, + body:lang(he) .my-xl-3, + body:lang(ku) .mt-xl-3, + body:lang(ku) .my-xl-3, + body:lang(ur) .mt-xl-3, + body:lang(ur) .my-xl-3 { + margin-top: 1rem !important; } + body:lang(fa) .mr-xl-3, + body:lang(fa) .mx-xl-3, + body:lang(ar) .mr-xl-3, + body:lang(ar) .mx-xl-3, + body:lang(az) .mr-xl-3, + body:lang(az) .mx-xl-3, + body:lang(dv) .mr-xl-3, + body:lang(dv) .mx-xl-3, + body:lang(he) .mr-xl-3, + body:lang(he) .mx-xl-3, + body:lang(ku) .mr-xl-3, + body:lang(ku) .mx-xl-3, + body:lang(ur) .mr-xl-3, + body:lang(ur) .mx-xl-3 { + margin-inline-end: 1rem !important; } + body:lang(fa) .mb-xl-3, + body:lang(fa) .my-xl-3, + body:lang(ar) .mb-xl-3, + body:lang(ar) .my-xl-3, + body:lang(az) .mb-xl-3, + body:lang(az) .my-xl-3, + body:lang(dv) .mb-xl-3, + body:lang(dv) .my-xl-3, + body:lang(he) .mb-xl-3, + body:lang(he) .my-xl-3, + body:lang(ku) .mb-xl-3, + body:lang(ku) .my-xl-3, + body:lang(ur) .mb-xl-3, + body:lang(ur) .my-xl-3 { + margin-bottom: 1rem !important; } + body:lang(fa) .ml-xl-3, + body:lang(fa) .mx-xl-3, + body:lang(ar) .ml-xl-3, + body:lang(ar) .mx-xl-3, + body:lang(az) .ml-xl-3, + body:lang(az) .mx-xl-3, + body:lang(dv) .ml-xl-3, + body:lang(dv) .mx-xl-3, + body:lang(he) .ml-xl-3, + body:lang(he) .mx-xl-3, + body:lang(ku) .ml-xl-3, + body:lang(ku) .mx-xl-3, + body:lang(ur) .ml-xl-3, + body:lang(ur) .mx-xl-3 { + margin-inline-start: 1rem !important; } + body:lang(fa) .m-xl-4, + body:lang(ar) .m-xl-4, + body:lang(az) .m-xl-4, + body:lang(dv) .m-xl-4, + body:lang(he) .m-xl-4, + body:lang(ku) .m-xl-4, + body:lang(ur) .m-xl-4 { + margin: 1.5rem !important; } + body:lang(fa) .mt-xl-4, + body:lang(fa) .my-xl-4, + body:lang(ar) .mt-xl-4, + body:lang(ar) .my-xl-4, + body:lang(az) .mt-xl-4, + body:lang(az) .my-xl-4, + body:lang(dv) .mt-xl-4, + body:lang(dv) .my-xl-4, + body:lang(he) .mt-xl-4, + body:lang(he) .my-xl-4, + body:lang(ku) .mt-xl-4, + body:lang(ku) .my-xl-4, + body:lang(ur) .mt-xl-4, + body:lang(ur) .my-xl-4 { + margin-top: 1.5rem !important; } + body:lang(fa) .mr-xl-4, + body:lang(fa) .mx-xl-4, + body:lang(ar) .mr-xl-4, + body:lang(ar) .mx-xl-4, + body:lang(az) .mr-xl-4, + body:lang(az) .mx-xl-4, + body:lang(dv) .mr-xl-4, + body:lang(dv) .mx-xl-4, + body:lang(he) .mr-xl-4, + body:lang(he) .mx-xl-4, + body:lang(ku) .mr-xl-4, + body:lang(ku) .mx-xl-4, + body:lang(ur) .mr-xl-4, + body:lang(ur) .mx-xl-4 { + margin-inline-end: 1.5rem !important; } + body:lang(fa) .mb-xl-4, + body:lang(fa) .my-xl-4, + body:lang(ar) .mb-xl-4, + body:lang(ar) .my-xl-4, + body:lang(az) .mb-xl-4, + body:lang(az) .my-xl-4, + body:lang(dv) .mb-xl-4, + body:lang(dv) .my-xl-4, + body:lang(he) .mb-xl-4, + body:lang(he) .my-xl-4, + body:lang(ku) .mb-xl-4, + body:lang(ku) .my-xl-4, + body:lang(ur) .mb-xl-4, + body:lang(ur) .my-xl-4 { + margin-bottom: 1.5rem !important; } + body:lang(fa) .ml-xl-4, + body:lang(fa) .mx-xl-4, + body:lang(ar) .ml-xl-4, + body:lang(ar) .mx-xl-4, + body:lang(az) .ml-xl-4, + body:lang(az) .mx-xl-4, + body:lang(dv) .ml-xl-4, + body:lang(dv) .mx-xl-4, + body:lang(he) .ml-xl-4, + body:lang(he) .mx-xl-4, + body:lang(ku) .ml-xl-4, + body:lang(ku) .mx-xl-4, + body:lang(ur) .ml-xl-4, + body:lang(ur) .mx-xl-4 { + margin-inline-start: 1.5rem !important; } + body:lang(fa) .m-xl-5, + body:lang(ar) .m-xl-5, + body:lang(az) .m-xl-5, + body:lang(dv) .m-xl-5, + body:lang(he) .m-xl-5, + body:lang(ku) .m-xl-5, + body:lang(ur) .m-xl-5 { + margin: 3rem !important; } + body:lang(fa) .mt-xl-5, + body:lang(fa) .my-xl-5, + body:lang(ar) .mt-xl-5, + body:lang(ar) .my-xl-5, + body:lang(az) .mt-xl-5, + body:lang(az) .my-xl-5, + body:lang(dv) .mt-xl-5, + body:lang(dv) .my-xl-5, + body:lang(he) .mt-xl-5, + body:lang(he) .my-xl-5, + body:lang(ku) .mt-xl-5, + body:lang(ku) .my-xl-5, + body:lang(ur) .mt-xl-5, + body:lang(ur) .my-xl-5 { + margin-top: 3rem !important; } + body:lang(fa) .mr-xl-5, + body:lang(fa) .mx-xl-5, + body:lang(ar) .mr-xl-5, + body:lang(ar) .mx-xl-5, + body:lang(az) .mr-xl-5, + body:lang(az) .mx-xl-5, + body:lang(dv) .mr-xl-5, + body:lang(dv) .mx-xl-5, + body:lang(he) .mr-xl-5, + body:lang(he) .mx-xl-5, + body:lang(ku) .mr-xl-5, + body:lang(ku) .mx-xl-5, + body:lang(ur) .mr-xl-5, + body:lang(ur) .mx-xl-5 { + margin-inline-end: 3rem !important; } + body:lang(fa) .mb-xl-5, + body:lang(fa) .my-xl-5, + body:lang(ar) .mb-xl-5, + body:lang(ar) .my-xl-5, + body:lang(az) .mb-xl-5, + body:lang(az) .my-xl-5, + body:lang(dv) .mb-xl-5, + body:lang(dv) .my-xl-5, + body:lang(he) .mb-xl-5, + body:lang(he) .my-xl-5, + body:lang(ku) .mb-xl-5, + body:lang(ku) .my-xl-5, + body:lang(ur) .mb-xl-5, + body:lang(ur) .my-xl-5 { + margin-bottom: 3rem !important; } + body:lang(fa) .ml-xl-5, + body:lang(fa) .mx-xl-5, + body:lang(ar) .ml-xl-5, + body:lang(ar) .mx-xl-5, + body:lang(az) .ml-xl-5, + body:lang(az) .mx-xl-5, + body:lang(dv) .ml-xl-5, + body:lang(dv) .mx-xl-5, + body:lang(he) .ml-xl-5, + body:lang(he) .mx-xl-5, + body:lang(ku) .ml-xl-5, + body:lang(ku) .mx-xl-5, + body:lang(ur) .ml-xl-5, + body:lang(ur) .mx-xl-5 { + margin-inline-start: 3rem !important; } + body:lang(fa) .p-xl-0, + body:lang(ar) .p-xl-0, + body:lang(az) .p-xl-0, + body:lang(dv) .p-xl-0, + body:lang(he) .p-xl-0, + body:lang(ku) .p-xl-0, + body:lang(ur) .p-xl-0 { + padding: 0 !important; } + body:lang(fa) .pt-xl-0, + body:lang(fa) .py-xl-0, + body:lang(ar) .pt-xl-0, + body:lang(ar) .py-xl-0, + body:lang(az) .pt-xl-0, + body:lang(az) .py-xl-0, + body:lang(dv) .pt-xl-0, + body:lang(dv) .py-xl-0, + body:lang(he) .pt-xl-0, + body:lang(he) .py-xl-0, + body:lang(ku) .pt-xl-0, + body:lang(ku) .py-xl-0, + body:lang(ur) .pt-xl-0, + body:lang(ur) .py-xl-0 { + padding-top: 0 !important; } + body:lang(fa) .pr-xl-0, + body:lang(fa) .px-xl-0, + body:lang(ar) .pr-xl-0, + body:lang(ar) .px-xl-0, + body:lang(az) .pr-xl-0, + body:lang(az) .px-xl-0, + body:lang(dv) .pr-xl-0, + body:lang(dv) .px-xl-0, + body:lang(he) .pr-xl-0, + body:lang(he) .px-xl-0, + body:lang(ku) .pr-xl-0, + body:lang(ku) .px-xl-0, + body:lang(ur) .pr-xl-0, + body:lang(ur) .px-xl-0 { + padding-inline-end: 0 !important; } + body:lang(fa) .pb-xl-0, + body:lang(fa) .py-xl-0, + body:lang(ar) .pb-xl-0, + body:lang(ar) .py-xl-0, + body:lang(az) .pb-xl-0, + body:lang(az) .py-xl-0, + body:lang(dv) .pb-xl-0, + body:lang(dv) .py-xl-0, + body:lang(he) .pb-xl-0, + body:lang(he) .py-xl-0, + body:lang(ku) .pb-xl-0, + body:lang(ku) .py-xl-0, + body:lang(ur) .pb-xl-0, + body:lang(ur) .py-xl-0 { + padding-bottom: 0 !important; } + body:lang(fa) .pl-xl-0, + body:lang(fa) .px-xl-0, + body:lang(ar) .pl-xl-0, + body:lang(ar) .px-xl-0, + body:lang(az) .pl-xl-0, + body:lang(az) .px-xl-0, + body:lang(dv) .pl-xl-0, + body:lang(dv) .px-xl-0, + body:lang(he) .pl-xl-0, + body:lang(he) .px-xl-0, + body:lang(ku) .pl-xl-0, + body:lang(ku) .px-xl-0, + body:lang(ur) .pl-xl-0, + body:lang(ur) .px-xl-0 { + padding-inline-start: 0 !important; } + body:lang(fa) .p-xl-1, + body:lang(ar) .p-xl-1, + body:lang(az) .p-xl-1, + body:lang(dv) .p-xl-1, + body:lang(he) .p-xl-1, + body:lang(ku) .p-xl-1, + body:lang(ur) .p-xl-1 { + padding: 0.25rem !important; } + body:lang(fa) .pt-xl-1, + body:lang(fa) .py-xl-1, + body:lang(ar) .pt-xl-1, + body:lang(ar) .py-xl-1, + body:lang(az) .pt-xl-1, + body:lang(az) .py-xl-1, + body:lang(dv) .pt-xl-1, + body:lang(dv) .py-xl-1, + body:lang(he) .pt-xl-1, + body:lang(he) .py-xl-1, + body:lang(ku) .pt-xl-1, + body:lang(ku) .py-xl-1, + body:lang(ur) .pt-xl-1, + body:lang(ur) .py-xl-1 { + padding-top: 0.25rem !important; } + body:lang(fa) .pr-xl-1, + body:lang(fa) .px-xl-1, + body:lang(ar) .pr-xl-1, + body:lang(ar) .px-xl-1, + body:lang(az) .pr-xl-1, + body:lang(az) .px-xl-1, + body:lang(dv) .pr-xl-1, + body:lang(dv) .px-xl-1, + body:lang(he) .pr-xl-1, + body:lang(he) .px-xl-1, + body:lang(ku) .pr-xl-1, + body:lang(ku) .px-xl-1, + body:lang(ur) .pr-xl-1, + body:lang(ur) .px-xl-1 { + padding-inline-end: 0.25rem !important; } + body:lang(fa) .pb-xl-1, + body:lang(fa) .py-xl-1, + body:lang(ar) .pb-xl-1, + body:lang(ar) .py-xl-1, + body:lang(az) .pb-xl-1, + body:lang(az) .py-xl-1, + body:lang(dv) .pb-xl-1, + body:lang(dv) .py-xl-1, + body:lang(he) .pb-xl-1, + body:lang(he) .py-xl-1, + body:lang(ku) .pb-xl-1, + body:lang(ku) .py-xl-1, + body:lang(ur) .pb-xl-1, + body:lang(ur) .py-xl-1 { + padding-bottom: 0.25rem !important; } + body:lang(fa) .pl-xl-1, + body:lang(fa) .px-xl-1, + body:lang(ar) .pl-xl-1, + body:lang(ar) .px-xl-1, + body:lang(az) .pl-xl-1, + body:lang(az) .px-xl-1, + body:lang(dv) .pl-xl-1, + body:lang(dv) .px-xl-1, + body:lang(he) .pl-xl-1, + body:lang(he) .px-xl-1, + body:lang(ku) .pl-xl-1, + body:lang(ku) .px-xl-1, + body:lang(ur) .pl-xl-1, + body:lang(ur) .px-xl-1 { + padding-inline-start: 0.25rem !important; } + body:lang(fa) .p-xl-2, + body:lang(ar) .p-xl-2, + body:lang(az) .p-xl-2, + body:lang(dv) .p-xl-2, + body:lang(he) .p-xl-2, + body:lang(ku) .p-xl-2, + body:lang(ur) .p-xl-2 { + padding: 0.5rem !important; } + body:lang(fa) .pt-xl-2, + body:lang(fa) .py-xl-2, + body:lang(ar) .pt-xl-2, + body:lang(ar) .py-xl-2, + body:lang(az) .pt-xl-2, + body:lang(az) .py-xl-2, + body:lang(dv) .pt-xl-2, + body:lang(dv) .py-xl-2, + body:lang(he) .pt-xl-2, + body:lang(he) .py-xl-2, + body:lang(ku) .pt-xl-2, + body:lang(ku) .py-xl-2, + body:lang(ur) .pt-xl-2, + body:lang(ur) .py-xl-2 { + padding-top: 0.5rem !important; } + body:lang(fa) .pr-xl-2, + body:lang(fa) .px-xl-2, + body:lang(ar) .pr-xl-2, + body:lang(ar) .px-xl-2, + body:lang(az) .pr-xl-2, + body:lang(az) .px-xl-2, + body:lang(dv) .pr-xl-2, + body:lang(dv) .px-xl-2, + body:lang(he) .pr-xl-2, + body:lang(he) .px-xl-2, + body:lang(ku) .pr-xl-2, + body:lang(ku) .px-xl-2, + body:lang(ur) .pr-xl-2, + body:lang(ur) .px-xl-2 { + padding-inline-end: 0.5rem !important; } + body:lang(fa) .pb-xl-2, + body:lang(fa) .py-xl-2, + body:lang(ar) .pb-xl-2, + body:lang(ar) .py-xl-2, + body:lang(az) .pb-xl-2, + body:lang(az) .py-xl-2, + body:lang(dv) .pb-xl-2, + body:lang(dv) .py-xl-2, + body:lang(he) .pb-xl-2, + body:lang(he) .py-xl-2, + body:lang(ku) .pb-xl-2, + body:lang(ku) .py-xl-2, + body:lang(ur) .pb-xl-2, + body:lang(ur) .py-xl-2 { + padding-bottom: 0.5rem !important; } + body:lang(fa) .pl-xl-2, + body:lang(fa) .px-xl-2, + body:lang(ar) .pl-xl-2, + body:lang(ar) .px-xl-2, + body:lang(az) .pl-xl-2, + body:lang(az) .px-xl-2, + body:lang(dv) .pl-xl-2, + body:lang(dv) .px-xl-2, + body:lang(he) .pl-xl-2, + body:lang(he) .px-xl-2, + body:lang(ku) .pl-xl-2, + body:lang(ku) .px-xl-2, + body:lang(ur) .pl-xl-2, + body:lang(ur) .px-xl-2 { + padding-inline-start: 0.5rem !important; } + body:lang(fa) .p-xl-3, + body:lang(ar) .p-xl-3, + body:lang(az) .p-xl-3, + body:lang(dv) .p-xl-3, + body:lang(he) .p-xl-3, + body:lang(ku) .p-xl-3, + body:lang(ur) .p-xl-3 { + padding: 1rem !important; } + body:lang(fa) .pt-xl-3, + body:lang(fa) .py-xl-3, + body:lang(ar) .pt-xl-3, + body:lang(ar) .py-xl-3, + body:lang(az) .pt-xl-3, + body:lang(az) .py-xl-3, + body:lang(dv) .pt-xl-3, + body:lang(dv) .py-xl-3, + body:lang(he) .pt-xl-3, + body:lang(he) .py-xl-3, + body:lang(ku) .pt-xl-3, + body:lang(ku) .py-xl-3, + body:lang(ur) .pt-xl-3, + body:lang(ur) .py-xl-3 { + padding-top: 1rem !important; } + body:lang(fa) .pr-xl-3, + body:lang(fa) .px-xl-3, + body:lang(ar) .pr-xl-3, + body:lang(ar) .px-xl-3, + body:lang(az) .pr-xl-3, + body:lang(az) .px-xl-3, + body:lang(dv) .pr-xl-3, + body:lang(dv) .px-xl-3, + body:lang(he) .pr-xl-3, + body:lang(he) .px-xl-3, + body:lang(ku) .pr-xl-3, + body:lang(ku) .px-xl-3, + body:lang(ur) .pr-xl-3, + body:lang(ur) .px-xl-3 { + padding-inline-end: 1rem !important; } + body:lang(fa) .pb-xl-3, + body:lang(fa) .py-xl-3, + body:lang(ar) .pb-xl-3, + body:lang(ar) .py-xl-3, + body:lang(az) .pb-xl-3, + body:lang(az) .py-xl-3, + body:lang(dv) .pb-xl-3, + body:lang(dv) .py-xl-3, + body:lang(he) .pb-xl-3, + body:lang(he) .py-xl-3, + body:lang(ku) .pb-xl-3, + body:lang(ku) .py-xl-3, + body:lang(ur) .pb-xl-3, + body:lang(ur) .py-xl-3 { + padding-bottom: 1rem !important; } + body:lang(fa) .pl-xl-3, + body:lang(fa) .px-xl-3, + body:lang(ar) .pl-xl-3, + body:lang(ar) .px-xl-3, + body:lang(az) .pl-xl-3, + body:lang(az) .px-xl-3, + body:lang(dv) .pl-xl-3, + body:lang(dv) .px-xl-3, + body:lang(he) .pl-xl-3, + body:lang(he) .px-xl-3, + body:lang(ku) .pl-xl-3, + body:lang(ku) .px-xl-3, + body:lang(ur) .pl-xl-3, + body:lang(ur) .px-xl-3 { + padding-inline-start: 1rem !important; } + body:lang(fa) .p-xl-4, + body:lang(ar) .p-xl-4, + body:lang(az) .p-xl-4, + body:lang(dv) .p-xl-4, + body:lang(he) .p-xl-4, + body:lang(ku) .p-xl-4, + body:lang(ur) .p-xl-4 { + padding: 1.5rem !important; } + body:lang(fa) .pt-xl-4, + body:lang(fa) .py-xl-4, + body:lang(ar) .pt-xl-4, + body:lang(ar) .py-xl-4, + body:lang(az) .pt-xl-4, + body:lang(az) .py-xl-4, + body:lang(dv) .pt-xl-4, + body:lang(dv) .py-xl-4, + body:lang(he) .pt-xl-4, + body:lang(he) .py-xl-4, + body:lang(ku) .pt-xl-4, + body:lang(ku) .py-xl-4, + body:lang(ur) .pt-xl-4, + body:lang(ur) .py-xl-4 { + padding-top: 1.5rem !important; } + body:lang(fa) .pr-xl-4, + body:lang(fa) .px-xl-4, + body:lang(ar) .pr-xl-4, + body:lang(ar) .px-xl-4, + body:lang(az) .pr-xl-4, + body:lang(az) .px-xl-4, + body:lang(dv) .pr-xl-4, + body:lang(dv) .px-xl-4, + body:lang(he) .pr-xl-4, + body:lang(he) .px-xl-4, + body:lang(ku) .pr-xl-4, + body:lang(ku) .px-xl-4, + body:lang(ur) .pr-xl-4, + body:lang(ur) .px-xl-4 { + padding-inline-end: 1.5rem !important; } + body:lang(fa) .pb-xl-4, + body:lang(fa) .py-xl-4, + body:lang(ar) .pb-xl-4, + body:lang(ar) .py-xl-4, + body:lang(az) .pb-xl-4, + body:lang(az) .py-xl-4, + body:lang(dv) .pb-xl-4, + body:lang(dv) .py-xl-4, + body:lang(he) .pb-xl-4, + body:lang(he) .py-xl-4, + body:lang(ku) .pb-xl-4, + body:lang(ku) .py-xl-4, + body:lang(ur) .pb-xl-4, + body:lang(ur) .py-xl-4 { + padding-bottom: 1.5rem !important; } + body:lang(fa) .pl-xl-4, + body:lang(fa) .px-xl-4, + body:lang(ar) .pl-xl-4, + body:lang(ar) .px-xl-4, + body:lang(az) .pl-xl-4, + body:lang(az) .px-xl-4, + body:lang(dv) .pl-xl-4, + body:lang(dv) .px-xl-4, + body:lang(he) .pl-xl-4, + body:lang(he) .px-xl-4, + body:lang(ku) .pl-xl-4, + body:lang(ku) .px-xl-4, + body:lang(ur) .pl-xl-4, + body:lang(ur) .px-xl-4 { + padding-inline-start: 1.5rem !important; } + body:lang(fa) .p-xl-5, + body:lang(ar) .p-xl-5, + body:lang(az) .p-xl-5, + body:lang(dv) .p-xl-5, + body:lang(he) .p-xl-5, + body:lang(ku) .p-xl-5, + body:lang(ur) .p-xl-5 { + padding: 3rem !important; } + body:lang(fa) .pt-xl-5, + body:lang(fa) .py-xl-5, + body:lang(ar) .pt-xl-5, + body:lang(ar) .py-xl-5, + body:lang(az) .pt-xl-5, + body:lang(az) .py-xl-5, + body:lang(dv) .pt-xl-5, + body:lang(dv) .py-xl-5, + body:lang(he) .pt-xl-5, + body:lang(he) .py-xl-5, + body:lang(ku) .pt-xl-5, + body:lang(ku) .py-xl-5, + body:lang(ur) .pt-xl-5, + body:lang(ur) .py-xl-5 { + padding-top: 3rem !important; } + body:lang(fa) .pr-xl-5, + body:lang(fa) .px-xl-5, + body:lang(ar) .pr-xl-5, + body:lang(ar) .px-xl-5, + body:lang(az) .pr-xl-5, + body:lang(az) .px-xl-5, + body:lang(dv) .pr-xl-5, + body:lang(dv) .px-xl-5, + body:lang(he) .pr-xl-5, + body:lang(he) .px-xl-5, + body:lang(ku) .pr-xl-5, + body:lang(ku) .px-xl-5, + body:lang(ur) .pr-xl-5, + body:lang(ur) .px-xl-5 { + padding-inline-end: 3rem !important; } + body:lang(fa) .pb-xl-5, + body:lang(fa) .py-xl-5, + body:lang(ar) .pb-xl-5, + body:lang(ar) .py-xl-5, + body:lang(az) .pb-xl-5, + body:lang(az) .py-xl-5, + body:lang(dv) .pb-xl-5, + body:lang(dv) .py-xl-5, + body:lang(he) .pb-xl-5, + body:lang(he) .py-xl-5, + body:lang(ku) .pb-xl-5, + body:lang(ku) .py-xl-5, + body:lang(ur) .pb-xl-5, + body:lang(ur) .py-xl-5 { + padding-bottom: 3rem !important; } + body:lang(fa) .pl-xl-5, + body:lang(fa) .px-xl-5, + body:lang(ar) .pl-xl-5, + body:lang(ar) .px-xl-5, + body:lang(az) .pl-xl-5, + body:lang(az) .px-xl-5, + body:lang(dv) .pl-xl-5, + body:lang(dv) .px-xl-5, + body:lang(he) .pl-xl-5, + body:lang(he) .px-xl-5, + body:lang(ku) .pl-xl-5, + body:lang(ku) .px-xl-5, + body:lang(ur) .pl-xl-5, + body:lang(ur) .px-xl-5 { + padding-inline-start: 3rem !important; } + body:lang(fa) .m-xl-n1, + body:lang(ar) .m-xl-n1, + body:lang(az) .m-xl-n1, + body:lang(dv) .m-xl-n1, + body:lang(he) .m-xl-n1, + body:lang(ku) .m-xl-n1, + body:lang(ur) .m-xl-n1 { + margin: -0.25rem !important; } + body:lang(fa) .mt-xl-n1, + body:lang(fa) .my-xl-n1, + body:lang(ar) .mt-xl-n1, + body:lang(ar) .my-xl-n1, + body:lang(az) .mt-xl-n1, + body:lang(az) .my-xl-n1, + body:lang(dv) .mt-xl-n1, + body:lang(dv) .my-xl-n1, + body:lang(he) .mt-xl-n1, + body:lang(he) .my-xl-n1, + body:lang(ku) .mt-xl-n1, + body:lang(ku) .my-xl-n1, + body:lang(ur) .mt-xl-n1, + body:lang(ur) .my-xl-n1 { + margin-top: -0.25rem !important; } + body:lang(fa) .mr-xl-n1, + body:lang(fa) .mx-xl-n1, + body:lang(ar) .mr-xl-n1, + body:lang(ar) .mx-xl-n1, + body:lang(az) .mr-xl-n1, + body:lang(az) .mx-xl-n1, + body:lang(dv) .mr-xl-n1, + body:lang(dv) .mx-xl-n1, + body:lang(he) .mr-xl-n1, + body:lang(he) .mx-xl-n1, + body:lang(ku) .mr-xl-n1, + body:lang(ku) .mx-xl-n1, + body:lang(ur) .mr-xl-n1, + body:lang(ur) .mx-xl-n1 { + margin-right: -0.25rem !important; } + body:lang(fa) .mb-xl-n1, + body:lang(fa) .my-xl-n1, + body:lang(ar) .mb-xl-n1, + body:lang(ar) .my-xl-n1, + body:lang(az) .mb-xl-n1, + body:lang(az) .my-xl-n1, + body:lang(dv) .mb-xl-n1, + body:lang(dv) .my-xl-n1, + body:lang(he) .mb-xl-n1, + body:lang(he) .my-xl-n1, + body:lang(ku) .mb-xl-n1, + body:lang(ku) .my-xl-n1, + body:lang(ur) .mb-xl-n1, + body:lang(ur) .my-xl-n1 { + margin-bottom: -0.25rem !important; } + body:lang(fa) .ml-xl-n1, + body:lang(fa) .mx-xl-n1, + body:lang(ar) .ml-xl-n1, + body:lang(ar) .mx-xl-n1, + body:lang(az) .ml-xl-n1, + body:lang(az) .mx-xl-n1, + body:lang(dv) .ml-xl-n1, + body:lang(dv) .mx-xl-n1, + body:lang(he) .ml-xl-n1, + body:lang(he) .mx-xl-n1, + body:lang(ku) .ml-xl-n1, + body:lang(ku) .mx-xl-n1, + body:lang(ur) .ml-xl-n1, + body:lang(ur) .mx-xl-n1 { + margin-left: -0.25rem !important; } + body:lang(fa) .m-xl-n2, + body:lang(ar) .m-xl-n2, + body:lang(az) .m-xl-n2, + body:lang(dv) .m-xl-n2, + body:lang(he) .m-xl-n2, + body:lang(ku) .m-xl-n2, + body:lang(ur) .m-xl-n2 { + margin: -0.5rem !important; } + body:lang(fa) .mt-xl-n2, + body:lang(fa) .my-xl-n2, + body:lang(ar) .mt-xl-n2, + body:lang(ar) .my-xl-n2, + body:lang(az) .mt-xl-n2, + body:lang(az) .my-xl-n2, + body:lang(dv) .mt-xl-n2, + body:lang(dv) .my-xl-n2, + body:lang(he) .mt-xl-n2, + body:lang(he) .my-xl-n2, + body:lang(ku) .mt-xl-n2, + body:lang(ku) .my-xl-n2, + body:lang(ur) .mt-xl-n2, + body:lang(ur) .my-xl-n2 { + margin-top: -0.5rem !important; } + body:lang(fa) .mr-xl-n2, + body:lang(fa) .mx-xl-n2, + body:lang(ar) .mr-xl-n2, + body:lang(ar) .mx-xl-n2, + body:lang(az) .mr-xl-n2, + body:lang(az) .mx-xl-n2, + body:lang(dv) .mr-xl-n2, + body:lang(dv) .mx-xl-n2, + body:lang(he) .mr-xl-n2, + body:lang(he) .mx-xl-n2, + body:lang(ku) .mr-xl-n2, + body:lang(ku) .mx-xl-n2, + body:lang(ur) .mr-xl-n2, + body:lang(ur) .mx-xl-n2 { + margin-right: -0.5rem !important; } + body:lang(fa) .mb-xl-n2, + body:lang(fa) .my-xl-n2, + body:lang(ar) .mb-xl-n2, + body:lang(ar) .my-xl-n2, + body:lang(az) .mb-xl-n2, + body:lang(az) .my-xl-n2, + body:lang(dv) .mb-xl-n2, + body:lang(dv) .my-xl-n2, + body:lang(he) .mb-xl-n2, + body:lang(he) .my-xl-n2, + body:lang(ku) .mb-xl-n2, + body:lang(ku) .my-xl-n2, + body:lang(ur) .mb-xl-n2, + body:lang(ur) .my-xl-n2 { + margin-bottom: -0.5rem !important; } + body:lang(fa) .ml-xl-n2, + body:lang(fa) .mx-xl-n2, + body:lang(ar) .ml-xl-n2, + body:lang(ar) .mx-xl-n2, + body:lang(az) .ml-xl-n2, + body:lang(az) .mx-xl-n2, + body:lang(dv) .ml-xl-n2, + body:lang(dv) .mx-xl-n2, + body:lang(he) .ml-xl-n2, + body:lang(he) .mx-xl-n2, + body:lang(ku) .ml-xl-n2, + body:lang(ku) .mx-xl-n2, + body:lang(ur) .ml-xl-n2, + body:lang(ur) .mx-xl-n2 { + margin-left: -0.5rem !important; } + body:lang(fa) .m-xl-n3, + body:lang(ar) .m-xl-n3, + body:lang(az) .m-xl-n3, + body:lang(dv) .m-xl-n3, + body:lang(he) .m-xl-n3, + body:lang(ku) .m-xl-n3, + body:lang(ur) .m-xl-n3 { + margin: -1rem !important; } + body:lang(fa) .mt-xl-n3, + body:lang(fa) .my-xl-n3, + body:lang(ar) .mt-xl-n3, + body:lang(ar) .my-xl-n3, + body:lang(az) .mt-xl-n3, + body:lang(az) .my-xl-n3, + body:lang(dv) .mt-xl-n3, + body:lang(dv) .my-xl-n3, + body:lang(he) .mt-xl-n3, + body:lang(he) .my-xl-n3, + body:lang(ku) .mt-xl-n3, + body:lang(ku) .my-xl-n3, + body:lang(ur) .mt-xl-n3, + body:lang(ur) .my-xl-n3 { + margin-top: -1rem !important; } + body:lang(fa) .mr-xl-n3, + body:lang(fa) .mx-xl-n3, + body:lang(ar) .mr-xl-n3, + body:lang(ar) .mx-xl-n3, + body:lang(az) .mr-xl-n3, + body:lang(az) .mx-xl-n3, + body:lang(dv) .mr-xl-n3, + body:lang(dv) .mx-xl-n3, + body:lang(he) .mr-xl-n3, + body:lang(he) .mx-xl-n3, + body:lang(ku) .mr-xl-n3, + body:lang(ku) .mx-xl-n3, + body:lang(ur) .mr-xl-n3, + body:lang(ur) .mx-xl-n3 { + margin-right: -1rem !important; } + body:lang(fa) .mb-xl-n3, + body:lang(fa) .my-xl-n3, + body:lang(ar) .mb-xl-n3, + body:lang(ar) .my-xl-n3, + body:lang(az) .mb-xl-n3, + body:lang(az) .my-xl-n3, + body:lang(dv) .mb-xl-n3, + body:lang(dv) .my-xl-n3, + body:lang(he) .mb-xl-n3, + body:lang(he) .my-xl-n3, + body:lang(ku) .mb-xl-n3, + body:lang(ku) .my-xl-n3, + body:lang(ur) .mb-xl-n3, + body:lang(ur) .my-xl-n3 { + margin-bottom: -1rem !important; } + body:lang(fa) .ml-xl-n3, + body:lang(fa) .mx-xl-n3, + body:lang(ar) .ml-xl-n3, + body:lang(ar) .mx-xl-n3, + body:lang(az) .ml-xl-n3, + body:lang(az) .mx-xl-n3, + body:lang(dv) .ml-xl-n3, + body:lang(dv) .mx-xl-n3, + body:lang(he) .ml-xl-n3, + body:lang(he) .mx-xl-n3, + body:lang(ku) .ml-xl-n3, + body:lang(ku) .mx-xl-n3, + body:lang(ur) .ml-xl-n3, + body:lang(ur) .mx-xl-n3 { + margin-left: -1rem !important; } + body:lang(fa) .m-xl-n4, + body:lang(ar) .m-xl-n4, + body:lang(az) .m-xl-n4, + body:lang(dv) .m-xl-n4, + body:lang(he) .m-xl-n4, + body:lang(ku) .m-xl-n4, + body:lang(ur) .m-xl-n4 { + margin: -1.5rem !important; } + body:lang(fa) .mt-xl-n4, + body:lang(fa) .my-xl-n4, + body:lang(ar) .mt-xl-n4, + body:lang(ar) .my-xl-n4, + body:lang(az) .mt-xl-n4, + body:lang(az) .my-xl-n4, + body:lang(dv) .mt-xl-n4, + body:lang(dv) .my-xl-n4, + body:lang(he) .mt-xl-n4, + body:lang(he) .my-xl-n4, + body:lang(ku) .mt-xl-n4, + body:lang(ku) .my-xl-n4, + body:lang(ur) .mt-xl-n4, + body:lang(ur) .my-xl-n4 { + margin-top: -1.5rem !important; } + body:lang(fa) .mr-xl-n4, + body:lang(fa) .mx-xl-n4, + body:lang(ar) .mr-xl-n4, + body:lang(ar) .mx-xl-n4, + body:lang(az) .mr-xl-n4, + body:lang(az) .mx-xl-n4, + body:lang(dv) .mr-xl-n4, + body:lang(dv) .mx-xl-n4, + body:lang(he) .mr-xl-n4, + body:lang(he) .mx-xl-n4, + body:lang(ku) .mr-xl-n4, + body:lang(ku) .mx-xl-n4, + body:lang(ur) .mr-xl-n4, + body:lang(ur) .mx-xl-n4 { + margin-right: -1.5rem !important; } + body:lang(fa) .mb-xl-n4, + body:lang(fa) .my-xl-n4, + body:lang(ar) .mb-xl-n4, + body:lang(ar) .my-xl-n4, + body:lang(az) .mb-xl-n4, + body:lang(az) .my-xl-n4, + body:lang(dv) .mb-xl-n4, + body:lang(dv) .my-xl-n4, + body:lang(he) .mb-xl-n4, + body:lang(he) .my-xl-n4, + body:lang(ku) .mb-xl-n4, + body:lang(ku) .my-xl-n4, + body:lang(ur) .mb-xl-n4, + body:lang(ur) .my-xl-n4 { + margin-bottom: -1.5rem !important; } + body:lang(fa) .ml-xl-n4, + body:lang(fa) .mx-xl-n4, + body:lang(ar) .ml-xl-n4, + body:lang(ar) .mx-xl-n4, + body:lang(az) .ml-xl-n4, + body:lang(az) .mx-xl-n4, + body:lang(dv) .ml-xl-n4, + body:lang(dv) .mx-xl-n4, + body:lang(he) .ml-xl-n4, + body:lang(he) .mx-xl-n4, + body:lang(ku) .ml-xl-n4, + body:lang(ku) .mx-xl-n4, + body:lang(ur) .ml-xl-n4, + body:lang(ur) .mx-xl-n4 { + margin-left: -1.5rem !important; } + body:lang(fa) .m-xl-n5, + body:lang(ar) .m-xl-n5, + body:lang(az) .m-xl-n5, + body:lang(dv) .m-xl-n5, + body:lang(he) .m-xl-n5, + body:lang(ku) .m-xl-n5, + body:lang(ur) .m-xl-n5 { + margin: -3rem !important; } + body:lang(fa) .mt-xl-n5, + body:lang(fa) .my-xl-n5, + body:lang(ar) .mt-xl-n5, + body:lang(ar) .my-xl-n5, + body:lang(az) .mt-xl-n5, + body:lang(az) .my-xl-n5, + body:lang(dv) .mt-xl-n5, + body:lang(dv) .my-xl-n5, + body:lang(he) .mt-xl-n5, + body:lang(he) .my-xl-n5, + body:lang(ku) .mt-xl-n5, + body:lang(ku) .my-xl-n5, + body:lang(ur) .mt-xl-n5, + body:lang(ur) .my-xl-n5 { + margin-top: -3rem !important; } + body:lang(fa) .mr-xl-n5, + body:lang(fa) .mx-xl-n5, + body:lang(ar) .mr-xl-n5, + body:lang(ar) .mx-xl-n5, + body:lang(az) .mr-xl-n5, + body:lang(az) .mx-xl-n5, + body:lang(dv) .mr-xl-n5, + body:lang(dv) .mx-xl-n5, + body:lang(he) .mr-xl-n5, + body:lang(he) .mx-xl-n5, + body:lang(ku) .mr-xl-n5, + body:lang(ku) .mx-xl-n5, + body:lang(ur) .mr-xl-n5, + body:lang(ur) .mx-xl-n5 { + margin-right: -3rem !important; } + body:lang(fa) .mb-xl-n5, + body:lang(fa) .my-xl-n5, + body:lang(ar) .mb-xl-n5, + body:lang(ar) .my-xl-n5, + body:lang(az) .mb-xl-n5, + body:lang(az) .my-xl-n5, + body:lang(dv) .mb-xl-n5, + body:lang(dv) .my-xl-n5, + body:lang(he) .mb-xl-n5, + body:lang(he) .my-xl-n5, + body:lang(ku) .mb-xl-n5, + body:lang(ku) .my-xl-n5, + body:lang(ur) .mb-xl-n5, + body:lang(ur) .my-xl-n5 { + margin-bottom: -3rem !important; } + body:lang(fa) .ml-xl-n5, + body:lang(fa) .mx-xl-n5, + body:lang(ar) .ml-xl-n5, + body:lang(ar) .mx-xl-n5, + body:lang(az) .ml-xl-n5, + body:lang(az) .mx-xl-n5, + body:lang(dv) .ml-xl-n5, + body:lang(dv) .mx-xl-n5, + body:lang(he) .ml-xl-n5, + body:lang(he) .mx-xl-n5, + body:lang(ku) .ml-xl-n5, + body:lang(ku) .mx-xl-n5, + body:lang(ur) .ml-xl-n5, + body:lang(ur) .mx-xl-n5 { + margin-left: -3rem !important; } + body:lang(fa) .m-xl-auto, + body:lang(ar) .m-xl-auto, + body:lang(az) .m-xl-auto, + body:lang(dv) .m-xl-auto, + body:lang(he) .m-xl-auto, + body:lang(ku) .m-xl-auto, + body:lang(ur) .m-xl-auto { + margin: auto !important; } + body:lang(fa) .mt-xl-auto, + body:lang(fa) .my-xl-auto, + body:lang(ar) .mt-xl-auto, + body:lang(ar) .my-xl-auto, + body:lang(az) .mt-xl-auto, + body:lang(az) .my-xl-auto, + body:lang(dv) .mt-xl-auto, + body:lang(dv) .my-xl-auto, + body:lang(he) .mt-xl-auto, + body:lang(he) .my-xl-auto, + body:lang(ku) .mt-xl-auto, + body:lang(ku) .my-xl-auto, + body:lang(ur) .mt-xl-auto, + body:lang(ur) .my-xl-auto { + margin-top: auto !important; } + body:lang(fa) .mr-xl-auto, + body:lang(fa) .mx-xl-auto, + body:lang(ar) .mr-xl-auto, + body:lang(ar) .mx-xl-auto, + body:lang(az) .mr-xl-auto, + body:lang(az) .mx-xl-auto, + body:lang(dv) .mr-xl-auto, + body:lang(dv) .mx-xl-auto, + body:lang(he) .mr-xl-auto, + body:lang(he) .mx-xl-auto, + body:lang(ku) .mr-xl-auto, + body:lang(ku) .mx-xl-auto, + body:lang(ur) .mr-xl-auto, + body:lang(ur) .mx-xl-auto { + margin-right: auto !important; } + body:lang(fa) .mb-xl-auto, + body:lang(fa) .my-xl-auto, + body:lang(ar) .mb-xl-auto, + body:lang(ar) .my-xl-auto, + body:lang(az) .mb-xl-auto, + body:lang(az) .my-xl-auto, + body:lang(dv) .mb-xl-auto, + body:lang(dv) .my-xl-auto, + body:lang(he) .mb-xl-auto, + body:lang(he) .my-xl-auto, + body:lang(ku) .mb-xl-auto, + body:lang(ku) .my-xl-auto, + body:lang(ur) .mb-xl-auto, + body:lang(ur) .my-xl-auto { + margin-bottom: auto !important; } + body:lang(fa) .ml-xl-auto, + body:lang(fa) .mx-xl-auto, + body:lang(ar) .ml-xl-auto, + body:lang(ar) .mx-xl-auto, + body:lang(az) .ml-xl-auto, + body:lang(az) .mx-xl-auto, + body:lang(dv) .ml-xl-auto, + body:lang(dv) .mx-xl-auto, + body:lang(he) .ml-xl-auto, + body:lang(he) .mx-xl-auto, + body:lang(ku) .ml-xl-auto, + body:lang(ku) .mx-xl-auto, + body:lang(ur) .ml-xl-auto, + body:lang(ur) .mx-xl-auto { + margin-left: auto !important; } } + body:lang(fa) .dropdown-menu, + body:lang(ar) .dropdown-menu, + body:lang(az) .dropdown-menu, + body:lang(dv) .dropdown-menu, + body:lang(he) .dropdown-menu, + body:lang(ku) .dropdown-menu, + body:lang(ur) .dropdown-menu { + text-align: right; } + body:lang(fa) .text-right, + body:lang(ar) .text-right, + body:lang(az) .text-right, + body:lang(dv) .text-right, + body:lang(he) .text-right, + body:lang(ku) .text-right, + body:lang(ur) .text-right { + text-align: left !important; } + body:lang(fa) pre, + body:lang(ar) pre, + body:lang(az) pre, + body:lang(dv) pre, + body:lang(he) pre, + body:lang(ku) pre, + body:lang(ur) pre { + text-align: left; + direction: ltr; } + body:lang(fa) .td-rss-button, + body:lang(ar) .td-rss-button, + body:lang(az) .td-rss-button, + body:lang(dv) .td-rss-button, + body:lang(he) .td-rss-button, + body:lang(ku) .td-rss-button, + body:lang(ur) .td-rss-button { + left: 1rem !important; + right: auto !important; } + +body:lang(fa) { + font-family: 'Vazir', "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } + +body:lang(he) { + font-family: 'Rubik', "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } + +body:lang(ar) { + font-family: 'Tajawal', "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } + +body { + font-family: "Roboto", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #555555; } + +a { + font-weight: 600; + color: #1a3f51; + text-shadow: none; } + +footer { + min-height: auto; + background: #1a3f51; + color: #999999; } + footer img { + margin-left: 15px; + margin-right: 15px; } + footer ul { + padding-left: 0; + list-style: none; } + footer ul a { + color: #999999; } + footer ul a:hover { + color: #5d8ea9; + text-decoration: none; } + footer h4 { + color: #eeeeee; + font-size: 14px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; } + footer li { + text-align: -webkit-match-parent; } + +.display-cover { + font-size: 1.5rem; + text-shadow: 1px 1px 1px black; + background-color: rgba(0, 0, 0, 0.3); + border-radius: 5px; + padding: 20px; } + +.display-2 { + font-size: 2.5rem; + font-weight: 700; + line-height: 1.2; + text-shadow: 1px 1px 1px black; } + +.td-page-meta--edit { + display: none !important; } + +.td-page-meta--child { + display: none !important; } + +.td-page-meta--print { + display: none !important; } + +.td-page-meta--project-issue { + display: none !important; } + +/* +Docsy's 'cover/block' option for setting background images does +not currently support svg's. This sets the background on hero +sections site wide to the original site's background svg. +*/ +.td-cover-block { + background-image: url("/img/featured-background.jpg"); } + +.l-container--padded { + padding-top: 2rem; + padding-bottom: 2rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; } + +.td-box--secondary { + color: #fff; + background-color: #162c37; } + +.vision-description { + font-size: 18px; } + +.vision-title { + font-weight: 700; } + +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/scss/main.css.map b/scss/main.css.map new file mode 100644 index 0000000..0fe9abc --- /dev/null +++ b/scss/main.css.map @@ -0,0 +1,277 @@ +{ + "version": 3, + "file": "main.css", + "sourceRoot": "/home/jenkins/agent/workspace/sw360.website.staging/hugo", + "sources": [ + "/tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/main.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/support/_functions.scss", + "assets/scss/_variables_project.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_variables.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/support/_mixins.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/bootstrap.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_functions.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_variables.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_mixins.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy/dependencies@v0.2.0/assets/bootstrap/scss/_vendor/_rfs.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_deprecate.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_breakpoints.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_hover.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_image.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_badge.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_resize.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_screen-reader.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_size.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_reset-text.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_text-emphasis.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_text-hide.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_text-truncate.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_visibility.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_alert.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_buttons.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_caret.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_pagination.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_lists.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_list-group.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_nav-divider.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_forms.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_table-row.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_background-variant.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_border-radius.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_box-shadow.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_gradients.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_transition.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_clearfix.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_grid-framework.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_grid.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/mixins/_float.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_root.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_reboot.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_type.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_images.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_code.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_grid.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_tables.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_forms.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_buttons.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_transitions.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_dropdown.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_button-group.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_input-group.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_custom-forms.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_nav.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_navbar.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_card.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_breadcrumb.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_pagination.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_badge.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_jumbotron.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_alert.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_progress.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_media.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_list-group.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_close.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_toasts.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_modal.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_tooltip.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_popover.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_carousel.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_spinners.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_utilities.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_align.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_background.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_borders.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_clearfix.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_display.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_embed.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_flex.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_float.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_interactions.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_overflow.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_position.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_screenreaders.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_shadows.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_sizing.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_spacing.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_stretched-link.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_text.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/utilities/_visibility.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/twbs/bootstrap@v4.6.1+incompatible/scss/_print.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/fontawesome.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_variables.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_mixins.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_core.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_larger.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_fixed-width.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_list.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_bordered-pulled.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_animated.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_rotated-flipped.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_stacked.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_icons.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_screen-reader.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/solid.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_variables.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/brands.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/!fort!awesome/!font-!awesome@v0.0.0-20210804190922-7d3d774145ac/scss/_variables.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/support/_utilities.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_colors.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_boxes.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_blog.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_code.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_nav.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_sidebar-tree.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_sidebar-toc.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_buttons.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_breadcrumb.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_alerts.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_content.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_search.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_main-container.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/blocks/_blocks.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/blocks/_cover.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/section-index.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_pageinfo.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_taxonomy.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/_drawio.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/rtl/_main.scss", + "../../../../../../tmp/modules/filecache/modules/pkg/mod/github.com/google/docsy@v0.2.0/assets/scss/rtl/_spacing.scss", + "assets/scss/_styles_project.scss" + ], + "sourcesContent": [ + "@import \"support/functions\";\n@import \"variables_project\";\n@import \"variables\";\n@import \"support/mixins\";\n\n@import \"../vendor/bootstrap/scss/bootstrap\";\n\n@import \"../vendor/Font-Awesome/scss/fontawesome.scss\";\n@import \"../vendor/Font-Awesome/scss/solid.scss\";\n@import \"../vendor/Font-Awesome/scss/brands.scss\";\n\n@import \"support/utilities\";\n@import \"colors\";\n@import \"boxes\";\n@import \"blog\";\n@import \"code\";\n@import \"nav\";\n@import \"sidebar-tree\";\n@import \"sidebar-toc\";\n@import \"buttons\";\n@import \"breadcrumb\";\n@import \"alerts\";\n@import \"content\";\n@import \"search\";\n@import \"main-container\";\n@import \"blocks/blocks\";\n@import \"section-index\";\n@import \"pageinfo\";\n@import \"taxonomy\";\n@import \"drawio\";\n\n@if $td-enable-google-fonts {\n @import url($web-font-path);\n}\n\nfooter {\n min-height: 150px;\n\n @include media-breakpoint-down(md) {\n min-height: 200px;\n }\n}\n\n// Adjust anchors vs the fixed menu.\n@include media-breakpoint-up(md) {\n .td-offset-anchor:target {\n display: block;\n position: relative;\n top: -4rem;\n visibility: hidden;\n }\n\n h2[id]:before,\n h3[id]:before,\n h4[id]:before,\n h5[id]:before {\n display: block;\n content: \" \";\n margin-top: -5rem;\n height: 5rem;\n visibility: hidden;\n }\n}\n\n\n\n@import \"rtl/main\";\n@import \"styles_project\";\n", + "// Common functions.\n\n@function prepend($list, $value) {\n @return join($value, $list);\n}\n\n\n\n// See https://www.sitepoint.com/using-sass-build-color-palettes/\n@function color-diff($a, $b) {\n $sat: saturation($a) - saturation($b);\n $lig: lightness($a) - lightness($b);\n $fn-sat: if($sat > 0, 'desaturate', 'saturate');\n $fn-lig: if($lig > 0, 'darken', 'lighten');\n\n @return (\n adjust-hue: -(hue($a) - hue($b)),\n #{$fn-sat}: abs($sat),\n #{$fn-lig}: abs($lig)\n );\n}", + "$td-enable-google-fonts: false;\n\n$primary: #1a3f51!default;\n$secondary: #102129 !default;\n$text_primary: #555555 !default;\n$btn-primary: #fe7740;\n$btn-secondary: #fe7740;\n", + "/*\n\nBootstrap variables overrides for theme.\nSee https://github.com/twbs/bootstrap/pull/23260\n*/\n\n@fa-font-path : \"../webfonts\";\n\n// Bootstrap flags. For more, see https://getbootstrap.com/docs/4.0/getting-started/theming/\n$enable-gradients: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n\n// Theme flags.\n\n$td-enable-google-fonts: true !default;\n\n// Theme colors\n\n$primary: #30638E !default;\n$primary-light: lighten($primary, 75%) !default;\n$secondary: #FFA630 !default;\n$success: #3772FF !default;\n$info: #C0E0DE !default;\n$warning: #ED6A5A !default;\n$danger: #ED6A5A !default;\n$white: #fff !default;\n$light: #D3F3EE !default;\n\n$dark: #403F4C !default;\n$blue: #72A1E5 !default;\n$orange: #BA5A31 !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #eee !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ccc !default;\n$gray-500: #adb5bd !default;\n$gray-600: #797676 !default;\n$gray-700: #495057 !default;\n$gray-800: #333 !default;\n$gray-900: #222 !default;\n$black: #000 !default;\n\n$code-color: darken($secondary, 20%) !default;\n\n// UI element colors\n\n$border-color: $gray-300 !default;\n$td-sidebar-tree-root-color: $primary !default;\n$td-sidebar-bg-color: rgba($primary, 0.03) !default;\n$td-sidebar-border-color: $border-color !default;\n\n// Background colors for the sections on home page etc. It is a paint by number system, starting at 0, where the number is taken from the shortcode's ordinal\n// if not provided by the user.\n// These colors are all part of the theme palette, but the mix is fairly random to create variation. This can be overridden by the project if needed.\n$td-box-colors: $dark, $primary, $secondary, $info, $primary-light, $gray-600, $success, $warning, $dark, $danger, $primary, $secondary, $primary-light, $info !default;\n\n$link-color: darken($blue, 15%) !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: none !default;\n\n// Fonts\n\n$google_font_name: \"Open Sans\" !default;\n$google_font_family: \"Open+Sans:300,300i,400,400i,700,700i\" !default;\n$web-font-path: \"https://fonts.googleapis.com/css?family=#{$google_font_family}&display=swap\";\n\n$td-fonts-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n\n@if $td-enable-google-fonts {\n $td-fonts-serif: prepend($td-fonts-serif, \"#{$google_font_name}\");\n}\n\n$font-family-sans-serif: $td-fonts-serif !default;\n\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n$font-size-base: 1rem !default;\n\n// Font weights\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-body-text: $font-weight-normal !default;\n$headings-font-weight: $font-weight-medium !default;\n\n// Heading sizes\n\n$h1-font-size: $font-size-base * 2.25 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.5 !default;\n$h4-font-size: $font-size-base * 1.35 !default;\n$h5-font-size: $font-size-base * 1.15 !default;\n$h6-font-size: $font-size-base !default;\n\n// Display styles\n\n$display1-weight: $font-weight-bold !default;\n$display2-weight: $font-weight-bold !default;\n$display3-weight: $font-weight-bold !default;\n$display4-weight: $font-weight-bold !default;\n$display1-size: 3rem !default;\n$display2-size: 2.5rem !default;\n$display3-size: 2rem !default;\n$display4-size: 1.75rem !default;\n\n// Space\n\n$spacer: 1rem;\n$td-block-space-top-base: 4 * $spacer !default;\n$td-block-space-bottom-base: 4 * $spacer !default;\n\n// Pagination\n\n$pagination-color: $gray-600 !default;\n$pagination-border-color: rgba($black, 0.1) !default;\n$pagination-active-border-color: darken($primary, 5%) !default;\n$pagination-disabled-color: $gray-300 !default;\n\n// Navbar\n\n$navbar-dark-color: rgba($white, 0.75) !default;\n$navbar-dark-hover-color: rgba($white, 0.5) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, 0.25) !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\".\n$yiq-contrasted-threshold: 200 !default;\n", + "// Some simple mixins.\n\n@mixin bg-gradient-variant($parent, $color,$ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n\n@mixin link-variant($parent, $color, $hover-color, $underline: false) {\n #{$parent} {\n color: $color;\n\n &:hover {\n color: $hover-color;\n }\n\n @if $underline {\n text-decoration: underline;\n }\n }\n}\n\n@mixin optional-at-root($sel) {\n @at-root #{if(not &, $sel, selector-append(&, $sel))} {\n @content;\n }\n}\n\n// placeholder allows styling of the placeholder used in search input etc.\n@mixin placeholder {\n @include optional-at-root(\"::-webkit-input-placeholder\") {\n @content;\n }\n\n\n @include optional-at-root(\":-moz-placeholder\") {\n @content;\n }\n\n\n @include optional-at-root(\"::-moz-placeholder\") {\n @content;\n }\n\n\n @include optional-at-root(\":-ms-input-placeholder\") {\n @content;\n }\n}\n", + "/*!\n * Bootstrap v4.6.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n", + "// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @if type-of($value2) != number {\n $value2: unquote(\"(\") + $value2 + unquote(\")\");\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n", + "// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer * .5 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-nav-scroll-max-height: 75vh !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width * .5 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n", + "// Toggles\n//\n// Used in conjunction with global variables to enable certain theme features.\n\n// Vendor\n@import \"vendor/rfs\";\n\n// Deprecate\n@import \"mixins/deprecate\";\n\n// Utilities\n@import \"mixins/breakpoints\";\n@import \"mixins/hover\";\n@import \"mixins/image\";\n@import \"mixins/badge\";\n@import \"mixins/resize\";\n@import \"mixins/screen-reader\";\n@import \"mixins/size\";\n@import \"mixins/reset-text\";\n@import \"mixins/text-emphasis\";\n@import \"mixins/text-hide\";\n@import \"mixins/text-truncate\";\n@import \"mixins/visibility\";\n\n// Components\n@import \"mixins/alert\";\n@import \"mixins/buttons\";\n@import \"mixins/caret\";\n@import \"mixins/pagination\";\n@import \"mixins/lists\";\n@import \"mixins/list-group\";\n@import \"mixins/nav-divider\";\n@import \"mixins/forms\";\n@import \"mixins/table-row\";\n\n// Skins\n@import \"mixins/background-variant\";\n@import \"mixins/border-radius\";\n@import \"mixins/box-shadow\";\n@import \"mixins/gradients\";\n@import \"mixins/transition\";\n\n// Layout\n@import \"mixins/clearfix\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/float\";\n", + "// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/v8.x/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: divide($rfs-base-font-size, $rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: divide($rfs-base-font-size, divide($rfs-base-font-size * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: divide($fs, $fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: divide($fs, divide($fs * 0 + 1, $rfs-rem-value));\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{divide($fs, $rfs-rem-value)}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + divide($fs - $rfs-base-font-size, $rfs-factor);\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{divide($fs-min, $rfs-rem-value)}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($fs-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n", + "// Deprecate mixin\n//\n// This mixin can be used to deprecate mixins or functions.\n// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to\n// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)\n@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {\n @if ($enable-deprecation-messages != false and $ignore-warning != true) {\n @warn \"#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.\";\n }\n}\n", + "// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n", + "// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n", + "// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n", + "@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n", + "// Resize anything\n\n@mixin resizable($direction) {\n overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`\n resize: $direction; // Options: horizontal, vertical, both\n}\n", + "// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n", + "// Sizing shortcuts\n\n@mixin size($width, $height: $width) {\n width: $width;\n height: $height;\n @include deprecate(\"`size()`\", \"v4.3.0\", \"v5\");\n}\n", + "@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n", + "// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n", + "// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n", + "// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n", + "// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n @include deprecate(\"`invisible()`\", \"v4.3.0\", \"v5\");\n}\n", + "@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n", + "// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n", + "@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n", + "// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n", + "// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n", + "// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n", + "// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n", + "// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n\n // See https://github.com/twbs/bootstrap/pull/31557\n // Align tooltip to form elements\n .form-row > .col > &,\n .form-row > [class*=\"col-\"] > & {\n left: $form-grid-gutter-width * .5;\n }\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner !important; // stylelint-disable-line declaration-no-important\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n select.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-padding-x * 4 !important; // stylelint-disable-line declaration-no-important\n background-position: right $input-padding-x * 2 center;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right !important; // stylelint-disable-line declaration-no-important\n background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n", + "// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n", + "// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n", + "@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n\n @if (length($shadow) == 1) {\n // We can pass `@include box-shadow(none);`\n $result: $shadow;\n } @else {\n // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`\n @for $i from 1 through length($shadow) {\n @if nth($shadow, $i) != \"none\" {\n $result: append($result, nth($shadow, $i), \"comma\");\n }\n }\n }\n @if (length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n", + "// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n", + "// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n", + "@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n", + "// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n", + "/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n@mixin float-left() {\n float: left !important;\n @include deprecate(\"The `float-left` mixin\", \"v4.3.0\", \"v5\");\n}\n@mixin float-right() {\n float: right !important;\n @include deprecate(\"The `float-right` mixin\", \"v4.3.0\", \"v5\");\n}\n@mixin float-none() {\n float: none !important;\n @include deprecate(\"The `float-none` mixin\", \"v4.3.0\", \"v5\");\n}\n", + ":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n", + "// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n", + "// stylelint-disable selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n", + "// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer * .5;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n", + "// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n", + "// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n", + "//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n", + "// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width * .5;\n margin-left: -$form-grid-gutter-width * .5;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width * .5;\n padding-left: $form-grid-gutter-width * .5;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n", + "// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n", + ".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n", + "// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When Popper is enabled, reset the basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n", + "// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n", + "// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n\n &:not(.has-validation) {\n > .form-control:not(:last-child),\n > .custom-select:not(:last-child),\n > .custom-file:not(:last-child) .custom-file-label,\n > .custom-file:not(:last-child) .custom-file-label::after {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > .form-control:nth-last-child(n + 3),\n > .custom-select:nth-last-child(n + 3),\n > .custom-file:nth-last-child(n + 3) .custom-file-label,\n > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n @include border-right-radius(0);\n }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n", + "// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) * .5;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) * .5;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) * .5;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: 50% / #{$custom-control-indicator-bg-size} no-repeat;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) * .5, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n overflow: hidden;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n overflow: hidden;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) * .5; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height * .5;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n", + "// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n", + "// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n max-height: $navbar-nav-scroll-max-height;\n overflow-y: auto;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n", + "//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y * .5;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x * .5;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x * .5;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x * .5;\n margin-left: -$card-spacer-x * .5;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n", + ".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n", + ".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $pagination-border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $pagination-border-radius-sm);\n}\n", + "// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n", + ".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding * .5);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n", + "//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n", + "// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n", + ".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n", + "// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n", + ".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n", + ".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n", + "// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between * .5;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between * .5;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n", + "// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n", + ".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width * .5;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n", + "// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n padding: 0;\n color: $carousel-control-color;\n text-align: center;\n background: none;\n border: 0;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: 50% / 100% 100% no-repeat;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) * .5;\n bottom: 20px;\n left: (100% - $carousel-caption-width) * .5;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n", + "//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: $spinner-vertical-align;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: $spinner-vertical-align;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: .75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n }\n}\n", + "@import \"utilities/align\";\n@import \"utilities/background\";\n@import \"utilities/borders\";\n@import \"utilities/clearfix\";\n@import \"utilities/display\";\n@import \"utilities/embed\";\n@import \"utilities/flex\";\n@import \"utilities/float\";\n@import \"utilities/interactions\";\n@import \"utilities/overflow\";\n@import \"utilities/position\";\n@import \"utilities/screenreaders\";\n@import \"utilities/shadows\";\n@import \"utilities/sizing\";\n@import \"utilities/spacing\";\n@import \"utilities/stretched-link\";\n@import \"utilities/text\";\n@import \"utilities/visibility\";\n", + "// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n", + "// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n", + "// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n", + ".clearfix {\n @include clearfix();\n}\n", + "// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n", + "// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage(divide($embed-responsive-aspect-ratio-y, $embed-responsive-aspect-ratio-x));\n }\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n", + "// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n", + "// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n", + "//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n", + "// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n", + "// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n", + "// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if \"#{$size}\" != \"0\" {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n", + "//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n", + "// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n", + "// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n", + "/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n@import 'mixins';\n@import 'core';\n@import 'larger';\n@import 'fixed-width';\n@import 'list';\n@import 'bordered-pulled';\n@import 'animated';\n@import 'rotated-flipped';\n@import 'stacked';\n@import 'icons';\n@import 'screen-reader';\n", + "// Variables\n// --------------------------\n\n$fa-font-path: \"../webfonts\" !default;\n$fa-font-size-base: 16px !default;\n$fa-font-display: block !default;\n$fa-css-prefix: fa !default;\n$fa-version: \"5.15.4\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: 2em !default;\n$fa-fw-width: (20em / 16);\n$fa-primary-opacity: 1 !default;\n$fa-secondary-opacity: .4 !default;\n\n// Convenience function used to set content property\n@function fa-content($fa-var) {\n @return unquote(\"\\\"#{ $fa-var }\\\"\");\n}\n\n$fa-var-500px: \\f26e;\n$fa-var-accessible-icon: \\f368;\n$fa-var-accusoft: \\f369;\n$fa-var-acquisitions-incorporated: \\f6af;\n$fa-var-ad: \\f641;\n$fa-var-address-book: \\f2b9;\n$fa-var-address-card: \\f2bb;\n$fa-var-adjust: \\f042;\n$fa-var-adn: \\f170;\n$fa-var-adversal: \\f36a;\n$fa-var-affiliatetheme: \\f36b;\n$fa-var-air-freshener: \\f5d0;\n$fa-var-airbnb: \\f834;\n$fa-var-algolia: \\f36c;\n$fa-var-align-center: \\f037;\n$fa-var-align-justify: \\f039;\n$fa-var-align-left: \\f036;\n$fa-var-align-right: \\f038;\n$fa-var-alipay: \\f642;\n$fa-var-allergies: \\f461;\n$fa-var-amazon: \\f270;\n$fa-var-amazon-pay: \\f42c;\n$fa-var-ambulance: \\f0f9;\n$fa-var-american-sign-language-interpreting: \\f2a3;\n$fa-var-amilia: \\f36d;\n$fa-var-anchor: \\f13d;\n$fa-var-android: \\f17b;\n$fa-var-angellist: \\f209;\n$fa-var-angle-double-down: \\f103;\n$fa-var-angle-double-left: \\f100;\n$fa-var-angle-double-right: \\f101;\n$fa-var-angle-double-up: \\f102;\n$fa-var-angle-down: \\f107;\n$fa-var-angle-left: \\f104;\n$fa-var-angle-right: \\f105;\n$fa-var-angle-up: \\f106;\n$fa-var-angry: \\f556;\n$fa-var-angrycreative: \\f36e;\n$fa-var-angular: \\f420;\n$fa-var-ankh: \\f644;\n$fa-var-app-store: \\f36f;\n$fa-var-app-store-ios: \\f370;\n$fa-var-apper: \\f371;\n$fa-var-apple: \\f179;\n$fa-var-apple-alt: \\f5d1;\n$fa-var-apple-pay: \\f415;\n$fa-var-archive: \\f187;\n$fa-var-archway: \\f557;\n$fa-var-arrow-alt-circle-down: \\f358;\n$fa-var-arrow-alt-circle-left: \\f359;\n$fa-var-arrow-alt-circle-right: \\f35a;\n$fa-var-arrow-alt-circle-up: \\f35b;\n$fa-var-arrow-circle-down: \\f0ab;\n$fa-var-arrow-circle-left: \\f0a8;\n$fa-var-arrow-circle-right: \\f0a9;\n$fa-var-arrow-circle-up: \\f0aa;\n$fa-var-arrow-down: \\f063;\n$fa-var-arrow-left: \\f060;\n$fa-var-arrow-right: \\f061;\n$fa-var-arrow-up: \\f062;\n$fa-var-arrows-alt: \\f0b2;\n$fa-var-arrows-alt-h: \\f337;\n$fa-var-arrows-alt-v: \\f338;\n$fa-var-artstation: \\f77a;\n$fa-var-assistive-listening-systems: \\f2a2;\n$fa-var-asterisk: \\f069;\n$fa-var-asymmetrik: \\f372;\n$fa-var-at: \\f1fa;\n$fa-var-atlas: \\f558;\n$fa-var-atlassian: \\f77b;\n$fa-var-atom: \\f5d2;\n$fa-var-audible: \\f373;\n$fa-var-audio-description: \\f29e;\n$fa-var-autoprefixer: \\f41c;\n$fa-var-avianex: \\f374;\n$fa-var-aviato: \\f421;\n$fa-var-award: \\f559;\n$fa-var-aws: \\f375;\n$fa-var-baby: \\f77c;\n$fa-var-baby-carriage: \\f77d;\n$fa-var-backspace: \\f55a;\n$fa-var-backward: \\f04a;\n$fa-var-bacon: \\f7e5;\n$fa-var-bacteria: \\e059;\n$fa-var-bacterium: \\e05a;\n$fa-var-bahai: \\f666;\n$fa-var-balance-scale: \\f24e;\n$fa-var-balance-scale-left: \\f515;\n$fa-var-balance-scale-right: \\f516;\n$fa-var-ban: \\f05e;\n$fa-var-band-aid: \\f462;\n$fa-var-bandcamp: \\f2d5;\n$fa-var-barcode: \\f02a;\n$fa-var-bars: \\f0c9;\n$fa-var-baseball-ball: \\f433;\n$fa-var-basketball-ball: \\f434;\n$fa-var-bath: \\f2cd;\n$fa-var-battery-empty: \\f244;\n$fa-var-battery-full: \\f240;\n$fa-var-battery-half: \\f242;\n$fa-var-battery-quarter: \\f243;\n$fa-var-battery-three-quarters: \\f241;\n$fa-var-battle-net: \\f835;\n$fa-var-bed: \\f236;\n$fa-var-beer: \\f0fc;\n$fa-var-behance: \\f1b4;\n$fa-var-behance-square: \\f1b5;\n$fa-var-bell: \\f0f3;\n$fa-var-bell-slash: \\f1f6;\n$fa-var-bezier-curve: \\f55b;\n$fa-var-bible: \\f647;\n$fa-var-bicycle: \\f206;\n$fa-var-biking: \\f84a;\n$fa-var-bimobject: \\f378;\n$fa-var-binoculars: \\f1e5;\n$fa-var-biohazard: \\f780;\n$fa-var-birthday-cake: \\f1fd;\n$fa-var-bitbucket: \\f171;\n$fa-var-bitcoin: \\f379;\n$fa-var-bity: \\f37a;\n$fa-var-black-tie: \\f27e;\n$fa-var-blackberry: \\f37b;\n$fa-var-blender: \\f517;\n$fa-var-blender-phone: \\f6b6;\n$fa-var-blind: \\f29d;\n$fa-var-blog: \\f781;\n$fa-var-blogger: \\f37c;\n$fa-var-blogger-b: \\f37d;\n$fa-var-bluetooth: \\f293;\n$fa-var-bluetooth-b: \\f294;\n$fa-var-bold: \\f032;\n$fa-var-bolt: \\f0e7;\n$fa-var-bomb: \\f1e2;\n$fa-var-bone: \\f5d7;\n$fa-var-bong: \\f55c;\n$fa-var-book: \\f02d;\n$fa-var-book-dead: \\f6b7;\n$fa-var-book-medical: \\f7e6;\n$fa-var-book-open: \\f518;\n$fa-var-book-reader: \\f5da;\n$fa-var-bookmark: \\f02e;\n$fa-var-bootstrap: \\f836;\n$fa-var-border-all: \\f84c;\n$fa-var-border-none: \\f850;\n$fa-var-border-style: \\f853;\n$fa-var-bowling-ball: \\f436;\n$fa-var-box: \\f466;\n$fa-var-box-open: \\f49e;\n$fa-var-box-tissue: \\e05b;\n$fa-var-boxes: \\f468;\n$fa-var-braille: \\f2a1;\n$fa-var-brain: \\f5dc;\n$fa-var-bread-slice: \\f7ec;\n$fa-var-briefcase: \\f0b1;\n$fa-var-briefcase-medical: \\f469;\n$fa-var-broadcast-tower: \\f519;\n$fa-var-broom: \\f51a;\n$fa-var-brush: \\f55d;\n$fa-var-btc: \\f15a;\n$fa-var-buffer: \\f837;\n$fa-var-bug: \\f188;\n$fa-var-building: \\f1ad;\n$fa-var-bullhorn: \\f0a1;\n$fa-var-bullseye: \\f140;\n$fa-var-burn: \\f46a;\n$fa-var-buromobelexperte: \\f37f;\n$fa-var-bus: \\f207;\n$fa-var-bus-alt: \\f55e;\n$fa-var-business-time: \\f64a;\n$fa-var-buy-n-large: \\f8a6;\n$fa-var-buysellads: \\f20d;\n$fa-var-calculator: \\f1ec;\n$fa-var-calendar: \\f133;\n$fa-var-calendar-alt: \\f073;\n$fa-var-calendar-check: \\f274;\n$fa-var-calendar-day: \\f783;\n$fa-var-calendar-minus: \\f272;\n$fa-var-calendar-plus: \\f271;\n$fa-var-calendar-times: \\f273;\n$fa-var-calendar-week: \\f784;\n$fa-var-camera: \\f030;\n$fa-var-camera-retro: \\f083;\n$fa-var-campground: \\f6bb;\n$fa-var-canadian-maple-leaf: \\f785;\n$fa-var-candy-cane: \\f786;\n$fa-var-cannabis: \\f55f;\n$fa-var-capsules: \\f46b;\n$fa-var-car: \\f1b9;\n$fa-var-car-alt: \\f5de;\n$fa-var-car-battery: \\f5df;\n$fa-var-car-crash: \\f5e1;\n$fa-var-car-side: \\f5e4;\n$fa-var-caravan: \\f8ff;\n$fa-var-caret-down: \\f0d7;\n$fa-var-caret-left: \\f0d9;\n$fa-var-caret-right: \\f0da;\n$fa-var-caret-square-down: \\f150;\n$fa-var-caret-square-left: \\f191;\n$fa-var-caret-square-right: \\f152;\n$fa-var-caret-square-up: \\f151;\n$fa-var-caret-up: \\f0d8;\n$fa-var-carrot: \\f787;\n$fa-var-cart-arrow-down: \\f218;\n$fa-var-cart-plus: \\f217;\n$fa-var-cash-register: \\f788;\n$fa-var-cat: \\f6be;\n$fa-var-cc-amazon-pay: \\f42d;\n$fa-var-cc-amex: \\f1f3;\n$fa-var-cc-apple-pay: \\f416;\n$fa-var-cc-diners-club: \\f24c;\n$fa-var-cc-discover: \\f1f2;\n$fa-var-cc-jcb: \\f24b;\n$fa-var-cc-mastercard: \\f1f1;\n$fa-var-cc-paypal: \\f1f4;\n$fa-var-cc-stripe: \\f1f5;\n$fa-var-cc-visa: \\f1f0;\n$fa-var-centercode: \\f380;\n$fa-var-centos: \\f789;\n$fa-var-certificate: \\f0a3;\n$fa-var-chair: \\f6c0;\n$fa-var-chalkboard: \\f51b;\n$fa-var-chalkboard-teacher: \\f51c;\n$fa-var-charging-station: \\f5e7;\n$fa-var-chart-area: \\f1fe;\n$fa-var-chart-bar: \\f080;\n$fa-var-chart-line: \\f201;\n$fa-var-chart-pie: \\f200;\n$fa-var-check: \\f00c;\n$fa-var-check-circle: \\f058;\n$fa-var-check-double: \\f560;\n$fa-var-check-square: \\f14a;\n$fa-var-cheese: \\f7ef;\n$fa-var-chess: \\f439;\n$fa-var-chess-bishop: \\f43a;\n$fa-var-chess-board: \\f43c;\n$fa-var-chess-king: \\f43f;\n$fa-var-chess-knight: \\f441;\n$fa-var-chess-pawn: \\f443;\n$fa-var-chess-queen: \\f445;\n$fa-var-chess-rook: \\f447;\n$fa-var-chevron-circle-down: \\f13a;\n$fa-var-chevron-circle-left: \\f137;\n$fa-var-chevron-circle-right: \\f138;\n$fa-var-chevron-circle-up: \\f139;\n$fa-var-chevron-down: \\f078;\n$fa-var-chevron-left: \\f053;\n$fa-var-chevron-right: \\f054;\n$fa-var-chevron-up: \\f077;\n$fa-var-child: \\f1ae;\n$fa-var-chrome: \\f268;\n$fa-var-chromecast: \\f838;\n$fa-var-church: \\f51d;\n$fa-var-circle: \\f111;\n$fa-var-circle-notch: \\f1ce;\n$fa-var-city: \\f64f;\n$fa-var-clinic-medical: \\f7f2;\n$fa-var-clipboard: \\f328;\n$fa-var-clipboard-check: \\f46c;\n$fa-var-clipboard-list: \\f46d;\n$fa-var-clock: \\f017;\n$fa-var-clone: \\f24d;\n$fa-var-closed-captioning: \\f20a;\n$fa-var-cloud: \\f0c2;\n$fa-var-cloud-download-alt: \\f381;\n$fa-var-cloud-meatball: \\f73b;\n$fa-var-cloud-moon: \\f6c3;\n$fa-var-cloud-moon-rain: \\f73c;\n$fa-var-cloud-rain: \\f73d;\n$fa-var-cloud-showers-heavy: \\f740;\n$fa-var-cloud-sun: \\f6c4;\n$fa-var-cloud-sun-rain: \\f743;\n$fa-var-cloud-upload-alt: \\f382;\n$fa-var-cloudflare: \\e07d;\n$fa-var-cloudscale: \\f383;\n$fa-var-cloudsmith: \\f384;\n$fa-var-cloudversify: \\f385;\n$fa-var-cocktail: \\f561;\n$fa-var-code: \\f121;\n$fa-var-code-branch: \\f126;\n$fa-var-codepen: \\f1cb;\n$fa-var-codiepie: \\f284;\n$fa-var-coffee: \\f0f4;\n$fa-var-cog: \\f013;\n$fa-var-cogs: \\f085;\n$fa-var-coins: \\f51e;\n$fa-var-columns: \\f0db;\n$fa-var-comment: \\f075;\n$fa-var-comment-alt: \\f27a;\n$fa-var-comment-dollar: \\f651;\n$fa-var-comment-dots: \\f4ad;\n$fa-var-comment-medical: \\f7f5;\n$fa-var-comment-slash: \\f4b3;\n$fa-var-comments: \\f086;\n$fa-var-comments-dollar: \\f653;\n$fa-var-compact-disc: \\f51f;\n$fa-var-compass: \\f14e;\n$fa-var-compress: \\f066;\n$fa-var-compress-alt: \\f422;\n$fa-var-compress-arrows-alt: \\f78c;\n$fa-var-concierge-bell: \\f562;\n$fa-var-confluence: \\f78d;\n$fa-var-connectdevelop: \\f20e;\n$fa-var-contao: \\f26d;\n$fa-var-cookie: \\f563;\n$fa-var-cookie-bite: \\f564;\n$fa-var-copy: \\f0c5;\n$fa-var-copyright: \\f1f9;\n$fa-var-cotton-bureau: \\f89e;\n$fa-var-couch: \\f4b8;\n$fa-var-cpanel: \\f388;\n$fa-var-creative-commons: \\f25e;\n$fa-var-creative-commons-by: \\f4e7;\n$fa-var-creative-commons-nc: \\f4e8;\n$fa-var-creative-commons-nc-eu: \\f4e9;\n$fa-var-creative-commons-nc-jp: \\f4ea;\n$fa-var-creative-commons-nd: \\f4eb;\n$fa-var-creative-commons-pd: \\f4ec;\n$fa-var-creative-commons-pd-alt: \\f4ed;\n$fa-var-creative-commons-remix: \\f4ee;\n$fa-var-creative-commons-sa: \\f4ef;\n$fa-var-creative-commons-sampling: \\f4f0;\n$fa-var-creative-commons-sampling-plus: \\f4f1;\n$fa-var-creative-commons-share: \\f4f2;\n$fa-var-creative-commons-zero: \\f4f3;\n$fa-var-credit-card: \\f09d;\n$fa-var-critical-role: \\f6c9;\n$fa-var-crop: \\f125;\n$fa-var-crop-alt: \\f565;\n$fa-var-cross: \\f654;\n$fa-var-crosshairs: \\f05b;\n$fa-var-crow: \\f520;\n$fa-var-crown: \\f521;\n$fa-var-crutch: \\f7f7;\n$fa-var-css3: \\f13c;\n$fa-var-css3-alt: \\f38b;\n$fa-var-cube: \\f1b2;\n$fa-var-cubes: \\f1b3;\n$fa-var-cut: \\f0c4;\n$fa-var-cuttlefish: \\f38c;\n$fa-var-d-and-d: \\f38d;\n$fa-var-d-and-d-beyond: \\f6ca;\n$fa-var-dailymotion: \\e052;\n$fa-var-dashcube: \\f210;\n$fa-var-database: \\f1c0;\n$fa-var-deaf: \\f2a4;\n$fa-var-deezer: \\e077;\n$fa-var-delicious: \\f1a5;\n$fa-var-democrat: \\f747;\n$fa-var-deploydog: \\f38e;\n$fa-var-deskpro: \\f38f;\n$fa-var-desktop: \\f108;\n$fa-var-dev: \\f6cc;\n$fa-var-deviantart: \\f1bd;\n$fa-var-dharmachakra: \\f655;\n$fa-var-dhl: \\f790;\n$fa-var-diagnoses: \\f470;\n$fa-var-diaspora: \\f791;\n$fa-var-dice: \\f522;\n$fa-var-dice-d20: \\f6cf;\n$fa-var-dice-d6: \\f6d1;\n$fa-var-dice-five: \\f523;\n$fa-var-dice-four: \\f524;\n$fa-var-dice-one: \\f525;\n$fa-var-dice-six: \\f526;\n$fa-var-dice-three: \\f527;\n$fa-var-dice-two: \\f528;\n$fa-var-digg: \\f1a6;\n$fa-var-digital-ocean: \\f391;\n$fa-var-digital-tachograph: \\f566;\n$fa-var-directions: \\f5eb;\n$fa-var-discord: \\f392;\n$fa-var-discourse: \\f393;\n$fa-var-disease: \\f7fa;\n$fa-var-divide: \\f529;\n$fa-var-dizzy: \\f567;\n$fa-var-dna: \\f471;\n$fa-var-dochub: \\f394;\n$fa-var-docker: \\f395;\n$fa-var-dog: \\f6d3;\n$fa-var-dollar-sign: \\f155;\n$fa-var-dolly: \\f472;\n$fa-var-dolly-flatbed: \\f474;\n$fa-var-donate: \\f4b9;\n$fa-var-door-closed: \\f52a;\n$fa-var-door-open: \\f52b;\n$fa-var-dot-circle: \\f192;\n$fa-var-dove: \\f4ba;\n$fa-var-download: \\f019;\n$fa-var-draft2digital: \\f396;\n$fa-var-drafting-compass: \\f568;\n$fa-var-dragon: \\f6d5;\n$fa-var-draw-polygon: \\f5ee;\n$fa-var-dribbble: \\f17d;\n$fa-var-dribbble-square: \\f397;\n$fa-var-dropbox: \\f16b;\n$fa-var-drum: \\f569;\n$fa-var-drum-steelpan: \\f56a;\n$fa-var-drumstick-bite: \\f6d7;\n$fa-var-drupal: \\f1a9;\n$fa-var-dumbbell: \\f44b;\n$fa-var-dumpster: \\f793;\n$fa-var-dumpster-fire: \\f794;\n$fa-var-dungeon: \\f6d9;\n$fa-var-dyalog: \\f399;\n$fa-var-earlybirds: \\f39a;\n$fa-var-ebay: \\f4f4;\n$fa-var-edge: \\f282;\n$fa-var-edge-legacy: \\e078;\n$fa-var-edit: \\f044;\n$fa-var-egg: \\f7fb;\n$fa-var-eject: \\f052;\n$fa-var-elementor: \\f430;\n$fa-var-ellipsis-h: \\f141;\n$fa-var-ellipsis-v: \\f142;\n$fa-var-ello: \\f5f1;\n$fa-var-ember: \\f423;\n$fa-var-empire: \\f1d1;\n$fa-var-envelope: \\f0e0;\n$fa-var-envelope-open: \\f2b6;\n$fa-var-envelope-open-text: \\f658;\n$fa-var-envelope-square: \\f199;\n$fa-var-envira: \\f299;\n$fa-var-equals: \\f52c;\n$fa-var-eraser: \\f12d;\n$fa-var-erlang: \\f39d;\n$fa-var-ethereum: \\f42e;\n$fa-var-ethernet: \\f796;\n$fa-var-etsy: \\f2d7;\n$fa-var-euro-sign: \\f153;\n$fa-var-evernote: \\f839;\n$fa-var-exchange-alt: \\f362;\n$fa-var-exclamation: \\f12a;\n$fa-var-exclamation-circle: \\f06a;\n$fa-var-exclamation-triangle: \\f071;\n$fa-var-expand: \\f065;\n$fa-var-expand-alt: \\f424;\n$fa-var-expand-arrows-alt: \\f31e;\n$fa-var-expeditedssl: \\f23e;\n$fa-var-external-link-alt: \\f35d;\n$fa-var-external-link-square-alt: \\f360;\n$fa-var-eye: \\f06e;\n$fa-var-eye-dropper: \\f1fb;\n$fa-var-eye-slash: \\f070;\n$fa-var-facebook: \\f09a;\n$fa-var-facebook-f: \\f39e;\n$fa-var-facebook-messenger: \\f39f;\n$fa-var-facebook-square: \\f082;\n$fa-var-fan: \\f863;\n$fa-var-fantasy-flight-games: \\f6dc;\n$fa-var-fast-backward: \\f049;\n$fa-var-fast-forward: \\f050;\n$fa-var-faucet: \\e005;\n$fa-var-fax: \\f1ac;\n$fa-var-feather: \\f52d;\n$fa-var-feather-alt: \\f56b;\n$fa-var-fedex: \\f797;\n$fa-var-fedora: \\f798;\n$fa-var-female: \\f182;\n$fa-var-fighter-jet: \\f0fb;\n$fa-var-figma: \\f799;\n$fa-var-file: \\f15b;\n$fa-var-file-alt: \\f15c;\n$fa-var-file-archive: \\f1c6;\n$fa-var-file-audio: \\f1c7;\n$fa-var-file-code: \\f1c9;\n$fa-var-file-contract: \\f56c;\n$fa-var-file-csv: \\f6dd;\n$fa-var-file-download: \\f56d;\n$fa-var-file-excel: \\f1c3;\n$fa-var-file-export: \\f56e;\n$fa-var-file-image: \\f1c5;\n$fa-var-file-import: \\f56f;\n$fa-var-file-invoice: \\f570;\n$fa-var-file-invoice-dollar: \\f571;\n$fa-var-file-medical: \\f477;\n$fa-var-file-medical-alt: \\f478;\n$fa-var-file-pdf: \\f1c1;\n$fa-var-file-powerpoint: \\f1c4;\n$fa-var-file-prescription: \\f572;\n$fa-var-file-signature: \\f573;\n$fa-var-file-upload: \\f574;\n$fa-var-file-video: \\f1c8;\n$fa-var-file-word: \\f1c2;\n$fa-var-fill: \\f575;\n$fa-var-fill-drip: \\f576;\n$fa-var-film: \\f008;\n$fa-var-filter: \\f0b0;\n$fa-var-fingerprint: \\f577;\n$fa-var-fire: \\f06d;\n$fa-var-fire-alt: \\f7e4;\n$fa-var-fire-extinguisher: \\f134;\n$fa-var-firefox: \\f269;\n$fa-var-firefox-browser: \\e007;\n$fa-var-first-aid: \\f479;\n$fa-var-first-order: \\f2b0;\n$fa-var-first-order-alt: \\f50a;\n$fa-var-firstdraft: \\f3a1;\n$fa-var-fish: \\f578;\n$fa-var-fist-raised: \\f6de;\n$fa-var-flag: \\f024;\n$fa-var-flag-checkered: \\f11e;\n$fa-var-flag-usa: \\f74d;\n$fa-var-flask: \\f0c3;\n$fa-var-flickr: \\f16e;\n$fa-var-flipboard: \\f44d;\n$fa-var-flushed: \\f579;\n$fa-var-fly: \\f417;\n$fa-var-folder: \\f07b;\n$fa-var-folder-minus: \\f65d;\n$fa-var-folder-open: \\f07c;\n$fa-var-folder-plus: \\f65e;\n$fa-var-font: \\f031;\n$fa-var-font-awesome: \\f2b4;\n$fa-var-font-awesome-alt: \\f35c;\n$fa-var-font-awesome-flag: \\f425;\n$fa-var-font-awesome-logo-full: \\f4e6;\n$fa-var-fonticons: \\f280;\n$fa-var-fonticons-fi: \\f3a2;\n$fa-var-football-ball: \\f44e;\n$fa-var-fort-awesome: \\f286;\n$fa-var-fort-awesome-alt: \\f3a3;\n$fa-var-forumbee: \\f211;\n$fa-var-forward: \\f04e;\n$fa-var-foursquare: \\f180;\n$fa-var-free-code-camp: \\f2c5;\n$fa-var-freebsd: \\f3a4;\n$fa-var-frog: \\f52e;\n$fa-var-frown: \\f119;\n$fa-var-frown-open: \\f57a;\n$fa-var-fulcrum: \\f50b;\n$fa-var-funnel-dollar: \\f662;\n$fa-var-futbol: \\f1e3;\n$fa-var-galactic-republic: \\f50c;\n$fa-var-galactic-senate: \\f50d;\n$fa-var-gamepad: \\f11b;\n$fa-var-gas-pump: \\f52f;\n$fa-var-gavel: \\f0e3;\n$fa-var-gem: \\f3a5;\n$fa-var-genderless: \\f22d;\n$fa-var-get-pocket: \\f265;\n$fa-var-gg: \\f260;\n$fa-var-gg-circle: \\f261;\n$fa-var-ghost: \\f6e2;\n$fa-var-gift: \\f06b;\n$fa-var-gifts: \\f79c;\n$fa-var-git: \\f1d3;\n$fa-var-git-alt: \\f841;\n$fa-var-git-square: \\f1d2;\n$fa-var-github: \\f09b;\n$fa-var-github-alt: \\f113;\n$fa-var-github-square: \\f092;\n$fa-var-gitkraken: \\f3a6;\n$fa-var-gitlab: \\f296;\n$fa-var-gitter: \\f426;\n$fa-var-glass-cheers: \\f79f;\n$fa-var-glass-martini: \\f000;\n$fa-var-glass-martini-alt: \\f57b;\n$fa-var-glass-whiskey: \\f7a0;\n$fa-var-glasses: \\f530;\n$fa-var-glide: \\f2a5;\n$fa-var-glide-g: \\f2a6;\n$fa-var-globe: \\f0ac;\n$fa-var-globe-africa: \\f57c;\n$fa-var-globe-americas: \\f57d;\n$fa-var-globe-asia: \\f57e;\n$fa-var-globe-europe: \\f7a2;\n$fa-var-gofore: \\f3a7;\n$fa-var-golf-ball: \\f450;\n$fa-var-goodreads: \\f3a8;\n$fa-var-goodreads-g: \\f3a9;\n$fa-var-google: \\f1a0;\n$fa-var-google-drive: \\f3aa;\n$fa-var-google-pay: \\e079;\n$fa-var-google-play: \\f3ab;\n$fa-var-google-plus: \\f2b3;\n$fa-var-google-plus-g: \\f0d5;\n$fa-var-google-plus-square: \\f0d4;\n$fa-var-google-wallet: \\f1ee;\n$fa-var-gopuram: \\f664;\n$fa-var-graduation-cap: \\f19d;\n$fa-var-gratipay: \\f184;\n$fa-var-grav: \\f2d6;\n$fa-var-greater-than: \\f531;\n$fa-var-greater-than-equal: \\f532;\n$fa-var-grimace: \\f57f;\n$fa-var-grin: \\f580;\n$fa-var-grin-alt: \\f581;\n$fa-var-grin-beam: \\f582;\n$fa-var-grin-beam-sweat: \\f583;\n$fa-var-grin-hearts: \\f584;\n$fa-var-grin-squint: \\f585;\n$fa-var-grin-squint-tears: \\f586;\n$fa-var-grin-stars: \\f587;\n$fa-var-grin-tears: \\f588;\n$fa-var-grin-tongue: \\f589;\n$fa-var-grin-tongue-squint: \\f58a;\n$fa-var-grin-tongue-wink: \\f58b;\n$fa-var-grin-wink: \\f58c;\n$fa-var-grip-horizontal: \\f58d;\n$fa-var-grip-lines: \\f7a4;\n$fa-var-grip-lines-vertical: \\f7a5;\n$fa-var-grip-vertical: \\f58e;\n$fa-var-gripfire: \\f3ac;\n$fa-var-grunt: \\f3ad;\n$fa-var-guilded: \\e07e;\n$fa-var-guitar: \\f7a6;\n$fa-var-gulp: \\f3ae;\n$fa-var-h-square: \\f0fd;\n$fa-var-hacker-news: \\f1d4;\n$fa-var-hacker-news-square: \\f3af;\n$fa-var-hackerrank: \\f5f7;\n$fa-var-hamburger: \\f805;\n$fa-var-hammer: \\f6e3;\n$fa-var-hamsa: \\f665;\n$fa-var-hand-holding: \\f4bd;\n$fa-var-hand-holding-heart: \\f4be;\n$fa-var-hand-holding-medical: \\e05c;\n$fa-var-hand-holding-usd: \\f4c0;\n$fa-var-hand-holding-water: \\f4c1;\n$fa-var-hand-lizard: \\f258;\n$fa-var-hand-middle-finger: \\f806;\n$fa-var-hand-paper: \\f256;\n$fa-var-hand-peace: \\f25b;\n$fa-var-hand-point-down: \\f0a7;\n$fa-var-hand-point-left: \\f0a5;\n$fa-var-hand-point-right: \\f0a4;\n$fa-var-hand-point-up: \\f0a6;\n$fa-var-hand-pointer: \\f25a;\n$fa-var-hand-rock: \\f255;\n$fa-var-hand-scissors: \\f257;\n$fa-var-hand-sparkles: \\e05d;\n$fa-var-hand-spock: \\f259;\n$fa-var-hands: \\f4c2;\n$fa-var-hands-helping: \\f4c4;\n$fa-var-hands-wash: \\e05e;\n$fa-var-handshake: \\f2b5;\n$fa-var-handshake-alt-slash: \\e05f;\n$fa-var-handshake-slash: \\e060;\n$fa-var-hanukiah: \\f6e6;\n$fa-var-hard-hat: \\f807;\n$fa-var-hashtag: \\f292;\n$fa-var-hat-cowboy: \\f8c0;\n$fa-var-hat-cowboy-side: \\f8c1;\n$fa-var-hat-wizard: \\f6e8;\n$fa-var-hdd: \\f0a0;\n$fa-var-head-side-cough: \\e061;\n$fa-var-head-side-cough-slash: \\e062;\n$fa-var-head-side-mask: \\e063;\n$fa-var-head-side-virus: \\e064;\n$fa-var-heading: \\f1dc;\n$fa-var-headphones: \\f025;\n$fa-var-headphones-alt: \\f58f;\n$fa-var-headset: \\f590;\n$fa-var-heart: \\f004;\n$fa-var-heart-broken: \\f7a9;\n$fa-var-heartbeat: \\f21e;\n$fa-var-helicopter: \\f533;\n$fa-var-highlighter: \\f591;\n$fa-var-hiking: \\f6ec;\n$fa-var-hippo: \\f6ed;\n$fa-var-hips: \\f452;\n$fa-var-hire-a-helper: \\f3b0;\n$fa-var-history: \\f1da;\n$fa-var-hive: \\e07f;\n$fa-var-hockey-puck: \\f453;\n$fa-var-holly-berry: \\f7aa;\n$fa-var-home: \\f015;\n$fa-var-hooli: \\f427;\n$fa-var-hornbill: \\f592;\n$fa-var-horse: \\f6f0;\n$fa-var-horse-head: \\f7ab;\n$fa-var-hospital: \\f0f8;\n$fa-var-hospital-alt: \\f47d;\n$fa-var-hospital-symbol: \\f47e;\n$fa-var-hospital-user: \\f80d;\n$fa-var-hot-tub: \\f593;\n$fa-var-hotdog: \\f80f;\n$fa-var-hotel: \\f594;\n$fa-var-hotjar: \\f3b1;\n$fa-var-hourglass: \\f254;\n$fa-var-hourglass-end: \\f253;\n$fa-var-hourglass-half: \\f252;\n$fa-var-hourglass-start: \\f251;\n$fa-var-house-damage: \\f6f1;\n$fa-var-house-user: \\e065;\n$fa-var-houzz: \\f27c;\n$fa-var-hryvnia: \\f6f2;\n$fa-var-html5: \\f13b;\n$fa-var-hubspot: \\f3b2;\n$fa-var-i-cursor: \\f246;\n$fa-var-ice-cream: \\f810;\n$fa-var-icicles: \\f7ad;\n$fa-var-icons: \\f86d;\n$fa-var-id-badge: \\f2c1;\n$fa-var-id-card: \\f2c2;\n$fa-var-id-card-alt: \\f47f;\n$fa-var-ideal: \\e013;\n$fa-var-igloo: \\f7ae;\n$fa-var-image: \\f03e;\n$fa-var-images: \\f302;\n$fa-var-imdb: \\f2d8;\n$fa-var-inbox: \\f01c;\n$fa-var-indent: \\f03c;\n$fa-var-industry: \\f275;\n$fa-var-infinity: \\f534;\n$fa-var-info: \\f129;\n$fa-var-info-circle: \\f05a;\n$fa-var-innosoft: \\e080;\n$fa-var-instagram: \\f16d;\n$fa-var-instagram-square: \\e055;\n$fa-var-instalod: \\e081;\n$fa-var-intercom: \\f7af;\n$fa-var-internet-explorer: \\f26b;\n$fa-var-invision: \\f7b0;\n$fa-var-ioxhost: \\f208;\n$fa-var-italic: \\f033;\n$fa-var-itch-io: \\f83a;\n$fa-var-itunes: \\f3b4;\n$fa-var-itunes-note: \\f3b5;\n$fa-var-java: \\f4e4;\n$fa-var-jedi: \\f669;\n$fa-var-jedi-order: \\f50e;\n$fa-var-jenkins: \\f3b6;\n$fa-var-jira: \\f7b1;\n$fa-var-joget: \\f3b7;\n$fa-var-joint: \\f595;\n$fa-var-joomla: \\f1aa;\n$fa-var-journal-whills: \\f66a;\n$fa-var-js: \\f3b8;\n$fa-var-js-square: \\f3b9;\n$fa-var-jsfiddle: \\f1cc;\n$fa-var-kaaba: \\f66b;\n$fa-var-kaggle: \\f5fa;\n$fa-var-key: \\f084;\n$fa-var-keybase: \\f4f5;\n$fa-var-keyboard: \\f11c;\n$fa-var-keycdn: \\f3ba;\n$fa-var-khanda: \\f66d;\n$fa-var-kickstarter: \\f3bb;\n$fa-var-kickstarter-k: \\f3bc;\n$fa-var-kiss: \\f596;\n$fa-var-kiss-beam: \\f597;\n$fa-var-kiss-wink-heart: \\f598;\n$fa-var-kiwi-bird: \\f535;\n$fa-var-korvue: \\f42f;\n$fa-var-landmark: \\f66f;\n$fa-var-language: \\f1ab;\n$fa-var-laptop: \\f109;\n$fa-var-laptop-code: \\f5fc;\n$fa-var-laptop-house: \\e066;\n$fa-var-laptop-medical: \\f812;\n$fa-var-laravel: \\f3bd;\n$fa-var-lastfm: \\f202;\n$fa-var-lastfm-square: \\f203;\n$fa-var-laugh: \\f599;\n$fa-var-laugh-beam: \\f59a;\n$fa-var-laugh-squint: \\f59b;\n$fa-var-laugh-wink: \\f59c;\n$fa-var-layer-group: \\f5fd;\n$fa-var-leaf: \\f06c;\n$fa-var-leanpub: \\f212;\n$fa-var-lemon: \\f094;\n$fa-var-less: \\f41d;\n$fa-var-less-than: \\f536;\n$fa-var-less-than-equal: \\f537;\n$fa-var-level-down-alt: \\f3be;\n$fa-var-level-up-alt: \\f3bf;\n$fa-var-life-ring: \\f1cd;\n$fa-var-lightbulb: \\f0eb;\n$fa-var-line: \\f3c0;\n$fa-var-link: \\f0c1;\n$fa-var-linkedin: \\f08c;\n$fa-var-linkedin-in: \\f0e1;\n$fa-var-linode: \\f2b8;\n$fa-var-linux: \\f17c;\n$fa-var-lira-sign: \\f195;\n$fa-var-list: \\f03a;\n$fa-var-list-alt: \\f022;\n$fa-var-list-ol: \\f0cb;\n$fa-var-list-ul: \\f0ca;\n$fa-var-location-arrow: \\f124;\n$fa-var-lock: \\f023;\n$fa-var-lock-open: \\f3c1;\n$fa-var-long-arrow-alt-down: \\f309;\n$fa-var-long-arrow-alt-left: \\f30a;\n$fa-var-long-arrow-alt-right: \\f30b;\n$fa-var-long-arrow-alt-up: \\f30c;\n$fa-var-low-vision: \\f2a8;\n$fa-var-luggage-cart: \\f59d;\n$fa-var-lungs: \\f604;\n$fa-var-lungs-virus: \\e067;\n$fa-var-lyft: \\f3c3;\n$fa-var-magento: \\f3c4;\n$fa-var-magic: \\f0d0;\n$fa-var-magnet: \\f076;\n$fa-var-mail-bulk: \\f674;\n$fa-var-mailchimp: \\f59e;\n$fa-var-male: \\f183;\n$fa-var-mandalorian: \\f50f;\n$fa-var-map: \\f279;\n$fa-var-map-marked: \\f59f;\n$fa-var-map-marked-alt: \\f5a0;\n$fa-var-map-marker: \\f041;\n$fa-var-map-marker-alt: \\f3c5;\n$fa-var-map-pin: \\f276;\n$fa-var-map-signs: \\f277;\n$fa-var-markdown: \\f60f;\n$fa-var-marker: \\f5a1;\n$fa-var-mars: \\f222;\n$fa-var-mars-double: \\f227;\n$fa-var-mars-stroke: \\f229;\n$fa-var-mars-stroke-h: \\f22b;\n$fa-var-mars-stroke-v: \\f22a;\n$fa-var-mask: \\f6fa;\n$fa-var-mastodon: \\f4f6;\n$fa-var-maxcdn: \\f136;\n$fa-var-mdb: \\f8ca;\n$fa-var-medal: \\f5a2;\n$fa-var-medapps: \\f3c6;\n$fa-var-medium: \\f23a;\n$fa-var-medium-m: \\f3c7;\n$fa-var-medkit: \\f0fa;\n$fa-var-medrt: \\f3c8;\n$fa-var-meetup: \\f2e0;\n$fa-var-megaport: \\f5a3;\n$fa-var-meh: \\f11a;\n$fa-var-meh-blank: \\f5a4;\n$fa-var-meh-rolling-eyes: \\f5a5;\n$fa-var-memory: \\f538;\n$fa-var-mendeley: \\f7b3;\n$fa-var-menorah: \\f676;\n$fa-var-mercury: \\f223;\n$fa-var-meteor: \\f753;\n$fa-var-microblog: \\e01a;\n$fa-var-microchip: \\f2db;\n$fa-var-microphone: \\f130;\n$fa-var-microphone-alt: \\f3c9;\n$fa-var-microphone-alt-slash: \\f539;\n$fa-var-microphone-slash: \\f131;\n$fa-var-microscope: \\f610;\n$fa-var-microsoft: \\f3ca;\n$fa-var-minus: \\f068;\n$fa-var-minus-circle: \\f056;\n$fa-var-minus-square: \\f146;\n$fa-var-mitten: \\f7b5;\n$fa-var-mix: \\f3cb;\n$fa-var-mixcloud: \\f289;\n$fa-var-mixer: \\e056;\n$fa-var-mizuni: \\f3cc;\n$fa-var-mobile: \\f10b;\n$fa-var-mobile-alt: \\f3cd;\n$fa-var-modx: \\f285;\n$fa-var-monero: \\f3d0;\n$fa-var-money-bill: \\f0d6;\n$fa-var-money-bill-alt: \\f3d1;\n$fa-var-money-bill-wave: \\f53a;\n$fa-var-money-bill-wave-alt: \\f53b;\n$fa-var-money-check: \\f53c;\n$fa-var-money-check-alt: \\f53d;\n$fa-var-monument: \\f5a6;\n$fa-var-moon: \\f186;\n$fa-var-mortar-pestle: \\f5a7;\n$fa-var-mosque: \\f678;\n$fa-var-motorcycle: \\f21c;\n$fa-var-mountain: \\f6fc;\n$fa-var-mouse: \\f8cc;\n$fa-var-mouse-pointer: \\f245;\n$fa-var-mug-hot: \\f7b6;\n$fa-var-music: \\f001;\n$fa-var-napster: \\f3d2;\n$fa-var-neos: \\f612;\n$fa-var-network-wired: \\f6ff;\n$fa-var-neuter: \\f22c;\n$fa-var-newspaper: \\f1ea;\n$fa-var-nimblr: \\f5a8;\n$fa-var-node: \\f419;\n$fa-var-node-js: \\f3d3;\n$fa-var-not-equal: \\f53e;\n$fa-var-notes-medical: \\f481;\n$fa-var-npm: \\f3d4;\n$fa-var-ns8: \\f3d5;\n$fa-var-nutritionix: \\f3d6;\n$fa-var-object-group: \\f247;\n$fa-var-object-ungroup: \\f248;\n$fa-var-octopus-deploy: \\e082;\n$fa-var-odnoklassniki: \\f263;\n$fa-var-odnoklassniki-square: \\f264;\n$fa-var-oil-can: \\f613;\n$fa-var-old-republic: \\f510;\n$fa-var-om: \\f679;\n$fa-var-opencart: \\f23d;\n$fa-var-openid: \\f19b;\n$fa-var-opera: \\f26a;\n$fa-var-optin-monster: \\f23c;\n$fa-var-orcid: \\f8d2;\n$fa-var-osi: \\f41a;\n$fa-var-otter: \\f700;\n$fa-var-outdent: \\f03b;\n$fa-var-page4: \\f3d7;\n$fa-var-pagelines: \\f18c;\n$fa-var-pager: \\f815;\n$fa-var-paint-brush: \\f1fc;\n$fa-var-paint-roller: \\f5aa;\n$fa-var-palette: \\f53f;\n$fa-var-palfed: \\f3d8;\n$fa-var-pallet: \\f482;\n$fa-var-paper-plane: \\f1d8;\n$fa-var-paperclip: \\f0c6;\n$fa-var-parachute-box: \\f4cd;\n$fa-var-paragraph: \\f1dd;\n$fa-var-parking: \\f540;\n$fa-var-passport: \\f5ab;\n$fa-var-pastafarianism: \\f67b;\n$fa-var-paste: \\f0ea;\n$fa-var-patreon: \\f3d9;\n$fa-var-pause: \\f04c;\n$fa-var-pause-circle: \\f28b;\n$fa-var-paw: \\f1b0;\n$fa-var-paypal: \\f1ed;\n$fa-var-peace: \\f67c;\n$fa-var-pen: \\f304;\n$fa-var-pen-alt: \\f305;\n$fa-var-pen-fancy: \\f5ac;\n$fa-var-pen-nib: \\f5ad;\n$fa-var-pen-square: \\f14b;\n$fa-var-pencil-alt: \\f303;\n$fa-var-pencil-ruler: \\f5ae;\n$fa-var-penny-arcade: \\f704;\n$fa-var-people-arrows: \\e068;\n$fa-var-people-carry: \\f4ce;\n$fa-var-pepper-hot: \\f816;\n$fa-var-perbyte: \\e083;\n$fa-var-percent: \\f295;\n$fa-var-percentage: \\f541;\n$fa-var-periscope: \\f3da;\n$fa-var-person-booth: \\f756;\n$fa-var-phabricator: \\f3db;\n$fa-var-phoenix-framework: \\f3dc;\n$fa-var-phoenix-squadron: \\f511;\n$fa-var-phone: \\f095;\n$fa-var-phone-alt: \\f879;\n$fa-var-phone-slash: \\f3dd;\n$fa-var-phone-square: \\f098;\n$fa-var-phone-square-alt: \\f87b;\n$fa-var-phone-volume: \\f2a0;\n$fa-var-photo-video: \\f87c;\n$fa-var-php: \\f457;\n$fa-var-pied-piper: \\f2ae;\n$fa-var-pied-piper-alt: \\f1a8;\n$fa-var-pied-piper-hat: \\f4e5;\n$fa-var-pied-piper-pp: \\f1a7;\n$fa-var-pied-piper-square: \\e01e;\n$fa-var-piggy-bank: \\f4d3;\n$fa-var-pills: \\f484;\n$fa-var-pinterest: \\f0d2;\n$fa-var-pinterest-p: \\f231;\n$fa-var-pinterest-square: \\f0d3;\n$fa-var-pizza-slice: \\f818;\n$fa-var-place-of-worship: \\f67f;\n$fa-var-plane: \\f072;\n$fa-var-plane-arrival: \\f5af;\n$fa-var-plane-departure: \\f5b0;\n$fa-var-plane-slash: \\e069;\n$fa-var-play: \\f04b;\n$fa-var-play-circle: \\f144;\n$fa-var-playstation: \\f3df;\n$fa-var-plug: \\f1e6;\n$fa-var-plus: \\f067;\n$fa-var-plus-circle: \\f055;\n$fa-var-plus-square: \\f0fe;\n$fa-var-podcast: \\f2ce;\n$fa-var-poll: \\f681;\n$fa-var-poll-h: \\f682;\n$fa-var-poo: \\f2fe;\n$fa-var-poo-storm: \\f75a;\n$fa-var-poop: \\f619;\n$fa-var-portrait: \\f3e0;\n$fa-var-pound-sign: \\f154;\n$fa-var-power-off: \\f011;\n$fa-var-pray: \\f683;\n$fa-var-praying-hands: \\f684;\n$fa-var-prescription: \\f5b1;\n$fa-var-prescription-bottle: \\f485;\n$fa-var-prescription-bottle-alt: \\f486;\n$fa-var-print: \\f02f;\n$fa-var-procedures: \\f487;\n$fa-var-product-hunt: \\f288;\n$fa-var-project-diagram: \\f542;\n$fa-var-pump-medical: \\e06a;\n$fa-var-pump-soap: \\e06b;\n$fa-var-pushed: \\f3e1;\n$fa-var-puzzle-piece: \\f12e;\n$fa-var-python: \\f3e2;\n$fa-var-qq: \\f1d6;\n$fa-var-qrcode: \\f029;\n$fa-var-question: \\f128;\n$fa-var-question-circle: \\f059;\n$fa-var-quidditch: \\f458;\n$fa-var-quinscape: \\f459;\n$fa-var-quora: \\f2c4;\n$fa-var-quote-left: \\f10d;\n$fa-var-quote-right: \\f10e;\n$fa-var-quran: \\f687;\n$fa-var-r-project: \\f4f7;\n$fa-var-radiation: \\f7b9;\n$fa-var-radiation-alt: \\f7ba;\n$fa-var-rainbow: \\f75b;\n$fa-var-random: \\f074;\n$fa-var-raspberry-pi: \\f7bb;\n$fa-var-ravelry: \\f2d9;\n$fa-var-react: \\f41b;\n$fa-var-reacteurope: \\f75d;\n$fa-var-readme: \\f4d5;\n$fa-var-rebel: \\f1d0;\n$fa-var-receipt: \\f543;\n$fa-var-record-vinyl: \\f8d9;\n$fa-var-recycle: \\f1b8;\n$fa-var-red-river: \\f3e3;\n$fa-var-reddit: \\f1a1;\n$fa-var-reddit-alien: \\f281;\n$fa-var-reddit-square: \\f1a2;\n$fa-var-redhat: \\f7bc;\n$fa-var-redo: \\f01e;\n$fa-var-redo-alt: \\f2f9;\n$fa-var-registered: \\f25d;\n$fa-var-remove-format: \\f87d;\n$fa-var-renren: \\f18b;\n$fa-var-reply: \\f3e5;\n$fa-var-reply-all: \\f122;\n$fa-var-replyd: \\f3e6;\n$fa-var-republican: \\f75e;\n$fa-var-researchgate: \\f4f8;\n$fa-var-resolving: \\f3e7;\n$fa-var-restroom: \\f7bd;\n$fa-var-retweet: \\f079;\n$fa-var-rev: \\f5b2;\n$fa-var-ribbon: \\f4d6;\n$fa-var-ring: \\f70b;\n$fa-var-road: \\f018;\n$fa-var-robot: \\f544;\n$fa-var-rocket: \\f135;\n$fa-var-rocketchat: \\f3e8;\n$fa-var-rockrms: \\f3e9;\n$fa-var-route: \\f4d7;\n$fa-var-rss: \\f09e;\n$fa-var-rss-square: \\f143;\n$fa-var-ruble-sign: \\f158;\n$fa-var-ruler: \\f545;\n$fa-var-ruler-combined: \\f546;\n$fa-var-ruler-horizontal: \\f547;\n$fa-var-ruler-vertical: \\f548;\n$fa-var-running: \\f70c;\n$fa-var-rupee-sign: \\f156;\n$fa-var-rust: \\e07a;\n$fa-var-sad-cry: \\f5b3;\n$fa-var-sad-tear: \\f5b4;\n$fa-var-safari: \\f267;\n$fa-var-salesforce: \\f83b;\n$fa-var-sass: \\f41e;\n$fa-var-satellite: \\f7bf;\n$fa-var-satellite-dish: \\f7c0;\n$fa-var-save: \\f0c7;\n$fa-var-schlix: \\f3ea;\n$fa-var-school: \\f549;\n$fa-var-screwdriver: \\f54a;\n$fa-var-scribd: \\f28a;\n$fa-var-scroll: \\f70e;\n$fa-var-sd-card: \\f7c2;\n$fa-var-search: \\f002;\n$fa-var-search-dollar: \\f688;\n$fa-var-search-location: \\f689;\n$fa-var-search-minus: \\f010;\n$fa-var-search-plus: \\f00e;\n$fa-var-searchengin: \\f3eb;\n$fa-var-seedling: \\f4d8;\n$fa-var-sellcast: \\f2da;\n$fa-var-sellsy: \\f213;\n$fa-var-server: \\f233;\n$fa-var-servicestack: \\f3ec;\n$fa-var-shapes: \\f61f;\n$fa-var-share: \\f064;\n$fa-var-share-alt: \\f1e0;\n$fa-var-share-alt-square: \\f1e1;\n$fa-var-share-square: \\f14d;\n$fa-var-shekel-sign: \\f20b;\n$fa-var-shield-alt: \\f3ed;\n$fa-var-shield-virus: \\e06c;\n$fa-var-ship: \\f21a;\n$fa-var-shipping-fast: \\f48b;\n$fa-var-shirtsinbulk: \\f214;\n$fa-var-shoe-prints: \\f54b;\n$fa-var-shopify: \\e057;\n$fa-var-shopping-bag: \\f290;\n$fa-var-shopping-basket: \\f291;\n$fa-var-shopping-cart: \\f07a;\n$fa-var-shopware: \\f5b5;\n$fa-var-shower: \\f2cc;\n$fa-var-shuttle-van: \\f5b6;\n$fa-var-sign: \\f4d9;\n$fa-var-sign-in-alt: \\f2f6;\n$fa-var-sign-language: \\f2a7;\n$fa-var-sign-out-alt: \\f2f5;\n$fa-var-signal: \\f012;\n$fa-var-signature: \\f5b7;\n$fa-var-sim-card: \\f7c4;\n$fa-var-simplybuilt: \\f215;\n$fa-var-sink: \\e06d;\n$fa-var-sistrix: \\f3ee;\n$fa-var-sitemap: \\f0e8;\n$fa-var-sith: \\f512;\n$fa-var-skating: \\f7c5;\n$fa-var-sketch: \\f7c6;\n$fa-var-skiing: \\f7c9;\n$fa-var-skiing-nordic: \\f7ca;\n$fa-var-skull: \\f54c;\n$fa-var-skull-crossbones: \\f714;\n$fa-var-skyatlas: \\f216;\n$fa-var-skype: \\f17e;\n$fa-var-slack: \\f198;\n$fa-var-slack-hash: \\f3ef;\n$fa-var-slash: \\f715;\n$fa-var-sleigh: \\f7cc;\n$fa-var-sliders-h: \\f1de;\n$fa-var-slideshare: \\f1e7;\n$fa-var-smile: \\f118;\n$fa-var-smile-beam: \\f5b8;\n$fa-var-smile-wink: \\f4da;\n$fa-var-smog: \\f75f;\n$fa-var-smoking: \\f48d;\n$fa-var-smoking-ban: \\f54d;\n$fa-var-sms: \\f7cd;\n$fa-var-snapchat: \\f2ab;\n$fa-var-snapchat-ghost: \\f2ac;\n$fa-var-snapchat-square: \\f2ad;\n$fa-var-snowboarding: \\f7ce;\n$fa-var-snowflake: \\f2dc;\n$fa-var-snowman: \\f7d0;\n$fa-var-snowplow: \\f7d2;\n$fa-var-soap: \\e06e;\n$fa-var-socks: \\f696;\n$fa-var-solar-panel: \\f5ba;\n$fa-var-sort: \\f0dc;\n$fa-var-sort-alpha-down: \\f15d;\n$fa-var-sort-alpha-down-alt: \\f881;\n$fa-var-sort-alpha-up: \\f15e;\n$fa-var-sort-alpha-up-alt: \\f882;\n$fa-var-sort-amount-down: \\f160;\n$fa-var-sort-amount-down-alt: \\f884;\n$fa-var-sort-amount-up: \\f161;\n$fa-var-sort-amount-up-alt: \\f885;\n$fa-var-sort-down: \\f0dd;\n$fa-var-sort-numeric-down: \\f162;\n$fa-var-sort-numeric-down-alt: \\f886;\n$fa-var-sort-numeric-up: \\f163;\n$fa-var-sort-numeric-up-alt: \\f887;\n$fa-var-sort-up: \\f0de;\n$fa-var-soundcloud: \\f1be;\n$fa-var-sourcetree: \\f7d3;\n$fa-var-spa: \\f5bb;\n$fa-var-space-shuttle: \\f197;\n$fa-var-speakap: \\f3f3;\n$fa-var-speaker-deck: \\f83c;\n$fa-var-spell-check: \\f891;\n$fa-var-spider: \\f717;\n$fa-var-spinner: \\f110;\n$fa-var-splotch: \\f5bc;\n$fa-var-spotify: \\f1bc;\n$fa-var-spray-can: \\f5bd;\n$fa-var-square: \\f0c8;\n$fa-var-square-full: \\f45c;\n$fa-var-square-root-alt: \\f698;\n$fa-var-squarespace: \\f5be;\n$fa-var-stack-exchange: \\f18d;\n$fa-var-stack-overflow: \\f16c;\n$fa-var-stackpath: \\f842;\n$fa-var-stamp: \\f5bf;\n$fa-var-star: \\f005;\n$fa-var-star-and-crescent: \\f699;\n$fa-var-star-half: \\f089;\n$fa-var-star-half-alt: \\f5c0;\n$fa-var-star-of-david: \\f69a;\n$fa-var-star-of-life: \\f621;\n$fa-var-staylinked: \\f3f5;\n$fa-var-steam: \\f1b6;\n$fa-var-steam-square: \\f1b7;\n$fa-var-steam-symbol: \\f3f6;\n$fa-var-step-backward: \\f048;\n$fa-var-step-forward: \\f051;\n$fa-var-stethoscope: \\f0f1;\n$fa-var-sticker-mule: \\f3f7;\n$fa-var-sticky-note: \\f249;\n$fa-var-stop: \\f04d;\n$fa-var-stop-circle: \\f28d;\n$fa-var-stopwatch: \\f2f2;\n$fa-var-stopwatch-20: \\e06f;\n$fa-var-store: \\f54e;\n$fa-var-store-alt: \\f54f;\n$fa-var-store-alt-slash: \\e070;\n$fa-var-store-slash: \\e071;\n$fa-var-strava: \\f428;\n$fa-var-stream: \\f550;\n$fa-var-street-view: \\f21d;\n$fa-var-strikethrough: \\f0cc;\n$fa-var-stripe: \\f429;\n$fa-var-stripe-s: \\f42a;\n$fa-var-stroopwafel: \\f551;\n$fa-var-studiovinari: \\f3f8;\n$fa-var-stumbleupon: \\f1a4;\n$fa-var-stumbleupon-circle: \\f1a3;\n$fa-var-subscript: \\f12c;\n$fa-var-subway: \\f239;\n$fa-var-suitcase: \\f0f2;\n$fa-var-suitcase-rolling: \\f5c1;\n$fa-var-sun: \\f185;\n$fa-var-superpowers: \\f2dd;\n$fa-var-superscript: \\f12b;\n$fa-var-supple: \\f3f9;\n$fa-var-surprise: \\f5c2;\n$fa-var-suse: \\f7d6;\n$fa-var-swatchbook: \\f5c3;\n$fa-var-swift: \\f8e1;\n$fa-var-swimmer: \\f5c4;\n$fa-var-swimming-pool: \\f5c5;\n$fa-var-symfony: \\f83d;\n$fa-var-synagogue: \\f69b;\n$fa-var-sync: \\f021;\n$fa-var-sync-alt: \\f2f1;\n$fa-var-syringe: \\f48e;\n$fa-var-table: \\f0ce;\n$fa-var-table-tennis: \\f45d;\n$fa-var-tablet: \\f10a;\n$fa-var-tablet-alt: \\f3fa;\n$fa-var-tablets: \\f490;\n$fa-var-tachometer-alt: \\f3fd;\n$fa-var-tag: \\f02b;\n$fa-var-tags: \\f02c;\n$fa-var-tape: \\f4db;\n$fa-var-tasks: \\f0ae;\n$fa-var-taxi: \\f1ba;\n$fa-var-teamspeak: \\f4f9;\n$fa-var-teeth: \\f62e;\n$fa-var-teeth-open: \\f62f;\n$fa-var-telegram: \\f2c6;\n$fa-var-telegram-plane: \\f3fe;\n$fa-var-temperature-high: \\f769;\n$fa-var-temperature-low: \\f76b;\n$fa-var-tencent-weibo: \\f1d5;\n$fa-var-tenge: \\f7d7;\n$fa-var-terminal: \\f120;\n$fa-var-text-height: \\f034;\n$fa-var-text-width: \\f035;\n$fa-var-th: \\f00a;\n$fa-var-th-large: \\f009;\n$fa-var-th-list: \\f00b;\n$fa-var-the-red-yeti: \\f69d;\n$fa-var-theater-masks: \\f630;\n$fa-var-themeco: \\f5c6;\n$fa-var-themeisle: \\f2b2;\n$fa-var-thermometer: \\f491;\n$fa-var-thermometer-empty: \\f2cb;\n$fa-var-thermometer-full: \\f2c7;\n$fa-var-thermometer-half: \\f2c9;\n$fa-var-thermometer-quarter: \\f2ca;\n$fa-var-thermometer-three-quarters: \\f2c8;\n$fa-var-think-peaks: \\f731;\n$fa-var-thumbs-down: \\f165;\n$fa-var-thumbs-up: \\f164;\n$fa-var-thumbtack: \\f08d;\n$fa-var-ticket-alt: \\f3ff;\n$fa-var-tiktok: \\e07b;\n$fa-var-times: \\f00d;\n$fa-var-times-circle: \\f057;\n$fa-var-tint: \\f043;\n$fa-var-tint-slash: \\f5c7;\n$fa-var-tired: \\f5c8;\n$fa-var-toggle-off: \\f204;\n$fa-var-toggle-on: \\f205;\n$fa-var-toilet: \\f7d8;\n$fa-var-toilet-paper: \\f71e;\n$fa-var-toilet-paper-slash: \\e072;\n$fa-var-toolbox: \\f552;\n$fa-var-tools: \\f7d9;\n$fa-var-tooth: \\f5c9;\n$fa-var-torah: \\f6a0;\n$fa-var-torii-gate: \\f6a1;\n$fa-var-tractor: \\f722;\n$fa-var-trade-federation: \\f513;\n$fa-var-trademark: \\f25c;\n$fa-var-traffic-light: \\f637;\n$fa-var-trailer: \\e041;\n$fa-var-train: \\f238;\n$fa-var-tram: \\f7da;\n$fa-var-transgender: \\f224;\n$fa-var-transgender-alt: \\f225;\n$fa-var-trash: \\f1f8;\n$fa-var-trash-alt: \\f2ed;\n$fa-var-trash-restore: \\f829;\n$fa-var-trash-restore-alt: \\f82a;\n$fa-var-tree: \\f1bb;\n$fa-var-trello: \\f181;\n$fa-var-trophy: \\f091;\n$fa-var-truck: \\f0d1;\n$fa-var-truck-loading: \\f4de;\n$fa-var-truck-monster: \\f63b;\n$fa-var-truck-moving: \\f4df;\n$fa-var-truck-pickup: \\f63c;\n$fa-var-tshirt: \\f553;\n$fa-var-tty: \\f1e4;\n$fa-var-tumblr: \\f173;\n$fa-var-tumblr-square: \\f174;\n$fa-var-tv: \\f26c;\n$fa-var-twitch: \\f1e8;\n$fa-var-twitter: \\f099;\n$fa-var-twitter-square: \\f081;\n$fa-var-typo3: \\f42b;\n$fa-var-uber: \\f402;\n$fa-var-ubuntu: \\f7df;\n$fa-var-uikit: \\f403;\n$fa-var-umbraco: \\f8e8;\n$fa-var-umbrella: \\f0e9;\n$fa-var-umbrella-beach: \\f5ca;\n$fa-var-uncharted: \\e084;\n$fa-var-underline: \\f0cd;\n$fa-var-undo: \\f0e2;\n$fa-var-undo-alt: \\f2ea;\n$fa-var-uniregistry: \\f404;\n$fa-var-unity: \\e049;\n$fa-var-universal-access: \\f29a;\n$fa-var-university: \\f19c;\n$fa-var-unlink: \\f127;\n$fa-var-unlock: \\f09c;\n$fa-var-unlock-alt: \\f13e;\n$fa-var-unsplash: \\e07c;\n$fa-var-untappd: \\f405;\n$fa-var-upload: \\f093;\n$fa-var-ups: \\f7e0;\n$fa-var-usb: \\f287;\n$fa-var-user: \\f007;\n$fa-var-user-alt: \\f406;\n$fa-var-user-alt-slash: \\f4fa;\n$fa-var-user-astronaut: \\f4fb;\n$fa-var-user-check: \\f4fc;\n$fa-var-user-circle: \\f2bd;\n$fa-var-user-clock: \\f4fd;\n$fa-var-user-cog: \\f4fe;\n$fa-var-user-edit: \\f4ff;\n$fa-var-user-friends: \\f500;\n$fa-var-user-graduate: \\f501;\n$fa-var-user-injured: \\f728;\n$fa-var-user-lock: \\f502;\n$fa-var-user-md: \\f0f0;\n$fa-var-user-minus: \\f503;\n$fa-var-user-ninja: \\f504;\n$fa-var-user-nurse: \\f82f;\n$fa-var-user-plus: \\f234;\n$fa-var-user-secret: \\f21b;\n$fa-var-user-shield: \\f505;\n$fa-var-user-slash: \\f506;\n$fa-var-user-tag: \\f507;\n$fa-var-user-tie: \\f508;\n$fa-var-user-times: \\f235;\n$fa-var-users: \\f0c0;\n$fa-var-users-cog: \\f509;\n$fa-var-users-slash: \\e073;\n$fa-var-usps: \\f7e1;\n$fa-var-ussunnah: \\f407;\n$fa-var-utensil-spoon: \\f2e5;\n$fa-var-utensils: \\f2e7;\n$fa-var-vaadin: \\f408;\n$fa-var-vector-square: \\f5cb;\n$fa-var-venus: \\f221;\n$fa-var-venus-double: \\f226;\n$fa-var-venus-mars: \\f228;\n$fa-var-vest: \\e085;\n$fa-var-vest-patches: \\e086;\n$fa-var-viacoin: \\f237;\n$fa-var-viadeo: \\f2a9;\n$fa-var-viadeo-square: \\f2aa;\n$fa-var-vial: \\f492;\n$fa-var-vials: \\f493;\n$fa-var-viber: \\f409;\n$fa-var-video: \\f03d;\n$fa-var-video-slash: \\f4e2;\n$fa-var-vihara: \\f6a7;\n$fa-var-vimeo: \\f40a;\n$fa-var-vimeo-square: \\f194;\n$fa-var-vimeo-v: \\f27d;\n$fa-var-vine: \\f1ca;\n$fa-var-virus: \\e074;\n$fa-var-virus-slash: \\e075;\n$fa-var-viruses: \\e076;\n$fa-var-vk: \\f189;\n$fa-var-vnv: \\f40b;\n$fa-var-voicemail: \\f897;\n$fa-var-volleyball-ball: \\f45f;\n$fa-var-volume-down: \\f027;\n$fa-var-volume-mute: \\f6a9;\n$fa-var-volume-off: \\f026;\n$fa-var-volume-up: \\f028;\n$fa-var-vote-yea: \\f772;\n$fa-var-vr-cardboard: \\f729;\n$fa-var-vuejs: \\f41f;\n$fa-var-walking: \\f554;\n$fa-var-wallet: \\f555;\n$fa-var-warehouse: \\f494;\n$fa-var-watchman-monitoring: \\e087;\n$fa-var-water: \\f773;\n$fa-var-wave-square: \\f83e;\n$fa-var-waze: \\f83f;\n$fa-var-weebly: \\f5cc;\n$fa-var-weibo: \\f18a;\n$fa-var-weight: \\f496;\n$fa-var-weight-hanging: \\f5cd;\n$fa-var-weixin: \\f1d7;\n$fa-var-whatsapp: \\f232;\n$fa-var-whatsapp-square: \\f40c;\n$fa-var-wheelchair: \\f193;\n$fa-var-whmcs: \\f40d;\n$fa-var-wifi: \\f1eb;\n$fa-var-wikipedia-w: \\f266;\n$fa-var-wind: \\f72e;\n$fa-var-window-close: \\f410;\n$fa-var-window-maximize: \\f2d0;\n$fa-var-window-minimize: \\f2d1;\n$fa-var-window-restore: \\f2d2;\n$fa-var-windows: \\f17a;\n$fa-var-wine-bottle: \\f72f;\n$fa-var-wine-glass: \\f4e3;\n$fa-var-wine-glass-alt: \\f5ce;\n$fa-var-wix: \\f5cf;\n$fa-var-wizards-of-the-coast: \\f730;\n$fa-var-wodu: \\e088;\n$fa-var-wolf-pack-battalion: \\f514;\n$fa-var-won-sign: \\f159;\n$fa-var-wordpress: \\f19a;\n$fa-var-wordpress-simple: \\f411;\n$fa-var-wpbeginner: \\f297;\n$fa-var-wpexplorer: \\f2de;\n$fa-var-wpforms: \\f298;\n$fa-var-wpressr: \\f3e4;\n$fa-var-wrench: \\f0ad;\n$fa-var-x-ray: \\f497;\n$fa-var-xbox: \\f412;\n$fa-var-xing: \\f168;\n$fa-var-xing-square: \\f169;\n$fa-var-y-combinator: \\f23b;\n$fa-var-yahoo: \\f19e;\n$fa-var-yammer: \\f840;\n$fa-var-yandex: \\f413;\n$fa-var-yandex-international: \\f414;\n$fa-var-yarn: \\f7e3;\n$fa-var-yelp: \\f1e9;\n$fa-var-yen-sign: \\f157;\n$fa-var-yin-yang: \\f6ad;\n$fa-var-yoast: \\f2b1;\n$fa-var-youtube: \\f167;\n$fa-var-youtube-square: \\f431;\n$fa-var-zhihu: \\f63f;\n", + "// Mixins\n// --------------------------\n\n@mixin fa-icon {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n line-height: 1;\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n }\n}\n", + "// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix},\n.fas,\n.far,\n.fal,\n.fad,\n.fab {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n line-height: 1;\n}\n\n%fa-icon {\n @include fa-icon;\n}\n", + "// Icon Sizes\n// -------------------------\n\n// makes the font 33% larger relative to the icon container\n.#{$fa-css-prefix}-lg {\n font-size: (4em / 3);\n line-height: (3em / 4);\n vertical-align: -.0667em;\n}\n\n.#{$fa-css-prefix}-xs {\n font-size: .75em;\n}\n\n.#{$fa-css-prefix}-sm {\n font-size: .875em;\n}\n\n@for $i from 1 through 10 {\n .#{$fa-css-prefix}-#{$i}x {\n font-size: $i * 1em;\n }\n}\n", + "// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n text-align: center;\n width: $fa-fw-width;\n}\n", + "// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n list-style-type: none;\n margin-left: $fa-li-width * 5/4;\n padding-left: 0;\n\n > li { position: relative; }\n}\n\n.#{$fa-css-prefix}-li {\n left: -$fa-li-width;\n position: absolute;\n text-align: center;\n width: $fa-li-width;\n line-height: inherit;\n}\n", + "// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n border: solid .08em $fa-border-color;\n border-radius: .1em;\n padding: .2em .25em .15em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix},\n.fas,\n.far,\n.fal,\n.fab {\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n", + "// Animated Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n animation: fa-spin 1s infinite steps(8);\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n", + "// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\n.#{$fa-css-prefix}-flip-both, .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root {\n .#{$fa-css-prefix}-rotate-90,\n .#{$fa-css-prefix}-rotate-180,\n .#{$fa-css-prefix}-rotate-270,\n .#{$fa-css-prefix}-flip-horizontal,\n .#{$fa-css-prefix}-flip-vertical,\n .#{$fa-css-prefix}-flip-both {\n filter: none;\n }\n}\n", + "// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n display: inline-block;\n height: 2em;\n line-height: 2em;\n position: relative;\n vertical-align: middle;\n width: ($fa-fw-width*2);\n}\n\n.#{$fa-css-prefix}-stack-1x,\n.#{$fa-css-prefix}-stack-2x {\n left: 0;\n position: absolute;\n text-align: center;\n width: 100%;\n}\n\n.#{$fa-css-prefix}-stack-1x {\n line-height: inherit;\n}\n\n.#{$fa-css-prefix}-stack-2x {\n font-size: 2em;\n}\n\n.#{$fa-css-prefix}-inverse {\n color: $fa-inverse;\n}\n", + "/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\nreaders do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); }\n.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); }\n.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); }\n.#{$fa-css-prefix}-acquisitions-incorporated:before { content: fa-content($fa-var-acquisitions-incorporated); }\n.#{$fa-css-prefix}-ad:before { content: fa-content($fa-var-ad); }\n.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); }\n.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); }\n.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); }\n.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); }\n.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); }\n.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); }\n.#{$fa-css-prefix}-air-freshener:before { content: fa-content($fa-var-air-freshener); }\n.#{$fa-css-prefix}-airbnb:before { content: fa-content($fa-var-airbnb); }\n.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); }\n.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); }\n.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); }\n.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); }\n.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); }\n.#{$fa-css-prefix}-alipay:before { content: fa-content($fa-var-alipay); }\n.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); }\n.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); }\n.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); }\n.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); }\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }\n.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); }\n.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); }\n.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); }\n.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); }\n.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); }\n.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); }\n.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); }\n.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); }\n.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); }\n.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); }\n.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); }\n.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); }\n.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); }\n.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); }\n.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); }\n.#{$fa-css-prefix}-ankh:before { content: fa-content($fa-var-ankh); }\n.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); }\n.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); }\n.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); }\n.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); }\n.#{$fa-css-prefix}-apple-alt:before { content: fa-content($fa-var-apple-alt); }\n.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); }\n.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); }\n.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); }\n.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }\n.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }\n.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }\n.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); }\n.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); }\n.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); }\n.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); }\n.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); }\n.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); }\n.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); }\n.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); }\n.#{$fa-css-prefix}-artstation:before { content: fa-content($fa-var-artstation); }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); }\n.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); }\n.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); }\n.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); }\n.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); }\n.#{$fa-css-prefix}-atlassian:before { content: fa-content($fa-var-atlassian); }\n.#{$fa-css-prefix}-atom:before { content: fa-content($fa-var-atom); }\n.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); }\n.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); }\n.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); }\n.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); }\n.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); }\n.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); }\n.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); }\n.#{$fa-css-prefix}-baby:before { content: fa-content($fa-var-baby); }\n.#{$fa-css-prefix}-baby-carriage:before { content: fa-content($fa-var-baby-carriage); }\n.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); }\n.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); }\n.#{$fa-css-prefix}-bacon:before { content: fa-content($fa-var-bacon); }\n.#{$fa-css-prefix}-bacteria:before { content: fa-content($fa-var-bacteria); }\n.#{$fa-css-prefix}-bacterium:before { content: fa-content($fa-var-bacterium); }\n.#{$fa-css-prefix}-bahai:before { content: fa-content($fa-var-bahai); }\n.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); }\n.#{$fa-css-prefix}-balance-scale-left:before { content: fa-content($fa-var-balance-scale-left); }\n.#{$fa-css-prefix}-balance-scale-right:before { content: fa-content($fa-var-balance-scale-right); }\n.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); }\n.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); }\n.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); }\n.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); }\n.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); }\n.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); }\n.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); }\n.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); }\n.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); }\n.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); }\n.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); }\n.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); }\n.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); }\n.#{$fa-css-prefix}-battle-net:before { content: fa-content($fa-var-battle-net); }\n.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); }\n.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); }\n.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); }\n.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); }\n.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); }\n.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); }\n.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); }\n.#{$fa-css-prefix}-bible:before { content: fa-content($fa-var-bible); }\n.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); }\n.#{$fa-css-prefix}-biking:before { content: fa-content($fa-var-biking); }\n.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); }\n.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); }\n.#{$fa-css-prefix}-biohazard:before { content: fa-content($fa-var-biohazard); }\n.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); }\n.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); }\n.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); }\n.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); }\n.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); }\n.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); }\n.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); }\n.#{$fa-css-prefix}-blender-phone:before { content: fa-content($fa-var-blender-phone); }\n.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); }\n.#{$fa-css-prefix}-blog:before { content: fa-content($fa-var-blog); }\n.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); }\n.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); }\n.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); }\n.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); }\n.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); }\n.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); }\n.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); }\n.#{$fa-css-prefix}-bone:before { content: fa-content($fa-var-bone); }\n.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); }\n.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); }\n.#{$fa-css-prefix}-book-dead:before { content: fa-content($fa-var-book-dead); }\n.#{$fa-css-prefix}-book-medical:before { content: fa-content($fa-var-book-medical); }\n.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); }\n.#{$fa-css-prefix}-book-reader:before { content: fa-content($fa-var-book-reader); }\n.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); }\n.#{$fa-css-prefix}-bootstrap:before { content: fa-content($fa-var-bootstrap); }\n.#{$fa-css-prefix}-border-all:before { content: fa-content($fa-var-border-all); }\n.#{$fa-css-prefix}-border-none:before { content: fa-content($fa-var-border-none); }\n.#{$fa-css-prefix}-border-style:before { content: fa-content($fa-var-border-style); }\n.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); }\n.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); }\n.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); }\n.#{$fa-css-prefix}-box-tissue:before { content: fa-content($fa-var-box-tissue); }\n.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); }\n.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); }\n.#{$fa-css-prefix}-brain:before { content: fa-content($fa-var-brain); }\n.#{$fa-css-prefix}-bread-slice:before { content: fa-content($fa-var-bread-slice); }\n.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); }\n.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); }\n.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); }\n.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); }\n.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); }\n.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); }\n.#{$fa-css-prefix}-buffer:before { content: fa-content($fa-var-buffer); }\n.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); }\n.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); }\n.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); }\n.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); }\n.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); }\n.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); }\n.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); }\n.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); }\n.#{$fa-css-prefix}-business-time:before { content: fa-content($fa-var-business-time); }\n.#{$fa-css-prefix}-buy-n-large:before { content: fa-content($fa-var-buy-n-large); }\n.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); }\n.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); }\n.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); }\n.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); }\n.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); }\n.#{$fa-css-prefix}-calendar-day:before { content: fa-content($fa-var-calendar-day); }\n.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); }\n.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); }\n.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); }\n.#{$fa-css-prefix}-calendar-week:before { content: fa-content($fa-var-calendar-week); }\n.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); }\n.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); }\n.#{$fa-css-prefix}-campground:before { content: fa-content($fa-var-campground); }\n.#{$fa-css-prefix}-canadian-maple-leaf:before { content: fa-content($fa-var-canadian-maple-leaf); }\n.#{$fa-css-prefix}-candy-cane:before { content: fa-content($fa-var-candy-cane); }\n.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); }\n.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); }\n.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); }\n.#{$fa-css-prefix}-car-alt:before { content: fa-content($fa-var-car-alt); }\n.#{$fa-css-prefix}-car-battery:before { content: fa-content($fa-var-car-battery); }\n.#{$fa-css-prefix}-car-crash:before { content: fa-content($fa-var-car-crash); }\n.#{$fa-css-prefix}-car-side:before { content: fa-content($fa-var-car-side); }\n.#{$fa-css-prefix}-caravan:before { content: fa-content($fa-var-caravan); }\n.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); }\n.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); }\n.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); }\n.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); }\n.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); }\n.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); }\n.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); }\n.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); }\n.#{$fa-css-prefix}-carrot:before { content: fa-content($fa-var-carrot); }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); }\n.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); }\n.#{$fa-css-prefix}-cash-register:before { content: fa-content($fa-var-cash-register); }\n.#{$fa-css-prefix}-cat:before { content: fa-content($fa-var-cat); }\n.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); }\n.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); }\n.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); }\n.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); }\n.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); }\n.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); }\n.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); }\n.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); }\n.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); }\n.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); }\n.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); }\n.#{$fa-css-prefix}-centos:before { content: fa-content($fa-var-centos); }\n.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); }\n.#{$fa-css-prefix}-chair:before { content: fa-content($fa-var-chair); }\n.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); }\n.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); }\n.#{$fa-css-prefix}-charging-station:before { content: fa-content($fa-var-charging-station); }\n.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); }\n.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); }\n.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); }\n.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); }\n.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); }\n.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); }\n.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); }\n.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); }\n.#{$fa-css-prefix}-cheese:before { content: fa-content($fa-var-cheese); }\n.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); }\n.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); }\n.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); }\n.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); }\n.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); }\n.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); }\n.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); }\n.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); }\n.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); }\n.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); }\n.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); }\n.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); }\n.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); }\n.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); }\n.#{$fa-css-prefix}-chromecast:before { content: fa-content($fa-var-chromecast); }\n.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); }\n.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); }\n.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); }\n.#{$fa-css-prefix}-city:before { content: fa-content($fa-var-city); }\n.#{$fa-css-prefix}-clinic-medical:before { content: fa-content($fa-var-clinic-medical); }\n.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); }\n.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); }\n.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); }\n.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); }\n.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); }\n.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); }\n.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); }\n.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); }\n.#{$fa-css-prefix}-cloud-meatball:before { content: fa-content($fa-var-cloud-meatball); }\n.#{$fa-css-prefix}-cloud-moon:before { content: fa-content($fa-var-cloud-moon); }\n.#{$fa-css-prefix}-cloud-moon-rain:before { content: fa-content($fa-var-cloud-moon-rain); }\n.#{$fa-css-prefix}-cloud-rain:before { content: fa-content($fa-var-cloud-rain); }\n.#{$fa-css-prefix}-cloud-showers-heavy:before { content: fa-content($fa-var-cloud-showers-heavy); }\n.#{$fa-css-prefix}-cloud-sun:before { content: fa-content($fa-var-cloud-sun); }\n.#{$fa-css-prefix}-cloud-sun-rain:before { content: fa-content($fa-var-cloud-sun-rain); }\n.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); }\n.#{$fa-css-prefix}-cloudflare:before { content: fa-content($fa-var-cloudflare); }\n.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); }\n.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); }\n.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); }\n.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); }\n.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); }\n.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); }\n.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); }\n.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); }\n.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); }\n.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); }\n.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); }\n.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); }\n.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); }\n.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); }\n.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); }\n.#{$fa-css-prefix}-comment-dollar:before { content: fa-content($fa-var-comment-dollar); }\n.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); }\n.#{$fa-css-prefix}-comment-medical:before { content: fa-content($fa-var-comment-medical); }\n.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); }\n.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); }\n.#{$fa-css-prefix}-comments-dollar:before { content: fa-content($fa-var-comments-dollar); }\n.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); }\n.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); }\n.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); }\n.#{$fa-css-prefix}-compress-alt:before { content: fa-content($fa-var-compress-alt); }\n.#{$fa-css-prefix}-compress-arrows-alt:before { content: fa-content($fa-var-compress-arrows-alt); }\n.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); }\n.#{$fa-css-prefix}-confluence:before { content: fa-content($fa-var-confluence); }\n.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); }\n.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); }\n.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); }\n.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); }\n.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); }\n.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); }\n.#{$fa-css-prefix}-cotton-bureau:before { content: fa-content($fa-var-cotton-bureau); }\n.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); }\n.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); }\n.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); }\n.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); }\n.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); }\n.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); }\n.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); }\n.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); }\n.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); }\n.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); }\n.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); }\n.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); }\n.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); }\n.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); }\n.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); }\n.#{$fa-css-prefix}-creative-commons-zero:before { content: fa-content($fa-var-creative-commons-zero); }\n.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); }\n.#{$fa-css-prefix}-critical-role:before { content: fa-content($fa-var-critical-role); }\n.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); }\n.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); }\n.#{$fa-css-prefix}-cross:before { content: fa-content($fa-var-cross); }\n.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); }\n.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); }\n.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); }\n.#{$fa-css-prefix}-crutch:before { content: fa-content($fa-var-crutch); }\n.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); }\n.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); }\n.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); }\n.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); }\n.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); }\n.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); }\n.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); }\n.#{$fa-css-prefix}-d-and-d-beyond:before { content: fa-content($fa-var-d-and-d-beyond); }\n.#{$fa-css-prefix}-dailymotion:before { content: fa-content($fa-var-dailymotion); }\n.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); }\n.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); }\n.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); }\n.#{$fa-css-prefix}-deezer:before { content: fa-content($fa-var-deezer); }\n.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); }\n.#{$fa-css-prefix}-democrat:before { content: fa-content($fa-var-democrat); }\n.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); }\n.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); }\n.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); }\n.#{$fa-css-prefix}-dev:before { content: fa-content($fa-var-dev); }\n.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); }\n.#{$fa-css-prefix}-dharmachakra:before { content: fa-content($fa-var-dharmachakra); }\n.#{$fa-css-prefix}-dhl:before { content: fa-content($fa-var-dhl); }\n.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); }\n.#{$fa-css-prefix}-diaspora:before { content: fa-content($fa-var-diaspora); }\n.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); }\n.#{$fa-css-prefix}-dice-d20:before { content: fa-content($fa-var-dice-d20); }\n.#{$fa-css-prefix}-dice-d6:before { content: fa-content($fa-var-dice-d6); }\n.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); }\n.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); }\n.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); }\n.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); }\n.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); }\n.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); }\n.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); }\n.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); }\n.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); }\n.#{$fa-css-prefix}-directions:before { content: fa-content($fa-var-directions); }\n.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); }\n.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); }\n.#{$fa-css-prefix}-disease:before { content: fa-content($fa-var-disease); }\n.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); }\n.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); }\n.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); }\n.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); }\n.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); }\n.#{$fa-css-prefix}-dog:before { content: fa-content($fa-var-dog); }\n.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); }\n.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); }\n.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); }\n.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); }\n.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); }\n.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); }\n.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); }\n.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); }\n.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); }\n.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); }\n.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); }\n.#{$fa-css-prefix}-dragon:before { content: fa-content($fa-var-dragon); }\n.#{$fa-css-prefix}-draw-polygon:before { content: fa-content($fa-var-draw-polygon); }\n.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); }\n.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); }\n.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); }\n.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); }\n.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); }\n.#{$fa-css-prefix}-drumstick-bite:before { content: fa-content($fa-var-drumstick-bite); }\n.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); }\n.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); }\n.#{$fa-css-prefix}-dumpster:before { content: fa-content($fa-var-dumpster); }\n.#{$fa-css-prefix}-dumpster-fire:before { content: fa-content($fa-var-dumpster-fire); }\n.#{$fa-css-prefix}-dungeon:before { content: fa-content($fa-var-dungeon); }\n.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); }\n.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); }\n.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); }\n.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); }\n.#{$fa-css-prefix}-edge-legacy:before { content: fa-content($fa-var-edge-legacy); }\n.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); }\n.#{$fa-css-prefix}-egg:before { content: fa-content($fa-var-egg); }\n.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); }\n.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); }\n.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); }\n.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); }\n.#{$fa-css-prefix}-ello:before { content: fa-content($fa-var-ello); }\n.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); }\n.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); }\n.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); }\n.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); }\n.#{$fa-css-prefix}-envelope-open-text:before { content: fa-content($fa-var-envelope-open-text); }\n.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); }\n.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); }\n.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); }\n.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); }\n.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); }\n.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); }\n.#{$fa-css-prefix}-ethernet:before { content: fa-content($fa-var-ethernet); }\n.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); }\n.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); }\n.#{$fa-css-prefix}-evernote:before { content: fa-content($fa-var-evernote); }\n.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); }\n.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); }\n.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); }\n.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); }\n.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); }\n.#{$fa-css-prefix}-expand-alt:before { content: fa-content($fa-var-expand-alt); }\n.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }\n.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); }\n.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); }\n.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); }\n.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); }\n.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); }\n.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); }\n.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); }\n.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }\n.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); }\n.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); }\n.#{$fa-css-prefix}-fan:before { content: fa-content($fa-var-fan); }\n.#{$fa-css-prefix}-fantasy-flight-games:before { content: fa-content($fa-var-fantasy-flight-games); }\n.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); }\n.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); }\n.#{$fa-css-prefix}-faucet:before { content: fa-content($fa-var-faucet); }\n.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); }\n.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); }\n.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); }\n.#{$fa-css-prefix}-fedex:before { content: fa-content($fa-var-fedex); }\n.#{$fa-css-prefix}-fedora:before { content: fa-content($fa-var-fedora); }\n.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); }\n.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); }\n.#{$fa-css-prefix}-figma:before { content: fa-content($fa-var-figma); }\n.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); }\n.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); }\n.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); }\n.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); }\n.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); }\n.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); }\n.#{$fa-css-prefix}-file-csv:before { content: fa-content($fa-var-file-csv); }\n.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); }\n.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); }\n.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); }\n.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); }\n.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); }\n.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); }\n.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); }\n.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); }\n.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); }\n.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); }\n.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); }\n.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); }\n.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); }\n.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); }\n.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); }\n.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); }\n.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); }\n.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); }\n.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); }\n.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); }\n.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); }\n.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); }\n.#{$fa-css-prefix}-fire-alt:before { content: fa-content($fa-var-fire-alt); }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); }\n.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); }\n.#{$fa-css-prefix}-firefox-browser:before { content: fa-content($fa-var-firefox-browser); }\n.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); }\n.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); }\n.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); }\n.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); }\n.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); }\n.#{$fa-css-prefix}-fist-raised:before { content: fa-content($fa-var-fist-raised); }\n.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); }\n.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); }\n.#{$fa-css-prefix}-flag-usa:before { content: fa-content($fa-var-flag-usa); }\n.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); }\n.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); }\n.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); }\n.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); }\n.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); }\n.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); }\n.#{$fa-css-prefix}-folder-minus:before { content: fa-content($fa-var-folder-minus); }\n.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); }\n.#{$fa-css-prefix}-folder-plus:before { content: fa-content($fa-var-folder-plus); }\n.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); }\n.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); }\n.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); }\n.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); }\n.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); }\n.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); }\n.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); }\n.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); }\n.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); }\n.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); }\n.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); }\n.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); }\n.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); }\n.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); }\n.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); }\n.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); }\n.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); }\n.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); }\n.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); }\n.#{$fa-css-prefix}-funnel-dollar:before { content: fa-content($fa-var-funnel-dollar); }\n.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); }\n.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); }\n.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); }\n.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); }\n.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); }\n.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); }\n.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); }\n.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); }\n.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); }\n.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); }\n.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); }\n.#{$fa-css-prefix}-ghost:before { content: fa-content($fa-var-ghost); }\n.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); }\n.#{$fa-css-prefix}-gifts:before { content: fa-content($fa-var-gifts); }\n.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); }\n.#{$fa-css-prefix}-git-alt:before { content: fa-content($fa-var-git-alt); }\n.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); }\n.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); }\n.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); }\n.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); }\n.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); }\n.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); }\n.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); }\n.#{$fa-css-prefix}-glass-cheers:before { content: fa-content($fa-var-glass-cheers); }\n.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); }\n.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); }\n.#{$fa-css-prefix}-glass-whiskey:before { content: fa-content($fa-var-glass-whiskey); }\n.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); }\n.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); }\n.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); }\n.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); }\n.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); }\n.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); }\n.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); }\n.#{$fa-css-prefix}-globe-europe:before { content: fa-content($fa-var-globe-europe); }\n.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); }\n.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); }\n.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); }\n.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); }\n.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); }\n.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); }\n.#{$fa-css-prefix}-google-pay:before { content: fa-content($fa-var-google-pay); }\n.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); }\n.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); }\n.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); }\n.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); }\n.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); }\n.#{$fa-css-prefix}-gopuram:before { content: fa-content($fa-var-gopuram); }\n.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); }\n.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); }\n.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); }\n.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); }\n.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); }\n.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); }\n.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); }\n.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); }\n.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); }\n.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); }\n.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); }\n.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); }\n.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); }\n.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); }\n.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); }\n.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); }\n.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); }\n.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); }\n.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); }\n.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); }\n.#{$fa-css-prefix}-grip-lines:before { content: fa-content($fa-var-grip-lines); }\n.#{$fa-css-prefix}-grip-lines-vertical:before { content: fa-content($fa-var-grip-lines-vertical); }\n.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); }\n.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); }\n.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); }\n.#{$fa-css-prefix}-guilded:before { content: fa-content($fa-var-guilded); }\n.#{$fa-css-prefix}-guitar:before { content: fa-content($fa-var-guitar); }\n.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); }\n.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); }\n.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); }\n.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); }\n.#{$fa-css-prefix}-hackerrank:before { content: fa-content($fa-var-hackerrank); }\n.#{$fa-css-prefix}-hamburger:before { content: fa-content($fa-var-hamburger); }\n.#{$fa-css-prefix}-hammer:before { content: fa-content($fa-var-hammer); }\n.#{$fa-css-prefix}-hamsa:before { content: fa-content($fa-var-hamsa); }\n.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); }\n.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); }\n.#{$fa-css-prefix}-hand-holding-medical:before { content: fa-content($fa-var-hand-holding-medical); }\n.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); }\n.#{$fa-css-prefix}-hand-holding-water:before { content: fa-content($fa-var-hand-holding-water); }\n.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); }\n.#{$fa-css-prefix}-hand-middle-finger:before { content: fa-content($fa-var-hand-middle-finger); }\n.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); }\n.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); }\n.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); }\n.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); }\n.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); }\n.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); }\n.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); }\n.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); }\n.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); }\n.#{$fa-css-prefix}-hand-sparkles:before { content: fa-content($fa-var-hand-sparkles); }\n.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); }\n.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); }\n.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); }\n.#{$fa-css-prefix}-hands-wash:before { content: fa-content($fa-var-hands-wash); }\n.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); }\n.#{$fa-css-prefix}-handshake-alt-slash:before { content: fa-content($fa-var-handshake-alt-slash); }\n.#{$fa-css-prefix}-handshake-slash:before { content: fa-content($fa-var-handshake-slash); }\n.#{$fa-css-prefix}-hanukiah:before { content: fa-content($fa-var-hanukiah); }\n.#{$fa-css-prefix}-hard-hat:before { content: fa-content($fa-var-hard-hat); }\n.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); }\n.#{$fa-css-prefix}-hat-cowboy:before { content: fa-content($fa-var-hat-cowboy); }\n.#{$fa-css-prefix}-hat-cowboy-side:before { content: fa-content($fa-var-hat-cowboy-side); }\n.#{$fa-css-prefix}-hat-wizard:before { content: fa-content($fa-var-hat-wizard); }\n.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); }\n.#{$fa-css-prefix}-head-side-cough:before { content: fa-content($fa-var-head-side-cough); }\n.#{$fa-css-prefix}-head-side-cough-slash:before { content: fa-content($fa-var-head-side-cough-slash); }\n.#{$fa-css-prefix}-head-side-mask:before { content: fa-content($fa-var-head-side-mask); }\n.#{$fa-css-prefix}-head-side-virus:before { content: fa-content($fa-var-head-side-virus); }\n.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); }\n.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); }\n.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); }\n.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); }\n.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); }\n.#{$fa-css-prefix}-heart-broken:before { content: fa-content($fa-var-heart-broken); }\n.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); }\n.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); }\n.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); }\n.#{$fa-css-prefix}-hiking:before { content: fa-content($fa-var-hiking); }\n.#{$fa-css-prefix}-hippo:before { content: fa-content($fa-var-hippo); }\n.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); }\n.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); }\n.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); }\n.#{$fa-css-prefix}-hive:before { content: fa-content($fa-var-hive); }\n.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); }\n.#{$fa-css-prefix}-holly-berry:before { content: fa-content($fa-var-holly-berry); }\n.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); }\n.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); }\n.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); }\n.#{$fa-css-prefix}-horse:before { content: fa-content($fa-var-horse); }\n.#{$fa-css-prefix}-horse-head:before { content: fa-content($fa-var-horse-head); }\n.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); }\n.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); }\n.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); }\n.#{$fa-css-prefix}-hospital-user:before { content: fa-content($fa-var-hospital-user); }\n.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); }\n.#{$fa-css-prefix}-hotdog:before { content: fa-content($fa-var-hotdog); }\n.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); }\n.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); }\n.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); }\n.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); }\n.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); }\n.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); }\n.#{$fa-css-prefix}-house-damage:before { content: fa-content($fa-var-house-damage); }\n.#{$fa-css-prefix}-house-user:before { content: fa-content($fa-var-house-user); }\n.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); }\n.#{$fa-css-prefix}-hryvnia:before { content: fa-content($fa-var-hryvnia); }\n.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); }\n.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); }\n.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); }\n.#{$fa-css-prefix}-ice-cream:before { content: fa-content($fa-var-ice-cream); }\n.#{$fa-css-prefix}-icicles:before { content: fa-content($fa-var-icicles); }\n.#{$fa-css-prefix}-icons:before { content: fa-content($fa-var-icons); }\n.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); }\n.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); }\n.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); }\n.#{$fa-css-prefix}-ideal:before { content: fa-content($fa-var-ideal); }\n.#{$fa-css-prefix}-igloo:before { content: fa-content($fa-var-igloo); }\n.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }\n.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); }\n.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); }\n.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); }\n.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); }\n.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); }\n.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); }\n.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); }\n.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); }\n.#{$fa-css-prefix}-innosoft:before { content: fa-content($fa-var-innosoft); }\n.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); }\n.#{$fa-css-prefix}-instagram-square:before { content: fa-content($fa-var-instagram-square); }\n.#{$fa-css-prefix}-instalod:before { content: fa-content($fa-var-instalod); }\n.#{$fa-css-prefix}-intercom:before { content: fa-content($fa-var-intercom); }\n.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); }\n.#{$fa-css-prefix}-invision:before { content: fa-content($fa-var-invision); }\n.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); }\n.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); }\n.#{$fa-css-prefix}-itch-io:before { content: fa-content($fa-var-itch-io); }\n.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); }\n.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); }\n.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); }\n.#{$fa-css-prefix}-jedi:before { content: fa-content($fa-var-jedi); }\n.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); }\n.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); }\n.#{$fa-css-prefix}-jira:before { content: fa-content($fa-var-jira); }\n.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); }\n.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); }\n.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); }\n.#{$fa-css-prefix}-journal-whills:before { content: fa-content($fa-var-journal-whills); }\n.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); }\n.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); }\n.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); }\n.#{$fa-css-prefix}-kaaba:before { content: fa-content($fa-var-kaaba); }\n.#{$fa-css-prefix}-kaggle:before { content: fa-content($fa-var-kaggle); }\n.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); }\n.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); }\n.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); }\n.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); }\n.#{$fa-css-prefix}-khanda:before { content: fa-content($fa-var-khanda); }\n.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); }\n.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); }\n.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); }\n.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); }\n.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); }\n.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); }\n.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); }\n.#{$fa-css-prefix}-landmark:before { content: fa-content($fa-var-landmark); }\n.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); }\n.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); }\n.#{$fa-css-prefix}-laptop-code:before { content: fa-content($fa-var-laptop-code); }\n.#{$fa-css-prefix}-laptop-house:before { content: fa-content($fa-var-laptop-house); }\n.#{$fa-css-prefix}-laptop-medical:before { content: fa-content($fa-var-laptop-medical); }\n.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); }\n.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); }\n.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); }\n.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); }\n.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); }\n.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); }\n.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); }\n.#{$fa-css-prefix}-layer-group:before { content: fa-content($fa-var-layer-group); }\n.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); }\n.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); }\n.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); }\n.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); }\n.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); }\n.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); }\n.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); }\n.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); }\n.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); }\n.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); }\n.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); }\n.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); }\n.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); }\n.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); }\n.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); }\n.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); }\n.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); }\n.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); }\n.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); }\n.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); }\n.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); }\n.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); }\n.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); }\n.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); }\n.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); }\n.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); }\n.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); }\n.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); }\n.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); }\n.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); }\n.#{$fa-css-prefix}-lungs:before { content: fa-content($fa-var-lungs); }\n.#{$fa-css-prefix}-lungs-virus:before { content: fa-content($fa-var-lungs-virus); }\n.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); }\n.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); }\n.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); }\n.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); }\n.#{$fa-css-prefix}-mail-bulk:before { content: fa-content($fa-var-mail-bulk); }\n.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); }\n.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); }\n.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); }\n.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); }\n.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); }\n.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); }\n.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); }\n.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); }\n.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); }\n.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); }\n.#{$fa-css-prefix}-markdown:before { content: fa-content($fa-var-markdown); }\n.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); }\n.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); }\n.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); }\n.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); }\n.#{$fa-css-prefix}-mask:before { content: fa-content($fa-var-mask); }\n.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); }\n.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); }\n.#{$fa-css-prefix}-mdb:before { content: fa-content($fa-var-mdb); }\n.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); }\n.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); }\n.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); }\n.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); }\n.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); }\n.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); }\n.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); }\n.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); }\n.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); }\n.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); }\n.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); }\n.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); }\n.#{$fa-css-prefix}-mendeley:before { content: fa-content($fa-var-mendeley); }\n.#{$fa-css-prefix}-menorah:before { content: fa-content($fa-var-menorah); }\n.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); }\n.#{$fa-css-prefix}-meteor:before { content: fa-content($fa-var-meteor); }\n.#{$fa-css-prefix}-microblog:before { content: fa-content($fa-var-microblog); }\n.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); }\n.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); }\n.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); }\n.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); }\n.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); }\n.#{$fa-css-prefix}-microscope:before { content: fa-content($fa-var-microscope); }\n.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); }\n.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); }\n.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); }\n.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); }\n.#{$fa-css-prefix}-mitten:before { content: fa-content($fa-var-mitten); }\n.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); }\n.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); }\n.#{$fa-css-prefix}-mixer:before { content: fa-content($fa-var-mixer); }\n.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); }\n.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); }\n.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); }\n.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); }\n.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); }\n.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); }\n.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); }\n.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); }\n.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); }\n.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); }\n.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); }\n.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); }\n.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); }\n.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); }\n.#{$fa-css-prefix}-mosque:before { content: fa-content($fa-var-mosque); }\n.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); }\n.#{$fa-css-prefix}-mountain:before { content: fa-content($fa-var-mountain); }\n.#{$fa-css-prefix}-mouse:before { content: fa-content($fa-var-mouse); }\n.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); }\n.#{$fa-css-prefix}-mug-hot:before { content: fa-content($fa-var-mug-hot); }\n.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); }\n.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); }\n.#{$fa-css-prefix}-neos:before { content: fa-content($fa-var-neos); }\n.#{$fa-css-prefix}-network-wired:before { content: fa-content($fa-var-network-wired); }\n.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); }\n.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); }\n.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); }\n.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); }\n.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); }\n.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); }\n.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); }\n.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); }\n.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); }\n.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); }\n.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); }\n.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); }\n.#{$fa-css-prefix}-octopus-deploy:before { content: fa-content($fa-var-octopus-deploy); }\n.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); }\n.#{$fa-css-prefix}-oil-can:before { content: fa-content($fa-var-oil-can); }\n.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); }\n.#{$fa-css-prefix}-om:before { content: fa-content($fa-var-om); }\n.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); }\n.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); }\n.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); }\n.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); }\n.#{$fa-css-prefix}-orcid:before { content: fa-content($fa-var-orcid); }\n.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); }\n.#{$fa-css-prefix}-otter:before { content: fa-content($fa-var-otter); }\n.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); }\n.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); }\n.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); }\n.#{$fa-css-prefix}-pager:before { content: fa-content($fa-var-pager); }\n.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); }\n.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); }\n.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); }\n.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); }\n.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); }\n.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); }\n.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); }\n.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); }\n.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); }\n.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); }\n.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); }\n.#{$fa-css-prefix}-pastafarianism:before { content: fa-content($fa-var-pastafarianism); }\n.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); }\n.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); }\n.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); }\n.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); }\n.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); }\n.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); }\n.#{$fa-css-prefix}-peace:before { content: fa-content($fa-var-peace); }\n.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); }\n.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); }\n.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); }\n.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); }\n.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); }\n.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); }\n.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); }\n.#{$fa-css-prefix}-penny-arcade:before { content: fa-content($fa-var-penny-arcade); }\n.#{$fa-css-prefix}-people-arrows:before { content: fa-content($fa-var-people-arrows); }\n.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); }\n.#{$fa-css-prefix}-pepper-hot:before { content: fa-content($fa-var-pepper-hot); }\n.#{$fa-css-prefix}-perbyte:before { content: fa-content($fa-var-perbyte); }\n.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); }\n.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); }\n.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); }\n.#{$fa-css-prefix}-person-booth:before { content: fa-content($fa-var-person-booth); }\n.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); }\n.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); }\n.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); }\n.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); }\n.#{$fa-css-prefix}-phone-alt:before { content: fa-content($fa-var-phone-alt); }\n.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); }\n.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); }\n.#{$fa-css-prefix}-phone-square-alt:before { content: fa-content($fa-var-phone-square-alt); }\n.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); }\n.#{$fa-css-prefix}-photo-video:before { content: fa-content($fa-var-photo-video); }\n.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); }\n.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); }\n.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); }\n.#{$fa-css-prefix}-pied-piper-square:before { content: fa-content($fa-var-pied-piper-square); }\n.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); }\n.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); }\n.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); }\n.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); }\n.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); }\n.#{$fa-css-prefix}-pizza-slice:before { content: fa-content($fa-var-pizza-slice); }\n.#{$fa-css-prefix}-place-of-worship:before { content: fa-content($fa-var-place-of-worship); }\n.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); }\n.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); }\n.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); }\n.#{$fa-css-prefix}-plane-slash:before { content: fa-content($fa-var-plane-slash); }\n.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); }\n.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); }\n.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); }\n.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); }\n.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); }\n.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); }\n.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); }\n.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); }\n.#{$fa-css-prefix}-poll:before { content: fa-content($fa-var-poll); }\n.#{$fa-css-prefix}-poll-h:before { content: fa-content($fa-var-poll-h); }\n.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); }\n.#{$fa-css-prefix}-poo-storm:before { content: fa-content($fa-var-poo-storm); }\n.#{$fa-css-prefix}-poop:before { content: fa-content($fa-var-poop); }\n.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); }\n.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); }\n.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); }\n.#{$fa-css-prefix}-pray:before { content: fa-content($fa-var-pray); }\n.#{$fa-css-prefix}-praying-hands:before { content: fa-content($fa-var-praying-hands); }\n.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); }\n.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); }\n.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); }\n.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); }\n.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); }\n.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); }\n.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); }\n.#{$fa-css-prefix}-pump-medical:before { content: fa-content($fa-var-pump-medical); }\n.#{$fa-css-prefix}-pump-soap:before { content: fa-content($fa-var-pump-soap); }\n.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); }\n.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); }\n.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); }\n.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); }\n.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); }\n.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); }\n.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); }\n.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); }\n.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); }\n.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); }\n.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); }\n.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); }\n.#{$fa-css-prefix}-quran:before { content: fa-content($fa-var-quran); }\n.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); }\n.#{$fa-css-prefix}-radiation:before { content: fa-content($fa-var-radiation); }\n.#{$fa-css-prefix}-radiation-alt:before { content: fa-content($fa-var-radiation-alt); }\n.#{$fa-css-prefix}-rainbow:before { content: fa-content($fa-var-rainbow); }\n.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); }\n.#{$fa-css-prefix}-raspberry-pi:before { content: fa-content($fa-var-raspberry-pi); }\n.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); }\n.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); }\n.#{$fa-css-prefix}-reacteurope:before { content: fa-content($fa-var-reacteurope); }\n.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); }\n.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); }\n.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); }\n.#{$fa-css-prefix}-record-vinyl:before { content: fa-content($fa-var-record-vinyl); }\n.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); }\n.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); }\n.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); }\n.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); }\n.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); }\n.#{$fa-css-prefix}-redhat:before { content: fa-content($fa-var-redhat); }\n.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); }\n.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); }\n.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); }\n.#{$fa-css-prefix}-remove-format:before { content: fa-content($fa-var-remove-format); }\n.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); }\n.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); }\n.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); }\n.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); }\n.#{$fa-css-prefix}-republican:before { content: fa-content($fa-var-republican); }\n.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); }\n.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); }\n.#{$fa-css-prefix}-restroom:before { content: fa-content($fa-var-restroom); }\n.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); }\n.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); }\n.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); }\n.#{$fa-css-prefix}-ring:before { content: fa-content($fa-var-ring); }\n.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); }\n.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); }\n.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); }\n.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); }\n.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); }\n.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); }\n.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); }\n.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); }\n.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); }\n.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); }\n.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); }\n.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); }\n.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); }\n.#{$fa-css-prefix}-running:before { content: fa-content($fa-var-running); }\n.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); }\n.#{$fa-css-prefix}-rust:before { content: fa-content($fa-var-rust); }\n.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); }\n.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); }\n.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); }\n.#{$fa-css-prefix}-salesforce:before { content: fa-content($fa-var-salesforce); }\n.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); }\n.#{$fa-css-prefix}-satellite:before { content: fa-content($fa-var-satellite); }\n.#{$fa-css-prefix}-satellite-dish:before { content: fa-content($fa-var-satellite-dish); }\n.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); }\n.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); }\n.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); }\n.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); }\n.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); }\n.#{$fa-css-prefix}-scroll:before { content: fa-content($fa-var-scroll); }\n.#{$fa-css-prefix}-sd-card:before { content: fa-content($fa-var-sd-card); }\n.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); }\n.#{$fa-css-prefix}-search-dollar:before { content: fa-content($fa-var-search-dollar); }\n.#{$fa-css-prefix}-search-location:before { content: fa-content($fa-var-search-location); }\n.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); }\n.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); }\n.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); }\n.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); }\n.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); }\n.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); }\n.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); }\n.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); }\n.#{$fa-css-prefix}-shapes:before { content: fa-content($fa-var-shapes); }\n.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); }\n.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); }\n.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); }\n.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); }\n.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); }\n.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); }\n.#{$fa-css-prefix}-shield-virus:before { content: fa-content($fa-var-shield-virus); }\n.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); }\n.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); }\n.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); }\n.#{$fa-css-prefix}-shopify:before { content: fa-content($fa-var-shopify); }\n.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); }\n.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); }\n.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); }\n.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); }\n.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); }\n.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); }\n.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); }\n.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); }\n.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); }\n.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); }\n.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); }\n.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); }\n.#{$fa-css-prefix}-sim-card:before { content: fa-content($fa-var-sim-card); }\n.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); }\n.#{$fa-css-prefix}-sink:before { content: fa-content($fa-var-sink); }\n.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); }\n.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); }\n.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); }\n.#{$fa-css-prefix}-skating:before { content: fa-content($fa-var-skating); }\n.#{$fa-css-prefix}-sketch:before { content: fa-content($fa-var-sketch); }\n.#{$fa-css-prefix}-skiing:before { content: fa-content($fa-var-skiing); }\n.#{$fa-css-prefix}-skiing-nordic:before { content: fa-content($fa-var-skiing-nordic); }\n.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); }\n.#{$fa-css-prefix}-skull-crossbones:before { content: fa-content($fa-var-skull-crossbones); }\n.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); }\n.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); }\n.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); }\n.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); }\n.#{$fa-css-prefix}-slash:before { content: fa-content($fa-var-slash); }\n.#{$fa-css-prefix}-sleigh:before { content: fa-content($fa-var-sleigh); }\n.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); }\n.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); }\n.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); }\n.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); }\n.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); }\n.#{$fa-css-prefix}-smog:before { content: fa-content($fa-var-smog); }\n.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); }\n.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); }\n.#{$fa-css-prefix}-sms:before { content: fa-content($fa-var-sms); }\n.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); }\n.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); }\n.#{$fa-css-prefix}-snowboarding:before { content: fa-content($fa-var-snowboarding); }\n.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); }\n.#{$fa-css-prefix}-snowman:before { content: fa-content($fa-var-snowman); }\n.#{$fa-css-prefix}-snowplow:before { content: fa-content($fa-var-snowplow); }\n.#{$fa-css-prefix}-soap:before { content: fa-content($fa-var-soap); }\n.#{$fa-css-prefix}-socks:before { content: fa-content($fa-var-socks); }\n.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); }\n.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); }\n.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); }\n.#{$fa-css-prefix}-sort-alpha-down-alt:before { content: fa-content($fa-var-sort-alpha-down-alt); }\n.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); }\n.#{$fa-css-prefix}-sort-alpha-up-alt:before { content: fa-content($fa-var-sort-alpha-up-alt); }\n.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); }\n.#{$fa-css-prefix}-sort-amount-down-alt:before { content: fa-content($fa-var-sort-amount-down-alt); }\n.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); }\n.#{$fa-css-prefix}-sort-amount-up-alt:before { content: fa-content($fa-var-sort-amount-up-alt); }\n.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); }\n.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); }\n.#{$fa-css-prefix}-sort-numeric-down-alt:before { content: fa-content($fa-var-sort-numeric-down-alt); }\n.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); }\n.#{$fa-css-prefix}-sort-numeric-up-alt:before { content: fa-content($fa-var-sort-numeric-up-alt); }\n.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); }\n.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); }\n.#{$fa-css-prefix}-sourcetree:before { content: fa-content($fa-var-sourcetree); }\n.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); }\n.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); }\n.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); }\n.#{$fa-css-prefix}-speaker-deck:before { content: fa-content($fa-var-speaker-deck); }\n.#{$fa-css-prefix}-spell-check:before { content: fa-content($fa-var-spell-check); }\n.#{$fa-css-prefix}-spider:before { content: fa-content($fa-var-spider); }\n.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); }\n.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); }\n.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); }\n.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); }\n.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); }\n.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); }\n.#{$fa-css-prefix}-square-root-alt:before { content: fa-content($fa-var-square-root-alt); }\n.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); }\n.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); }\n.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); }\n.#{$fa-css-prefix}-stackpath:before { content: fa-content($fa-var-stackpath); }\n.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); }\n.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); }\n.#{$fa-css-prefix}-star-and-crescent:before { content: fa-content($fa-var-star-and-crescent); }\n.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); }\n.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); }\n.#{$fa-css-prefix}-star-of-david:before { content: fa-content($fa-var-star-of-david); }\n.#{$fa-css-prefix}-star-of-life:before { content: fa-content($fa-var-star-of-life); }\n.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); }\n.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); }\n.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); }\n.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); }\n.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); }\n.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); }\n.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); }\n.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); }\n.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); }\n.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); }\n.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); }\n.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); }\n.#{$fa-css-prefix}-stopwatch-20:before { content: fa-content($fa-var-stopwatch-20); }\n.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); }\n.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); }\n.#{$fa-css-prefix}-store-alt-slash:before { content: fa-content($fa-var-store-alt-slash); }\n.#{$fa-css-prefix}-store-slash:before { content: fa-content($fa-var-store-slash); }\n.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); }\n.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); }\n.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); }\n.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); }\n.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); }\n.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); }\n.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); }\n.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); }\n.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); }\n.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); }\n.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); }\n.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); }\n.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); }\n.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); }\n.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); }\n.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); }\n.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); }\n.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); }\n.#{$fa-css-prefix}-suse:before { content: fa-content($fa-var-suse); }\n.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); }\n.#{$fa-css-prefix}-swift:before { content: fa-content($fa-var-swift); }\n.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); }\n.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); }\n.#{$fa-css-prefix}-symfony:before { content: fa-content($fa-var-symfony); }\n.#{$fa-css-prefix}-synagogue:before { content: fa-content($fa-var-synagogue); }\n.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); }\n.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); }\n.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); }\n.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); }\n.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); }\n.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); }\n.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); }\n.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); }\n.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); }\n.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); }\n.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); }\n.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); }\n.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); }\n.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); }\n.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); }\n.#{$fa-css-prefix}-teeth:before { content: fa-content($fa-var-teeth); }\n.#{$fa-css-prefix}-teeth-open:before { content: fa-content($fa-var-teeth-open); }\n.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); }\n.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); }\n.#{$fa-css-prefix}-temperature-high:before { content: fa-content($fa-var-temperature-high); }\n.#{$fa-css-prefix}-temperature-low:before { content: fa-content($fa-var-temperature-low); }\n.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); }\n.#{$fa-css-prefix}-tenge:before { content: fa-content($fa-var-tenge); }\n.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); }\n.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); }\n.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); }\n.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); }\n.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); }\n.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); }\n.#{$fa-css-prefix}-the-red-yeti:before { content: fa-content($fa-var-the-red-yeti); }\n.#{$fa-css-prefix}-theater-masks:before { content: fa-content($fa-var-theater-masks); }\n.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); }\n.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); }\n.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); }\n.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); }\n.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); }\n.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); }\n.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); }\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); }\n.#{$fa-css-prefix}-think-peaks:before { content: fa-content($fa-var-think-peaks); }\n.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); }\n.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); }\n.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); }\n.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); }\n.#{$fa-css-prefix}-tiktok:before { content: fa-content($fa-var-tiktok); }\n.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); }\n.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); }\n.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); }\n.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); }\n.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); }\n.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); }\n.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); }\n.#{$fa-css-prefix}-toilet:before { content: fa-content($fa-var-toilet); }\n.#{$fa-css-prefix}-toilet-paper:before { content: fa-content($fa-var-toilet-paper); }\n.#{$fa-css-prefix}-toilet-paper-slash:before { content: fa-content($fa-var-toilet-paper-slash); }\n.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); }\n.#{$fa-css-prefix}-tools:before { content: fa-content($fa-var-tools); }\n.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); }\n.#{$fa-css-prefix}-torah:before { content: fa-content($fa-var-torah); }\n.#{$fa-css-prefix}-torii-gate:before { content: fa-content($fa-var-torii-gate); }\n.#{$fa-css-prefix}-tractor:before { content: fa-content($fa-var-tractor); }\n.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); }\n.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); }\n.#{$fa-css-prefix}-traffic-light:before { content: fa-content($fa-var-traffic-light); }\n.#{$fa-css-prefix}-trailer:before { content: fa-content($fa-var-trailer); }\n.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); }\n.#{$fa-css-prefix}-tram:before { content: fa-content($fa-var-tram); }\n.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); }\n.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); }\n.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); }\n.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); }\n.#{$fa-css-prefix}-trash-restore:before { content: fa-content($fa-var-trash-restore); }\n.#{$fa-css-prefix}-trash-restore-alt:before { content: fa-content($fa-var-trash-restore-alt); }\n.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); }\n.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); }\n.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); }\n.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); }\n.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); }\n.#{$fa-css-prefix}-truck-monster:before { content: fa-content($fa-var-truck-monster); }\n.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); }\n.#{$fa-css-prefix}-truck-pickup:before { content: fa-content($fa-var-truck-pickup); }\n.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); }\n.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); }\n.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); }\n.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); }\n.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); }\n.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); }\n.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); }\n.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); }\n.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); }\n.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); }\n.#{$fa-css-prefix}-ubuntu:before { content: fa-content($fa-var-ubuntu); }\n.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); }\n.#{$fa-css-prefix}-umbraco:before { content: fa-content($fa-var-umbraco); }\n.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); }\n.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); }\n.#{$fa-css-prefix}-uncharted:before { content: fa-content($fa-var-uncharted); }\n.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); }\n.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); }\n.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); }\n.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); }\n.#{$fa-css-prefix}-unity:before { content: fa-content($fa-var-unity); }\n.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); }\n.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); }\n.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); }\n.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); }\n.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); }\n.#{$fa-css-prefix}-unsplash:before { content: fa-content($fa-var-unsplash); }\n.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); }\n.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); }\n.#{$fa-css-prefix}-ups:before { content: fa-content($fa-var-ups); }\n.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); }\n.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); }\n.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); }\n.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); }\n.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); }\n.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); }\n.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); }\n.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); }\n.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); }\n.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); }\n.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); }\n.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); }\n.#{$fa-css-prefix}-user-injured:before { content: fa-content($fa-var-user-injured); }\n.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); }\n.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); }\n.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); }\n.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); }\n.#{$fa-css-prefix}-user-nurse:before { content: fa-content($fa-var-user-nurse); }\n.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); }\n.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); }\n.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); }\n.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); }\n.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); }\n.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); }\n.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); }\n.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); }\n.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); }\n.#{$fa-css-prefix}-users-slash:before { content: fa-content($fa-var-users-slash); }\n.#{$fa-css-prefix}-usps:before { content: fa-content($fa-var-usps); }\n.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); }\n.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); }\n.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); }\n.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); }\n.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); }\n.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); }\n.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); }\n.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); }\n.#{$fa-css-prefix}-vest:before { content: fa-content($fa-var-vest); }\n.#{$fa-css-prefix}-vest-patches:before { content: fa-content($fa-var-vest-patches); }\n.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); }\n.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); }\n.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); }\n.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); }\n.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); }\n.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); }\n.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); }\n.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); }\n.#{$fa-css-prefix}-vihara:before { content: fa-content($fa-var-vihara); }\n.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); }\n.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); }\n.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); }\n.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); }\n.#{$fa-css-prefix}-virus:before { content: fa-content($fa-var-virus); }\n.#{$fa-css-prefix}-virus-slash:before { content: fa-content($fa-var-virus-slash); }\n.#{$fa-css-prefix}-viruses:before { content: fa-content($fa-var-viruses); }\n.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); }\n.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); }\n.#{$fa-css-prefix}-voicemail:before { content: fa-content($fa-var-voicemail); }\n.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); }\n.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); }\n.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); }\n.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); }\n.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); }\n.#{$fa-css-prefix}-vote-yea:before { content: fa-content($fa-var-vote-yea); }\n.#{$fa-css-prefix}-vr-cardboard:before { content: fa-content($fa-var-vr-cardboard); }\n.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); }\n.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); }\n.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); }\n.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); }\n.#{$fa-css-prefix}-watchman-monitoring:before { content: fa-content($fa-var-watchman-monitoring); }\n.#{$fa-css-prefix}-water:before { content: fa-content($fa-var-water); }\n.#{$fa-css-prefix}-wave-square:before { content: fa-content($fa-var-wave-square); }\n.#{$fa-css-prefix}-waze:before { content: fa-content($fa-var-waze); }\n.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); }\n.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); }\n.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); }\n.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); }\n.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); }\n.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); }\n.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); }\n.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); }\n.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); }\n.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); }\n.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); }\n.#{$fa-css-prefix}-wind:before { content: fa-content($fa-var-wind); }\n.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); }\n.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); }\n.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); }\n.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); }\n.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); }\n.#{$fa-css-prefix}-wine-bottle:before { content: fa-content($fa-var-wine-bottle); }\n.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); }\n.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); }\n.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); }\n.#{$fa-css-prefix}-wizards-of-the-coast:before { content: fa-content($fa-var-wizards-of-the-coast); }\n.#{$fa-css-prefix}-wodu:before { content: fa-content($fa-var-wodu); }\n.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); }\n.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); }\n.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); }\n.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); }\n.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); }\n.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); }\n.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); }\n.#{$fa-css-prefix}-wpressr:before { content: fa-content($fa-var-wpressr); }\n.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); }\n.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); }\n.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); }\n.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); }\n.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); }\n.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); }\n.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); }\n.#{$fa-css-prefix}-yammer:before { content: fa-content($fa-var-yammer); }\n.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); }\n.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); }\n.#{$fa-css-prefix}-yarn:before { content: fa-content($fa-var-yarn); }\n.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); }\n.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); }\n.#{$fa-css-prefix}-yin-yang:before { content: fa-content($fa-var-yin-yang); }\n.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); }\n.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); }\n.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); }\n.#{$fa-css-prefix}-zhihu:before { content: fa-content($fa-var-zhihu); }\n", + "// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only; }\n.sr-only-focusable { @include sr-only-focusable; }\n", + "/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 900;\n font-display: $fa-font-display;\n src: url('#{$fa-font-path}/fa-solid-900.eot');\n src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),\n url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),\n url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),\n url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),\n url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');\n}\n\n.fa,\n.fas {\n font-family: 'Font Awesome 5 Free';\n font-weight: 900;\n}\n", + "// Variables\n// --------------------------\n\n$fa-font-path: \"../webfonts\" !default;\n$fa-font-size-base: 16px !default;\n$fa-font-display: block !default;\n$fa-css-prefix: fa !default;\n$fa-version: \"5.15.4\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: 2em !default;\n$fa-fw-width: (20em / 16);\n$fa-primary-opacity: 1 !default;\n$fa-secondary-opacity: .4 !default;\n\n// Convenience function used to set content property\n@function fa-content($fa-var) {\n @return unquote(\"\\\"#{ $fa-var }\\\"\");\n}\n\n$fa-var-500px: \\f26e;\n$fa-var-accessible-icon: \\f368;\n$fa-var-accusoft: \\f369;\n$fa-var-acquisitions-incorporated: \\f6af;\n$fa-var-ad: \\f641;\n$fa-var-address-book: \\f2b9;\n$fa-var-address-card: \\f2bb;\n$fa-var-adjust: \\f042;\n$fa-var-adn: \\f170;\n$fa-var-adversal: \\f36a;\n$fa-var-affiliatetheme: \\f36b;\n$fa-var-air-freshener: \\f5d0;\n$fa-var-airbnb: \\f834;\n$fa-var-algolia: \\f36c;\n$fa-var-align-center: \\f037;\n$fa-var-align-justify: \\f039;\n$fa-var-align-left: \\f036;\n$fa-var-align-right: \\f038;\n$fa-var-alipay: \\f642;\n$fa-var-allergies: \\f461;\n$fa-var-amazon: \\f270;\n$fa-var-amazon-pay: \\f42c;\n$fa-var-ambulance: \\f0f9;\n$fa-var-american-sign-language-interpreting: \\f2a3;\n$fa-var-amilia: \\f36d;\n$fa-var-anchor: \\f13d;\n$fa-var-android: \\f17b;\n$fa-var-angellist: \\f209;\n$fa-var-angle-double-down: \\f103;\n$fa-var-angle-double-left: \\f100;\n$fa-var-angle-double-right: \\f101;\n$fa-var-angle-double-up: \\f102;\n$fa-var-angle-down: \\f107;\n$fa-var-angle-left: \\f104;\n$fa-var-angle-right: \\f105;\n$fa-var-angle-up: \\f106;\n$fa-var-angry: \\f556;\n$fa-var-angrycreative: \\f36e;\n$fa-var-angular: \\f420;\n$fa-var-ankh: \\f644;\n$fa-var-app-store: \\f36f;\n$fa-var-app-store-ios: \\f370;\n$fa-var-apper: \\f371;\n$fa-var-apple: \\f179;\n$fa-var-apple-alt: \\f5d1;\n$fa-var-apple-pay: \\f415;\n$fa-var-archive: \\f187;\n$fa-var-archway: \\f557;\n$fa-var-arrow-alt-circle-down: \\f358;\n$fa-var-arrow-alt-circle-left: \\f359;\n$fa-var-arrow-alt-circle-right: \\f35a;\n$fa-var-arrow-alt-circle-up: \\f35b;\n$fa-var-arrow-circle-down: \\f0ab;\n$fa-var-arrow-circle-left: \\f0a8;\n$fa-var-arrow-circle-right: \\f0a9;\n$fa-var-arrow-circle-up: \\f0aa;\n$fa-var-arrow-down: \\f063;\n$fa-var-arrow-left: \\f060;\n$fa-var-arrow-right: \\f061;\n$fa-var-arrow-up: \\f062;\n$fa-var-arrows-alt: \\f0b2;\n$fa-var-arrows-alt-h: \\f337;\n$fa-var-arrows-alt-v: \\f338;\n$fa-var-artstation: \\f77a;\n$fa-var-assistive-listening-systems: \\f2a2;\n$fa-var-asterisk: \\f069;\n$fa-var-asymmetrik: \\f372;\n$fa-var-at: \\f1fa;\n$fa-var-atlas: \\f558;\n$fa-var-atlassian: \\f77b;\n$fa-var-atom: \\f5d2;\n$fa-var-audible: \\f373;\n$fa-var-audio-description: \\f29e;\n$fa-var-autoprefixer: \\f41c;\n$fa-var-avianex: \\f374;\n$fa-var-aviato: \\f421;\n$fa-var-award: \\f559;\n$fa-var-aws: \\f375;\n$fa-var-baby: \\f77c;\n$fa-var-baby-carriage: \\f77d;\n$fa-var-backspace: \\f55a;\n$fa-var-backward: \\f04a;\n$fa-var-bacon: \\f7e5;\n$fa-var-bacteria: \\e059;\n$fa-var-bacterium: \\e05a;\n$fa-var-bahai: \\f666;\n$fa-var-balance-scale: \\f24e;\n$fa-var-balance-scale-left: \\f515;\n$fa-var-balance-scale-right: \\f516;\n$fa-var-ban: \\f05e;\n$fa-var-band-aid: \\f462;\n$fa-var-bandcamp: \\f2d5;\n$fa-var-barcode: \\f02a;\n$fa-var-bars: \\f0c9;\n$fa-var-baseball-ball: \\f433;\n$fa-var-basketball-ball: \\f434;\n$fa-var-bath: \\f2cd;\n$fa-var-battery-empty: \\f244;\n$fa-var-battery-full: \\f240;\n$fa-var-battery-half: \\f242;\n$fa-var-battery-quarter: \\f243;\n$fa-var-battery-three-quarters: \\f241;\n$fa-var-battle-net: \\f835;\n$fa-var-bed: \\f236;\n$fa-var-beer: \\f0fc;\n$fa-var-behance: \\f1b4;\n$fa-var-behance-square: \\f1b5;\n$fa-var-bell: \\f0f3;\n$fa-var-bell-slash: \\f1f6;\n$fa-var-bezier-curve: \\f55b;\n$fa-var-bible: \\f647;\n$fa-var-bicycle: \\f206;\n$fa-var-biking: \\f84a;\n$fa-var-bimobject: \\f378;\n$fa-var-binoculars: \\f1e5;\n$fa-var-biohazard: \\f780;\n$fa-var-birthday-cake: \\f1fd;\n$fa-var-bitbucket: \\f171;\n$fa-var-bitcoin: \\f379;\n$fa-var-bity: \\f37a;\n$fa-var-black-tie: \\f27e;\n$fa-var-blackberry: \\f37b;\n$fa-var-blender: \\f517;\n$fa-var-blender-phone: \\f6b6;\n$fa-var-blind: \\f29d;\n$fa-var-blog: \\f781;\n$fa-var-blogger: \\f37c;\n$fa-var-blogger-b: \\f37d;\n$fa-var-bluetooth: \\f293;\n$fa-var-bluetooth-b: \\f294;\n$fa-var-bold: \\f032;\n$fa-var-bolt: \\f0e7;\n$fa-var-bomb: \\f1e2;\n$fa-var-bone: \\f5d7;\n$fa-var-bong: \\f55c;\n$fa-var-book: \\f02d;\n$fa-var-book-dead: \\f6b7;\n$fa-var-book-medical: \\f7e6;\n$fa-var-book-open: \\f518;\n$fa-var-book-reader: \\f5da;\n$fa-var-bookmark: \\f02e;\n$fa-var-bootstrap: \\f836;\n$fa-var-border-all: \\f84c;\n$fa-var-border-none: \\f850;\n$fa-var-border-style: \\f853;\n$fa-var-bowling-ball: \\f436;\n$fa-var-box: \\f466;\n$fa-var-box-open: \\f49e;\n$fa-var-box-tissue: \\e05b;\n$fa-var-boxes: \\f468;\n$fa-var-braille: \\f2a1;\n$fa-var-brain: \\f5dc;\n$fa-var-bread-slice: \\f7ec;\n$fa-var-briefcase: \\f0b1;\n$fa-var-briefcase-medical: \\f469;\n$fa-var-broadcast-tower: \\f519;\n$fa-var-broom: \\f51a;\n$fa-var-brush: \\f55d;\n$fa-var-btc: \\f15a;\n$fa-var-buffer: \\f837;\n$fa-var-bug: \\f188;\n$fa-var-building: \\f1ad;\n$fa-var-bullhorn: \\f0a1;\n$fa-var-bullseye: \\f140;\n$fa-var-burn: \\f46a;\n$fa-var-buromobelexperte: \\f37f;\n$fa-var-bus: \\f207;\n$fa-var-bus-alt: \\f55e;\n$fa-var-business-time: \\f64a;\n$fa-var-buy-n-large: \\f8a6;\n$fa-var-buysellads: \\f20d;\n$fa-var-calculator: \\f1ec;\n$fa-var-calendar: \\f133;\n$fa-var-calendar-alt: \\f073;\n$fa-var-calendar-check: \\f274;\n$fa-var-calendar-day: \\f783;\n$fa-var-calendar-minus: \\f272;\n$fa-var-calendar-plus: \\f271;\n$fa-var-calendar-times: \\f273;\n$fa-var-calendar-week: \\f784;\n$fa-var-camera: \\f030;\n$fa-var-camera-retro: \\f083;\n$fa-var-campground: \\f6bb;\n$fa-var-canadian-maple-leaf: \\f785;\n$fa-var-candy-cane: \\f786;\n$fa-var-cannabis: \\f55f;\n$fa-var-capsules: \\f46b;\n$fa-var-car: \\f1b9;\n$fa-var-car-alt: \\f5de;\n$fa-var-car-battery: \\f5df;\n$fa-var-car-crash: \\f5e1;\n$fa-var-car-side: \\f5e4;\n$fa-var-caravan: \\f8ff;\n$fa-var-caret-down: \\f0d7;\n$fa-var-caret-left: \\f0d9;\n$fa-var-caret-right: \\f0da;\n$fa-var-caret-square-down: \\f150;\n$fa-var-caret-square-left: \\f191;\n$fa-var-caret-square-right: \\f152;\n$fa-var-caret-square-up: \\f151;\n$fa-var-caret-up: \\f0d8;\n$fa-var-carrot: \\f787;\n$fa-var-cart-arrow-down: \\f218;\n$fa-var-cart-plus: \\f217;\n$fa-var-cash-register: \\f788;\n$fa-var-cat: \\f6be;\n$fa-var-cc-amazon-pay: \\f42d;\n$fa-var-cc-amex: \\f1f3;\n$fa-var-cc-apple-pay: \\f416;\n$fa-var-cc-diners-club: \\f24c;\n$fa-var-cc-discover: \\f1f2;\n$fa-var-cc-jcb: \\f24b;\n$fa-var-cc-mastercard: \\f1f1;\n$fa-var-cc-paypal: \\f1f4;\n$fa-var-cc-stripe: \\f1f5;\n$fa-var-cc-visa: \\f1f0;\n$fa-var-centercode: \\f380;\n$fa-var-centos: \\f789;\n$fa-var-certificate: \\f0a3;\n$fa-var-chair: \\f6c0;\n$fa-var-chalkboard: \\f51b;\n$fa-var-chalkboard-teacher: \\f51c;\n$fa-var-charging-station: \\f5e7;\n$fa-var-chart-area: \\f1fe;\n$fa-var-chart-bar: \\f080;\n$fa-var-chart-line: \\f201;\n$fa-var-chart-pie: \\f200;\n$fa-var-check: \\f00c;\n$fa-var-check-circle: \\f058;\n$fa-var-check-double: \\f560;\n$fa-var-check-square: \\f14a;\n$fa-var-cheese: \\f7ef;\n$fa-var-chess: \\f439;\n$fa-var-chess-bishop: \\f43a;\n$fa-var-chess-board: \\f43c;\n$fa-var-chess-king: \\f43f;\n$fa-var-chess-knight: \\f441;\n$fa-var-chess-pawn: \\f443;\n$fa-var-chess-queen: \\f445;\n$fa-var-chess-rook: \\f447;\n$fa-var-chevron-circle-down: \\f13a;\n$fa-var-chevron-circle-left: \\f137;\n$fa-var-chevron-circle-right: \\f138;\n$fa-var-chevron-circle-up: \\f139;\n$fa-var-chevron-down: \\f078;\n$fa-var-chevron-left: \\f053;\n$fa-var-chevron-right: \\f054;\n$fa-var-chevron-up: \\f077;\n$fa-var-child: \\f1ae;\n$fa-var-chrome: \\f268;\n$fa-var-chromecast: \\f838;\n$fa-var-church: \\f51d;\n$fa-var-circle: \\f111;\n$fa-var-circle-notch: \\f1ce;\n$fa-var-city: \\f64f;\n$fa-var-clinic-medical: \\f7f2;\n$fa-var-clipboard: \\f328;\n$fa-var-clipboard-check: \\f46c;\n$fa-var-clipboard-list: \\f46d;\n$fa-var-clock: \\f017;\n$fa-var-clone: \\f24d;\n$fa-var-closed-captioning: \\f20a;\n$fa-var-cloud: \\f0c2;\n$fa-var-cloud-download-alt: \\f381;\n$fa-var-cloud-meatball: \\f73b;\n$fa-var-cloud-moon: \\f6c3;\n$fa-var-cloud-moon-rain: \\f73c;\n$fa-var-cloud-rain: \\f73d;\n$fa-var-cloud-showers-heavy: \\f740;\n$fa-var-cloud-sun: \\f6c4;\n$fa-var-cloud-sun-rain: \\f743;\n$fa-var-cloud-upload-alt: \\f382;\n$fa-var-cloudflare: \\e07d;\n$fa-var-cloudscale: \\f383;\n$fa-var-cloudsmith: \\f384;\n$fa-var-cloudversify: \\f385;\n$fa-var-cocktail: \\f561;\n$fa-var-code: \\f121;\n$fa-var-code-branch: \\f126;\n$fa-var-codepen: \\f1cb;\n$fa-var-codiepie: \\f284;\n$fa-var-coffee: \\f0f4;\n$fa-var-cog: \\f013;\n$fa-var-cogs: \\f085;\n$fa-var-coins: \\f51e;\n$fa-var-columns: \\f0db;\n$fa-var-comment: \\f075;\n$fa-var-comment-alt: \\f27a;\n$fa-var-comment-dollar: \\f651;\n$fa-var-comment-dots: \\f4ad;\n$fa-var-comment-medical: \\f7f5;\n$fa-var-comment-slash: \\f4b3;\n$fa-var-comments: \\f086;\n$fa-var-comments-dollar: \\f653;\n$fa-var-compact-disc: \\f51f;\n$fa-var-compass: \\f14e;\n$fa-var-compress: \\f066;\n$fa-var-compress-alt: \\f422;\n$fa-var-compress-arrows-alt: \\f78c;\n$fa-var-concierge-bell: \\f562;\n$fa-var-confluence: \\f78d;\n$fa-var-connectdevelop: \\f20e;\n$fa-var-contao: \\f26d;\n$fa-var-cookie: \\f563;\n$fa-var-cookie-bite: \\f564;\n$fa-var-copy: \\f0c5;\n$fa-var-copyright: \\f1f9;\n$fa-var-cotton-bureau: \\f89e;\n$fa-var-couch: \\f4b8;\n$fa-var-cpanel: \\f388;\n$fa-var-creative-commons: \\f25e;\n$fa-var-creative-commons-by: \\f4e7;\n$fa-var-creative-commons-nc: \\f4e8;\n$fa-var-creative-commons-nc-eu: \\f4e9;\n$fa-var-creative-commons-nc-jp: \\f4ea;\n$fa-var-creative-commons-nd: \\f4eb;\n$fa-var-creative-commons-pd: \\f4ec;\n$fa-var-creative-commons-pd-alt: \\f4ed;\n$fa-var-creative-commons-remix: \\f4ee;\n$fa-var-creative-commons-sa: \\f4ef;\n$fa-var-creative-commons-sampling: \\f4f0;\n$fa-var-creative-commons-sampling-plus: \\f4f1;\n$fa-var-creative-commons-share: \\f4f2;\n$fa-var-creative-commons-zero: \\f4f3;\n$fa-var-credit-card: \\f09d;\n$fa-var-critical-role: \\f6c9;\n$fa-var-crop: \\f125;\n$fa-var-crop-alt: \\f565;\n$fa-var-cross: \\f654;\n$fa-var-crosshairs: \\f05b;\n$fa-var-crow: \\f520;\n$fa-var-crown: \\f521;\n$fa-var-crutch: \\f7f7;\n$fa-var-css3: \\f13c;\n$fa-var-css3-alt: \\f38b;\n$fa-var-cube: \\f1b2;\n$fa-var-cubes: \\f1b3;\n$fa-var-cut: \\f0c4;\n$fa-var-cuttlefish: \\f38c;\n$fa-var-d-and-d: \\f38d;\n$fa-var-d-and-d-beyond: \\f6ca;\n$fa-var-dailymotion: \\e052;\n$fa-var-dashcube: \\f210;\n$fa-var-database: \\f1c0;\n$fa-var-deaf: \\f2a4;\n$fa-var-deezer: \\e077;\n$fa-var-delicious: \\f1a5;\n$fa-var-democrat: \\f747;\n$fa-var-deploydog: \\f38e;\n$fa-var-deskpro: \\f38f;\n$fa-var-desktop: \\f108;\n$fa-var-dev: \\f6cc;\n$fa-var-deviantart: \\f1bd;\n$fa-var-dharmachakra: \\f655;\n$fa-var-dhl: \\f790;\n$fa-var-diagnoses: \\f470;\n$fa-var-diaspora: \\f791;\n$fa-var-dice: \\f522;\n$fa-var-dice-d20: \\f6cf;\n$fa-var-dice-d6: \\f6d1;\n$fa-var-dice-five: \\f523;\n$fa-var-dice-four: \\f524;\n$fa-var-dice-one: \\f525;\n$fa-var-dice-six: \\f526;\n$fa-var-dice-three: \\f527;\n$fa-var-dice-two: \\f528;\n$fa-var-digg: \\f1a6;\n$fa-var-digital-ocean: \\f391;\n$fa-var-digital-tachograph: \\f566;\n$fa-var-directions: \\f5eb;\n$fa-var-discord: \\f392;\n$fa-var-discourse: \\f393;\n$fa-var-disease: \\f7fa;\n$fa-var-divide: \\f529;\n$fa-var-dizzy: \\f567;\n$fa-var-dna: \\f471;\n$fa-var-dochub: \\f394;\n$fa-var-docker: \\f395;\n$fa-var-dog: \\f6d3;\n$fa-var-dollar-sign: \\f155;\n$fa-var-dolly: \\f472;\n$fa-var-dolly-flatbed: \\f474;\n$fa-var-donate: \\f4b9;\n$fa-var-door-closed: \\f52a;\n$fa-var-door-open: \\f52b;\n$fa-var-dot-circle: \\f192;\n$fa-var-dove: \\f4ba;\n$fa-var-download: \\f019;\n$fa-var-draft2digital: \\f396;\n$fa-var-drafting-compass: \\f568;\n$fa-var-dragon: \\f6d5;\n$fa-var-draw-polygon: \\f5ee;\n$fa-var-dribbble: \\f17d;\n$fa-var-dribbble-square: \\f397;\n$fa-var-dropbox: \\f16b;\n$fa-var-drum: \\f569;\n$fa-var-drum-steelpan: \\f56a;\n$fa-var-drumstick-bite: \\f6d7;\n$fa-var-drupal: \\f1a9;\n$fa-var-dumbbell: \\f44b;\n$fa-var-dumpster: \\f793;\n$fa-var-dumpster-fire: \\f794;\n$fa-var-dungeon: \\f6d9;\n$fa-var-dyalog: \\f399;\n$fa-var-earlybirds: \\f39a;\n$fa-var-ebay: \\f4f4;\n$fa-var-edge: \\f282;\n$fa-var-edge-legacy: \\e078;\n$fa-var-edit: \\f044;\n$fa-var-egg: \\f7fb;\n$fa-var-eject: \\f052;\n$fa-var-elementor: \\f430;\n$fa-var-ellipsis-h: \\f141;\n$fa-var-ellipsis-v: \\f142;\n$fa-var-ello: \\f5f1;\n$fa-var-ember: \\f423;\n$fa-var-empire: \\f1d1;\n$fa-var-envelope: \\f0e0;\n$fa-var-envelope-open: \\f2b6;\n$fa-var-envelope-open-text: \\f658;\n$fa-var-envelope-square: \\f199;\n$fa-var-envira: \\f299;\n$fa-var-equals: \\f52c;\n$fa-var-eraser: \\f12d;\n$fa-var-erlang: \\f39d;\n$fa-var-ethereum: \\f42e;\n$fa-var-ethernet: \\f796;\n$fa-var-etsy: \\f2d7;\n$fa-var-euro-sign: \\f153;\n$fa-var-evernote: \\f839;\n$fa-var-exchange-alt: \\f362;\n$fa-var-exclamation: \\f12a;\n$fa-var-exclamation-circle: \\f06a;\n$fa-var-exclamation-triangle: \\f071;\n$fa-var-expand: \\f065;\n$fa-var-expand-alt: \\f424;\n$fa-var-expand-arrows-alt: \\f31e;\n$fa-var-expeditedssl: \\f23e;\n$fa-var-external-link-alt: \\f35d;\n$fa-var-external-link-square-alt: \\f360;\n$fa-var-eye: \\f06e;\n$fa-var-eye-dropper: \\f1fb;\n$fa-var-eye-slash: \\f070;\n$fa-var-facebook: \\f09a;\n$fa-var-facebook-f: \\f39e;\n$fa-var-facebook-messenger: \\f39f;\n$fa-var-facebook-square: \\f082;\n$fa-var-fan: \\f863;\n$fa-var-fantasy-flight-games: \\f6dc;\n$fa-var-fast-backward: \\f049;\n$fa-var-fast-forward: \\f050;\n$fa-var-faucet: \\e005;\n$fa-var-fax: \\f1ac;\n$fa-var-feather: \\f52d;\n$fa-var-feather-alt: \\f56b;\n$fa-var-fedex: \\f797;\n$fa-var-fedora: \\f798;\n$fa-var-female: \\f182;\n$fa-var-fighter-jet: \\f0fb;\n$fa-var-figma: \\f799;\n$fa-var-file: \\f15b;\n$fa-var-file-alt: \\f15c;\n$fa-var-file-archive: \\f1c6;\n$fa-var-file-audio: \\f1c7;\n$fa-var-file-code: \\f1c9;\n$fa-var-file-contract: \\f56c;\n$fa-var-file-csv: \\f6dd;\n$fa-var-file-download: \\f56d;\n$fa-var-file-excel: \\f1c3;\n$fa-var-file-export: \\f56e;\n$fa-var-file-image: \\f1c5;\n$fa-var-file-import: \\f56f;\n$fa-var-file-invoice: \\f570;\n$fa-var-file-invoice-dollar: \\f571;\n$fa-var-file-medical: \\f477;\n$fa-var-file-medical-alt: \\f478;\n$fa-var-file-pdf: \\f1c1;\n$fa-var-file-powerpoint: \\f1c4;\n$fa-var-file-prescription: \\f572;\n$fa-var-file-signature: \\f573;\n$fa-var-file-upload: \\f574;\n$fa-var-file-video: \\f1c8;\n$fa-var-file-word: \\f1c2;\n$fa-var-fill: \\f575;\n$fa-var-fill-drip: \\f576;\n$fa-var-film: \\f008;\n$fa-var-filter: \\f0b0;\n$fa-var-fingerprint: \\f577;\n$fa-var-fire: \\f06d;\n$fa-var-fire-alt: \\f7e4;\n$fa-var-fire-extinguisher: \\f134;\n$fa-var-firefox: \\f269;\n$fa-var-firefox-browser: \\e007;\n$fa-var-first-aid: \\f479;\n$fa-var-first-order: \\f2b0;\n$fa-var-first-order-alt: \\f50a;\n$fa-var-firstdraft: \\f3a1;\n$fa-var-fish: \\f578;\n$fa-var-fist-raised: \\f6de;\n$fa-var-flag: \\f024;\n$fa-var-flag-checkered: \\f11e;\n$fa-var-flag-usa: \\f74d;\n$fa-var-flask: \\f0c3;\n$fa-var-flickr: \\f16e;\n$fa-var-flipboard: \\f44d;\n$fa-var-flushed: \\f579;\n$fa-var-fly: \\f417;\n$fa-var-folder: \\f07b;\n$fa-var-folder-minus: \\f65d;\n$fa-var-folder-open: \\f07c;\n$fa-var-folder-plus: \\f65e;\n$fa-var-font: \\f031;\n$fa-var-font-awesome: \\f2b4;\n$fa-var-font-awesome-alt: \\f35c;\n$fa-var-font-awesome-flag: \\f425;\n$fa-var-font-awesome-logo-full: \\f4e6;\n$fa-var-fonticons: \\f280;\n$fa-var-fonticons-fi: \\f3a2;\n$fa-var-football-ball: \\f44e;\n$fa-var-fort-awesome: \\f286;\n$fa-var-fort-awesome-alt: \\f3a3;\n$fa-var-forumbee: \\f211;\n$fa-var-forward: \\f04e;\n$fa-var-foursquare: \\f180;\n$fa-var-free-code-camp: \\f2c5;\n$fa-var-freebsd: \\f3a4;\n$fa-var-frog: \\f52e;\n$fa-var-frown: \\f119;\n$fa-var-frown-open: \\f57a;\n$fa-var-fulcrum: \\f50b;\n$fa-var-funnel-dollar: \\f662;\n$fa-var-futbol: \\f1e3;\n$fa-var-galactic-republic: \\f50c;\n$fa-var-galactic-senate: \\f50d;\n$fa-var-gamepad: \\f11b;\n$fa-var-gas-pump: \\f52f;\n$fa-var-gavel: \\f0e3;\n$fa-var-gem: \\f3a5;\n$fa-var-genderless: \\f22d;\n$fa-var-get-pocket: \\f265;\n$fa-var-gg: \\f260;\n$fa-var-gg-circle: \\f261;\n$fa-var-ghost: \\f6e2;\n$fa-var-gift: \\f06b;\n$fa-var-gifts: \\f79c;\n$fa-var-git: \\f1d3;\n$fa-var-git-alt: \\f841;\n$fa-var-git-square: \\f1d2;\n$fa-var-github: \\f09b;\n$fa-var-github-alt: \\f113;\n$fa-var-github-square: \\f092;\n$fa-var-gitkraken: \\f3a6;\n$fa-var-gitlab: \\f296;\n$fa-var-gitter: \\f426;\n$fa-var-glass-cheers: \\f79f;\n$fa-var-glass-martini: \\f000;\n$fa-var-glass-martini-alt: \\f57b;\n$fa-var-glass-whiskey: \\f7a0;\n$fa-var-glasses: \\f530;\n$fa-var-glide: \\f2a5;\n$fa-var-glide-g: \\f2a6;\n$fa-var-globe: \\f0ac;\n$fa-var-globe-africa: \\f57c;\n$fa-var-globe-americas: \\f57d;\n$fa-var-globe-asia: \\f57e;\n$fa-var-globe-europe: \\f7a2;\n$fa-var-gofore: \\f3a7;\n$fa-var-golf-ball: \\f450;\n$fa-var-goodreads: \\f3a8;\n$fa-var-goodreads-g: \\f3a9;\n$fa-var-google: \\f1a0;\n$fa-var-google-drive: \\f3aa;\n$fa-var-google-pay: \\e079;\n$fa-var-google-play: \\f3ab;\n$fa-var-google-plus: \\f2b3;\n$fa-var-google-plus-g: \\f0d5;\n$fa-var-google-plus-square: \\f0d4;\n$fa-var-google-wallet: \\f1ee;\n$fa-var-gopuram: \\f664;\n$fa-var-graduation-cap: \\f19d;\n$fa-var-gratipay: \\f184;\n$fa-var-grav: \\f2d6;\n$fa-var-greater-than: \\f531;\n$fa-var-greater-than-equal: \\f532;\n$fa-var-grimace: \\f57f;\n$fa-var-grin: \\f580;\n$fa-var-grin-alt: \\f581;\n$fa-var-grin-beam: \\f582;\n$fa-var-grin-beam-sweat: \\f583;\n$fa-var-grin-hearts: \\f584;\n$fa-var-grin-squint: \\f585;\n$fa-var-grin-squint-tears: \\f586;\n$fa-var-grin-stars: \\f587;\n$fa-var-grin-tears: \\f588;\n$fa-var-grin-tongue: \\f589;\n$fa-var-grin-tongue-squint: \\f58a;\n$fa-var-grin-tongue-wink: \\f58b;\n$fa-var-grin-wink: \\f58c;\n$fa-var-grip-horizontal: \\f58d;\n$fa-var-grip-lines: \\f7a4;\n$fa-var-grip-lines-vertical: \\f7a5;\n$fa-var-grip-vertical: \\f58e;\n$fa-var-gripfire: \\f3ac;\n$fa-var-grunt: \\f3ad;\n$fa-var-guilded: \\e07e;\n$fa-var-guitar: \\f7a6;\n$fa-var-gulp: \\f3ae;\n$fa-var-h-square: \\f0fd;\n$fa-var-hacker-news: \\f1d4;\n$fa-var-hacker-news-square: \\f3af;\n$fa-var-hackerrank: \\f5f7;\n$fa-var-hamburger: \\f805;\n$fa-var-hammer: \\f6e3;\n$fa-var-hamsa: \\f665;\n$fa-var-hand-holding: \\f4bd;\n$fa-var-hand-holding-heart: \\f4be;\n$fa-var-hand-holding-medical: \\e05c;\n$fa-var-hand-holding-usd: \\f4c0;\n$fa-var-hand-holding-water: \\f4c1;\n$fa-var-hand-lizard: \\f258;\n$fa-var-hand-middle-finger: \\f806;\n$fa-var-hand-paper: \\f256;\n$fa-var-hand-peace: \\f25b;\n$fa-var-hand-point-down: \\f0a7;\n$fa-var-hand-point-left: \\f0a5;\n$fa-var-hand-point-right: \\f0a4;\n$fa-var-hand-point-up: \\f0a6;\n$fa-var-hand-pointer: \\f25a;\n$fa-var-hand-rock: \\f255;\n$fa-var-hand-scissors: \\f257;\n$fa-var-hand-sparkles: \\e05d;\n$fa-var-hand-spock: \\f259;\n$fa-var-hands: \\f4c2;\n$fa-var-hands-helping: \\f4c4;\n$fa-var-hands-wash: \\e05e;\n$fa-var-handshake: \\f2b5;\n$fa-var-handshake-alt-slash: \\e05f;\n$fa-var-handshake-slash: \\e060;\n$fa-var-hanukiah: \\f6e6;\n$fa-var-hard-hat: \\f807;\n$fa-var-hashtag: \\f292;\n$fa-var-hat-cowboy: \\f8c0;\n$fa-var-hat-cowboy-side: \\f8c1;\n$fa-var-hat-wizard: \\f6e8;\n$fa-var-hdd: \\f0a0;\n$fa-var-head-side-cough: \\e061;\n$fa-var-head-side-cough-slash: \\e062;\n$fa-var-head-side-mask: \\e063;\n$fa-var-head-side-virus: \\e064;\n$fa-var-heading: \\f1dc;\n$fa-var-headphones: \\f025;\n$fa-var-headphones-alt: \\f58f;\n$fa-var-headset: \\f590;\n$fa-var-heart: \\f004;\n$fa-var-heart-broken: \\f7a9;\n$fa-var-heartbeat: \\f21e;\n$fa-var-helicopter: \\f533;\n$fa-var-highlighter: \\f591;\n$fa-var-hiking: \\f6ec;\n$fa-var-hippo: \\f6ed;\n$fa-var-hips: \\f452;\n$fa-var-hire-a-helper: \\f3b0;\n$fa-var-history: \\f1da;\n$fa-var-hive: \\e07f;\n$fa-var-hockey-puck: \\f453;\n$fa-var-holly-berry: \\f7aa;\n$fa-var-home: \\f015;\n$fa-var-hooli: \\f427;\n$fa-var-hornbill: \\f592;\n$fa-var-horse: \\f6f0;\n$fa-var-horse-head: \\f7ab;\n$fa-var-hospital: \\f0f8;\n$fa-var-hospital-alt: \\f47d;\n$fa-var-hospital-symbol: \\f47e;\n$fa-var-hospital-user: \\f80d;\n$fa-var-hot-tub: \\f593;\n$fa-var-hotdog: \\f80f;\n$fa-var-hotel: \\f594;\n$fa-var-hotjar: \\f3b1;\n$fa-var-hourglass: \\f254;\n$fa-var-hourglass-end: \\f253;\n$fa-var-hourglass-half: \\f252;\n$fa-var-hourglass-start: \\f251;\n$fa-var-house-damage: \\f6f1;\n$fa-var-house-user: \\e065;\n$fa-var-houzz: \\f27c;\n$fa-var-hryvnia: \\f6f2;\n$fa-var-html5: \\f13b;\n$fa-var-hubspot: \\f3b2;\n$fa-var-i-cursor: \\f246;\n$fa-var-ice-cream: \\f810;\n$fa-var-icicles: \\f7ad;\n$fa-var-icons: \\f86d;\n$fa-var-id-badge: \\f2c1;\n$fa-var-id-card: \\f2c2;\n$fa-var-id-card-alt: \\f47f;\n$fa-var-ideal: \\e013;\n$fa-var-igloo: \\f7ae;\n$fa-var-image: \\f03e;\n$fa-var-images: \\f302;\n$fa-var-imdb: \\f2d8;\n$fa-var-inbox: \\f01c;\n$fa-var-indent: \\f03c;\n$fa-var-industry: \\f275;\n$fa-var-infinity: \\f534;\n$fa-var-info: \\f129;\n$fa-var-info-circle: \\f05a;\n$fa-var-innosoft: \\e080;\n$fa-var-instagram: \\f16d;\n$fa-var-instagram-square: \\e055;\n$fa-var-instalod: \\e081;\n$fa-var-intercom: \\f7af;\n$fa-var-internet-explorer: \\f26b;\n$fa-var-invision: \\f7b0;\n$fa-var-ioxhost: \\f208;\n$fa-var-italic: \\f033;\n$fa-var-itch-io: \\f83a;\n$fa-var-itunes: \\f3b4;\n$fa-var-itunes-note: \\f3b5;\n$fa-var-java: \\f4e4;\n$fa-var-jedi: \\f669;\n$fa-var-jedi-order: \\f50e;\n$fa-var-jenkins: \\f3b6;\n$fa-var-jira: \\f7b1;\n$fa-var-joget: \\f3b7;\n$fa-var-joint: \\f595;\n$fa-var-joomla: \\f1aa;\n$fa-var-journal-whills: \\f66a;\n$fa-var-js: \\f3b8;\n$fa-var-js-square: \\f3b9;\n$fa-var-jsfiddle: \\f1cc;\n$fa-var-kaaba: \\f66b;\n$fa-var-kaggle: \\f5fa;\n$fa-var-key: \\f084;\n$fa-var-keybase: \\f4f5;\n$fa-var-keyboard: \\f11c;\n$fa-var-keycdn: \\f3ba;\n$fa-var-khanda: \\f66d;\n$fa-var-kickstarter: \\f3bb;\n$fa-var-kickstarter-k: \\f3bc;\n$fa-var-kiss: \\f596;\n$fa-var-kiss-beam: \\f597;\n$fa-var-kiss-wink-heart: \\f598;\n$fa-var-kiwi-bird: \\f535;\n$fa-var-korvue: \\f42f;\n$fa-var-landmark: \\f66f;\n$fa-var-language: \\f1ab;\n$fa-var-laptop: \\f109;\n$fa-var-laptop-code: \\f5fc;\n$fa-var-laptop-house: \\e066;\n$fa-var-laptop-medical: \\f812;\n$fa-var-laravel: \\f3bd;\n$fa-var-lastfm: \\f202;\n$fa-var-lastfm-square: \\f203;\n$fa-var-laugh: \\f599;\n$fa-var-laugh-beam: \\f59a;\n$fa-var-laugh-squint: \\f59b;\n$fa-var-laugh-wink: \\f59c;\n$fa-var-layer-group: \\f5fd;\n$fa-var-leaf: \\f06c;\n$fa-var-leanpub: \\f212;\n$fa-var-lemon: \\f094;\n$fa-var-less: \\f41d;\n$fa-var-less-than: \\f536;\n$fa-var-less-than-equal: \\f537;\n$fa-var-level-down-alt: \\f3be;\n$fa-var-level-up-alt: \\f3bf;\n$fa-var-life-ring: \\f1cd;\n$fa-var-lightbulb: \\f0eb;\n$fa-var-line: \\f3c0;\n$fa-var-link: \\f0c1;\n$fa-var-linkedin: \\f08c;\n$fa-var-linkedin-in: \\f0e1;\n$fa-var-linode: \\f2b8;\n$fa-var-linux: \\f17c;\n$fa-var-lira-sign: \\f195;\n$fa-var-list: \\f03a;\n$fa-var-list-alt: \\f022;\n$fa-var-list-ol: \\f0cb;\n$fa-var-list-ul: \\f0ca;\n$fa-var-location-arrow: \\f124;\n$fa-var-lock: \\f023;\n$fa-var-lock-open: \\f3c1;\n$fa-var-long-arrow-alt-down: \\f309;\n$fa-var-long-arrow-alt-left: \\f30a;\n$fa-var-long-arrow-alt-right: \\f30b;\n$fa-var-long-arrow-alt-up: \\f30c;\n$fa-var-low-vision: \\f2a8;\n$fa-var-luggage-cart: \\f59d;\n$fa-var-lungs: \\f604;\n$fa-var-lungs-virus: \\e067;\n$fa-var-lyft: \\f3c3;\n$fa-var-magento: \\f3c4;\n$fa-var-magic: \\f0d0;\n$fa-var-magnet: \\f076;\n$fa-var-mail-bulk: \\f674;\n$fa-var-mailchimp: \\f59e;\n$fa-var-male: \\f183;\n$fa-var-mandalorian: \\f50f;\n$fa-var-map: \\f279;\n$fa-var-map-marked: \\f59f;\n$fa-var-map-marked-alt: \\f5a0;\n$fa-var-map-marker: \\f041;\n$fa-var-map-marker-alt: \\f3c5;\n$fa-var-map-pin: \\f276;\n$fa-var-map-signs: \\f277;\n$fa-var-markdown: \\f60f;\n$fa-var-marker: \\f5a1;\n$fa-var-mars: \\f222;\n$fa-var-mars-double: \\f227;\n$fa-var-mars-stroke: \\f229;\n$fa-var-mars-stroke-h: \\f22b;\n$fa-var-mars-stroke-v: \\f22a;\n$fa-var-mask: \\f6fa;\n$fa-var-mastodon: \\f4f6;\n$fa-var-maxcdn: \\f136;\n$fa-var-mdb: \\f8ca;\n$fa-var-medal: \\f5a2;\n$fa-var-medapps: \\f3c6;\n$fa-var-medium: \\f23a;\n$fa-var-medium-m: \\f3c7;\n$fa-var-medkit: \\f0fa;\n$fa-var-medrt: \\f3c8;\n$fa-var-meetup: \\f2e0;\n$fa-var-megaport: \\f5a3;\n$fa-var-meh: \\f11a;\n$fa-var-meh-blank: \\f5a4;\n$fa-var-meh-rolling-eyes: \\f5a5;\n$fa-var-memory: \\f538;\n$fa-var-mendeley: \\f7b3;\n$fa-var-menorah: \\f676;\n$fa-var-mercury: \\f223;\n$fa-var-meteor: \\f753;\n$fa-var-microblog: \\e01a;\n$fa-var-microchip: \\f2db;\n$fa-var-microphone: \\f130;\n$fa-var-microphone-alt: \\f3c9;\n$fa-var-microphone-alt-slash: \\f539;\n$fa-var-microphone-slash: \\f131;\n$fa-var-microscope: \\f610;\n$fa-var-microsoft: \\f3ca;\n$fa-var-minus: \\f068;\n$fa-var-minus-circle: \\f056;\n$fa-var-minus-square: \\f146;\n$fa-var-mitten: \\f7b5;\n$fa-var-mix: \\f3cb;\n$fa-var-mixcloud: \\f289;\n$fa-var-mixer: \\e056;\n$fa-var-mizuni: \\f3cc;\n$fa-var-mobile: \\f10b;\n$fa-var-mobile-alt: \\f3cd;\n$fa-var-modx: \\f285;\n$fa-var-monero: \\f3d0;\n$fa-var-money-bill: \\f0d6;\n$fa-var-money-bill-alt: \\f3d1;\n$fa-var-money-bill-wave: \\f53a;\n$fa-var-money-bill-wave-alt: \\f53b;\n$fa-var-money-check: \\f53c;\n$fa-var-money-check-alt: \\f53d;\n$fa-var-monument: \\f5a6;\n$fa-var-moon: \\f186;\n$fa-var-mortar-pestle: \\f5a7;\n$fa-var-mosque: \\f678;\n$fa-var-motorcycle: \\f21c;\n$fa-var-mountain: \\f6fc;\n$fa-var-mouse: \\f8cc;\n$fa-var-mouse-pointer: \\f245;\n$fa-var-mug-hot: \\f7b6;\n$fa-var-music: \\f001;\n$fa-var-napster: \\f3d2;\n$fa-var-neos: \\f612;\n$fa-var-network-wired: \\f6ff;\n$fa-var-neuter: \\f22c;\n$fa-var-newspaper: \\f1ea;\n$fa-var-nimblr: \\f5a8;\n$fa-var-node: \\f419;\n$fa-var-node-js: \\f3d3;\n$fa-var-not-equal: \\f53e;\n$fa-var-notes-medical: \\f481;\n$fa-var-npm: \\f3d4;\n$fa-var-ns8: \\f3d5;\n$fa-var-nutritionix: \\f3d6;\n$fa-var-object-group: \\f247;\n$fa-var-object-ungroup: \\f248;\n$fa-var-octopus-deploy: \\e082;\n$fa-var-odnoklassniki: \\f263;\n$fa-var-odnoklassniki-square: \\f264;\n$fa-var-oil-can: \\f613;\n$fa-var-old-republic: \\f510;\n$fa-var-om: \\f679;\n$fa-var-opencart: \\f23d;\n$fa-var-openid: \\f19b;\n$fa-var-opera: \\f26a;\n$fa-var-optin-monster: \\f23c;\n$fa-var-orcid: \\f8d2;\n$fa-var-osi: \\f41a;\n$fa-var-otter: \\f700;\n$fa-var-outdent: \\f03b;\n$fa-var-page4: \\f3d7;\n$fa-var-pagelines: \\f18c;\n$fa-var-pager: \\f815;\n$fa-var-paint-brush: \\f1fc;\n$fa-var-paint-roller: \\f5aa;\n$fa-var-palette: \\f53f;\n$fa-var-palfed: \\f3d8;\n$fa-var-pallet: \\f482;\n$fa-var-paper-plane: \\f1d8;\n$fa-var-paperclip: \\f0c6;\n$fa-var-parachute-box: \\f4cd;\n$fa-var-paragraph: \\f1dd;\n$fa-var-parking: \\f540;\n$fa-var-passport: \\f5ab;\n$fa-var-pastafarianism: \\f67b;\n$fa-var-paste: \\f0ea;\n$fa-var-patreon: \\f3d9;\n$fa-var-pause: \\f04c;\n$fa-var-pause-circle: \\f28b;\n$fa-var-paw: \\f1b0;\n$fa-var-paypal: \\f1ed;\n$fa-var-peace: \\f67c;\n$fa-var-pen: \\f304;\n$fa-var-pen-alt: \\f305;\n$fa-var-pen-fancy: \\f5ac;\n$fa-var-pen-nib: \\f5ad;\n$fa-var-pen-square: \\f14b;\n$fa-var-pencil-alt: \\f303;\n$fa-var-pencil-ruler: \\f5ae;\n$fa-var-penny-arcade: \\f704;\n$fa-var-people-arrows: \\e068;\n$fa-var-people-carry: \\f4ce;\n$fa-var-pepper-hot: \\f816;\n$fa-var-perbyte: \\e083;\n$fa-var-percent: \\f295;\n$fa-var-percentage: \\f541;\n$fa-var-periscope: \\f3da;\n$fa-var-person-booth: \\f756;\n$fa-var-phabricator: \\f3db;\n$fa-var-phoenix-framework: \\f3dc;\n$fa-var-phoenix-squadron: \\f511;\n$fa-var-phone: \\f095;\n$fa-var-phone-alt: \\f879;\n$fa-var-phone-slash: \\f3dd;\n$fa-var-phone-square: \\f098;\n$fa-var-phone-square-alt: \\f87b;\n$fa-var-phone-volume: \\f2a0;\n$fa-var-photo-video: \\f87c;\n$fa-var-php: \\f457;\n$fa-var-pied-piper: \\f2ae;\n$fa-var-pied-piper-alt: \\f1a8;\n$fa-var-pied-piper-hat: \\f4e5;\n$fa-var-pied-piper-pp: \\f1a7;\n$fa-var-pied-piper-square: \\e01e;\n$fa-var-piggy-bank: \\f4d3;\n$fa-var-pills: \\f484;\n$fa-var-pinterest: \\f0d2;\n$fa-var-pinterest-p: \\f231;\n$fa-var-pinterest-square: \\f0d3;\n$fa-var-pizza-slice: \\f818;\n$fa-var-place-of-worship: \\f67f;\n$fa-var-plane: \\f072;\n$fa-var-plane-arrival: \\f5af;\n$fa-var-plane-departure: \\f5b0;\n$fa-var-plane-slash: \\e069;\n$fa-var-play: \\f04b;\n$fa-var-play-circle: \\f144;\n$fa-var-playstation: \\f3df;\n$fa-var-plug: \\f1e6;\n$fa-var-plus: \\f067;\n$fa-var-plus-circle: \\f055;\n$fa-var-plus-square: \\f0fe;\n$fa-var-podcast: \\f2ce;\n$fa-var-poll: \\f681;\n$fa-var-poll-h: \\f682;\n$fa-var-poo: \\f2fe;\n$fa-var-poo-storm: \\f75a;\n$fa-var-poop: \\f619;\n$fa-var-portrait: \\f3e0;\n$fa-var-pound-sign: \\f154;\n$fa-var-power-off: \\f011;\n$fa-var-pray: \\f683;\n$fa-var-praying-hands: \\f684;\n$fa-var-prescription: \\f5b1;\n$fa-var-prescription-bottle: \\f485;\n$fa-var-prescription-bottle-alt: \\f486;\n$fa-var-print: \\f02f;\n$fa-var-procedures: \\f487;\n$fa-var-product-hunt: \\f288;\n$fa-var-project-diagram: \\f542;\n$fa-var-pump-medical: \\e06a;\n$fa-var-pump-soap: \\e06b;\n$fa-var-pushed: \\f3e1;\n$fa-var-puzzle-piece: \\f12e;\n$fa-var-python: \\f3e2;\n$fa-var-qq: \\f1d6;\n$fa-var-qrcode: \\f029;\n$fa-var-question: \\f128;\n$fa-var-question-circle: \\f059;\n$fa-var-quidditch: \\f458;\n$fa-var-quinscape: \\f459;\n$fa-var-quora: \\f2c4;\n$fa-var-quote-left: \\f10d;\n$fa-var-quote-right: \\f10e;\n$fa-var-quran: \\f687;\n$fa-var-r-project: \\f4f7;\n$fa-var-radiation: \\f7b9;\n$fa-var-radiation-alt: \\f7ba;\n$fa-var-rainbow: \\f75b;\n$fa-var-random: \\f074;\n$fa-var-raspberry-pi: \\f7bb;\n$fa-var-ravelry: \\f2d9;\n$fa-var-react: \\f41b;\n$fa-var-reacteurope: \\f75d;\n$fa-var-readme: \\f4d5;\n$fa-var-rebel: \\f1d0;\n$fa-var-receipt: \\f543;\n$fa-var-record-vinyl: \\f8d9;\n$fa-var-recycle: \\f1b8;\n$fa-var-red-river: \\f3e3;\n$fa-var-reddit: \\f1a1;\n$fa-var-reddit-alien: \\f281;\n$fa-var-reddit-square: \\f1a2;\n$fa-var-redhat: \\f7bc;\n$fa-var-redo: \\f01e;\n$fa-var-redo-alt: \\f2f9;\n$fa-var-registered: \\f25d;\n$fa-var-remove-format: \\f87d;\n$fa-var-renren: \\f18b;\n$fa-var-reply: \\f3e5;\n$fa-var-reply-all: \\f122;\n$fa-var-replyd: \\f3e6;\n$fa-var-republican: \\f75e;\n$fa-var-researchgate: \\f4f8;\n$fa-var-resolving: \\f3e7;\n$fa-var-restroom: \\f7bd;\n$fa-var-retweet: \\f079;\n$fa-var-rev: \\f5b2;\n$fa-var-ribbon: \\f4d6;\n$fa-var-ring: \\f70b;\n$fa-var-road: \\f018;\n$fa-var-robot: \\f544;\n$fa-var-rocket: \\f135;\n$fa-var-rocketchat: \\f3e8;\n$fa-var-rockrms: \\f3e9;\n$fa-var-route: \\f4d7;\n$fa-var-rss: \\f09e;\n$fa-var-rss-square: \\f143;\n$fa-var-ruble-sign: \\f158;\n$fa-var-ruler: \\f545;\n$fa-var-ruler-combined: \\f546;\n$fa-var-ruler-horizontal: \\f547;\n$fa-var-ruler-vertical: \\f548;\n$fa-var-running: \\f70c;\n$fa-var-rupee-sign: \\f156;\n$fa-var-rust: \\e07a;\n$fa-var-sad-cry: \\f5b3;\n$fa-var-sad-tear: \\f5b4;\n$fa-var-safari: \\f267;\n$fa-var-salesforce: \\f83b;\n$fa-var-sass: \\f41e;\n$fa-var-satellite: \\f7bf;\n$fa-var-satellite-dish: \\f7c0;\n$fa-var-save: \\f0c7;\n$fa-var-schlix: \\f3ea;\n$fa-var-school: \\f549;\n$fa-var-screwdriver: \\f54a;\n$fa-var-scribd: \\f28a;\n$fa-var-scroll: \\f70e;\n$fa-var-sd-card: \\f7c2;\n$fa-var-search: \\f002;\n$fa-var-search-dollar: \\f688;\n$fa-var-search-location: \\f689;\n$fa-var-search-minus: \\f010;\n$fa-var-search-plus: \\f00e;\n$fa-var-searchengin: \\f3eb;\n$fa-var-seedling: \\f4d8;\n$fa-var-sellcast: \\f2da;\n$fa-var-sellsy: \\f213;\n$fa-var-server: \\f233;\n$fa-var-servicestack: \\f3ec;\n$fa-var-shapes: \\f61f;\n$fa-var-share: \\f064;\n$fa-var-share-alt: \\f1e0;\n$fa-var-share-alt-square: \\f1e1;\n$fa-var-share-square: \\f14d;\n$fa-var-shekel-sign: \\f20b;\n$fa-var-shield-alt: \\f3ed;\n$fa-var-shield-virus: \\e06c;\n$fa-var-ship: \\f21a;\n$fa-var-shipping-fast: \\f48b;\n$fa-var-shirtsinbulk: \\f214;\n$fa-var-shoe-prints: \\f54b;\n$fa-var-shopify: \\e057;\n$fa-var-shopping-bag: \\f290;\n$fa-var-shopping-basket: \\f291;\n$fa-var-shopping-cart: \\f07a;\n$fa-var-shopware: \\f5b5;\n$fa-var-shower: \\f2cc;\n$fa-var-shuttle-van: \\f5b6;\n$fa-var-sign: \\f4d9;\n$fa-var-sign-in-alt: \\f2f6;\n$fa-var-sign-language: \\f2a7;\n$fa-var-sign-out-alt: \\f2f5;\n$fa-var-signal: \\f012;\n$fa-var-signature: \\f5b7;\n$fa-var-sim-card: \\f7c4;\n$fa-var-simplybuilt: \\f215;\n$fa-var-sink: \\e06d;\n$fa-var-sistrix: \\f3ee;\n$fa-var-sitemap: \\f0e8;\n$fa-var-sith: \\f512;\n$fa-var-skating: \\f7c5;\n$fa-var-sketch: \\f7c6;\n$fa-var-skiing: \\f7c9;\n$fa-var-skiing-nordic: \\f7ca;\n$fa-var-skull: \\f54c;\n$fa-var-skull-crossbones: \\f714;\n$fa-var-skyatlas: \\f216;\n$fa-var-skype: \\f17e;\n$fa-var-slack: \\f198;\n$fa-var-slack-hash: \\f3ef;\n$fa-var-slash: \\f715;\n$fa-var-sleigh: \\f7cc;\n$fa-var-sliders-h: \\f1de;\n$fa-var-slideshare: \\f1e7;\n$fa-var-smile: \\f118;\n$fa-var-smile-beam: \\f5b8;\n$fa-var-smile-wink: \\f4da;\n$fa-var-smog: \\f75f;\n$fa-var-smoking: \\f48d;\n$fa-var-smoking-ban: \\f54d;\n$fa-var-sms: \\f7cd;\n$fa-var-snapchat: \\f2ab;\n$fa-var-snapchat-ghost: \\f2ac;\n$fa-var-snapchat-square: \\f2ad;\n$fa-var-snowboarding: \\f7ce;\n$fa-var-snowflake: \\f2dc;\n$fa-var-snowman: \\f7d0;\n$fa-var-snowplow: \\f7d2;\n$fa-var-soap: \\e06e;\n$fa-var-socks: \\f696;\n$fa-var-solar-panel: \\f5ba;\n$fa-var-sort: \\f0dc;\n$fa-var-sort-alpha-down: \\f15d;\n$fa-var-sort-alpha-down-alt: \\f881;\n$fa-var-sort-alpha-up: \\f15e;\n$fa-var-sort-alpha-up-alt: \\f882;\n$fa-var-sort-amount-down: \\f160;\n$fa-var-sort-amount-down-alt: \\f884;\n$fa-var-sort-amount-up: \\f161;\n$fa-var-sort-amount-up-alt: \\f885;\n$fa-var-sort-down: \\f0dd;\n$fa-var-sort-numeric-down: \\f162;\n$fa-var-sort-numeric-down-alt: \\f886;\n$fa-var-sort-numeric-up: \\f163;\n$fa-var-sort-numeric-up-alt: \\f887;\n$fa-var-sort-up: \\f0de;\n$fa-var-soundcloud: \\f1be;\n$fa-var-sourcetree: \\f7d3;\n$fa-var-spa: \\f5bb;\n$fa-var-space-shuttle: \\f197;\n$fa-var-speakap: \\f3f3;\n$fa-var-speaker-deck: \\f83c;\n$fa-var-spell-check: \\f891;\n$fa-var-spider: \\f717;\n$fa-var-spinner: \\f110;\n$fa-var-splotch: \\f5bc;\n$fa-var-spotify: \\f1bc;\n$fa-var-spray-can: \\f5bd;\n$fa-var-square: \\f0c8;\n$fa-var-square-full: \\f45c;\n$fa-var-square-root-alt: \\f698;\n$fa-var-squarespace: \\f5be;\n$fa-var-stack-exchange: \\f18d;\n$fa-var-stack-overflow: \\f16c;\n$fa-var-stackpath: \\f842;\n$fa-var-stamp: \\f5bf;\n$fa-var-star: \\f005;\n$fa-var-star-and-crescent: \\f699;\n$fa-var-star-half: \\f089;\n$fa-var-star-half-alt: \\f5c0;\n$fa-var-star-of-david: \\f69a;\n$fa-var-star-of-life: \\f621;\n$fa-var-staylinked: \\f3f5;\n$fa-var-steam: \\f1b6;\n$fa-var-steam-square: \\f1b7;\n$fa-var-steam-symbol: \\f3f6;\n$fa-var-step-backward: \\f048;\n$fa-var-step-forward: \\f051;\n$fa-var-stethoscope: \\f0f1;\n$fa-var-sticker-mule: \\f3f7;\n$fa-var-sticky-note: \\f249;\n$fa-var-stop: \\f04d;\n$fa-var-stop-circle: \\f28d;\n$fa-var-stopwatch: \\f2f2;\n$fa-var-stopwatch-20: \\e06f;\n$fa-var-store: \\f54e;\n$fa-var-store-alt: \\f54f;\n$fa-var-store-alt-slash: \\e070;\n$fa-var-store-slash: \\e071;\n$fa-var-strava: \\f428;\n$fa-var-stream: \\f550;\n$fa-var-street-view: \\f21d;\n$fa-var-strikethrough: \\f0cc;\n$fa-var-stripe: \\f429;\n$fa-var-stripe-s: \\f42a;\n$fa-var-stroopwafel: \\f551;\n$fa-var-studiovinari: \\f3f8;\n$fa-var-stumbleupon: \\f1a4;\n$fa-var-stumbleupon-circle: \\f1a3;\n$fa-var-subscript: \\f12c;\n$fa-var-subway: \\f239;\n$fa-var-suitcase: \\f0f2;\n$fa-var-suitcase-rolling: \\f5c1;\n$fa-var-sun: \\f185;\n$fa-var-superpowers: \\f2dd;\n$fa-var-superscript: \\f12b;\n$fa-var-supple: \\f3f9;\n$fa-var-surprise: \\f5c2;\n$fa-var-suse: \\f7d6;\n$fa-var-swatchbook: \\f5c3;\n$fa-var-swift: \\f8e1;\n$fa-var-swimmer: \\f5c4;\n$fa-var-swimming-pool: \\f5c5;\n$fa-var-symfony: \\f83d;\n$fa-var-synagogue: \\f69b;\n$fa-var-sync: \\f021;\n$fa-var-sync-alt: \\f2f1;\n$fa-var-syringe: \\f48e;\n$fa-var-table: \\f0ce;\n$fa-var-table-tennis: \\f45d;\n$fa-var-tablet: \\f10a;\n$fa-var-tablet-alt: \\f3fa;\n$fa-var-tablets: \\f490;\n$fa-var-tachometer-alt: \\f3fd;\n$fa-var-tag: \\f02b;\n$fa-var-tags: \\f02c;\n$fa-var-tape: \\f4db;\n$fa-var-tasks: \\f0ae;\n$fa-var-taxi: \\f1ba;\n$fa-var-teamspeak: \\f4f9;\n$fa-var-teeth: \\f62e;\n$fa-var-teeth-open: \\f62f;\n$fa-var-telegram: \\f2c6;\n$fa-var-telegram-plane: \\f3fe;\n$fa-var-temperature-high: \\f769;\n$fa-var-temperature-low: \\f76b;\n$fa-var-tencent-weibo: \\f1d5;\n$fa-var-tenge: \\f7d7;\n$fa-var-terminal: \\f120;\n$fa-var-text-height: \\f034;\n$fa-var-text-width: \\f035;\n$fa-var-th: \\f00a;\n$fa-var-th-large: \\f009;\n$fa-var-th-list: \\f00b;\n$fa-var-the-red-yeti: \\f69d;\n$fa-var-theater-masks: \\f630;\n$fa-var-themeco: \\f5c6;\n$fa-var-themeisle: \\f2b2;\n$fa-var-thermometer: \\f491;\n$fa-var-thermometer-empty: \\f2cb;\n$fa-var-thermometer-full: \\f2c7;\n$fa-var-thermometer-half: \\f2c9;\n$fa-var-thermometer-quarter: \\f2ca;\n$fa-var-thermometer-three-quarters: \\f2c8;\n$fa-var-think-peaks: \\f731;\n$fa-var-thumbs-down: \\f165;\n$fa-var-thumbs-up: \\f164;\n$fa-var-thumbtack: \\f08d;\n$fa-var-ticket-alt: \\f3ff;\n$fa-var-tiktok: \\e07b;\n$fa-var-times: \\f00d;\n$fa-var-times-circle: \\f057;\n$fa-var-tint: \\f043;\n$fa-var-tint-slash: \\f5c7;\n$fa-var-tired: \\f5c8;\n$fa-var-toggle-off: \\f204;\n$fa-var-toggle-on: \\f205;\n$fa-var-toilet: \\f7d8;\n$fa-var-toilet-paper: \\f71e;\n$fa-var-toilet-paper-slash: \\e072;\n$fa-var-toolbox: \\f552;\n$fa-var-tools: \\f7d9;\n$fa-var-tooth: \\f5c9;\n$fa-var-torah: \\f6a0;\n$fa-var-torii-gate: \\f6a1;\n$fa-var-tractor: \\f722;\n$fa-var-trade-federation: \\f513;\n$fa-var-trademark: \\f25c;\n$fa-var-traffic-light: \\f637;\n$fa-var-trailer: \\e041;\n$fa-var-train: \\f238;\n$fa-var-tram: \\f7da;\n$fa-var-transgender: \\f224;\n$fa-var-transgender-alt: \\f225;\n$fa-var-trash: \\f1f8;\n$fa-var-trash-alt: \\f2ed;\n$fa-var-trash-restore: \\f829;\n$fa-var-trash-restore-alt: \\f82a;\n$fa-var-tree: \\f1bb;\n$fa-var-trello: \\f181;\n$fa-var-trophy: \\f091;\n$fa-var-truck: \\f0d1;\n$fa-var-truck-loading: \\f4de;\n$fa-var-truck-monster: \\f63b;\n$fa-var-truck-moving: \\f4df;\n$fa-var-truck-pickup: \\f63c;\n$fa-var-tshirt: \\f553;\n$fa-var-tty: \\f1e4;\n$fa-var-tumblr: \\f173;\n$fa-var-tumblr-square: \\f174;\n$fa-var-tv: \\f26c;\n$fa-var-twitch: \\f1e8;\n$fa-var-twitter: \\f099;\n$fa-var-twitter-square: \\f081;\n$fa-var-typo3: \\f42b;\n$fa-var-uber: \\f402;\n$fa-var-ubuntu: \\f7df;\n$fa-var-uikit: \\f403;\n$fa-var-umbraco: \\f8e8;\n$fa-var-umbrella: \\f0e9;\n$fa-var-umbrella-beach: \\f5ca;\n$fa-var-uncharted: \\e084;\n$fa-var-underline: \\f0cd;\n$fa-var-undo: \\f0e2;\n$fa-var-undo-alt: \\f2ea;\n$fa-var-uniregistry: \\f404;\n$fa-var-unity: \\e049;\n$fa-var-universal-access: \\f29a;\n$fa-var-university: \\f19c;\n$fa-var-unlink: \\f127;\n$fa-var-unlock: \\f09c;\n$fa-var-unlock-alt: \\f13e;\n$fa-var-unsplash: \\e07c;\n$fa-var-untappd: \\f405;\n$fa-var-upload: \\f093;\n$fa-var-ups: \\f7e0;\n$fa-var-usb: \\f287;\n$fa-var-user: \\f007;\n$fa-var-user-alt: \\f406;\n$fa-var-user-alt-slash: \\f4fa;\n$fa-var-user-astronaut: \\f4fb;\n$fa-var-user-check: \\f4fc;\n$fa-var-user-circle: \\f2bd;\n$fa-var-user-clock: \\f4fd;\n$fa-var-user-cog: \\f4fe;\n$fa-var-user-edit: \\f4ff;\n$fa-var-user-friends: \\f500;\n$fa-var-user-graduate: \\f501;\n$fa-var-user-injured: \\f728;\n$fa-var-user-lock: \\f502;\n$fa-var-user-md: \\f0f0;\n$fa-var-user-minus: \\f503;\n$fa-var-user-ninja: \\f504;\n$fa-var-user-nurse: \\f82f;\n$fa-var-user-plus: \\f234;\n$fa-var-user-secret: \\f21b;\n$fa-var-user-shield: \\f505;\n$fa-var-user-slash: \\f506;\n$fa-var-user-tag: \\f507;\n$fa-var-user-tie: \\f508;\n$fa-var-user-times: \\f235;\n$fa-var-users: \\f0c0;\n$fa-var-users-cog: \\f509;\n$fa-var-users-slash: \\e073;\n$fa-var-usps: \\f7e1;\n$fa-var-ussunnah: \\f407;\n$fa-var-utensil-spoon: \\f2e5;\n$fa-var-utensils: \\f2e7;\n$fa-var-vaadin: \\f408;\n$fa-var-vector-square: \\f5cb;\n$fa-var-venus: \\f221;\n$fa-var-venus-double: \\f226;\n$fa-var-venus-mars: \\f228;\n$fa-var-vest: \\e085;\n$fa-var-vest-patches: \\e086;\n$fa-var-viacoin: \\f237;\n$fa-var-viadeo: \\f2a9;\n$fa-var-viadeo-square: \\f2aa;\n$fa-var-vial: \\f492;\n$fa-var-vials: \\f493;\n$fa-var-viber: \\f409;\n$fa-var-video: \\f03d;\n$fa-var-video-slash: \\f4e2;\n$fa-var-vihara: \\f6a7;\n$fa-var-vimeo: \\f40a;\n$fa-var-vimeo-square: \\f194;\n$fa-var-vimeo-v: \\f27d;\n$fa-var-vine: \\f1ca;\n$fa-var-virus: \\e074;\n$fa-var-virus-slash: \\e075;\n$fa-var-viruses: \\e076;\n$fa-var-vk: \\f189;\n$fa-var-vnv: \\f40b;\n$fa-var-voicemail: \\f897;\n$fa-var-volleyball-ball: \\f45f;\n$fa-var-volume-down: \\f027;\n$fa-var-volume-mute: \\f6a9;\n$fa-var-volume-off: \\f026;\n$fa-var-volume-up: \\f028;\n$fa-var-vote-yea: \\f772;\n$fa-var-vr-cardboard: \\f729;\n$fa-var-vuejs: \\f41f;\n$fa-var-walking: \\f554;\n$fa-var-wallet: \\f555;\n$fa-var-warehouse: \\f494;\n$fa-var-watchman-monitoring: \\e087;\n$fa-var-water: \\f773;\n$fa-var-wave-square: \\f83e;\n$fa-var-waze: \\f83f;\n$fa-var-weebly: \\f5cc;\n$fa-var-weibo: \\f18a;\n$fa-var-weight: \\f496;\n$fa-var-weight-hanging: \\f5cd;\n$fa-var-weixin: \\f1d7;\n$fa-var-whatsapp: \\f232;\n$fa-var-whatsapp-square: \\f40c;\n$fa-var-wheelchair: \\f193;\n$fa-var-whmcs: \\f40d;\n$fa-var-wifi: \\f1eb;\n$fa-var-wikipedia-w: \\f266;\n$fa-var-wind: \\f72e;\n$fa-var-window-close: \\f410;\n$fa-var-window-maximize: \\f2d0;\n$fa-var-window-minimize: \\f2d1;\n$fa-var-window-restore: \\f2d2;\n$fa-var-windows: \\f17a;\n$fa-var-wine-bottle: \\f72f;\n$fa-var-wine-glass: \\f4e3;\n$fa-var-wine-glass-alt: \\f5ce;\n$fa-var-wix: \\f5cf;\n$fa-var-wizards-of-the-coast: \\f730;\n$fa-var-wodu: \\e088;\n$fa-var-wolf-pack-battalion: \\f514;\n$fa-var-won-sign: \\f159;\n$fa-var-wordpress: \\f19a;\n$fa-var-wordpress-simple: \\f411;\n$fa-var-wpbeginner: \\f297;\n$fa-var-wpexplorer: \\f2de;\n$fa-var-wpforms: \\f298;\n$fa-var-wpressr: \\f3e4;\n$fa-var-wrench: \\f0ad;\n$fa-var-x-ray: \\f497;\n$fa-var-xbox: \\f412;\n$fa-var-xing: \\f168;\n$fa-var-xing-square: \\f169;\n$fa-var-y-combinator: \\f23b;\n$fa-var-yahoo: \\f19e;\n$fa-var-yammer: \\f840;\n$fa-var-yandex: \\f413;\n$fa-var-yandex-international: \\f414;\n$fa-var-yarn: \\f7e3;\n$fa-var-yelp: \\f1e9;\n$fa-var-yen-sign: \\f157;\n$fa-var-yin-yang: \\f6ad;\n$fa-var-yoast: \\f2b1;\n$fa-var-youtube: \\f167;\n$fa-var-youtube-square: \\f431;\n$fa-var-zhihu: \\f63f;\n", + "/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n\n@font-face {\n font-family: 'Font Awesome 5 Brands';\n font-style: normal;\n font-weight: 400;\n font-display: $fa-font-display;\n src: url('#{$fa-font-path}/fa-brands-400.eot');\n src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),\n url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),\n url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),\n url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),\n url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');\n}\n\n.fab {\n font-family: 'Font Awesome 5 Brands';\n font-weight: 400;\n}\n", + "// Variables\n// --------------------------\n\n$fa-font-path: \"../webfonts\" !default;\n$fa-font-size-base: 16px !default;\n$fa-font-display: block !default;\n$fa-css-prefix: fa !default;\n$fa-version: \"5.15.4\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: 2em !default;\n$fa-fw-width: (20em / 16);\n$fa-primary-opacity: 1 !default;\n$fa-secondary-opacity: .4 !default;\n\n// Convenience function used to set content property\n@function fa-content($fa-var) {\n @return unquote(\"\\\"#{ $fa-var }\\\"\");\n}\n\n$fa-var-500px: \\f26e;\n$fa-var-accessible-icon: \\f368;\n$fa-var-accusoft: \\f369;\n$fa-var-acquisitions-incorporated: \\f6af;\n$fa-var-ad: \\f641;\n$fa-var-address-book: \\f2b9;\n$fa-var-address-card: \\f2bb;\n$fa-var-adjust: \\f042;\n$fa-var-adn: \\f170;\n$fa-var-adversal: \\f36a;\n$fa-var-affiliatetheme: \\f36b;\n$fa-var-air-freshener: \\f5d0;\n$fa-var-airbnb: \\f834;\n$fa-var-algolia: \\f36c;\n$fa-var-align-center: \\f037;\n$fa-var-align-justify: \\f039;\n$fa-var-align-left: \\f036;\n$fa-var-align-right: \\f038;\n$fa-var-alipay: \\f642;\n$fa-var-allergies: \\f461;\n$fa-var-amazon: \\f270;\n$fa-var-amazon-pay: \\f42c;\n$fa-var-ambulance: \\f0f9;\n$fa-var-american-sign-language-interpreting: \\f2a3;\n$fa-var-amilia: \\f36d;\n$fa-var-anchor: \\f13d;\n$fa-var-android: \\f17b;\n$fa-var-angellist: \\f209;\n$fa-var-angle-double-down: \\f103;\n$fa-var-angle-double-left: \\f100;\n$fa-var-angle-double-right: \\f101;\n$fa-var-angle-double-up: \\f102;\n$fa-var-angle-down: \\f107;\n$fa-var-angle-left: \\f104;\n$fa-var-angle-right: \\f105;\n$fa-var-angle-up: \\f106;\n$fa-var-angry: \\f556;\n$fa-var-angrycreative: \\f36e;\n$fa-var-angular: \\f420;\n$fa-var-ankh: \\f644;\n$fa-var-app-store: \\f36f;\n$fa-var-app-store-ios: \\f370;\n$fa-var-apper: \\f371;\n$fa-var-apple: \\f179;\n$fa-var-apple-alt: \\f5d1;\n$fa-var-apple-pay: \\f415;\n$fa-var-archive: \\f187;\n$fa-var-archway: \\f557;\n$fa-var-arrow-alt-circle-down: \\f358;\n$fa-var-arrow-alt-circle-left: \\f359;\n$fa-var-arrow-alt-circle-right: \\f35a;\n$fa-var-arrow-alt-circle-up: \\f35b;\n$fa-var-arrow-circle-down: \\f0ab;\n$fa-var-arrow-circle-left: \\f0a8;\n$fa-var-arrow-circle-right: \\f0a9;\n$fa-var-arrow-circle-up: \\f0aa;\n$fa-var-arrow-down: \\f063;\n$fa-var-arrow-left: \\f060;\n$fa-var-arrow-right: \\f061;\n$fa-var-arrow-up: \\f062;\n$fa-var-arrows-alt: \\f0b2;\n$fa-var-arrows-alt-h: \\f337;\n$fa-var-arrows-alt-v: \\f338;\n$fa-var-artstation: \\f77a;\n$fa-var-assistive-listening-systems: \\f2a2;\n$fa-var-asterisk: \\f069;\n$fa-var-asymmetrik: \\f372;\n$fa-var-at: \\f1fa;\n$fa-var-atlas: \\f558;\n$fa-var-atlassian: \\f77b;\n$fa-var-atom: \\f5d2;\n$fa-var-audible: \\f373;\n$fa-var-audio-description: \\f29e;\n$fa-var-autoprefixer: \\f41c;\n$fa-var-avianex: \\f374;\n$fa-var-aviato: \\f421;\n$fa-var-award: \\f559;\n$fa-var-aws: \\f375;\n$fa-var-baby: \\f77c;\n$fa-var-baby-carriage: \\f77d;\n$fa-var-backspace: \\f55a;\n$fa-var-backward: \\f04a;\n$fa-var-bacon: \\f7e5;\n$fa-var-bacteria: \\e059;\n$fa-var-bacterium: \\e05a;\n$fa-var-bahai: \\f666;\n$fa-var-balance-scale: \\f24e;\n$fa-var-balance-scale-left: \\f515;\n$fa-var-balance-scale-right: \\f516;\n$fa-var-ban: \\f05e;\n$fa-var-band-aid: \\f462;\n$fa-var-bandcamp: \\f2d5;\n$fa-var-barcode: \\f02a;\n$fa-var-bars: \\f0c9;\n$fa-var-baseball-ball: \\f433;\n$fa-var-basketball-ball: \\f434;\n$fa-var-bath: \\f2cd;\n$fa-var-battery-empty: \\f244;\n$fa-var-battery-full: \\f240;\n$fa-var-battery-half: \\f242;\n$fa-var-battery-quarter: \\f243;\n$fa-var-battery-three-quarters: \\f241;\n$fa-var-battle-net: \\f835;\n$fa-var-bed: \\f236;\n$fa-var-beer: \\f0fc;\n$fa-var-behance: \\f1b4;\n$fa-var-behance-square: \\f1b5;\n$fa-var-bell: \\f0f3;\n$fa-var-bell-slash: \\f1f6;\n$fa-var-bezier-curve: \\f55b;\n$fa-var-bible: \\f647;\n$fa-var-bicycle: \\f206;\n$fa-var-biking: \\f84a;\n$fa-var-bimobject: \\f378;\n$fa-var-binoculars: \\f1e5;\n$fa-var-biohazard: \\f780;\n$fa-var-birthday-cake: \\f1fd;\n$fa-var-bitbucket: \\f171;\n$fa-var-bitcoin: \\f379;\n$fa-var-bity: \\f37a;\n$fa-var-black-tie: \\f27e;\n$fa-var-blackberry: \\f37b;\n$fa-var-blender: \\f517;\n$fa-var-blender-phone: \\f6b6;\n$fa-var-blind: \\f29d;\n$fa-var-blog: \\f781;\n$fa-var-blogger: \\f37c;\n$fa-var-blogger-b: \\f37d;\n$fa-var-bluetooth: \\f293;\n$fa-var-bluetooth-b: \\f294;\n$fa-var-bold: \\f032;\n$fa-var-bolt: \\f0e7;\n$fa-var-bomb: \\f1e2;\n$fa-var-bone: \\f5d7;\n$fa-var-bong: \\f55c;\n$fa-var-book: \\f02d;\n$fa-var-book-dead: \\f6b7;\n$fa-var-book-medical: \\f7e6;\n$fa-var-book-open: \\f518;\n$fa-var-book-reader: \\f5da;\n$fa-var-bookmark: \\f02e;\n$fa-var-bootstrap: \\f836;\n$fa-var-border-all: \\f84c;\n$fa-var-border-none: \\f850;\n$fa-var-border-style: \\f853;\n$fa-var-bowling-ball: \\f436;\n$fa-var-box: \\f466;\n$fa-var-box-open: \\f49e;\n$fa-var-box-tissue: \\e05b;\n$fa-var-boxes: \\f468;\n$fa-var-braille: \\f2a1;\n$fa-var-brain: \\f5dc;\n$fa-var-bread-slice: \\f7ec;\n$fa-var-briefcase: \\f0b1;\n$fa-var-briefcase-medical: \\f469;\n$fa-var-broadcast-tower: \\f519;\n$fa-var-broom: \\f51a;\n$fa-var-brush: \\f55d;\n$fa-var-btc: \\f15a;\n$fa-var-buffer: \\f837;\n$fa-var-bug: \\f188;\n$fa-var-building: \\f1ad;\n$fa-var-bullhorn: \\f0a1;\n$fa-var-bullseye: \\f140;\n$fa-var-burn: \\f46a;\n$fa-var-buromobelexperte: \\f37f;\n$fa-var-bus: \\f207;\n$fa-var-bus-alt: \\f55e;\n$fa-var-business-time: \\f64a;\n$fa-var-buy-n-large: \\f8a6;\n$fa-var-buysellads: \\f20d;\n$fa-var-calculator: \\f1ec;\n$fa-var-calendar: \\f133;\n$fa-var-calendar-alt: \\f073;\n$fa-var-calendar-check: \\f274;\n$fa-var-calendar-day: \\f783;\n$fa-var-calendar-minus: \\f272;\n$fa-var-calendar-plus: \\f271;\n$fa-var-calendar-times: \\f273;\n$fa-var-calendar-week: \\f784;\n$fa-var-camera: \\f030;\n$fa-var-camera-retro: \\f083;\n$fa-var-campground: \\f6bb;\n$fa-var-canadian-maple-leaf: \\f785;\n$fa-var-candy-cane: \\f786;\n$fa-var-cannabis: \\f55f;\n$fa-var-capsules: \\f46b;\n$fa-var-car: \\f1b9;\n$fa-var-car-alt: \\f5de;\n$fa-var-car-battery: \\f5df;\n$fa-var-car-crash: \\f5e1;\n$fa-var-car-side: \\f5e4;\n$fa-var-caravan: \\f8ff;\n$fa-var-caret-down: \\f0d7;\n$fa-var-caret-left: \\f0d9;\n$fa-var-caret-right: \\f0da;\n$fa-var-caret-square-down: \\f150;\n$fa-var-caret-square-left: \\f191;\n$fa-var-caret-square-right: \\f152;\n$fa-var-caret-square-up: \\f151;\n$fa-var-caret-up: \\f0d8;\n$fa-var-carrot: \\f787;\n$fa-var-cart-arrow-down: \\f218;\n$fa-var-cart-plus: \\f217;\n$fa-var-cash-register: \\f788;\n$fa-var-cat: \\f6be;\n$fa-var-cc-amazon-pay: \\f42d;\n$fa-var-cc-amex: \\f1f3;\n$fa-var-cc-apple-pay: \\f416;\n$fa-var-cc-diners-club: \\f24c;\n$fa-var-cc-discover: \\f1f2;\n$fa-var-cc-jcb: \\f24b;\n$fa-var-cc-mastercard: \\f1f1;\n$fa-var-cc-paypal: \\f1f4;\n$fa-var-cc-stripe: \\f1f5;\n$fa-var-cc-visa: \\f1f0;\n$fa-var-centercode: \\f380;\n$fa-var-centos: \\f789;\n$fa-var-certificate: \\f0a3;\n$fa-var-chair: \\f6c0;\n$fa-var-chalkboard: \\f51b;\n$fa-var-chalkboard-teacher: \\f51c;\n$fa-var-charging-station: \\f5e7;\n$fa-var-chart-area: \\f1fe;\n$fa-var-chart-bar: \\f080;\n$fa-var-chart-line: \\f201;\n$fa-var-chart-pie: \\f200;\n$fa-var-check: \\f00c;\n$fa-var-check-circle: \\f058;\n$fa-var-check-double: \\f560;\n$fa-var-check-square: \\f14a;\n$fa-var-cheese: \\f7ef;\n$fa-var-chess: \\f439;\n$fa-var-chess-bishop: \\f43a;\n$fa-var-chess-board: \\f43c;\n$fa-var-chess-king: \\f43f;\n$fa-var-chess-knight: \\f441;\n$fa-var-chess-pawn: \\f443;\n$fa-var-chess-queen: \\f445;\n$fa-var-chess-rook: \\f447;\n$fa-var-chevron-circle-down: \\f13a;\n$fa-var-chevron-circle-left: \\f137;\n$fa-var-chevron-circle-right: \\f138;\n$fa-var-chevron-circle-up: \\f139;\n$fa-var-chevron-down: \\f078;\n$fa-var-chevron-left: \\f053;\n$fa-var-chevron-right: \\f054;\n$fa-var-chevron-up: \\f077;\n$fa-var-child: \\f1ae;\n$fa-var-chrome: \\f268;\n$fa-var-chromecast: \\f838;\n$fa-var-church: \\f51d;\n$fa-var-circle: \\f111;\n$fa-var-circle-notch: \\f1ce;\n$fa-var-city: \\f64f;\n$fa-var-clinic-medical: \\f7f2;\n$fa-var-clipboard: \\f328;\n$fa-var-clipboard-check: \\f46c;\n$fa-var-clipboard-list: \\f46d;\n$fa-var-clock: \\f017;\n$fa-var-clone: \\f24d;\n$fa-var-closed-captioning: \\f20a;\n$fa-var-cloud: \\f0c2;\n$fa-var-cloud-download-alt: \\f381;\n$fa-var-cloud-meatball: \\f73b;\n$fa-var-cloud-moon: \\f6c3;\n$fa-var-cloud-moon-rain: \\f73c;\n$fa-var-cloud-rain: \\f73d;\n$fa-var-cloud-showers-heavy: \\f740;\n$fa-var-cloud-sun: \\f6c4;\n$fa-var-cloud-sun-rain: \\f743;\n$fa-var-cloud-upload-alt: \\f382;\n$fa-var-cloudflare: \\e07d;\n$fa-var-cloudscale: \\f383;\n$fa-var-cloudsmith: \\f384;\n$fa-var-cloudversify: \\f385;\n$fa-var-cocktail: \\f561;\n$fa-var-code: \\f121;\n$fa-var-code-branch: \\f126;\n$fa-var-codepen: \\f1cb;\n$fa-var-codiepie: \\f284;\n$fa-var-coffee: \\f0f4;\n$fa-var-cog: \\f013;\n$fa-var-cogs: \\f085;\n$fa-var-coins: \\f51e;\n$fa-var-columns: \\f0db;\n$fa-var-comment: \\f075;\n$fa-var-comment-alt: \\f27a;\n$fa-var-comment-dollar: \\f651;\n$fa-var-comment-dots: \\f4ad;\n$fa-var-comment-medical: \\f7f5;\n$fa-var-comment-slash: \\f4b3;\n$fa-var-comments: \\f086;\n$fa-var-comments-dollar: \\f653;\n$fa-var-compact-disc: \\f51f;\n$fa-var-compass: \\f14e;\n$fa-var-compress: \\f066;\n$fa-var-compress-alt: \\f422;\n$fa-var-compress-arrows-alt: \\f78c;\n$fa-var-concierge-bell: \\f562;\n$fa-var-confluence: \\f78d;\n$fa-var-connectdevelop: \\f20e;\n$fa-var-contao: \\f26d;\n$fa-var-cookie: \\f563;\n$fa-var-cookie-bite: \\f564;\n$fa-var-copy: \\f0c5;\n$fa-var-copyright: \\f1f9;\n$fa-var-cotton-bureau: \\f89e;\n$fa-var-couch: \\f4b8;\n$fa-var-cpanel: \\f388;\n$fa-var-creative-commons: \\f25e;\n$fa-var-creative-commons-by: \\f4e7;\n$fa-var-creative-commons-nc: \\f4e8;\n$fa-var-creative-commons-nc-eu: \\f4e9;\n$fa-var-creative-commons-nc-jp: \\f4ea;\n$fa-var-creative-commons-nd: \\f4eb;\n$fa-var-creative-commons-pd: \\f4ec;\n$fa-var-creative-commons-pd-alt: \\f4ed;\n$fa-var-creative-commons-remix: \\f4ee;\n$fa-var-creative-commons-sa: \\f4ef;\n$fa-var-creative-commons-sampling: \\f4f0;\n$fa-var-creative-commons-sampling-plus: \\f4f1;\n$fa-var-creative-commons-share: \\f4f2;\n$fa-var-creative-commons-zero: \\f4f3;\n$fa-var-credit-card: \\f09d;\n$fa-var-critical-role: \\f6c9;\n$fa-var-crop: \\f125;\n$fa-var-crop-alt: \\f565;\n$fa-var-cross: \\f654;\n$fa-var-crosshairs: \\f05b;\n$fa-var-crow: \\f520;\n$fa-var-crown: \\f521;\n$fa-var-crutch: \\f7f7;\n$fa-var-css3: \\f13c;\n$fa-var-css3-alt: \\f38b;\n$fa-var-cube: \\f1b2;\n$fa-var-cubes: \\f1b3;\n$fa-var-cut: \\f0c4;\n$fa-var-cuttlefish: \\f38c;\n$fa-var-d-and-d: \\f38d;\n$fa-var-d-and-d-beyond: \\f6ca;\n$fa-var-dailymotion: \\e052;\n$fa-var-dashcube: \\f210;\n$fa-var-database: \\f1c0;\n$fa-var-deaf: \\f2a4;\n$fa-var-deezer: \\e077;\n$fa-var-delicious: \\f1a5;\n$fa-var-democrat: \\f747;\n$fa-var-deploydog: \\f38e;\n$fa-var-deskpro: \\f38f;\n$fa-var-desktop: \\f108;\n$fa-var-dev: \\f6cc;\n$fa-var-deviantart: \\f1bd;\n$fa-var-dharmachakra: \\f655;\n$fa-var-dhl: \\f790;\n$fa-var-diagnoses: \\f470;\n$fa-var-diaspora: \\f791;\n$fa-var-dice: \\f522;\n$fa-var-dice-d20: \\f6cf;\n$fa-var-dice-d6: \\f6d1;\n$fa-var-dice-five: \\f523;\n$fa-var-dice-four: \\f524;\n$fa-var-dice-one: \\f525;\n$fa-var-dice-six: \\f526;\n$fa-var-dice-three: \\f527;\n$fa-var-dice-two: \\f528;\n$fa-var-digg: \\f1a6;\n$fa-var-digital-ocean: \\f391;\n$fa-var-digital-tachograph: \\f566;\n$fa-var-directions: \\f5eb;\n$fa-var-discord: \\f392;\n$fa-var-discourse: \\f393;\n$fa-var-disease: \\f7fa;\n$fa-var-divide: \\f529;\n$fa-var-dizzy: \\f567;\n$fa-var-dna: \\f471;\n$fa-var-dochub: \\f394;\n$fa-var-docker: \\f395;\n$fa-var-dog: \\f6d3;\n$fa-var-dollar-sign: \\f155;\n$fa-var-dolly: \\f472;\n$fa-var-dolly-flatbed: \\f474;\n$fa-var-donate: \\f4b9;\n$fa-var-door-closed: \\f52a;\n$fa-var-door-open: \\f52b;\n$fa-var-dot-circle: \\f192;\n$fa-var-dove: \\f4ba;\n$fa-var-download: \\f019;\n$fa-var-draft2digital: \\f396;\n$fa-var-drafting-compass: \\f568;\n$fa-var-dragon: \\f6d5;\n$fa-var-draw-polygon: \\f5ee;\n$fa-var-dribbble: \\f17d;\n$fa-var-dribbble-square: \\f397;\n$fa-var-dropbox: \\f16b;\n$fa-var-drum: \\f569;\n$fa-var-drum-steelpan: \\f56a;\n$fa-var-drumstick-bite: \\f6d7;\n$fa-var-drupal: \\f1a9;\n$fa-var-dumbbell: \\f44b;\n$fa-var-dumpster: \\f793;\n$fa-var-dumpster-fire: \\f794;\n$fa-var-dungeon: \\f6d9;\n$fa-var-dyalog: \\f399;\n$fa-var-earlybirds: \\f39a;\n$fa-var-ebay: \\f4f4;\n$fa-var-edge: \\f282;\n$fa-var-edge-legacy: \\e078;\n$fa-var-edit: \\f044;\n$fa-var-egg: \\f7fb;\n$fa-var-eject: \\f052;\n$fa-var-elementor: \\f430;\n$fa-var-ellipsis-h: \\f141;\n$fa-var-ellipsis-v: \\f142;\n$fa-var-ello: \\f5f1;\n$fa-var-ember: \\f423;\n$fa-var-empire: \\f1d1;\n$fa-var-envelope: \\f0e0;\n$fa-var-envelope-open: \\f2b6;\n$fa-var-envelope-open-text: \\f658;\n$fa-var-envelope-square: \\f199;\n$fa-var-envira: \\f299;\n$fa-var-equals: \\f52c;\n$fa-var-eraser: \\f12d;\n$fa-var-erlang: \\f39d;\n$fa-var-ethereum: \\f42e;\n$fa-var-ethernet: \\f796;\n$fa-var-etsy: \\f2d7;\n$fa-var-euro-sign: \\f153;\n$fa-var-evernote: \\f839;\n$fa-var-exchange-alt: \\f362;\n$fa-var-exclamation: \\f12a;\n$fa-var-exclamation-circle: \\f06a;\n$fa-var-exclamation-triangle: \\f071;\n$fa-var-expand: \\f065;\n$fa-var-expand-alt: \\f424;\n$fa-var-expand-arrows-alt: \\f31e;\n$fa-var-expeditedssl: \\f23e;\n$fa-var-external-link-alt: \\f35d;\n$fa-var-external-link-square-alt: \\f360;\n$fa-var-eye: \\f06e;\n$fa-var-eye-dropper: \\f1fb;\n$fa-var-eye-slash: \\f070;\n$fa-var-facebook: \\f09a;\n$fa-var-facebook-f: \\f39e;\n$fa-var-facebook-messenger: \\f39f;\n$fa-var-facebook-square: \\f082;\n$fa-var-fan: \\f863;\n$fa-var-fantasy-flight-games: \\f6dc;\n$fa-var-fast-backward: \\f049;\n$fa-var-fast-forward: \\f050;\n$fa-var-faucet: \\e005;\n$fa-var-fax: \\f1ac;\n$fa-var-feather: \\f52d;\n$fa-var-feather-alt: \\f56b;\n$fa-var-fedex: \\f797;\n$fa-var-fedora: \\f798;\n$fa-var-female: \\f182;\n$fa-var-fighter-jet: \\f0fb;\n$fa-var-figma: \\f799;\n$fa-var-file: \\f15b;\n$fa-var-file-alt: \\f15c;\n$fa-var-file-archive: \\f1c6;\n$fa-var-file-audio: \\f1c7;\n$fa-var-file-code: \\f1c9;\n$fa-var-file-contract: \\f56c;\n$fa-var-file-csv: \\f6dd;\n$fa-var-file-download: \\f56d;\n$fa-var-file-excel: \\f1c3;\n$fa-var-file-export: \\f56e;\n$fa-var-file-image: \\f1c5;\n$fa-var-file-import: \\f56f;\n$fa-var-file-invoice: \\f570;\n$fa-var-file-invoice-dollar: \\f571;\n$fa-var-file-medical: \\f477;\n$fa-var-file-medical-alt: \\f478;\n$fa-var-file-pdf: \\f1c1;\n$fa-var-file-powerpoint: \\f1c4;\n$fa-var-file-prescription: \\f572;\n$fa-var-file-signature: \\f573;\n$fa-var-file-upload: \\f574;\n$fa-var-file-video: \\f1c8;\n$fa-var-file-word: \\f1c2;\n$fa-var-fill: \\f575;\n$fa-var-fill-drip: \\f576;\n$fa-var-film: \\f008;\n$fa-var-filter: \\f0b0;\n$fa-var-fingerprint: \\f577;\n$fa-var-fire: \\f06d;\n$fa-var-fire-alt: \\f7e4;\n$fa-var-fire-extinguisher: \\f134;\n$fa-var-firefox: \\f269;\n$fa-var-firefox-browser: \\e007;\n$fa-var-first-aid: \\f479;\n$fa-var-first-order: \\f2b0;\n$fa-var-first-order-alt: \\f50a;\n$fa-var-firstdraft: \\f3a1;\n$fa-var-fish: \\f578;\n$fa-var-fist-raised: \\f6de;\n$fa-var-flag: \\f024;\n$fa-var-flag-checkered: \\f11e;\n$fa-var-flag-usa: \\f74d;\n$fa-var-flask: \\f0c3;\n$fa-var-flickr: \\f16e;\n$fa-var-flipboard: \\f44d;\n$fa-var-flushed: \\f579;\n$fa-var-fly: \\f417;\n$fa-var-folder: \\f07b;\n$fa-var-folder-minus: \\f65d;\n$fa-var-folder-open: \\f07c;\n$fa-var-folder-plus: \\f65e;\n$fa-var-font: \\f031;\n$fa-var-font-awesome: \\f2b4;\n$fa-var-font-awesome-alt: \\f35c;\n$fa-var-font-awesome-flag: \\f425;\n$fa-var-font-awesome-logo-full: \\f4e6;\n$fa-var-fonticons: \\f280;\n$fa-var-fonticons-fi: \\f3a2;\n$fa-var-football-ball: \\f44e;\n$fa-var-fort-awesome: \\f286;\n$fa-var-fort-awesome-alt: \\f3a3;\n$fa-var-forumbee: \\f211;\n$fa-var-forward: \\f04e;\n$fa-var-foursquare: \\f180;\n$fa-var-free-code-camp: \\f2c5;\n$fa-var-freebsd: \\f3a4;\n$fa-var-frog: \\f52e;\n$fa-var-frown: \\f119;\n$fa-var-frown-open: \\f57a;\n$fa-var-fulcrum: \\f50b;\n$fa-var-funnel-dollar: \\f662;\n$fa-var-futbol: \\f1e3;\n$fa-var-galactic-republic: \\f50c;\n$fa-var-galactic-senate: \\f50d;\n$fa-var-gamepad: \\f11b;\n$fa-var-gas-pump: \\f52f;\n$fa-var-gavel: \\f0e3;\n$fa-var-gem: \\f3a5;\n$fa-var-genderless: \\f22d;\n$fa-var-get-pocket: \\f265;\n$fa-var-gg: \\f260;\n$fa-var-gg-circle: \\f261;\n$fa-var-ghost: \\f6e2;\n$fa-var-gift: \\f06b;\n$fa-var-gifts: \\f79c;\n$fa-var-git: \\f1d3;\n$fa-var-git-alt: \\f841;\n$fa-var-git-square: \\f1d2;\n$fa-var-github: \\f09b;\n$fa-var-github-alt: \\f113;\n$fa-var-github-square: \\f092;\n$fa-var-gitkraken: \\f3a6;\n$fa-var-gitlab: \\f296;\n$fa-var-gitter: \\f426;\n$fa-var-glass-cheers: \\f79f;\n$fa-var-glass-martini: \\f000;\n$fa-var-glass-martini-alt: \\f57b;\n$fa-var-glass-whiskey: \\f7a0;\n$fa-var-glasses: \\f530;\n$fa-var-glide: \\f2a5;\n$fa-var-glide-g: \\f2a6;\n$fa-var-globe: \\f0ac;\n$fa-var-globe-africa: \\f57c;\n$fa-var-globe-americas: \\f57d;\n$fa-var-globe-asia: \\f57e;\n$fa-var-globe-europe: \\f7a2;\n$fa-var-gofore: \\f3a7;\n$fa-var-golf-ball: \\f450;\n$fa-var-goodreads: \\f3a8;\n$fa-var-goodreads-g: \\f3a9;\n$fa-var-google: \\f1a0;\n$fa-var-google-drive: \\f3aa;\n$fa-var-google-pay: \\e079;\n$fa-var-google-play: \\f3ab;\n$fa-var-google-plus: \\f2b3;\n$fa-var-google-plus-g: \\f0d5;\n$fa-var-google-plus-square: \\f0d4;\n$fa-var-google-wallet: \\f1ee;\n$fa-var-gopuram: \\f664;\n$fa-var-graduation-cap: \\f19d;\n$fa-var-gratipay: \\f184;\n$fa-var-grav: \\f2d6;\n$fa-var-greater-than: \\f531;\n$fa-var-greater-than-equal: \\f532;\n$fa-var-grimace: \\f57f;\n$fa-var-grin: \\f580;\n$fa-var-grin-alt: \\f581;\n$fa-var-grin-beam: \\f582;\n$fa-var-grin-beam-sweat: \\f583;\n$fa-var-grin-hearts: \\f584;\n$fa-var-grin-squint: \\f585;\n$fa-var-grin-squint-tears: \\f586;\n$fa-var-grin-stars: \\f587;\n$fa-var-grin-tears: \\f588;\n$fa-var-grin-tongue: \\f589;\n$fa-var-grin-tongue-squint: \\f58a;\n$fa-var-grin-tongue-wink: \\f58b;\n$fa-var-grin-wink: \\f58c;\n$fa-var-grip-horizontal: \\f58d;\n$fa-var-grip-lines: \\f7a4;\n$fa-var-grip-lines-vertical: \\f7a5;\n$fa-var-grip-vertical: \\f58e;\n$fa-var-gripfire: \\f3ac;\n$fa-var-grunt: \\f3ad;\n$fa-var-guilded: \\e07e;\n$fa-var-guitar: \\f7a6;\n$fa-var-gulp: \\f3ae;\n$fa-var-h-square: \\f0fd;\n$fa-var-hacker-news: \\f1d4;\n$fa-var-hacker-news-square: \\f3af;\n$fa-var-hackerrank: \\f5f7;\n$fa-var-hamburger: \\f805;\n$fa-var-hammer: \\f6e3;\n$fa-var-hamsa: \\f665;\n$fa-var-hand-holding: \\f4bd;\n$fa-var-hand-holding-heart: \\f4be;\n$fa-var-hand-holding-medical: \\e05c;\n$fa-var-hand-holding-usd: \\f4c0;\n$fa-var-hand-holding-water: \\f4c1;\n$fa-var-hand-lizard: \\f258;\n$fa-var-hand-middle-finger: \\f806;\n$fa-var-hand-paper: \\f256;\n$fa-var-hand-peace: \\f25b;\n$fa-var-hand-point-down: \\f0a7;\n$fa-var-hand-point-left: \\f0a5;\n$fa-var-hand-point-right: \\f0a4;\n$fa-var-hand-point-up: \\f0a6;\n$fa-var-hand-pointer: \\f25a;\n$fa-var-hand-rock: \\f255;\n$fa-var-hand-scissors: \\f257;\n$fa-var-hand-sparkles: \\e05d;\n$fa-var-hand-spock: \\f259;\n$fa-var-hands: \\f4c2;\n$fa-var-hands-helping: \\f4c4;\n$fa-var-hands-wash: \\e05e;\n$fa-var-handshake: \\f2b5;\n$fa-var-handshake-alt-slash: \\e05f;\n$fa-var-handshake-slash: \\e060;\n$fa-var-hanukiah: \\f6e6;\n$fa-var-hard-hat: \\f807;\n$fa-var-hashtag: \\f292;\n$fa-var-hat-cowboy: \\f8c0;\n$fa-var-hat-cowboy-side: \\f8c1;\n$fa-var-hat-wizard: \\f6e8;\n$fa-var-hdd: \\f0a0;\n$fa-var-head-side-cough: \\e061;\n$fa-var-head-side-cough-slash: \\e062;\n$fa-var-head-side-mask: \\e063;\n$fa-var-head-side-virus: \\e064;\n$fa-var-heading: \\f1dc;\n$fa-var-headphones: \\f025;\n$fa-var-headphones-alt: \\f58f;\n$fa-var-headset: \\f590;\n$fa-var-heart: \\f004;\n$fa-var-heart-broken: \\f7a9;\n$fa-var-heartbeat: \\f21e;\n$fa-var-helicopter: \\f533;\n$fa-var-highlighter: \\f591;\n$fa-var-hiking: \\f6ec;\n$fa-var-hippo: \\f6ed;\n$fa-var-hips: \\f452;\n$fa-var-hire-a-helper: \\f3b0;\n$fa-var-history: \\f1da;\n$fa-var-hive: \\e07f;\n$fa-var-hockey-puck: \\f453;\n$fa-var-holly-berry: \\f7aa;\n$fa-var-home: \\f015;\n$fa-var-hooli: \\f427;\n$fa-var-hornbill: \\f592;\n$fa-var-horse: \\f6f0;\n$fa-var-horse-head: \\f7ab;\n$fa-var-hospital: \\f0f8;\n$fa-var-hospital-alt: \\f47d;\n$fa-var-hospital-symbol: \\f47e;\n$fa-var-hospital-user: \\f80d;\n$fa-var-hot-tub: \\f593;\n$fa-var-hotdog: \\f80f;\n$fa-var-hotel: \\f594;\n$fa-var-hotjar: \\f3b1;\n$fa-var-hourglass: \\f254;\n$fa-var-hourglass-end: \\f253;\n$fa-var-hourglass-half: \\f252;\n$fa-var-hourglass-start: \\f251;\n$fa-var-house-damage: \\f6f1;\n$fa-var-house-user: \\e065;\n$fa-var-houzz: \\f27c;\n$fa-var-hryvnia: \\f6f2;\n$fa-var-html5: \\f13b;\n$fa-var-hubspot: \\f3b2;\n$fa-var-i-cursor: \\f246;\n$fa-var-ice-cream: \\f810;\n$fa-var-icicles: \\f7ad;\n$fa-var-icons: \\f86d;\n$fa-var-id-badge: \\f2c1;\n$fa-var-id-card: \\f2c2;\n$fa-var-id-card-alt: \\f47f;\n$fa-var-ideal: \\e013;\n$fa-var-igloo: \\f7ae;\n$fa-var-image: \\f03e;\n$fa-var-images: \\f302;\n$fa-var-imdb: \\f2d8;\n$fa-var-inbox: \\f01c;\n$fa-var-indent: \\f03c;\n$fa-var-industry: \\f275;\n$fa-var-infinity: \\f534;\n$fa-var-info: \\f129;\n$fa-var-info-circle: \\f05a;\n$fa-var-innosoft: \\e080;\n$fa-var-instagram: \\f16d;\n$fa-var-instagram-square: \\e055;\n$fa-var-instalod: \\e081;\n$fa-var-intercom: \\f7af;\n$fa-var-internet-explorer: \\f26b;\n$fa-var-invision: \\f7b0;\n$fa-var-ioxhost: \\f208;\n$fa-var-italic: \\f033;\n$fa-var-itch-io: \\f83a;\n$fa-var-itunes: \\f3b4;\n$fa-var-itunes-note: \\f3b5;\n$fa-var-java: \\f4e4;\n$fa-var-jedi: \\f669;\n$fa-var-jedi-order: \\f50e;\n$fa-var-jenkins: \\f3b6;\n$fa-var-jira: \\f7b1;\n$fa-var-joget: \\f3b7;\n$fa-var-joint: \\f595;\n$fa-var-joomla: \\f1aa;\n$fa-var-journal-whills: \\f66a;\n$fa-var-js: \\f3b8;\n$fa-var-js-square: \\f3b9;\n$fa-var-jsfiddle: \\f1cc;\n$fa-var-kaaba: \\f66b;\n$fa-var-kaggle: \\f5fa;\n$fa-var-key: \\f084;\n$fa-var-keybase: \\f4f5;\n$fa-var-keyboard: \\f11c;\n$fa-var-keycdn: \\f3ba;\n$fa-var-khanda: \\f66d;\n$fa-var-kickstarter: \\f3bb;\n$fa-var-kickstarter-k: \\f3bc;\n$fa-var-kiss: \\f596;\n$fa-var-kiss-beam: \\f597;\n$fa-var-kiss-wink-heart: \\f598;\n$fa-var-kiwi-bird: \\f535;\n$fa-var-korvue: \\f42f;\n$fa-var-landmark: \\f66f;\n$fa-var-language: \\f1ab;\n$fa-var-laptop: \\f109;\n$fa-var-laptop-code: \\f5fc;\n$fa-var-laptop-house: \\e066;\n$fa-var-laptop-medical: \\f812;\n$fa-var-laravel: \\f3bd;\n$fa-var-lastfm: \\f202;\n$fa-var-lastfm-square: \\f203;\n$fa-var-laugh: \\f599;\n$fa-var-laugh-beam: \\f59a;\n$fa-var-laugh-squint: \\f59b;\n$fa-var-laugh-wink: \\f59c;\n$fa-var-layer-group: \\f5fd;\n$fa-var-leaf: \\f06c;\n$fa-var-leanpub: \\f212;\n$fa-var-lemon: \\f094;\n$fa-var-less: \\f41d;\n$fa-var-less-than: \\f536;\n$fa-var-less-than-equal: \\f537;\n$fa-var-level-down-alt: \\f3be;\n$fa-var-level-up-alt: \\f3bf;\n$fa-var-life-ring: \\f1cd;\n$fa-var-lightbulb: \\f0eb;\n$fa-var-line: \\f3c0;\n$fa-var-link: \\f0c1;\n$fa-var-linkedin: \\f08c;\n$fa-var-linkedin-in: \\f0e1;\n$fa-var-linode: \\f2b8;\n$fa-var-linux: \\f17c;\n$fa-var-lira-sign: \\f195;\n$fa-var-list: \\f03a;\n$fa-var-list-alt: \\f022;\n$fa-var-list-ol: \\f0cb;\n$fa-var-list-ul: \\f0ca;\n$fa-var-location-arrow: \\f124;\n$fa-var-lock: \\f023;\n$fa-var-lock-open: \\f3c1;\n$fa-var-long-arrow-alt-down: \\f309;\n$fa-var-long-arrow-alt-left: \\f30a;\n$fa-var-long-arrow-alt-right: \\f30b;\n$fa-var-long-arrow-alt-up: \\f30c;\n$fa-var-low-vision: \\f2a8;\n$fa-var-luggage-cart: \\f59d;\n$fa-var-lungs: \\f604;\n$fa-var-lungs-virus: \\e067;\n$fa-var-lyft: \\f3c3;\n$fa-var-magento: \\f3c4;\n$fa-var-magic: \\f0d0;\n$fa-var-magnet: \\f076;\n$fa-var-mail-bulk: \\f674;\n$fa-var-mailchimp: \\f59e;\n$fa-var-male: \\f183;\n$fa-var-mandalorian: \\f50f;\n$fa-var-map: \\f279;\n$fa-var-map-marked: \\f59f;\n$fa-var-map-marked-alt: \\f5a0;\n$fa-var-map-marker: \\f041;\n$fa-var-map-marker-alt: \\f3c5;\n$fa-var-map-pin: \\f276;\n$fa-var-map-signs: \\f277;\n$fa-var-markdown: \\f60f;\n$fa-var-marker: \\f5a1;\n$fa-var-mars: \\f222;\n$fa-var-mars-double: \\f227;\n$fa-var-mars-stroke: \\f229;\n$fa-var-mars-stroke-h: \\f22b;\n$fa-var-mars-stroke-v: \\f22a;\n$fa-var-mask: \\f6fa;\n$fa-var-mastodon: \\f4f6;\n$fa-var-maxcdn: \\f136;\n$fa-var-mdb: \\f8ca;\n$fa-var-medal: \\f5a2;\n$fa-var-medapps: \\f3c6;\n$fa-var-medium: \\f23a;\n$fa-var-medium-m: \\f3c7;\n$fa-var-medkit: \\f0fa;\n$fa-var-medrt: \\f3c8;\n$fa-var-meetup: \\f2e0;\n$fa-var-megaport: \\f5a3;\n$fa-var-meh: \\f11a;\n$fa-var-meh-blank: \\f5a4;\n$fa-var-meh-rolling-eyes: \\f5a5;\n$fa-var-memory: \\f538;\n$fa-var-mendeley: \\f7b3;\n$fa-var-menorah: \\f676;\n$fa-var-mercury: \\f223;\n$fa-var-meteor: \\f753;\n$fa-var-microblog: \\e01a;\n$fa-var-microchip: \\f2db;\n$fa-var-microphone: \\f130;\n$fa-var-microphone-alt: \\f3c9;\n$fa-var-microphone-alt-slash: \\f539;\n$fa-var-microphone-slash: \\f131;\n$fa-var-microscope: \\f610;\n$fa-var-microsoft: \\f3ca;\n$fa-var-minus: \\f068;\n$fa-var-minus-circle: \\f056;\n$fa-var-minus-square: \\f146;\n$fa-var-mitten: \\f7b5;\n$fa-var-mix: \\f3cb;\n$fa-var-mixcloud: \\f289;\n$fa-var-mixer: \\e056;\n$fa-var-mizuni: \\f3cc;\n$fa-var-mobile: \\f10b;\n$fa-var-mobile-alt: \\f3cd;\n$fa-var-modx: \\f285;\n$fa-var-monero: \\f3d0;\n$fa-var-money-bill: \\f0d6;\n$fa-var-money-bill-alt: \\f3d1;\n$fa-var-money-bill-wave: \\f53a;\n$fa-var-money-bill-wave-alt: \\f53b;\n$fa-var-money-check: \\f53c;\n$fa-var-money-check-alt: \\f53d;\n$fa-var-monument: \\f5a6;\n$fa-var-moon: \\f186;\n$fa-var-mortar-pestle: \\f5a7;\n$fa-var-mosque: \\f678;\n$fa-var-motorcycle: \\f21c;\n$fa-var-mountain: \\f6fc;\n$fa-var-mouse: \\f8cc;\n$fa-var-mouse-pointer: \\f245;\n$fa-var-mug-hot: \\f7b6;\n$fa-var-music: \\f001;\n$fa-var-napster: \\f3d2;\n$fa-var-neos: \\f612;\n$fa-var-network-wired: \\f6ff;\n$fa-var-neuter: \\f22c;\n$fa-var-newspaper: \\f1ea;\n$fa-var-nimblr: \\f5a8;\n$fa-var-node: \\f419;\n$fa-var-node-js: \\f3d3;\n$fa-var-not-equal: \\f53e;\n$fa-var-notes-medical: \\f481;\n$fa-var-npm: \\f3d4;\n$fa-var-ns8: \\f3d5;\n$fa-var-nutritionix: \\f3d6;\n$fa-var-object-group: \\f247;\n$fa-var-object-ungroup: \\f248;\n$fa-var-octopus-deploy: \\e082;\n$fa-var-odnoklassniki: \\f263;\n$fa-var-odnoklassniki-square: \\f264;\n$fa-var-oil-can: \\f613;\n$fa-var-old-republic: \\f510;\n$fa-var-om: \\f679;\n$fa-var-opencart: \\f23d;\n$fa-var-openid: \\f19b;\n$fa-var-opera: \\f26a;\n$fa-var-optin-monster: \\f23c;\n$fa-var-orcid: \\f8d2;\n$fa-var-osi: \\f41a;\n$fa-var-otter: \\f700;\n$fa-var-outdent: \\f03b;\n$fa-var-page4: \\f3d7;\n$fa-var-pagelines: \\f18c;\n$fa-var-pager: \\f815;\n$fa-var-paint-brush: \\f1fc;\n$fa-var-paint-roller: \\f5aa;\n$fa-var-palette: \\f53f;\n$fa-var-palfed: \\f3d8;\n$fa-var-pallet: \\f482;\n$fa-var-paper-plane: \\f1d8;\n$fa-var-paperclip: \\f0c6;\n$fa-var-parachute-box: \\f4cd;\n$fa-var-paragraph: \\f1dd;\n$fa-var-parking: \\f540;\n$fa-var-passport: \\f5ab;\n$fa-var-pastafarianism: \\f67b;\n$fa-var-paste: \\f0ea;\n$fa-var-patreon: \\f3d9;\n$fa-var-pause: \\f04c;\n$fa-var-pause-circle: \\f28b;\n$fa-var-paw: \\f1b0;\n$fa-var-paypal: \\f1ed;\n$fa-var-peace: \\f67c;\n$fa-var-pen: \\f304;\n$fa-var-pen-alt: \\f305;\n$fa-var-pen-fancy: \\f5ac;\n$fa-var-pen-nib: \\f5ad;\n$fa-var-pen-square: \\f14b;\n$fa-var-pencil-alt: \\f303;\n$fa-var-pencil-ruler: \\f5ae;\n$fa-var-penny-arcade: \\f704;\n$fa-var-people-arrows: \\e068;\n$fa-var-people-carry: \\f4ce;\n$fa-var-pepper-hot: \\f816;\n$fa-var-perbyte: \\e083;\n$fa-var-percent: \\f295;\n$fa-var-percentage: \\f541;\n$fa-var-periscope: \\f3da;\n$fa-var-person-booth: \\f756;\n$fa-var-phabricator: \\f3db;\n$fa-var-phoenix-framework: \\f3dc;\n$fa-var-phoenix-squadron: \\f511;\n$fa-var-phone: \\f095;\n$fa-var-phone-alt: \\f879;\n$fa-var-phone-slash: \\f3dd;\n$fa-var-phone-square: \\f098;\n$fa-var-phone-square-alt: \\f87b;\n$fa-var-phone-volume: \\f2a0;\n$fa-var-photo-video: \\f87c;\n$fa-var-php: \\f457;\n$fa-var-pied-piper: \\f2ae;\n$fa-var-pied-piper-alt: \\f1a8;\n$fa-var-pied-piper-hat: \\f4e5;\n$fa-var-pied-piper-pp: \\f1a7;\n$fa-var-pied-piper-square: \\e01e;\n$fa-var-piggy-bank: \\f4d3;\n$fa-var-pills: \\f484;\n$fa-var-pinterest: \\f0d2;\n$fa-var-pinterest-p: \\f231;\n$fa-var-pinterest-square: \\f0d3;\n$fa-var-pizza-slice: \\f818;\n$fa-var-place-of-worship: \\f67f;\n$fa-var-plane: \\f072;\n$fa-var-plane-arrival: \\f5af;\n$fa-var-plane-departure: \\f5b0;\n$fa-var-plane-slash: \\e069;\n$fa-var-play: \\f04b;\n$fa-var-play-circle: \\f144;\n$fa-var-playstation: \\f3df;\n$fa-var-plug: \\f1e6;\n$fa-var-plus: \\f067;\n$fa-var-plus-circle: \\f055;\n$fa-var-plus-square: \\f0fe;\n$fa-var-podcast: \\f2ce;\n$fa-var-poll: \\f681;\n$fa-var-poll-h: \\f682;\n$fa-var-poo: \\f2fe;\n$fa-var-poo-storm: \\f75a;\n$fa-var-poop: \\f619;\n$fa-var-portrait: \\f3e0;\n$fa-var-pound-sign: \\f154;\n$fa-var-power-off: \\f011;\n$fa-var-pray: \\f683;\n$fa-var-praying-hands: \\f684;\n$fa-var-prescription: \\f5b1;\n$fa-var-prescription-bottle: \\f485;\n$fa-var-prescription-bottle-alt: \\f486;\n$fa-var-print: \\f02f;\n$fa-var-procedures: \\f487;\n$fa-var-product-hunt: \\f288;\n$fa-var-project-diagram: \\f542;\n$fa-var-pump-medical: \\e06a;\n$fa-var-pump-soap: \\e06b;\n$fa-var-pushed: \\f3e1;\n$fa-var-puzzle-piece: \\f12e;\n$fa-var-python: \\f3e2;\n$fa-var-qq: \\f1d6;\n$fa-var-qrcode: \\f029;\n$fa-var-question: \\f128;\n$fa-var-question-circle: \\f059;\n$fa-var-quidditch: \\f458;\n$fa-var-quinscape: \\f459;\n$fa-var-quora: \\f2c4;\n$fa-var-quote-left: \\f10d;\n$fa-var-quote-right: \\f10e;\n$fa-var-quran: \\f687;\n$fa-var-r-project: \\f4f7;\n$fa-var-radiation: \\f7b9;\n$fa-var-radiation-alt: \\f7ba;\n$fa-var-rainbow: \\f75b;\n$fa-var-random: \\f074;\n$fa-var-raspberry-pi: \\f7bb;\n$fa-var-ravelry: \\f2d9;\n$fa-var-react: \\f41b;\n$fa-var-reacteurope: \\f75d;\n$fa-var-readme: \\f4d5;\n$fa-var-rebel: \\f1d0;\n$fa-var-receipt: \\f543;\n$fa-var-record-vinyl: \\f8d9;\n$fa-var-recycle: \\f1b8;\n$fa-var-red-river: \\f3e3;\n$fa-var-reddit: \\f1a1;\n$fa-var-reddit-alien: \\f281;\n$fa-var-reddit-square: \\f1a2;\n$fa-var-redhat: \\f7bc;\n$fa-var-redo: \\f01e;\n$fa-var-redo-alt: \\f2f9;\n$fa-var-registered: \\f25d;\n$fa-var-remove-format: \\f87d;\n$fa-var-renren: \\f18b;\n$fa-var-reply: \\f3e5;\n$fa-var-reply-all: \\f122;\n$fa-var-replyd: \\f3e6;\n$fa-var-republican: \\f75e;\n$fa-var-researchgate: \\f4f8;\n$fa-var-resolving: \\f3e7;\n$fa-var-restroom: \\f7bd;\n$fa-var-retweet: \\f079;\n$fa-var-rev: \\f5b2;\n$fa-var-ribbon: \\f4d6;\n$fa-var-ring: \\f70b;\n$fa-var-road: \\f018;\n$fa-var-robot: \\f544;\n$fa-var-rocket: \\f135;\n$fa-var-rocketchat: \\f3e8;\n$fa-var-rockrms: \\f3e9;\n$fa-var-route: \\f4d7;\n$fa-var-rss: \\f09e;\n$fa-var-rss-square: \\f143;\n$fa-var-ruble-sign: \\f158;\n$fa-var-ruler: \\f545;\n$fa-var-ruler-combined: \\f546;\n$fa-var-ruler-horizontal: \\f547;\n$fa-var-ruler-vertical: \\f548;\n$fa-var-running: \\f70c;\n$fa-var-rupee-sign: \\f156;\n$fa-var-rust: \\e07a;\n$fa-var-sad-cry: \\f5b3;\n$fa-var-sad-tear: \\f5b4;\n$fa-var-safari: \\f267;\n$fa-var-salesforce: \\f83b;\n$fa-var-sass: \\f41e;\n$fa-var-satellite: \\f7bf;\n$fa-var-satellite-dish: \\f7c0;\n$fa-var-save: \\f0c7;\n$fa-var-schlix: \\f3ea;\n$fa-var-school: \\f549;\n$fa-var-screwdriver: \\f54a;\n$fa-var-scribd: \\f28a;\n$fa-var-scroll: \\f70e;\n$fa-var-sd-card: \\f7c2;\n$fa-var-search: \\f002;\n$fa-var-search-dollar: \\f688;\n$fa-var-search-location: \\f689;\n$fa-var-search-minus: \\f010;\n$fa-var-search-plus: \\f00e;\n$fa-var-searchengin: \\f3eb;\n$fa-var-seedling: \\f4d8;\n$fa-var-sellcast: \\f2da;\n$fa-var-sellsy: \\f213;\n$fa-var-server: \\f233;\n$fa-var-servicestack: \\f3ec;\n$fa-var-shapes: \\f61f;\n$fa-var-share: \\f064;\n$fa-var-share-alt: \\f1e0;\n$fa-var-share-alt-square: \\f1e1;\n$fa-var-share-square: \\f14d;\n$fa-var-shekel-sign: \\f20b;\n$fa-var-shield-alt: \\f3ed;\n$fa-var-shield-virus: \\e06c;\n$fa-var-ship: \\f21a;\n$fa-var-shipping-fast: \\f48b;\n$fa-var-shirtsinbulk: \\f214;\n$fa-var-shoe-prints: \\f54b;\n$fa-var-shopify: \\e057;\n$fa-var-shopping-bag: \\f290;\n$fa-var-shopping-basket: \\f291;\n$fa-var-shopping-cart: \\f07a;\n$fa-var-shopware: \\f5b5;\n$fa-var-shower: \\f2cc;\n$fa-var-shuttle-van: \\f5b6;\n$fa-var-sign: \\f4d9;\n$fa-var-sign-in-alt: \\f2f6;\n$fa-var-sign-language: \\f2a7;\n$fa-var-sign-out-alt: \\f2f5;\n$fa-var-signal: \\f012;\n$fa-var-signature: \\f5b7;\n$fa-var-sim-card: \\f7c4;\n$fa-var-simplybuilt: \\f215;\n$fa-var-sink: \\e06d;\n$fa-var-sistrix: \\f3ee;\n$fa-var-sitemap: \\f0e8;\n$fa-var-sith: \\f512;\n$fa-var-skating: \\f7c5;\n$fa-var-sketch: \\f7c6;\n$fa-var-skiing: \\f7c9;\n$fa-var-skiing-nordic: \\f7ca;\n$fa-var-skull: \\f54c;\n$fa-var-skull-crossbones: \\f714;\n$fa-var-skyatlas: \\f216;\n$fa-var-skype: \\f17e;\n$fa-var-slack: \\f198;\n$fa-var-slack-hash: \\f3ef;\n$fa-var-slash: \\f715;\n$fa-var-sleigh: \\f7cc;\n$fa-var-sliders-h: \\f1de;\n$fa-var-slideshare: \\f1e7;\n$fa-var-smile: \\f118;\n$fa-var-smile-beam: \\f5b8;\n$fa-var-smile-wink: \\f4da;\n$fa-var-smog: \\f75f;\n$fa-var-smoking: \\f48d;\n$fa-var-smoking-ban: \\f54d;\n$fa-var-sms: \\f7cd;\n$fa-var-snapchat: \\f2ab;\n$fa-var-snapchat-ghost: \\f2ac;\n$fa-var-snapchat-square: \\f2ad;\n$fa-var-snowboarding: \\f7ce;\n$fa-var-snowflake: \\f2dc;\n$fa-var-snowman: \\f7d0;\n$fa-var-snowplow: \\f7d2;\n$fa-var-soap: \\e06e;\n$fa-var-socks: \\f696;\n$fa-var-solar-panel: \\f5ba;\n$fa-var-sort: \\f0dc;\n$fa-var-sort-alpha-down: \\f15d;\n$fa-var-sort-alpha-down-alt: \\f881;\n$fa-var-sort-alpha-up: \\f15e;\n$fa-var-sort-alpha-up-alt: \\f882;\n$fa-var-sort-amount-down: \\f160;\n$fa-var-sort-amount-down-alt: \\f884;\n$fa-var-sort-amount-up: \\f161;\n$fa-var-sort-amount-up-alt: \\f885;\n$fa-var-sort-down: \\f0dd;\n$fa-var-sort-numeric-down: \\f162;\n$fa-var-sort-numeric-down-alt: \\f886;\n$fa-var-sort-numeric-up: \\f163;\n$fa-var-sort-numeric-up-alt: \\f887;\n$fa-var-sort-up: \\f0de;\n$fa-var-soundcloud: \\f1be;\n$fa-var-sourcetree: \\f7d3;\n$fa-var-spa: \\f5bb;\n$fa-var-space-shuttle: \\f197;\n$fa-var-speakap: \\f3f3;\n$fa-var-speaker-deck: \\f83c;\n$fa-var-spell-check: \\f891;\n$fa-var-spider: \\f717;\n$fa-var-spinner: \\f110;\n$fa-var-splotch: \\f5bc;\n$fa-var-spotify: \\f1bc;\n$fa-var-spray-can: \\f5bd;\n$fa-var-square: \\f0c8;\n$fa-var-square-full: \\f45c;\n$fa-var-square-root-alt: \\f698;\n$fa-var-squarespace: \\f5be;\n$fa-var-stack-exchange: \\f18d;\n$fa-var-stack-overflow: \\f16c;\n$fa-var-stackpath: \\f842;\n$fa-var-stamp: \\f5bf;\n$fa-var-star: \\f005;\n$fa-var-star-and-crescent: \\f699;\n$fa-var-star-half: \\f089;\n$fa-var-star-half-alt: \\f5c0;\n$fa-var-star-of-david: \\f69a;\n$fa-var-star-of-life: \\f621;\n$fa-var-staylinked: \\f3f5;\n$fa-var-steam: \\f1b6;\n$fa-var-steam-square: \\f1b7;\n$fa-var-steam-symbol: \\f3f6;\n$fa-var-step-backward: \\f048;\n$fa-var-step-forward: \\f051;\n$fa-var-stethoscope: \\f0f1;\n$fa-var-sticker-mule: \\f3f7;\n$fa-var-sticky-note: \\f249;\n$fa-var-stop: \\f04d;\n$fa-var-stop-circle: \\f28d;\n$fa-var-stopwatch: \\f2f2;\n$fa-var-stopwatch-20: \\e06f;\n$fa-var-store: \\f54e;\n$fa-var-store-alt: \\f54f;\n$fa-var-store-alt-slash: \\e070;\n$fa-var-store-slash: \\e071;\n$fa-var-strava: \\f428;\n$fa-var-stream: \\f550;\n$fa-var-street-view: \\f21d;\n$fa-var-strikethrough: \\f0cc;\n$fa-var-stripe: \\f429;\n$fa-var-stripe-s: \\f42a;\n$fa-var-stroopwafel: \\f551;\n$fa-var-studiovinari: \\f3f8;\n$fa-var-stumbleupon: \\f1a4;\n$fa-var-stumbleupon-circle: \\f1a3;\n$fa-var-subscript: \\f12c;\n$fa-var-subway: \\f239;\n$fa-var-suitcase: \\f0f2;\n$fa-var-suitcase-rolling: \\f5c1;\n$fa-var-sun: \\f185;\n$fa-var-superpowers: \\f2dd;\n$fa-var-superscript: \\f12b;\n$fa-var-supple: \\f3f9;\n$fa-var-surprise: \\f5c2;\n$fa-var-suse: \\f7d6;\n$fa-var-swatchbook: \\f5c3;\n$fa-var-swift: \\f8e1;\n$fa-var-swimmer: \\f5c4;\n$fa-var-swimming-pool: \\f5c5;\n$fa-var-symfony: \\f83d;\n$fa-var-synagogue: \\f69b;\n$fa-var-sync: \\f021;\n$fa-var-sync-alt: \\f2f1;\n$fa-var-syringe: \\f48e;\n$fa-var-table: \\f0ce;\n$fa-var-table-tennis: \\f45d;\n$fa-var-tablet: \\f10a;\n$fa-var-tablet-alt: \\f3fa;\n$fa-var-tablets: \\f490;\n$fa-var-tachometer-alt: \\f3fd;\n$fa-var-tag: \\f02b;\n$fa-var-tags: \\f02c;\n$fa-var-tape: \\f4db;\n$fa-var-tasks: \\f0ae;\n$fa-var-taxi: \\f1ba;\n$fa-var-teamspeak: \\f4f9;\n$fa-var-teeth: \\f62e;\n$fa-var-teeth-open: \\f62f;\n$fa-var-telegram: \\f2c6;\n$fa-var-telegram-plane: \\f3fe;\n$fa-var-temperature-high: \\f769;\n$fa-var-temperature-low: \\f76b;\n$fa-var-tencent-weibo: \\f1d5;\n$fa-var-tenge: \\f7d7;\n$fa-var-terminal: \\f120;\n$fa-var-text-height: \\f034;\n$fa-var-text-width: \\f035;\n$fa-var-th: \\f00a;\n$fa-var-th-large: \\f009;\n$fa-var-th-list: \\f00b;\n$fa-var-the-red-yeti: \\f69d;\n$fa-var-theater-masks: \\f630;\n$fa-var-themeco: \\f5c6;\n$fa-var-themeisle: \\f2b2;\n$fa-var-thermometer: \\f491;\n$fa-var-thermometer-empty: \\f2cb;\n$fa-var-thermometer-full: \\f2c7;\n$fa-var-thermometer-half: \\f2c9;\n$fa-var-thermometer-quarter: \\f2ca;\n$fa-var-thermometer-three-quarters: \\f2c8;\n$fa-var-think-peaks: \\f731;\n$fa-var-thumbs-down: \\f165;\n$fa-var-thumbs-up: \\f164;\n$fa-var-thumbtack: \\f08d;\n$fa-var-ticket-alt: \\f3ff;\n$fa-var-tiktok: \\e07b;\n$fa-var-times: \\f00d;\n$fa-var-times-circle: \\f057;\n$fa-var-tint: \\f043;\n$fa-var-tint-slash: \\f5c7;\n$fa-var-tired: \\f5c8;\n$fa-var-toggle-off: \\f204;\n$fa-var-toggle-on: \\f205;\n$fa-var-toilet: \\f7d8;\n$fa-var-toilet-paper: \\f71e;\n$fa-var-toilet-paper-slash: \\e072;\n$fa-var-toolbox: \\f552;\n$fa-var-tools: \\f7d9;\n$fa-var-tooth: \\f5c9;\n$fa-var-torah: \\f6a0;\n$fa-var-torii-gate: \\f6a1;\n$fa-var-tractor: \\f722;\n$fa-var-trade-federation: \\f513;\n$fa-var-trademark: \\f25c;\n$fa-var-traffic-light: \\f637;\n$fa-var-trailer: \\e041;\n$fa-var-train: \\f238;\n$fa-var-tram: \\f7da;\n$fa-var-transgender: \\f224;\n$fa-var-transgender-alt: \\f225;\n$fa-var-trash: \\f1f8;\n$fa-var-trash-alt: \\f2ed;\n$fa-var-trash-restore: \\f829;\n$fa-var-trash-restore-alt: \\f82a;\n$fa-var-tree: \\f1bb;\n$fa-var-trello: \\f181;\n$fa-var-trophy: \\f091;\n$fa-var-truck: \\f0d1;\n$fa-var-truck-loading: \\f4de;\n$fa-var-truck-monster: \\f63b;\n$fa-var-truck-moving: \\f4df;\n$fa-var-truck-pickup: \\f63c;\n$fa-var-tshirt: \\f553;\n$fa-var-tty: \\f1e4;\n$fa-var-tumblr: \\f173;\n$fa-var-tumblr-square: \\f174;\n$fa-var-tv: \\f26c;\n$fa-var-twitch: \\f1e8;\n$fa-var-twitter: \\f099;\n$fa-var-twitter-square: \\f081;\n$fa-var-typo3: \\f42b;\n$fa-var-uber: \\f402;\n$fa-var-ubuntu: \\f7df;\n$fa-var-uikit: \\f403;\n$fa-var-umbraco: \\f8e8;\n$fa-var-umbrella: \\f0e9;\n$fa-var-umbrella-beach: \\f5ca;\n$fa-var-uncharted: \\e084;\n$fa-var-underline: \\f0cd;\n$fa-var-undo: \\f0e2;\n$fa-var-undo-alt: \\f2ea;\n$fa-var-uniregistry: \\f404;\n$fa-var-unity: \\e049;\n$fa-var-universal-access: \\f29a;\n$fa-var-university: \\f19c;\n$fa-var-unlink: \\f127;\n$fa-var-unlock: \\f09c;\n$fa-var-unlock-alt: \\f13e;\n$fa-var-unsplash: \\e07c;\n$fa-var-untappd: \\f405;\n$fa-var-upload: \\f093;\n$fa-var-ups: \\f7e0;\n$fa-var-usb: \\f287;\n$fa-var-user: \\f007;\n$fa-var-user-alt: \\f406;\n$fa-var-user-alt-slash: \\f4fa;\n$fa-var-user-astronaut: \\f4fb;\n$fa-var-user-check: \\f4fc;\n$fa-var-user-circle: \\f2bd;\n$fa-var-user-clock: \\f4fd;\n$fa-var-user-cog: \\f4fe;\n$fa-var-user-edit: \\f4ff;\n$fa-var-user-friends: \\f500;\n$fa-var-user-graduate: \\f501;\n$fa-var-user-injured: \\f728;\n$fa-var-user-lock: \\f502;\n$fa-var-user-md: \\f0f0;\n$fa-var-user-minus: \\f503;\n$fa-var-user-ninja: \\f504;\n$fa-var-user-nurse: \\f82f;\n$fa-var-user-plus: \\f234;\n$fa-var-user-secret: \\f21b;\n$fa-var-user-shield: \\f505;\n$fa-var-user-slash: \\f506;\n$fa-var-user-tag: \\f507;\n$fa-var-user-tie: \\f508;\n$fa-var-user-times: \\f235;\n$fa-var-users: \\f0c0;\n$fa-var-users-cog: \\f509;\n$fa-var-users-slash: \\e073;\n$fa-var-usps: \\f7e1;\n$fa-var-ussunnah: \\f407;\n$fa-var-utensil-spoon: \\f2e5;\n$fa-var-utensils: \\f2e7;\n$fa-var-vaadin: \\f408;\n$fa-var-vector-square: \\f5cb;\n$fa-var-venus: \\f221;\n$fa-var-venus-double: \\f226;\n$fa-var-venus-mars: \\f228;\n$fa-var-vest: \\e085;\n$fa-var-vest-patches: \\e086;\n$fa-var-viacoin: \\f237;\n$fa-var-viadeo: \\f2a9;\n$fa-var-viadeo-square: \\f2aa;\n$fa-var-vial: \\f492;\n$fa-var-vials: \\f493;\n$fa-var-viber: \\f409;\n$fa-var-video: \\f03d;\n$fa-var-video-slash: \\f4e2;\n$fa-var-vihara: \\f6a7;\n$fa-var-vimeo: \\f40a;\n$fa-var-vimeo-square: \\f194;\n$fa-var-vimeo-v: \\f27d;\n$fa-var-vine: \\f1ca;\n$fa-var-virus: \\e074;\n$fa-var-virus-slash: \\e075;\n$fa-var-viruses: \\e076;\n$fa-var-vk: \\f189;\n$fa-var-vnv: \\f40b;\n$fa-var-voicemail: \\f897;\n$fa-var-volleyball-ball: \\f45f;\n$fa-var-volume-down: \\f027;\n$fa-var-volume-mute: \\f6a9;\n$fa-var-volume-off: \\f026;\n$fa-var-volume-up: \\f028;\n$fa-var-vote-yea: \\f772;\n$fa-var-vr-cardboard: \\f729;\n$fa-var-vuejs: \\f41f;\n$fa-var-walking: \\f554;\n$fa-var-wallet: \\f555;\n$fa-var-warehouse: \\f494;\n$fa-var-watchman-monitoring: \\e087;\n$fa-var-water: \\f773;\n$fa-var-wave-square: \\f83e;\n$fa-var-waze: \\f83f;\n$fa-var-weebly: \\f5cc;\n$fa-var-weibo: \\f18a;\n$fa-var-weight: \\f496;\n$fa-var-weight-hanging: \\f5cd;\n$fa-var-weixin: \\f1d7;\n$fa-var-whatsapp: \\f232;\n$fa-var-whatsapp-square: \\f40c;\n$fa-var-wheelchair: \\f193;\n$fa-var-whmcs: \\f40d;\n$fa-var-wifi: \\f1eb;\n$fa-var-wikipedia-w: \\f266;\n$fa-var-wind: \\f72e;\n$fa-var-window-close: \\f410;\n$fa-var-window-maximize: \\f2d0;\n$fa-var-window-minimize: \\f2d1;\n$fa-var-window-restore: \\f2d2;\n$fa-var-windows: \\f17a;\n$fa-var-wine-bottle: \\f72f;\n$fa-var-wine-glass: \\f4e3;\n$fa-var-wine-glass-alt: \\f5ce;\n$fa-var-wix: \\f5cf;\n$fa-var-wizards-of-the-coast: \\f730;\n$fa-var-wodu: \\e088;\n$fa-var-wolf-pack-battalion: \\f514;\n$fa-var-won-sign: \\f159;\n$fa-var-wordpress: \\f19a;\n$fa-var-wordpress-simple: \\f411;\n$fa-var-wpbeginner: \\f297;\n$fa-var-wpexplorer: \\f2de;\n$fa-var-wpforms: \\f298;\n$fa-var-wpressr: \\f3e4;\n$fa-var-wrench: \\f0ad;\n$fa-var-x-ray: \\f497;\n$fa-var-xbox: \\f412;\n$fa-var-xing: \\f168;\n$fa-var-xing-square: \\f169;\n$fa-var-y-combinator: \\f23b;\n$fa-var-yahoo: \\f19e;\n$fa-var-yammer: \\f840;\n$fa-var-yandex: \\f413;\n$fa-var-yandex-international: \\f414;\n$fa-var-yarn: \\f7e3;\n$fa-var-yelp: \\f1e9;\n$fa-var-yen-sign: \\f157;\n$fa-var-yin-yang: \\f6ad;\n$fa-var-yoast: \\f2b1;\n$fa-var-youtube: \\f167;\n$fa-var-youtube-square: \\f431;\n$fa-var-zhihu: \\f63f;\n", + "// Mixins\n\n@mixin optional-at-root($sel) {\n @at-root #{if(not &, $sel, selector-append(&, $sel))} {\n @content;\n }\n}\n\n@mixin placeholder {\n @include optional-at-root(\"::-webkit-input-placeholder\") {\n @content;\n }\n\n\n @include optional-at-root(\":-moz-placeholder\") {\n @content;\n }\n\n\n @include optional-at-root(\"::-moz-placeholder\") {\n @content;\n }\n\n\n @include optional-at-root(\":-ms-input-placeholder\") {\n @content;\n }\n}\n\n// Common util classes.\n\n.td-border-top {\n border: none;\n border-top: 1px solid #eee;\n}\n\n.td-border-none {\n border: none;\n}\n\n.td-block-padding {\n padding-top: $td-block-space-top-base ;\n padding-bottom: $td-block-space-bottom-base;\n\n @include media-breakpoint-up(md) {\n padding-top: $td-block-space-top-base * 1.25;\n padding-bottom: $td-block-space-bottom-base * 1.25;\n }\n}\n\n.td-overlay {\n position: relative;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n &--dark::after {\n background-color: rgba($dark, 0.3);\n }\n\n &--light::after {\n background-color: rgba($light, 0.3);\n }\n\n &__inner {\n position: relative;\n z-index: 1;\n }\n}\n\n.td-max-width-on-larger-screens {\n @include media-breakpoint-up(lg) {\n max-width: 80%;\n }\n\n}", + "// Add some local palette classes so you can do -bg-warning -text-warning etc. Even -bg-1 if you want to paint by numbers.\n@mixin palette-variant($color-name, $color-value) {\n $text-color: color-yiq($color-value);\n $link-color: mix($blue, $text-color, lightness($color-value));\n \n $link-hover-color: rgba($link-color, .5) !default;\n\n .-bg-#{$color-name} {\n color: $text-color;\n background-color: $color-value;\n }\n\n // Make links in paragraphs stand out more.\n @include link-variant(\".-bg-#{$color-name} p > a\", $link-color, $link-hover-color, false);\n \n\n .-text-#{$color-name} {\n color: $color-value;\n }\n}\n\n@each $color, $value in $colors {\n @include palette-variant($color, $value);\n}\n\n@each $color, $value in $theme-colors {\n @include palette-variant($color, $value);\n}\n\n@each $color, $value in $grays {\n @include palette-variant($color, $value);\n}\n\n// This allows \"painting by numbers\", i.e. picking colors by a shortcode Ordinal.\n@for $i from 1 through length($td-box-colors) {\n $value: nth($td-box-colors, $i);\n $name: $i - 1;\n $text-color: color-yiq($value);\n\n @include palette-variant($name, $value);\n}", + "// Boxes on the home page and similar.\n.td-box {}\n\n// box-variant creates the main style for a colored section used on the site.\n@mixin box-variant($parent, $color-name, $color-value) {\n $text-color: color-yiq($color-value);\n $link-color: mix($blue, $text-color, lightness($color-value));\n $link-hover-color: rgba($link-color, 0.5) !default;\n\n #{$parent} {\n &--#{$color-name} {\n color: $text-color;\n background-color: #{$color-value};\n\n .td-arrow-down {\n &::before {\n left: 50%;\n margin-left: -30px;\n bottom: -25px;\n border: {\n style: solid;\n width: 25px 30px 0 30px;\n color: #{$color-value} transparent transparent transparent;\n };\n z-index: 3;\n position: absolute;\n content: \"\";\n }\n }\n }\n }\n\n // Improve contrast for the links in paragraphs.\n @include link-variant(\"#{$parent}--#{$color-name} p > a\", $link-color, $link-hover-color, false);\n\n @if $enable-gradients {\n @include bg-gradient-variant(\"#{$parent}--1#{$color-name}#{$parent}--gradient\", $color-value, true);\n }\n}\n\n// Common min-height modifiers used for boxes.\n@mixin td-box-height-modifiers($parent) {\n #{$parent} {\n &--height-auto {}\n\n &--height-min {\n min-height: 300px;\n }\n\n &--height-med {\n min-height: 400px;\n }\n\n &--height-max {\n min-height: 500px;\n }\n\n &--height-full {\n min-height: 100vh;\n }\n\n @include media-breakpoint-up(md) {\n &--height-min {\n min-height: 450px;\n }\n\n &--height-med {\n min-height: 500px;\n }\n\n &--height-max {\n min-height: 650px;\n }\n }\n }\n}\n\n@include td-box-height-modifiers(\".td-box\");\n\n// Styling for section boxes\n.td-box {\n .row.section {\n padding-left: 5vw;\n padding-right: 5vw;\n flex-direction: column;\n\n > table {\n @extend .table-striped;\n\n @extend .table-responsive;\n\n @extend .table;\n }\n }\n\n .row {\n padding-left: 5vw;\n padding-right: 5vw;\n flex-direction: row;\n }\n}\n// Styling for community page link boxes\n\n.td-box.linkbox {\n padding: 5vh 5vw;\n}\n\n// This allows \"painting by numbers\"\n@for $i from 1 through length($td-box-colors) {\n $c: nth($td-box-colors, $i);\n $name: $i - 1;\n\n @include box-variant(\".td-box\", $name, $c);\n}\n\n// Same as above with all the theme color names.\n@each $color, $value in $colors {\n @include box-variant(\".td-box\", $color, $value);\n}\n\n@each $color, $value in $theme-colors {\n @include box-variant(\".td-box\", $color, $value);\n}\n\n@each $color, $value in $grays {\n @include box-variant(\".td-box\", $color, $value);\n}\n", + "// Blog related styles.\n\n.td-blog {\n .td-rss-button {\n position: absolute;\n top: 5.5rem;\n right: 1rem;\n z-index: 22;\n }\n}", + "// Code formatting.\n\n.td-content {\n\t// Highlighted code.\n .highlight {\n @extend .card;\n\t\n margin: 2rem 0;\n padding: 0;\n\t \n pre {\n margin: 0;\n padding: 1rem;\n }\n }\n\n // Inline code\n p code, li > code, table code {\n color: inherit;\n padding: 0.2em 0.4em;\n margin: 0;\n font-size: 85%;\n word-break: normal;\n background-color: rgba($black, 0.05);\n border-radius: $border-radius;\n\n br {\n display: none;\n }\n }\n\n\n // Code blocks\n pre {\n word-wrap: normal;\n background-color: $gray-100;\n padding: $spacer;\n \n\n > code {\n\t background-color: inherit !important;\n padding: 0;\n margin: 0;\n font-size: 100%;\n word-break: normal;\n white-space: pre;\n border: 0;\n }\n }\n\n pre.mermaid {\n background-color: inherit;\n font-size: 0;\n }\n}\n", + "//\n// Main navbar\n//\n\n.td-navbar-cover {\n background: $primary;\n\n @include media-breakpoint-up(md) {\n background: transparent !important;\n\n .nav-link {\n text-shadow: 1px 1px 2px $dark;\n }\n\n }\n\n &.navbar-bg-onscroll .nav-link {\n text-shadow: none;\n }\n}\n\n.navbar-bg-onscroll {\n background: $primary !important;\n opacity: inherit;\n}\n\n.td-navbar {\n background: $primary;\n min-height: 4rem;\n margin: 0;\n z-index: 32;\n\n @include media-breakpoint-up(md) {\n position: fixed;\n top: 0;\n width: 100%;\n }\n\n\n .navbar-brand {\n text-transform: none;\n text-align: middle;\n\n .nav-link {\n display: inline-block;\n margin-right: -30px;\n }\n\n svg {\n display: inline-block;\n margin: 0 10px;\n height: 30px;\n }\n }\n\n .nav-link {\n text-transform: none;\n font-weight: $font-weight-bold;\n }\n\n .td-search-input {\n border: none;\n color: $navbar-dark-color;\n @include placeholder {\n color: $navbar-dark-color;\n }\n }\n\n .dropdown {\n min-width: 100px;\n }\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .75rem;\n\n .td-navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n\n .nav-link {\n padding-right: .25rem;\n padding-left: 0;\n }\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n\n }\n }\n }\n}\n\n// Icons\n#main_navbar {\n li i {\n padding-right: 0.5em;\n\n &:before {\n display: inline-block;\n text-align: center;\n min-width: 1em;\n }\n }\n .alert {\n background-color: inherit;\n padding:0;\n color: $secondary;\n border: 0;\n font-weight: inherit;\n\n &:before {\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n font-family: \"Font Awesome 5 Free\";\n font-weight: 900; \n content: \"\\f0d9\";\n padding-left: 0.5em;\n padding-right: 0.5em;\n }\n } \n}\n\n// Foldable sidebar menu\nnav.foldable-nav {\n\n &#td-section-nav {\n position: relative;\n }\n \n &#td-section-nav label {\n margin-bottom: 0;\n width: 100%;\n }\n \n .td-sidebar-nav__section, .with-child ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n \n .ul-1 > li {\n padding-left: 1.5em;\n }\n\n ul.foldable {\n max-height: 0;\n overflow: hidden;\n transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);\n }\n\n input:checked ~ ul.foldable {\n max-height: 100000vmax;\n transition: max-height 1s ease-in-out;\n }\n\n input[type=checkbox] { display: none; }\n\n .with-child, .without-child { \n position: relative; \n padding-left: 1.5em;\n }\n\n .ul-1 .with-child > label:before {\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n font-family: \"Font Awesome 5 Free\"; font-weight: 900; content: \"\\f0da\";\n position: absolute;\n left: 0.1em;\n padding-left: 0.4em;\n padding-right: 0.4em;\n font-size: 1em;\n color: $gray-900;\n transition: all 0.5s;\n &:hover{\n transform: rotate(90deg);\n }\n }\n\n .ul-1 .with-child > input:checked ~ label:before { \n color: $primary;\n transform: rotate(90deg);\n transition: transform 0.5s; \n }\n\n .with-child ul { margin-top: 0.1em; }\n \n} \n\n@media (hover: hover) and (pointer: fine) {\n \n nav.foldable-nav {\n\n .ul-1 .with-child > label:hover:before { \n color: $primary;\n transform: rotate(30deg);\n transition: transform 0.5s; \n }\n\n .ul-1 .with-child > input:checked ~ label:hover:before { \n color: $primary;\n transform: rotate(60deg) !important;\n transition: transform 0.5s; \n }\n }\n}\n", + "//\n// Left side navigation\n//\n.td-sidebar-nav {\n padding-right: 0.5rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: calc(100vh - 10rem);\n overflow-y: auto;\n }\n }\n\n\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n\n\n &__section {\n li {\n list-style: none;\n }\n\n ul {\n padding: 0;\n margin: 0;\n }\n\n @include media-breakpoint-up(md) {\n & .ul-1 ul {\n padding-left: 1.5em;\n }\n }\n\n\n padding-left: 0;\n }\n\n &__section-title {\n display: block;\n font-weight: $font-weight-medium;\n\n .active {\n font-weight: $font-weight-bold;\n }\n\n a {\n color: $gray-900;\n }\n }\n\n .td-sidebar-link {\n display: block;\n padding-bottom: 0.375rem;\n\n &__page {\n color: $gray-700;\n font-weight: $font-weight-light;\n }\n }\n\n a {\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n\n &.active {\n font-weight: $font-weight-bold;\n }\n }\n\n .dropdown {\n a {\n color: $gray-700;\n }\n\n .nav-link {\n padding: 0 0 1rem;\n }\n }\n\n & > .td-sidebar-nav__section {\n padding-top: .5rem;\n padding-left: 1.5rem;\n }\n\n li i { // Layout of icons\n padding-right: 0.5em;\n &:before{\n display: inline-block;\n text-align: center;\n min-width: 1em;\n }\n }\n\n .td-sidebar-link.tree-root{\n font-weight: $font-weight-bold;\n color: $td-sidebar-tree-root-color;\n border-bottom: 1px $td-sidebar-tree-root-color solid;\n margin-bottom: 1rem;\n }\n}\n\n.td-sidebar {\n @include media-breakpoint-up(md) {\n padding-top: 4rem;\n background-color: $td-sidebar-bg-color;\n padding-right: 1rem;\n border-right: 1px solid $td-sidebar-border-color;\n }\n\n\n padding-bottom: 1rem;\n\n &__toggle {\n line-height: 1;\n color: $gray-900;\n margin: 1rem;\n }\n\n &__search {\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n }\n\n &__inner {\n order: 0;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 10;\n height: calc(100vh - 6rem);\n }\n }\n\n\n @include media-breakpoint-up(xl) {\n flex: 0 1 320px;\n }\n\n\n .td-search-box {\n width: 100%;\n }\n }\n\n #content-desktop {display: block;}\n #content-mobile {display: none;}\n\n @include media-breakpoint-down(md) {\n\n #content-desktop {display: none;}\n #content-mobile {display: block;}\n }\n}\n", + "//\n// Right side toc\n//\n.td-sidebar-toc {\n border-left: 1px solid $border-color;\n\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n\n order: 2;\n padding-top: 0.75rem;\n padding-bottom: 1.5rem;\n vertical-align: top;\n\n}\n\n.td-page-meta {\n a {\n display: block;\n font-weight: $font-weight-medium;\n }\n}\n\n.td-toc {\n\n a {\n display: block;\n font-weight: $font-weight-light;\n padding-bottom: .25rem;\n }\n\n li {\n list-style: none;\n display: block;\n }\n\n li li {\n margin-left: 0.5rem;\n }\n\n #TableOfContents {\n // Hugo's ToC is a mouthful, this can be used to style the top level h2 entries.\n > ul > li > ul > li > a {}\n\n a {\n color: $gray-600;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n }\n\n ul {\n padding-left: 0;\n }\n}\n", + "// Buttons\n\n@if $enable-rounded {\n .btn {\n border-radius: 1rem;\n\n &-lg {\n border-radius: 2rem;\n }\n\n &-sm {\n border-radius: 1rem;\n }\n }\n}\n", + "// Breadcrumb\n\n.td-breadcrumbs {\n @media print {display: none !important; }\n\n .breadcrumb {\n background: inherit;\n padding-left: 0;\n padding-top: 0;\n }\n}\n", + "// Style alert boxes.\n\n.alert {\n font-weight: $font-weight-medium;\n background: $white;\n color: inherit;\n border-radius: 0;\n\n @each $color, $value in $theme-colors {\n &-#{$color} {\n & .alert-heading {\n color: $value;\n }\n\n border-style: solid;\n border-color: $value;\n border-width: 0 0 0 4px;\n }\n }\n}", + "//\n// Style Markdown content\n//\n\n.td-content {\n order: 1;\n\n p, li, td {\n font-weight: $font-weight-body-text;\n }\n\n > h1 {\n font-weight: $font-weight-bold;\n margin-bottom: 1rem;\n }\n\n > h2 {\n margin-bottom: 1rem;\n }\n\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h2 + h3 {\n margin-top: 1rem;\n }\n\n > h3, > h4, > h5, > h6 {\n margin-bottom: 1rem;\n margin-top: 2rem;\n }\n\n img {\n @extend .img-fluid;\n }\n\n > table {\n @extend .table-striped;\n\n @extend .table-responsive;\n\n @extend .table;\n }\n\n > blockquote {\n padding: 0 0 0 1rem;\n margin-bottom: $spacer;\n color: $gray-600;\n border-left: 6px solid $secondary;\n }\n\n > ul li, > ol li {\n margin-bottom: .25rem;\n }\n\n strong {\n font-weight: $font-weight-bold;\n }\n\n > pre, > .highlight, > .lead, > h1, > h2, > ul, > ol, > p, > blockquote, > dl dd, .footnotes, > .alert {\n @extend .td-max-width-on-larger-screens;\n }\n\n .alert:not(:first-child) {\n margin-top: 2 * $spacer;\n margin-bottom: 2 * $spacer;\n }\n\n .lead {\n margin-bottom: 1.5rem;\n }\n}\n\n.td-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n\n @include media-breakpoint-up(sm) {\n font-size: 3rem;\n }\n}", + "// Search\n\n.td-search-input {\n background: transparent;\n max-width: 90%;\n\n &.form-control:focus {\n border-color: lighten($primary, 60%);\n box-shadow: 0 0 0 2px lighten($primary, 30%);\n color: inherit;\n }\n\n @if $enable-rounded {\n border-radius: 1rem;\n }\n\n font-family: \"Font Awesome 5 Free\", $font-family-base;\n}\n\n.popover.offline-search-result {\n // Override bootstrap default style (max-width: $popover-max-width;)\n max-width: 90%;\n\n .card {\n margin-bottom: $spacer * .5;\n\n .card-header {\n font-weight: bold;\n }\n }\n}\n", + "// The outer page container i.e. common styles for any page.\n.td-outer {\n display: flex;\n flex-direction: column;\n height: 100vh;\n}\n\n// The outer page container for the default base template.\n.td-default {\n main {\n > section:first-of-type {\n @include media-breakpoint-up(md) {\n padding-top: 8rem;\n }\n }\n\n section {\n @extend .td-block-padding;\n }\n }\n}\n\n.td-main {\n flex-grow: 1;\n\n main {\n @include media-breakpoint-up(md) {\n padding-top: 5.5rem;\n }\n\n\n padding-bottom: 2rem;\n }\n}\n", + "@import \"cover\";\n\n.td-bg-arrow {\n &-wrapper {\n position: relative;\n }\n}", + "// A cover block is a full size cover with a fixed background for smaller screens.\n\n@include td-box-height-modifiers(\".td-cover-block\");\n\n.td-cover-logo {\n margin-right: 0.5em;\n}\n\n.td-cover-block {\n position: relative;\n padding-top: 5rem;\n padding-bottom: 5rem;\n background: {\n repeat: no-repeat;\n position: 50% 0;\n size: cover;\n };\n\n & > .byline {\n position: absolute;\n bottom: 2px;\n right: 4px;\n }\n}", + ".section-index {\n\n .entry {\n padding: .75rem;\n }\n\n h5 {\n margin-bottom: 0;\n\n a {\n font-weight: 700;\n }\n }\n\n p {\n margin-top: 0;\n }\n}\n", + ".pageinfo {\n font-weight: $font-weight-medium;\n background: $gray-100;\n color: inherit;\n border-radius: 0;\n margin: 2rem;\n padding: 1.5rem;\n padding-bottom: 0.5rem;\n\n @each $color, $value in $theme-colors {\n &-#{$color} {\n\n border-style: solid;\n border-color: $value;\n }\n }\n \n}\n", + "// Taxonomies - e.g. Tags, Categories, ...\n\n.taxonomy-terms-article {\n width: 100%;\n clear: both;\n font-size: 0.8rem;\n\n .taxonomy-title {\n display: inline; \n font-size: 1.25em;\n height: 1em;\n line-height: 1em;\n margin-right: 0.5em;\n padding: 0;\n }\n}\n\n.taxonomy-terms-cloud {\n width: 100%;\n clear: both;\n font-size: 0.8rem;\n\n .taxonomy-title {\n display: inline-block; \n width: 100%;\n font-size: 1rem;\n font-weight: 700;\n color: $primary;\n border-bottom: 1px $primary solid;\n margin-bottom: 1em;\n padding-bottom: 0.375rem;\n margin-top: 1em;\n }\n}\n\n.taxonomy-terms-page {\n max-width: 800px;\n margin: auto;\n\n h1 {\n margin-bottom: 1em;\n }\n\n .taxonomy-terms-cloud {\n font-size: 1em;\n\n li {\n display: block;\n }\n }\n\n .taxo-text-tags {\n\n li + li::before {\n content: none;\n }\n }\n\n .taxo-fruits {\n\n .taxonomy-count,\n .taxonomy-label {\n display: inherit;\n font-size: 1rem;\n margin: 0;\n padding: 0;\n padding-right: 0.5em;\n }\n\n .taxonomy-count::before {\n content: \"(\";\n }\n .taxonomy-count::after {\n content: \")\";\n }\n }\n}\n\n.taxonomy-terms {\n list-style: none;\n margin: 0;\n overflow: hidden; \n padding: 0;\n display: inline;\n\n li {\n // https://stackoverflow.com/questions/3247358/how-do-i-wrap-text-with-no-whitespace-inside-a-td\n display: inline;\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-all;\n word-break: break-word;\n -ms-hyphens: auto;\n -moz-hyphens: auto;\n -webkit-hyphens: auto;\n hyphens: auto;\n }\n}\n\n.taxonomy-count {\n font-size: 0.8em;\n line-height: 1.25em;\n display: inline-block;\n padding-left: 0.6em;\n padding-right: 0.6em;\n margin-left: 0.6em;\n text-align: center;\n border-radius: 1em;\n background-color: $white;\n}\n\n.taxonomy-term {\n background: $gray-200;\n border-width: 0;\n border-radius: 0 3px 3px 0;\n color: $gray-600;\n display: inline-block;\n font-size: 1em;\n line-height: 1.5em;\n min-height: 1.5em;\n max-width: 100%;\n padding: 0 0.5em 0 1em;\n position: relative;\n margin: 0 0.5em 0.2em 0;\n text-decoration: none;\n -webkit-transition: color 0.2s;\n -webkit-clip-path: polygon(100% 0,100% 100%,0.8em 100%,0 50%,0.8em 0);\n clip-path: polygon(100% 0,100% 100%,0.8em 100%,0 50%,0.8em 0);\n \n &:hover {\n background-color: $primary;\n color: $white;\n\n .taxonomy-count{\n color: $dark!important;\n }\n }\n \n &:hover::before {\n background: $primary; \n }\n}\n\n// Example for simple tags layout\n.taxo-text-tags {\n\n .taxonomy-term {\n background: none;\n border-width: 0;\n border-radius: 0;\n color: $gray-600;\n font-size: 1em;\n line-height: 1.5em;\n min-height: 1.5em;\n max-width: 100%;\n padding: 0;\n position: relative;\n margin: 0;\n text-decoration: none;\n -webkit-clip-path: none;\n clip-path: none;\n \n &:hover {\n background: none;\n color: $link-color;\n\n .taxonomy-count{\n color: $dark!important;\n }\n }\n \n &:hover::before {\n background: none;\n }\n }\n\n li + li::before {\n content: \"|\";\n color: $gray-600;\n margin-right: 0.2em;\n }\n\n .taxonomy-count {\n font-size: 1em;\n line-height: 1.25em;\n display: inline-block;\n padding: 0;\n margin: 0;\n text-align: center;\n border-radius: 0;\n background: none;\n vertical-align: super;\n font-size: 0.75em;\n }\n\n .taxonomy-term:hover .taxonomy-count {\n color: $link-color !important;\n }\n}\n\n// Example for icon tags\n.taxo-fruits {\n\n .taxonomy-term[data-taxonomy-term]::before {\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n font-family: \"Font Awesome 5 Free\"; \n // font-weight: 900; \n padding-right: 0.5em;\n font-size: 2em;\n min-width: 1.5em;\n display: inline-block;\n }\n\n .taxonomy-term[data-taxonomy-term=\"apple\"]::before {\n content: \"\\f5d1\";\n color: red;\n }\n\n .taxonomy-term[data-taxonomy-term=\"carrot\"]::before {\n content: \"\\f787\";\n color: orange;\n }\n\n .taxonomy-term[data-taxonomy-term=\"lemon\"]::before {\n content: \"\\f094\";\n color: limegreen;\n }\n\n .taxonomy-term[data-taxonomy-term=\"pepper\"]::before {\n content: \"\\f816\";\n color: darkred;\n }\n\n .taxonomy-term {\n background: none;\n border-width: 0;\n border-radius: 0;\n color: $gray-600;\n font-size: 1em;\n line-height: 2.5em;\n max-width: 100%;\n padding: 0;\n position: relative;\n margin: 0;\n text-decoration: none;\n -webkit-clip-path: none;\n clip-path: none;\n \n &:hover {\n background: none;\n color: $link-color;\n\n .taxonomy-count{\n color: $dark!important;\n }\n }\n \n &:hover::before {\n background: none;\n text-shadow: 0 0 3px $gray-900;\n }\n }\n\n .taxonomy-count,\n .taxonomy-label {\n display: none;\n }\n\n &.taxonomy-terms-article {\n margin-bottom: 1rem;\n\n .taxonomy-title {\n display: none;\n }\n } \n}\n\n.taxonomy-taxonomy-page {\n max-width: 800px;\n margin: auto;\n\n h1 {\n margin-bottom: 1em;\n }\n}\n\n.article-meta {\n margin-bottom: 1.5rem;\n}\n\n.article-teaser.article-type-docs h3 a:before {\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n font-family: \"Font Awesome 5 Free\"; \n content: \"\\f02d\";\n padding-right: 0.5em;\n}\n\n.article-teaser.article-type-blog h3 a:before {\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n font-family: \"Font Awesome 5 Free\"; \n content: \"\\f781\";\n padding-right: 0.5em;\n}\n\n.all-taxonomy-terms {\n font-weight: 500;\n line-height: 1.2;\n font-size: 1.5rem;\n\n &:before {\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n font-family: \"Font Awesome 5 Free\"; \n content: \"\\f122\";\n padding-right: 0.5em;\n }\n}", + "div.drawio {\n display: inline-block;\n position: relative;\n\n button {\n position: absolute;\n font-size: 0.8em;\n bottom: 5px;\n right: 5px;\n background-color: rgba($secondary, .8);\n color: $primary-light;\n padding: 0.4em 0.5em;\n display: none;\n }\n\n &:hover button {\n display: inline;\n }\n} \n\ndiv.drawioframe {\n position: fixed;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0px;\n z-index: 1000;\n background: #000b;\n border: 0;\n\n iframe {\n position: absolute;\n height: 90%;\n width: 90%;\n top: 5%;\n left: 5%;\n z-index: 1010;\n }\n}\n\n", + "body:lang(fa),\nbody:lang(ar),\nbody:lang(az),\nbody:lang(dv),\nbody:lang(he),\nbody:lang(ku),\nbody:lang(ur) {\n\n @import 'spacing';\n\n direction: rtl;\n text-align: right;\n\n .dropdown-menu {\n text-align: right;\n }\n\n .text-right {\n text-align: left !important;\n }\n\n pre {\n text-align: left;\n direction: ltr;\n }\n\n .td-rss-button {\n left: 1rem !important;\n right: auto !important;\n }\n}\n\nbody:lang(fa) {\n @import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v27.0.1/dist/font-face.css');\n font-family: 'Vazir', \"Open Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n\nbody:lang(he) {\n @if $td-enable-google-fonts {\n @import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap');\n }\n font-family: 'Rubik', \"Open Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n\nbody:lang(ar) {\n @if $td-enable-google-fonts {\n @import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700&display=swap');\n }\n font-family: 'Tajawal', \"Open Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n\n", + "@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop,\n $abbrev in (margin: m, padding: p) {\n\n @each $size,\n $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} {\n #{$prop}: $length !important;\n }\n\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-inline-end: $length !important;\n }\n\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-inline-start: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size,\n $length in $spacers {\n @if $size !=0 {\n .m#{$infix}-n#{$size} {\n margin: -$length !important;\n }\n\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto {\n margin: auto !important;\n }\n\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}", + "body {\n font-family: \"Roboto\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: $text_primary;\n}\n\na {\n font-weight: 600;\n color: $primary;\n text-shadow: none;\n}\n\nfooter {\n min-height: auto;\n img {\n margin-left: 15px;\n margin-right: 15px;\n }\n\n background: $primary;\n color: #999999;\n\n ul {\n padding-left: 0;\n list-style: none;\n\n a {\n color: #999999;\n &:hover {\n color: #5d8ea9;\n text-decoration: none;\n }\n }\n }\n\n \n h4 {\n color: #eeeeee;\n font-size: 14px;\n font-weight: 800;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n }\n\n li {\n text-align: -webkit-match-parent;\n }\n}\n\n.display-cover {\n font-size: 1.5rem;\n text-shadow: 1px 1px 1px black;\n background-color: rgba(0,0,0,.3);\n border-radius: 5px;\n padding: 20px;\n\n}\n\n.display-2 {\n font-size: 2.5rem;\n font-weight: 700;\n line-height: 1.2;\n text-shadow: 1px 1px 1px black;\n}\n\n\n// Remove editing from Documentation right ::backdrop\n.td-page-meta--edit {\n display: none !important;\n}\n.td-page-meta--child {\n display: none !important;\n}\n.td-page-meta--print {\n display: none !important;\n}\n.td-page-meta--project-issue {\n display: none !important;\n}\n\n/*\nDocsy's 'cover/block' option for setting background images does\nnot currently support svg's. This sets the background on hero\nsections site wide to the original site's background svg.\n*/\n.td-cover-block {\n background-image: url(\"/img/featured-background.jpg\");\n}\n\n// Layout\n.l-container--padded {\n padding-top: 2rem;\n padding-bottom: 2rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n}\n\n.td-box--secondary {\n color: #fff;\n background-color: #162c37;\n}\n\n.vision-description {\n font-size: 18px;\n}\n\n.vision-title {\n font-weight: 700;\n}\n" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 44d1280..194ee55 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,77 +1,158 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<?xml version="1.0" encoding="utf-8" standalone="yes"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> - - <url> - <loc>https://www.eclipse.org/sw360/screenshots/</loc> - <lastmod>2019-05-29T14:38:06+02:00</lastmod> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/presentations/</loc> - <lastmod>2018-09-10T16:06:41+02:00</lastmod> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/resources/</loc> - <lastmod>2018-09-06T14:38:06+02:00</lastmod> - </url> - <url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-backend/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-adding-a-new-portlet-frontend/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/baremetal/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-branches/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-adding-new-fields-to-existing-classes/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-components/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-external-documents-with-couchdb/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-database-migration-using-costco/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-dod-and-style/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-filtering-in-portlets/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-fossology-integration/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-licenses/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-liferay-friendly-url/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-moderations/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-moderation-requests/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/testcases/test-cases-projects/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-releasing-sw360/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-rest-api/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-role-authorisation-model/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-semantic-commits/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-testing-frameworks/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-troubleshooting/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/dev-using-requirejs-for-javascript-modules/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/workflows/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/upgrading/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/developers/testcases/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/user-attachment-file-types/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-authorization-concept/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-files/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-configuration-country-codes/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-cve-search/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/user-scheduling-cve-search-by-admins/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-docker/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/user-data-model-enumerations/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-export-and-import/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/user-bdp-import/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/user-search/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-secure-deployment/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/deploy-requirements/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/deployment/baremetal/deploy-natively-11/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> <loc>https://www.eclipse.org/sw360/about/</loc> - <lastmod>2018-09-06T14:29:18+02:00</lastmod> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/blog/ecf2017/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/blog/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - <priority>0</priority> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/categories/</loc> - <priority>0</priority> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/tags/ecf17/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - <priority>0</priority> - </url> - - <url> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/docs/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> <loc>https://www.eclipse.org/sw360/</loc> - <lastmod>2019-05-29T14:38:06+02:00</lastmod> - <priority>0</priority> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/categories/introduction/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - <priority>0</priority> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/tags/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - <priority>0</priority> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/categories/talk/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - <priority>0</priority> - </url> - - <url> - <loc>https://www.eclipse.org/sw360/categories/video/</loc> - <lastmod>2017-07-11T11:27:33+02:00</lastmod> - <priority>0</priority> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/presentations/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> + </url><url> + <loc>https://www.eclipse.org/sw360/screenshots/</loc> + <lastmod>2022-06-22T22:10:18+02:00</lastmod> </url> - -</urlset> \ No newline at end of file +</urlset> diff --git a/tags/ecf17/index.html b/tags/ecf17/index.html deleted file mode 100644 index 316da63..0000000 --- a/tags/ecf17/index.html +++ /dev/null @@ -1,409 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Ecf17</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Ecf17" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/tags/ecf17//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Ecf17 logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Ecf17 logo" class="visible-xs visible-sm"> - <span class="sr-only">Ecf17 - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Ecf17</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - <section class="post"> - <div class="row"> - <div class="col-md-4"> - <div class="image"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"> - - <img src="https://www.eclipse.org/sw360/img/banners/banner-1.jpg" class="img-responsive" alt=""> - - </a> - </div> - </div> - <div class="col-md-8"> - <h2><a href="https://www.eclipse.org/sw360/blog/ecf2017/">Eclipse Con France 2017 Talk</a></h2> - <div class="clearfix"> - <p class="author-category"> - - - - in <a href="https://www.eclipse.org/sw360/categories/talk">talk</a> - - - - </p> - <p class="date-comments"> - <a href="https://www.eclipse.org/sw360/blog/ecf2017/"><i class="fa fa-calendar-o"></i> July 11, 2017</a> - </p> - </div> - <p class="intro"> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </p> - <p class="read-more"><a href="https://www.eclipse.org/sw360/blog/ecf2017/" class="btn btn-template-main">Continue reading</a> - </p> - </div> - </div> - </section> - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/tags/ecf17/index.xml b/tags/ecf17/index.xml deleted file mode 100644 index c3cbed5..0000000 --- a/tags/ecf17/index.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Ecf17 on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/tags/ecf17/</link> - <description>Recent content in Ecf17 on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Tue, 11 Jul 2017 11:27:33 +0200</lastBuildDate> - - <atom:link href="https://www.eclipse.org/sw360/tags/ecf17/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Eclipse Con France 2017 Talk</title> - <link>https://www.eclipse.org/sw360/blog/ecf2017/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/blog/ecf2017/</guid> - <description> Talk @EclipseCon France 2017 Eclipse SW360 was presented at EclipseCon France 2017 by Johannes Kristan. - </description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/tags/ecf17/page/1/index.html b/tags/ecf17/page/1/index.html deleted file mode 100644 index 4fb28d0..0000000 --- a/tags/ecf17/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/tags/ecf17/</title><link rel="canonical" href="https://www.eclipse.org/sw360/tags/ecf17/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/tags/ecf17/" /></head></html> \ No newline at end of file diff --git a/tags/index.html b/tags/index.html deleted file mode 100644 index 4001fc0..0000000 --- a/tags/index.html +++ /dev/null @@ -1,374 +0,0 @@ -<!DOCTYPE html> -<html lang="en-us"> - - <head> - <meta charset="utf-8"> - <meta name="robots" content="all,follow"> - <meta name="googlebot" content="index,follow,snippet,archive"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Tags</title> - <meta name="author" content="" /> - - - <meta name="keywords" content="sw360, foss, eclipse, open source"> - - - - <meta name="description" content="Eclipse SW360 community website"> - - - <meta name="generator" content="Hugo 0.42.1" /> - - <link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'> - - - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> - <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - - - <link href="https://www.eclipse.org/sw360/css/animate.css" rel="stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet"> - - <link href="https://www.eclipse.org/sw360/css/style.sw360.css" rel="stylesheet" id="theme-stylesheet"> - - - - <link href="https://www.eclipse.org/sw360/css/custom.css" rel="stylesheet"> - - - - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - - - - <link rel="shortcut icon" href="https://www.eclipse.org/sw360/img/favicon.ico" type="image/x-icon" /> - - <link rel="apple-touch-icon" href="https://www.eclipse.org/sw360/img/sw360-icon.png" /> - - - <link href="https://www.eclipse.org/sw360/css/owl.carousel.css" rel="stylesheet"> - <link href="https://www.eclipse.org/sw360/css/owl.theme.css" rel="stylesheet"> - - <link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse SW360"> - - - <meta property="og:title" content="Tags" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="/sw360/tags//" /> - <meta property="og:image" content="img/sw360-h-209x79.png" /> - - - <link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" /> - <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> -</head> - - - <body> - - <div id="all"> - - <header> - - <div class="navbar-affixed-top" data-spy="affix" data-offset-top="200"> - - <div class="navbar navbar-default yamm" role="navigation" id="navbar"> - - <div class="container"> - <div class="navbar-header"> - <a class="navbar-brand home" href="https://www.eclipse.org/sw360/"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Tags logo" class="hidden-xs hidden-sm"> - <img src="https://www.eclipse.org/sw360/img/sw360-h-208x79.png" alt="Tags logo" class="visible-xs visible-sm"> - <span class="sr-only">Tags - go to homepage</span> - </a> - <div class="navbar-buttons"> - <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation"> - <span class="sr-only">Toggle Navigation</span> - <i class="fa fa-align-justify"></i> - </button> - </div> - </div> - - - <div class="navbar-collapse collapse" id="navigation"> - <ul class="nav navbar-nav navbar-right"> - - <li class="dropdown"> - - <a href="/sw360/">Home</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/about/">About</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/screenshots/">Screenshots</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/presentations/">Presentations</a> - - </li> - - <li class="dropdown"> - - <a href="/sw360/resources/">Resources</a> - - </li> - - </ul> - </div> - - - <div class="collapse clearfix" id="search"> - - <form class="navbar-form" role="search"> - <div class="input-group"> - <input type="text" class="form-control" placeholder="Search"> - <span class="input-group-btn"> - - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - - </span> - </div> - </form> - - </div> - - - </div> - </div> - - -</div> - - - - - </header> - - <div id="heading-breadcrumbs"> - <div class="container"> - <div class="row"> - <div class="col-md-12"> - <h1>Tags</h1> - </div> - </div> - </div> -</div> - - - <div id="content"> - <div class="container"> - <div class="row"> - - - <div class="col-md-9" id="blog-listing-medium"> - - - - - <ul class="pager"> - - <li class="previous disabled"><a href="#">&larr; Newer</a></li> - - - - <li class="next disabled"><a href="#">Older &rarr;</a></li> - - </ul> - </div> - - - - - - - <div class="col-md-3"> - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Search</h3> - </div> - - <div class="panel-body"> - <form action="//google.com/search" method="get" accept-charset="UTF-8" role="search"> - <div class="input-group"> - <input type="search" name="q" class="form-control" placeholder="Search"> - <input type="hidden" name="sitesearch" value="https://www.eclipse.org/sw360/"> - <span class="input-group-btn"> - <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button> - </span> - </div> - </form> - </div> -</div> - - - - - - - -<div class="panel panel-default sidebar-menu"> - - <div class="panel-heading"> - <h3 class="panel-title">Categories</h3> - </div> - - <div class="panel-body"> - <ul class="nav nav-pills nav-stacked"> - - <li><a href="https://www.eclipse.org/sw360/categories/introduction">introduction (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/talk">talk (1)</a> - </li> - - <li><a href="https://www.eclipse.org/sw360/categories/video">video (1)</a> - </li> - - </ul> - </div> -</div> - - - - - - - - -<div class="panel sidebar-menu"> - <div class="panel-heading"> - <h3 class="panel-title">Tags</h3> - </div> - - <div class="panel-body"> - <ul class="tag-cloud"> - - <li><a href="https://www.eclipse.org/sw360/tags/ecf17"><i class="fa fa-tags"></i> ecf17</a> - </li> - - </ul> - </div> -</div> - - - - - - - - - </div> - - - - - </div> - - </div> - - </div> - - - <footer id="footer" class="footer"> - <div class="container"> - - <div class="col-md-3 col-sm-6"> - <h4>Legal</h4> - <ul> - <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li> - <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li> - <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li> - <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li> - <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li> - </ul> - </div> - - <div class="col-md-6 col-sm-6" align="center"> - <p><strong>Eclipse SW360</strong> is supported by</p> - <p> - <a href="https://www.siemens.com/"> <img src="https://www.eclipse.org/sw360/img/clients/Siemens.png" class="footer-img" width="100" alt="Siemens"/></a> - <a href="https://www.bosch-si.com/"> <img src="https://www.eclipse.org/sw360/img/clients/BoschSI.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - <a href="https://verifa.io/"> <img src="https://www.eclipse.org/sw360/img/clients/Verifa.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </p> - - <p>Copyright © 2018 <a href="http://eclipse.org">The Eclipse Foundation</a>. <br/>All Rights Reserved.</p> - <a href="http://www.eclipse.org/"> <img src="https://www.eclipse.org/sw360/img/clients/Eclipse.png" class="footer-img" width="100" alt="Bosch Software Innovation"/></a> - </div> - - <div class="col-md-3 col-sm-6"> - <p class="pull-right"> - Template by <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>. - - - <br/>Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a> - </p> - </div> - - </div> - -</footer> - - -<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': -new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], -j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= -'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); -})(window,document,'script','dataLayer','GTM-5WLCZXC');</script> - - - - - - - - - - - - - - </div> - - - -<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script> -<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> - -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script> -<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script> - -<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script> - -<script src="https://www.eclipse.org/sw360/js/hpneo.gmaps.js"></script> -<script src="https://www.eclipse.org/sw360/js/gmaps.init.js"></script> -<script src="https://www.eclipse.org/sw360/js/front.js"></script> - - -<script src="https://www.eclipse.org/sw360/js/owl.carousel.min.js"></script> - - - </body> -</html> diff --git a/tags/index.xml b/tags/index.xml deleted file mode 100644 index d92bfc4..0000000 --- a/tags/index.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>Tags on Eclipse SW360</title> - <link>https://www.eclipse.org/sw360/tags/</link> - <description>Recent content in Tags on Eclipse SW360</description> - <generator>Hugo -- gohugo.io</generator> - <language>en-us</language> - <lastBuildDate>Tue, 11 Jul 2017 11:27:33 +0200</lastBuildDate> - - <atom:link href="https://www.eclipse.org/sw360/tags/index.xml" rel="self" type="application/rss+xml" /> - - - <item> - <title>Ecf17</title> - <link>https://www.eclipse.org/sw360/tags/ecf17/</link> - <pubDate>Tue, 11 Jul 2017 11:27:33 +0200</pubDate> - - <guid>https://www.eclipse.org/sw360/tags/ecf17/</guid> - <description></description> - </item> - - </channel> -</rss> \ No newline at end of file diff --git a/tags/page/1/index.html b/tags/page/1/index.html deleted file mode 100644 index b6f429c..0000000 --- a/tags/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE html><html><head><title>https://www.eclipse.org/sw360/tags/</title><link rel="canonical" href="https://www.eclipse.org/sw360/tags/"/><meta name="robots" content="noindex"><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://www.eclipse.org/sw360/tags/" /></head></html> \ No newline at end of file diff --git a/webfonts/fa-brands-400.eot b/webfonts/fa-brands-400.eot new file mode 100644 index 0000000..2cca660 Binary files /dev/null and b/webfonts/fa-brands-400.eot differ diff --git a/webfonts/fa-brands-400.svg b/webfonts/fa-brands-400.svg new file mode 100644 index 0000000..d9939bc --- /dev/null +++ b/webfonts/fa-brands-400.svg @@ -0,0 +1,3451 @@ +<?xml version="1.0" standalone="no"?> +<!-- +Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com +License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) +--> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> +<metadata> +Created by FontForge 20190112 at Fri Aug 2 14:41:09 2019 + By Robert Madole +Copyright (c) Font Awesome +</metadata> +<defs> +<font id="FontAwesome5Brands-Regular" horiz-adv-x="448" > + <font-face + font-family="Font Awesome 5 Brands Regular" + font-weight="400" + font-stretch="normal" + units-per-em="512" + panose-1="2 0 5 3 0 0 0 0 0 0" + ascent="448" + descent="-64" + bbox="-0.200195 -66.9505 641.5 448.3" + underline-thickness="25" + underline-position="-51" + unicode-range="U+0020-F89E" + /> + <missing-glyph /> + <glyph glyph-name="twitter-square" unicode="&#xf081;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM351.1 257.2c12.8008 9.2998 24 20.8994 32.9004 34c-11.7998 -5.10059 -24.5996 -8.7998 -37.7998 -10.2002 +c13.5996 8.09961 23.8994 20.9004 28.7998 36.0996c-12.5996 -7.5 -26.7998 -13 -41.5996 -15.7998c-12 12.7998 -29 20.7002 -47.9004 20.7002c-40 0 -73.2998 -36.0996 -64 -80.5996c-54.4004 2.7998 -102.9 28.7998 -135.2 68.5996 +c-5.7002 -9.7002 -8.89941 -20.9004 -8.89941 -33.0996v-0.107422c0 -19.3584 13.0811 -43.7715 29.1992 -54.4932c-10.6992 0.400391 -20.8994 3.40039 -29.5996 8.2998v-0.799805c0 -31.8994 22.5 -58.2998 52.5 -64.3994 +c-10.4004 -2.7002 -19.5 -2.7002 -29.5996 -1.2002c8.2998 -26 32.5 -44.9004 61.2998 -45.5c-22.5 -17.6006 -50.7002 -28 -81.4004 -28c-5.39941 0 -10.5 0.200195 -15.7998 0.799805c29 -18.5996 63.5 -29.4004 100.7 -29.4004c120.6 0 186.6 99.9004 186.6 186.601 +c0 2.7998 0 5.7002 -0.200195 8.5z" /> + <glyph glyph-name="facebook-square" unicode="&#xf082;" +d="M400 416c26.4961 0 48 -21.5039 48 -48v-352c0 -26.4961 -21.5039 -48 -48 -48h-137.25v152.31h57.7803l11 71.6904h-68.7803v46.5498c0 19.6104 9.61035 38.7305 40.4199 38.7305h31.2705v61s-28.3809 4.83984 -55.5205 4.83984 +c-56.6699 0 -93.6699 -34.3301 -93.6699 -96.4805v-54.6396h-63v-71.6904h63v-152.31h-137.25c-26.4961 0 -48 21.5039 -48 48v352c0 26.4961 21.5039 48 48 48h352z" /> + <glyph glyph-name="linkedin" unicode="&#xf08c;" +d="M416 416c17.5996 0 32 -14.5 32 -32.2998v-383.4c0 -17.7998 -14.4004 -32.2998 -32 -32.2998h-384.1c-17.6006 0 -31.9004 14.5 -31.9004 32.2998v383.4c0 17.7998 14.2998 32.2998 31.9004 32.2998h384.1zM135.4 32h0.0996094v213.8h-66.5v-213.8h66.4004zM102.2 275 +c21.2998 0 38.5 17.2002 38.5 38.5c0 21.2002 -17.2998 38.5 -38.5 38.5c-21.2998 0 -38.5 -17.2998 -38.5 -38.5s17.2002 -38.5 38.5 -38.5zM384.3 32v117.2c0 57.5996 -12.5 101.899 -79.7002 101.899c-32.2998 0 -54 -17.6992 -62.8994 -34.5h-0.900391v29.2002h-63.7002 +v-213.8h66.4004v105.8c0 27.9004 5.2998 54.9004 39.9004 54.9004c34 0 34.5 -31.9004 34.5 -56.7002v-104h66.3994z" /> + <glyph glyph-name="github-square" unicode="&#xf092;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM277.3 32.2998c66 22 110.8 84.9004 110.7 158.3c0 91.8008 -74.4004 161.5 -166.2 161.5s-162 -69.6992 -162 -161.5 +c0 -73.3994 46.2002 -136.199 112.2 -158.3c8.5 -1.5 11.5 3.7002 11.5 8c0 4.10059 -0.200195 26.7002 -0.200195 40.6006c0 0 -46.3994 -10 -56.0996 19.6992c0 0 -7.60059 19.2002 -18.4004 24.2002c0 0 -15.0996 10.4004 1.10059 10.2002 +c0 0 16.3994 -1.2998 25.5 -17.0996c14.5 -25.6006 38.7998 -18.2002 48.2998 -13.9004c1.5 10.5996 5.7998 18 10.5996 22.2998c-37 4.10059 -74.2998 9.5 -74.2998 73.1006c0 18.1992 5 27.2998 15.5996 39c-1.7998 4.39941 -7.39941 22.0996 1.7002 45 +c13.9004 4.2998 45.7002 -17.9004 45.7002 -17.9004c13.2002 3.7002 27.5 5.59961 41.5996 5.59961c14.1006 0 28.4004 -1.89941 41.6006 -5.59961c0 0 31.7998 22.2002 45.7002 17.9004c9.09961 -23 3.39941 -40.7002 1.69922 -45 +c10.6006 -11.7002 17.1006 -20.8008 17.1006 -39c0 -63.9004 -39 -69 -76 -73.1006c6.09961 -5.2002 11.2998 -15.0996 11.2998 -30.7002c0 -22.2998 -0.200195 -49.8994 -0.200195 -55.2998c0 -4.2998 3.10059 -9.5 11.5 -8zM179.2 93.4004 +c-1.90039 -0.400391 -3.7002 0.399414 -3.90039 1.69922c-0.200195 1.5 1.10059 2.80078 3 3.2002c1.90039 0.200195 3.7002 -0.599609 3.90039 -1.89941c0.299805 -1.30078 -1 -2.60059 -3 -3zM169.7 94.2998c0 1.5 -1.7998 2.60059 -3.7002 2.40039 +c-2 0 -3.5 -1.10059 -3.5 -2.40039c0 -1.5 1.5 -2.59961 3.7002 -2.39941c2 0 3.5 1.09961 3.5 2.39941zM156 95.4004c-0.400391 -1.30078 -2.40039 -1.90039 -4.09961 -1.30078c-1.90039 0.400391 -3.2002 1.90039 -2.80078 3.2002 +c0.400391 1.2998 2.40039 1.90039 4.10059 1.5c2 -0.599609 3.2998 -2.09961 2.7998 -3.39941zM143.7 100.8c0.899414 0.799805 0.399414 2.7998 -0.900391 4.10059c-1.5 1.5 -3.39941 1.69922 -4.2998 0.599609c-1 -0.900391 -0.599609 -2.7998 0.900391 -4.09961 +c1.5 -1.5 3.39941 -1.7002 4.2998 -0.600586zM134.6 109.9c1.10059 0.799805 1.10059 2.59961 0 4.09961c-0.899414 1.5 -2.59961 2.2002 -3.69922 1.2998c-1.10059 -0.700195 -1.10059 -2.39941 0 -3.89941c1.09961 -1.5 2.7998 -2.10059 3.69922 -1.5zM128.1 119.6 +c0.900391 0.700195 0.700195 2.2002 -0.399414 3.5c-1.10059 1 -2.60059 1.5 -3.5 0.600586c-0.900391 -0.700195 -0.700195 -2.2002 0.399414 -3.5c1.10059 -1 2.60059 -1.5 3.5 -0.600586zM121.4 127c0.399414 0.799805 -0.200195 1.90039 -1.5 2.59961 +c-1.30078 0.5 -2.40039 0.200195 -2.80078 -0.399414c-0.399414 -0.900391 0.200195 -2 1.5 -2.60059c1.10059 -0.699219 2.40039 -0.5 2.80078 0.400391z" /> + <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="512" +d="M459.37 296.284c0.325195 -4.54785 0.325195 -9.09766 0.325195 -13.6455c0 -138.72 -105.583 -298.558 -298.559 -298.558c-59.4521 0 -114.68 17.2188 -161.137 47.1055c8.44727 -0.973633 16.5684 -1.29883 25.3398 -1.29883 +c49.0547 0 94.2129 16.5684 130.274 44.832c-46.1318 0.975586 -84.792 31.1885 -98.1123 72.7725c6.49805 -0.974609 12.9951 -1.62402 19.8184 -1.62402c9.4209 0 18.8428 1.2998 27.6133 3.57324c-48.0811 9.74707 -84.1426 51.9795 -84.1426 102.984v1.29883 +c13.9688 -7.79688 30.2139 -12.6699 47.4307 -13.3184c-28.2637 18.8428 -46.7803 51.0049 -46.7803 87.3906c0 19.4922 5.19629 37.3604 14.2939 52.9541c51.6543 -63.6748 129.3 -105.258 216.364 -109.807c-1.62402 7.79688 -2.59863 15.918 -2.59863 24.04 +c0 57.8271 46.7822 104.934 104.934 104.934c30.2139 0 57.502 -12.6699 76.6709 -33.1367c23.7148 4.54785 46.4551 13.3193 66.5986 25.3398c-7.79785 -24.3662 -24.3662 -44.833 -46.1318 -57.8271c21.1172 2.27344 41.584 8.12207 60.4258 16.2432 +c-14.292 -20.791 -32.1611 -39.3086 -52.6279 -54.2529z" /> + <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="512" +d="M504 192c0 -123.78 -90.6904 -226.38 -209.25 -245v173.31h57.7803l11 71.6904h-68.7803v46.5498c0 19.6104 9.61035 38.7305 40.4102 38.7305h31.2803v61s-28.3809 4.83984 -55.5205 4.83984c-56.6699 0 -93.6699 -34.3301 -93.6699 -96.4805v-54.6396h-63v-71.6904h63 +v-173.31c-118.56 18.6201 -209.25 121.22 -209.25 245c0 137 111 248 248 248s248 -111 248 -248z" /> + <glyph glyph-name="github" unicode="&#xf09b;" horiz-adv-x="496" +d="M165.9 50.5996c0 -2 -2.30078 -3.59961 -5.2002 -3.59961c-3.2998 -0.299805 -5.60059 1.2998 -5.60059 3.59961c0 2 2.30078 3.60059 5.2002 3.60059c3 0.299805 5.60059 -1.2998 5.60059 -3.60059zM134.8 55.0996c0.700195 2 3.60059 3 6.2002 2.30078 +c3 -0.900391 4.90039 -3.2002 4.2998 -5.2002c-0.599609 -2 -3.59961 -3 -6.2002 -2c-3 0.599609 -5 2.89941 -4.2998 4.89941zM179 56.7998c2.90039 0.299805 5.59961 -1 5.90039 -2.89941c0.299805 -2 -1.7002 -3.90039 -4.60059 -4.60059 +c-3 -0.700195 -5.59961 0.600586 -5.89941 2.60059c-0.300781 2.2998 1.69922 4.19922 4.59961 4.89941zM244.8 440c138.7 0 251.2 -105.3 251.2 -244c0 -110.9 -67.7998 -205.8 -167.8 -239c-12.7002 -2.2998 -17.2998 5.59961 -17.2998 12.0996 +c0 8.2002 0.299805 49.9004 0.299805 83.6006c0 23.5 -7.7998 38.5 -17 46.3994c55.8994 6.30078 114.8 14 114.8 110.5c0 27.4004 -9.7998 41.2002 -25.7998 58.9004c2.59961 6.5 11.0996 33.2002 -2.60059 67.9004c-20.8994 6.59961 -69 -27 -69 -27 +c-20 5.59961 -41.5 8.5 -62.7998 8.5s-42.7998 -2.90039 -62.7998 -8.5c0 0 -48.0996 33.5 -69 27c-13.7002 -34.6006 -5.2002 -61.4004 -2.59961 -67.9004c-16 -17.5996 -23.6006 -31.4004 -23.6006 -58.9004c0 -96.1992 56.4004 -104.3 112.3 -110.5 +c-7.19922 -6.59961 -13.6992 -17.6992 -16 -33.6992c-14.2998 -6.60059 -51 -17.7002 -72.8994 20.8994c-13.7002 23.7998 -38.6006 25.7998 -38.6006 25.7998c-24.5 0.300781 -1.59961 -15.3994 -1.59961 -15.3994c16.4004 -7.5 27.7998 -36.6006 27.7998 -36.6006 +c14.7002 -44.7998 84.7002 -29.7998 84.7002 -29.7998c0 -21 0.299805 -55.2002 0.299805 -61.3994c0 -6.5 -4.5 -14.4004 -17.2998 -12.1006c-99.7002 33.4004 -169.5 128.3 -169.5 239.2c0 138.7 106.1 244 244.8 244zM97.2002 95.0996 +c1.2998 1.30078 3.59961 0.600586 5.2002 -1c1.69922 -1.89941 2 -4.19922 0.699219 -5.19922c-1.2998 -1.30078 -3.59961 -0.600586 -5.19922 1c-1.7002 1.89941 -2 4.19922 -0.700195 5.19922zM86.4004 103.2c0.699219 1 2.2998 1.2998 4.2998 0.700195 +c2 -1 3 -2.60059 2.2998 -3.90039c-0.700195 -1.40039 -2.7002 -1.7002 -4.2998 -0.700195c-2 1 -3 2.60059 -2.2998 3.90039zM118.8 67.5996c1.2998 1.60059 4.2998 1.30078 6.5 -1c2 -1.89941 2.60059 -4.89941 1.2998 -6.19922 +c-1.2998 -1.60059 -4.19922 -1.30078 -6.5 1c-2.2998 1.89941 -2.89941 4.89941 -1.2998 6.19922zM107.4 82.2998c1.59961 1.2998 4.19922 0.299805 5.59961 -2c1.59961 -2.2998 1.59961 -4.89941 0 -6.2002c-1.2998 -1 -4 0 -5.59961 2.30078 +c-1.60059 2.2998 -1.60059 4.89941 0 5.89941z" /> + <glyph glyph-name="pinterest" unicode="&#xf0d2;" horiz-adv-x="496" +d="M496 192c0 -137 -111 -248 -248 -248c-25.5996 0 -50.2002 3.90039 -73.4004 11.0996c10.1006 16.5 25.2002 43.5 30.8008 65c3 11.6006 15.3994 59 15.3994 59c8.10059 -15.3994 31.7002 -28.5 56.7998 -28.5c74.8008 0 128.7 68.8008 128.7 154.301 +c0 81.8994 -66.8994 143.199 -152.899 143.199c-107 0 -163.9 -71.7998 -163.9 -150.1c0 -36.4004 19.4004 -81.7002 50.2998 -96.0996c4.7002 -2.2002 7.2002 -1.2002 8.2998 3.2998c0.800781 3.39941 5 20.2998 6.90039 28.0996 +c0.599609 2.5 0.299805 4.7002 -1.7002 7.10059c-10.0996 12.5 -18.2998 35.2998 -18.2998 56.5996c0 54.7002 41.4004 107.6 112 107.6c60.9004 0 103.6 -41.5 103.6 -100.899c0 -67.1006 -33.8994 -113.601 -78 -113.601c-24.2998 0 -42.5996 20.1006 -36.6992 44.8008 +c7 29.5 20.5 61.2998 20.5 82.5996c0 19 -10.2002 34.9004 -31.4004 34.9004c-24.9004 0 -44.9004 -25.7002 -44.9004 -60.2002c0 -22 7.40039 -36.7998 7.40039 -36.7998s-24.5 -103.801 -29 -123.2c-5 -21.4004 -3 -51.6006 -0.900391 -71.2002 +c-92.1992 36.0996 -157.6 125.9 -157.6 231c0 137 111 248 248 248s248 -111 248 -248z" /> + <glyph glyph-name="pinterest-square" unicode="&#xf0d3;" +d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-245.6c9.7998 16.4004 22.3994 40 27.3994 59.2998c3 11.5 15.2998 58.4004 15.2998 58.4004c8 -15.2998 31.4004 -28.2002 56.3008 -28.2002c74.0996 0 127.399 68.0996 127.399 152.7 +c0 81.0996 -66.2002 141.8 -151.399 141.8c-106 0 -162.2 -71.0996 -162.2 -148.6c0 -36 19.2002 -80.8008 49.7998 -95.1006c4.7002 -2.2002 7.09961 -1.2002 8.2002 3.2998c0.799805 3.40039 5 20.1006 6.7998 27.8008c0.599609 2.5 0.299805 4.59961 -1.7002 7 +c-10.0996 12.2998 -18.2998 34.8994 -18.2998 56c0 54.1992 41 106.6 110.9 106.6c60.2998 0 102.6 -41.0996 102.6 -99.9004c0 -66.3994 -33.5 -112.399 -77.2002 -112.399c-24.0996 0 -42.0996 19.8994 -36.3994 44.3994c6.89941 29.2002 20.2998 60.7002 20.2998 81.8008 +c0 53 -75.5 45.6992 -75.5 -25c0 -21.7002 7.2998 -36.5 7.2998 -36.5c-31.4004 -132.801 -36.0996 -134.5 -29.5996 -192.601l2.19922 -0.799805h-88.5996c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48z" /> + <glyph glyph-name="google-plus-square" unicode="&#xf0d4;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM164 92c57.7002 0 96 40.5 96 97.5996c0 6.5 -0.599609 11.6006 -1.59961 16.6006h-94.4004v-34.4004h56.9004 +c-2.40039 -14.5996 -17.2002 -43.0996 -56.8008 -43.0996c-34.0996 0 -61.8994 28.2998 -61.8994 63.2002c0 35 27.7998 63.1992 61.8994 63.1992c19.5 0 32.4004 -8.2998 39.8008 -15.3994l27.0996 26.0996c-17.5 16.4004 -40 26.2002 -67 26.2002 +c-55.2998 0 -100 -44.7002 -100 -100s44.7002 -100 100 -100zM384 173.8v29.2002h-29v29h-29.2002v-29h-29v-29.2002h29v-29h29.2002v29h29z" /> + <glyph glyph-name="google-plus-g" unicode="&#xf0d5;" horiz-adv-x="640" +d="M386.061 219.504c1.83398 -9.69238 3.14355 -19.3838 3.14355 -31.9561c0 -109.753 -73.6055 -187.548 -184.404 -187.548c-106.084 0 -192 85.915 -192 192s85.916 192 192 192c51.8643 0 95.083 -18.8594 128.611 -50.292l-52.126 -50.0303 +c-14.1455 13.6211 -39.0283 29.5996 -76.4854 29.5996c-65.4834 0 -118.92 -54.2217 -118.92 -121.277s53.4365 -121.277 118.92 -121.277c75.9609 0 104.514 54.7451 108.965 82.7734h-108.965v66.0088h181.261v-0.000976562zM571.467 213.067h55.7334v-56.001h-55.7334 +v-55.7334h-56.001v55.7334h-55.7324v56.001h55.7324v55.7324h56.001v-55.7324z" /> + <glyph glyph-name="linkedin-in" unicode="&#xf0e1;" +d="M100.28 0h-92.8799v299.1h92.8799v-299.1zM53.79 339.9c-29.7002 0 -53.79 24.5996 -53.79 54.2998c0 29.6914 24.0977 53.79 53.79 53.79s53.79 -24.0986 53.79 -53.79c0 -29.7002 -24.0996 -54.2998 -53.79 -54.2998zM447.9 0h-92.6807v145.6 +c0 34.7002 -0.700195 79.2002 -48.29 79.2002c-48.29 0 -55.6895 -37.7002 -55.6895 -76.7002v-148.1h-92.7803v299.1h89.0801v-40.7998h1.2998c12.4004 23.5 42.6904 48.2998 87.8799 48.2998c94 0 111.28 -61.8994 111.28 -142.3v-164.3h-0.0996094z" /> + <glyph glyph-name="github-alt" unicode="&#xf113;" horiz-adv-x="480" +d="M186.1 119.3c0 -20.8994 -10.8994 -55.0996 -36.6992 -55.0996c-25.8008 0 -36.7002 34.2002 -36.7002 55.0996c0 20.9004 10.8994 55.1006 36.7002 55.1006c25.7998 0 36.6992 -34.2002 36.6992 -55.1006zM480 169.8c0 -31.8994 -3.2002 -65.7002 -17.5 -95 +c-37.9004 -76.5996 -142.1 -74.7998 -216.7 -74.7998c-75.7998 0 -186.2 -2.7002 -225.6 74.7998c-14.6006 29 -20.2002 63.1006 -20.2002 95c0 41.9004 13.9004 81.5 41.5 113.601c-5.2002 15.7998 -7.7002 32.3994 -7.7002 48.7998 +c0 21.5 4.90039 32.2998 14.6006 51.7998c45.2998 0 74.2998 -9 108.8 -36c29 6.90039 58.7998 10 88.7002 10c27 0 54.1992 -2.90039 80.3994 -9.2002c34 26.7002 63 35.2002 107.8 35.2002c9.80078 -19.5 14.6006 -30.2998 14.6006 -51.7998 +c0 -16.4004 -2.60059 -32.7002 -7.7002 -48.2002c27.5 -32.4004 39 -72.2998 39 -114.2zM415.7 119.3c0 43.9004 -26.7002 82.6006 -73.5 82.6006c-18.9004 0 -37 -3.40039 -56 -6c-14.9004 -2.30078 -29.7998 -3.2002 -45.1006 -3.2002 +c-15.1992 0 -30.0996 0.899414 -45.0996 3.2002c-18.7002 2.59961 -37 6 -56 6c-46.7998 0 -73.5 -38.7002 -73.5 -82.6006c0 -87.7998 80.4004 -101.3 150.4 -101.3h48.1992c70.3008 0 150.601 13.4004 150.601 101.3zM333.1 174.4 +c25.8008 0 36.7002 -34.2002 36.7002 -55.1006c0 -20.8994 -10.8994 -55.0996 -36.7002 -55.0996c-25.7998 0 -36.6992 34.2002 -36.6992 55.0996c0 20.9004 10.8994 55.1006 36.6992 55.1006z" /> + <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="512" +d="M461.1 5.2998h-97.3994l51.8994 242.7c2.30078 10.2002 0.900391 19.5 -4.39941 25.7002c-5 6.09961 -13.7002 9.59961 -24.2002 9.59961h-49.2998l-59.5 -278h-97.4004l59.5 278h-83.3994l-59.5 -278h-97.4004l59.5 278l-44.5996 95.4004h372.1 +c39.4004 0 75.2998 -16.2998 98.2998 -44.9004c23.2998 -28.5996 31.7998 -67.3994 23.6006 -105.899z" /> + <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="384" +d="M0 416h384l-34.9004 -395.8l-157.6 -52.2002l-156.6 52.2002zM308.2 288.1l4.39941 47.7002h-241.1l12.7998 -145.6h166.9l-6 -62.2002l-53.7002 -14.5l-53.5 14.5l-3.5 38.0996h-47.7002l6 -75.7998l98.7002 -27.2998h1.09961v0.299805l97.9004 27l13.5996 148.4h-175.6 +l-4.09961 49.3994h183.8z" /> + <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="512" +d="M480 416l-64 -368l-223.3 -80l-192.7 80l19.5996 94.7998h82l-8 -40.5996l116.4 -44.4004l134.1 44.4004l18.8008 97.0996h-333.4l16 82h333.7l10.5 52.7002h-333.4l16.2998 82h407.4z" /> + <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="384" +d="M310.204 205.362c46.0059 -11.0283 74.9971 -38.4443 69.3262 -99.8906c-7.24805 -76.5723 -61.5967 -97.0547 -142.896 -101.467v-68.0049h-48.5273v66.7451c-12.29 0 -25.21 0 -38.4443 0.314453v-67.0596h-48.5283v68.0049s-8.88867 0.31543 -97.3701 0.31543 +l9.76758 57.666c34.7305 -0.614258 50.3301 -3.4209 53.2549 16.0703v217.43c-4.60645 24.5664 -24.709 22.1045 -63.0234 21.4268v51.6777c58.748 -0.275391 79.5283 -0.539062 97.3701 0v79.4092h48.5283v-77.833c12.9189 0.31543 25.8389 0.629883 38.4443 0.629883 +v77.2031h48.5273v-79.4092c62.3926 -5.35547 109.492 -24.5781 114.851 -81.9287c4.09668 -41.9102 -13.5508 -67.1201 -41.2803 -81.2998zM150.608 313.447v-96.7402c27.416 0 113.126 -6.30273 113.126 48.2119c0 57.0352 -85.7109 48.5283 -113.126 48.5283z +M150.608 61.6709c32.7715 0 133.126 -6.93262 133.127 53.2529c0 62.3936 -100.355 53.2549 -133.127 53.2549v-106.508z" /> + <glyph glyph-name="youtube" unicode="&#xf167;" horiz-adv-x="576" +d="M549.655 323.917c11.4121 -42.8672 11.4121 -132.305 11.4121 -132.305s0 -89.4385 -11.4121 -132.306c-6.28125 -23.6494 -24.7871 -41.5 -48.2842 -47.8203c-42.5908 -11.4863 -213.371 -11.4863 -213.371 -11.4863s-170.78 0 -213.371 11.4863 +c-23.4971 6.32031 -42.0029 24.1709 -48.2842 47.8203c-11.4121 42.8672 -11.4121 132.306 -11.4121 132.306s0 89.4375 11.4121 132.305c6.28125 23.6504 24.7871 42.2754 48.2842 48.5967c42.5908 11.4863 213.371 11.4863 213.371 11.4863s170.781 0 213.371 -11.4863 +c23.4971 -6.32031 42.0029 -24.9463 48.2842 -48.5967zM232.145 110.409l142.739 81.2012l-142.739 81.2051v-162.406z" /> + <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="384" +d="M162.7 238c-1.7998 -3.2998 -25.2002 -44.4004 -70.1006 -123.5c-4.89941 -8.2998 -10.7998 -12.5 -17.6992 -12.5h-65.1006c-7.7002 0 -12.0996 7.5 -8.5 14.4004l69 121.3c0.200195 0 0.200195 0.0996094 0 0.299805l-43.8994 75.5996 +c-4.30078 7.80078 0.299805 14.1006 8.5 14.1006h65.0996c7.2998 0 13.2998 -4.10059 18 -12.2002zM382.6 401.9l-144 -253v-0.300781l91.6006 -166.6c3.89941 -7.09961 0.200195 -14.0996 -8.5 -14.0996h-65.2002c-7.59961 0 -13.5996 4 -18 12.1992l-92.4004 168.5 +c3.30078 5.80078 51.5 90.8008 144.801 255.2c4.59961 8.10059 10.3994 12.2002 17.5 12.2002h65.6992c8 0 12.3008 -6.7002 8.5 -14.0996z" /> + <glyph glyph-name="xing-square" unicode="&#xf169;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM140.4 127.8c4.89941 0 9.09961 2.90039 12.5996 9.10059c32.0996 56.5 48.7998 85.8994 50.0996 88.1992l-31.8994 55.3008 +c-3.40039 5.7998 -7.7002 8.69922 -12.9004 8.69922h-46.5996c-5.7998 0 -9 -4.5 -6 -10.0996l31.3994 -54c0.100586 -0.0996094 0.100586 -0.200195 0 -0.200195l-49.2998 -86.7002c-2.7002 -5 0.5 -10.2998 6 -10.2998h46.6006zM360.1 341.9 +c2.80078 5.2998 -0.299805 10.0996 -6 10h-46.8994c-5.10059 0 -9.2002 -2.90039 -12.5 -8.7002c-66.6006 -117.4 -101.101 -178.2 -103.4 -182.3l66 -120.301c3.2002 -5.7998 7.40039 -8.69922 12.9004 -8.69922h46.5996c6.10059 0 8.7998 5 6 10.0996l-65.5 119v0.200195z +" /> + <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="528" +d="M264.4 331.7l-132 -84.2998l132 -84.3008l-132 -84.2998l-132.4 85.1006l132.3 84.2998l-132.3 83.5l132.3 84.2998zM131.6 52.2998l132 84.2998l132 -84.2998l-132 -84.2998zM264.4 163.9l132 84.2998l-132 83.5996l131.3 84.2002l132.3 -84.2998l-132.3 -84.2998 +l132.3 -84.2002l-132.3 -84.2998z" /> + <glyph glyph-name="stack-overflow" unicode="&#xf16c;" horiz-adv-x="384" +d="M290.7 137l-8.2002 -39l-195.7 41l8.2002 39.2998zM341.7 224l-25.5 -30.7998l-153.5 128.3l25.5 30.7998zM310.5 184.3l-16.7998 -36.2998l-181.2 84.5l16.7002 36.5zM262 416l119.3 -160.3l-32 -24l-119.3 160.3zM282.5 88v-39.7002h-200v39.7002h200zM322.2 8v120h40 +v-160h-359.5v160h40v-120h279.5z" /> + <glyph glyph-name="instagram" unicode="&#xf16d;" +d="M224.1 307c63.6006 0 114.9 -51.2998 114.9 -114.9c0 -63.5996 -51.2998 -114.899 -114.9 -114.899c-63.5996 0 -114.899 51.2998 -114.899 114.899c0 63.6006 51.2998 114.9 114.899 114.9zM224.1 117.4c41.1006 0 74.7002 33.5 74.7002 74.6992 +c0 41.2002 -33.5 74.7002 -74.7002 74.7002c-41.1992 0 -74.6992 -33.5 -74.6992 -74.7002c0 -41.1992 33.5996 -74.6992 74.6992 -74.6992zM370.5 311.7c0 -14.9004 -12 -26.7998 -26.7998 -26.7998c-14.9004 0 -26.7998 12 -26.7998 26.7998s12 26.7998 26.7998 26.7998 +s26.7998 -12 26.7998 -26.7998zM446.6 284.5c2.10059 -37 2.10059 -147.8 0 -184.8c-1.7998 -35.9004 -10 -67.7002 -36.1992 -93.9004c-26.2002 -26.2998 -58 -34.5 -93.9004 -36.2002c-37 -2.09961 -147.9 -2.09961 -184.9 0 +c-35.8994 1.80078 -67.5996 10 -93.8994 36.2002s-34.5 58 -36.2002 93.9004c-2.09961 37 -2.09961 147.899 0 184.899c1.7998 35.9004 9.90039 67.7002 36.2002 93.9004s58.0996 34.4004 93.8994 36.0996c37 2.10059 147.9 2.10059 184.9 0 +c35.9004 -1.7998 67.7002 -10 93.9004 -36.1992c26.2998 -26.2002 34.5 -58 36.1992 -93.9004zM398.8 60c11.7002 29.4004 9 99.5 9 132.1c0 32.6006 2.7002 102.601 -9 132.101c-7.89941 19.7002 -23 34.7998 -42.5996 42.5996c-29.4004 11.6006 -99.5 9 -132.101 9 +c-32.5996 0 -102.6 2.7002 -132.1 -9c-19.7002 -7.89941 -34.7998 -23 -42.5996 -42.5996c-11.6006 -29.4004 -9 -99.5 -9 -132.101c0 -32.5996 -2.7002 -102.6 9 -132.1c7.89941 -19.7002 23 -34.7998 42.5996 -42.5996c29.4004 -11.6006 99.5 -9 132.1 -9 +c32.6006 0 102.601 -2.7002 132.101 9c19.7002 7.89941 34.7998 23 42.5996 42.5996z" /> + <glyph glyph-name="flickr" unicode="&#xf16e;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM144.5 129c35.0996 0 63.5 28.4004 63.5 63.5s-28.4004 63.5 -63.5 63.5s-63.5 -28.4004 -63.5 -63.5s28.4004 -63.5 63.5 -63.5z +M303.5 129c35.0996 0 63.5 28.4004 63.5 63.5s-28.4004 63.5 -63.5 63.5s-63.5 -28.4004 -63.5 -63.5s28.4004 -63.5 63.5 -63.5z" /> + <glyph glyph-name="adn" unicode="&#xf170;" horiz-adv-x="496" +d="M248 280.5l64.9004 -98.7998h-129.801zM496 192c0 -136.9 -111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248s248 -111.1 248 -248zM396.2 109.3l-148.2 223.2l-148.2 -223.2h30.4004l33.5996 51.7002h168.601l33.5996 -51.7002h30.2002z" /> + <glyph glyph-name="bitbucket" unicode="&#xf171;" horiz-adv-x="512" +d="M22.2002 416l466.8 -0.200195c0.776367 -0.0107422 2.03027 -0.100586 2.7998 -0.200195c7.39648 -1.21875 13.3984 -8.29102 13.3984 -15.7871c0 -0.697266 -0.0888672 -1.82324 -0.198242 -2.5127l-67.9004 -416.8 +c-1.2168 -7.39746 -8.29004 -13.4014 -15.7871 -13.4014c-0.0585938 0 -0.154297 0.000976562 -0.212891 0.000976562h-325.699c-10.1016 0.0820312 -19.6445 8.23535 -21.3008 18.2002l-67.8994 412.101c-0.0966797 0.769531 -0.186523 2.02344 -0.200195 2.7998 +c0.108398 8.72168 7.27539 15.8008 15.999 15.8008c0.0556641 0 0.145508 0 0.201172 -0.000976562zM308.1 118.2l25.2002 147h-157.3l28.0996 -147h104z" /> + <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="320" +d="M309.8 -32.2998c-13.5996 -14.5 -50 -31.7002 -97.3994 -31.7002c-120.801 0 -147 88.7998 -147 140.6v144h-47.5c-5.5 0 -10 4.5 -10 10v68c0 7.2002 4.5 13.6006 11.2998 16c62 21.8008 81.5 76 84.2998 117.101c0.799805 11 6.5 16.2998 16.0996 16.2998h70.9004 +c5.5 0 10 -4.5 10 -10v-115.2h83c5.5 0 10 -4.39941 10 -9.89941v-81.7002c0 -5.5 -4.5 -10 -10 -10h-83.4004v-133.2c0 -34.2002 23.7002 -53.5996 68 -35.7998c4.80078 1.89941 9 3.2002 12.7002 2.2002c3.5 -0.900391 5.7998 -3.40039 7.40039 -7.90039l22 -64.2998 +c1.7998 -5 3.2998 -10.6006 -0.400391 -14.5z" /> + <glyph glyph-name="tumblr-square" unicode="&#xf174;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM317.7 51.7998c2.2998 2.40039 1.2998 5.90039 0.299805 9.10059l-13.7998 40.1992c-1 2.80078 -2.40039 4.40039 -4.60059 4.90039 +c-2.39941 0.599609 -5 -0.200195 -8 -1.40039c-27.6992 -11.0996 -42.5 1 -42.5 22.4004v83.2998h52.1006c3.39941 0 6.2002 2.7998 6.2002 6.2002v51.0996c0 3.40039 -2.80078 6.2002 -6.2002 6.2002h-51.9004v72c0 3.40039 -2.7998 6.2002 -6.2002 6.2002h-44.2998 +c-5.89941 0 -9.5 -3.2998 -10 -10.2002c-1.7998 -25.7002 -13.8994 -59.5 -52.7002 -73.2002c-4.2998 -1.5 -7.09961 -5.5 -7.09961 -10v-42.5c0 -3.39941 2.7998 -6.19922 6.2002 -6.19922h29.7002v-90c0 -32.4004 16.3994 -87.9004 91.8994 -87.9004 +c29.7002 0 52.4004 10.7002 60.9004 19.7998z" /> + <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="384" +d="M318.7 179.3c0 -1.89941 -3.5 -61.2002 61.7002 -91.8994c-12.2002 -36.8008 -54 -118.601 -102.601 -119.301c-28.0996 0 -44.5996 17.9004 -76.3994 17.9004c-32.8008 0 -50.6006 -17.2998 -75.8008 -17.9004c-48.1992 -1.5 -94.3994 88.5 -107.199 125.2 +c-9.60059 27.9336 -14.4004 55 -14.4004 81.2002c0 88.7002 59.2998 132.3 115.1 133.2c27 0 61.4004 -19.7002 76.4004 -19.7002c14.2002 0 53 23.5 88.5 20.7002c37.5 -2.90039 65.9004 -17.7002 84.7002 -44.6006c-33.6006 -20.3994 -50.2002 -48.0996 -50 -84.7998z +M262.1 343.5c-19.5996 -22.9004 -43.3994 -36.2998 -69.5 -34.2998c-2.19922 27.5996 8.10059 52.0996 25.6006 71.8994c15.8994 18.5 43.7998 33.5 67.8994 34.9004c0.800781 -10.5996 3.30078 -40.0996 -24 -72.5z" /> + <glyph glyph-name="windows" unicode="&#xf17a;" +d="M0 354.3l183.6 25.2998v-177.399h-183.6v152.1zM0 29.7002v149.899h183.6v-175.199zM203.8 1.7002v177.899h244.2v-211.6zM203.8 382.3l244.2 33.7002v-213.8h-244.2v180.1z" /> + <glyph glyph-name="android" unicode="&#xf17b;" +d="M89.5996 243.5v-115.8c0 -15.4004 -12.0996 -27.7002 -27.5 -27.7002c-15.2998 0 -30.0996 12.4004 -30.0996 27.7002v115.8c0 15.0996 14.7998 27.5 30.0996 27.5c15.1006 0 27.5 -12.4004 27.5 -27.5zM100.4 86.5v179.4h247.3v-179.4 +c0 -16.4004 -13.2002 -29.5996 -29.4004 -29.5996h-20.2002v-61.1006c0 -36.7998 -55.5 -36.7002 -55.5 0v61.1006h-37.1992v-61.1006c0 -36.5996 -55.2002 -36.8994 -55.2002 0l-0.299805 61.1006h-19.9004c-16.4004 0 -29.5996 13.1992 -29.5996 29.5996zM348.4 275.6 +h-249.101c0 42.8008 25.6006 80 63.6006 99.4004l-19.1006 35.2998c-2.7998 4.90039 4.2998 8 6.7002 3.7998l19.4004 -35.5996c34.8994 15.5 75 14.7002 108.3 0l19.2998 35.5c2.5 4.2998 9.5 1.09961 6.7002 -3.7998l-19.1006 -35.2002 +c37.7002 -19.4004 63.3008 -56.5996 63.3008 -99.4004zM177.7 331.1c0 5.7002 -4.60059 10.5 -10.5 10.5c-5.7002 0 -10.2002 -4.7998 -10.2002 -10.5c0 -5.69922 4.59961 -10.5 10.2002 -10.5c5.89941 0 10.5 4.80078 10.5 10.5zM291.1 331.1 +c0 5.7002 -4.59961 10.5 -10.1992 10.5c-5.90039 0 -10.5 -4.7998 -10.5 -10.5c0 -5.69922 4.59961 -10.5 10.5 -10.5c5.59961 0 10.1992 4.80078 10.1992 10.5zM385.9 271c15.2998 0 30.0996 -12.0996 30.0996 -27.5v-115.8 +c0 -15.2998 -14.7002 -27.7002 -30.0996 -27.7002c-15.1006 0 -27.5 12.2998 -27.5 27.7002v115.8c0 15.4004 12.3994 27.5 27.5 27.5z" /> + <glyph glyph-name="linux" unicode="&#xf17c;" +d="M220.8 324.7c-1.09961 0.599609 -3.09961 0.399414 -3.39941 1.7002c-0.200195 0.399414 0.199219 0.899414 0.599609 1.09961c1.59961 0.900391 3.7998 0.599609 5.5 -0.0996094c1.2998 -0.600586 3.40039 -1.5 3.2002 -2.90039 +c-0.100586 -1.09961 -1.7998 -1.5 -2.90039 -1.5c-1.2002 0 -2 1.2002 -3 1.7002zM198.9 323c-1 -0.0996094 -2.7002 0.400391 -2.80078 1.40039c-0.199219 1.39941 1.90039 2.2998 3.2002 2.89941c1.7002 0.700195 3.90039 1 5.5 0.100586 +c0.400391 -0.200195 0.799805 -0.700195 0.600586 -1.10059c-0.400391 -1.2002 -2.40039 -1 -3.5 -1.59961c-1 -0.5 -1.80078 -1.7002 -3 -1.7002zM420 44.2002c11.0996 -12.4004 15.9004 -21.5 15.5 -29.7002c-0.5 -8.2002 -6.5 -13.7998 -13.9004 -18.2998 +c-14.8994 -9 -37.2998 -15.7998 -50.8994 -32.2002c-14.2002 -16.9004 -31.7002 -26.5996 -48.2998 -27.9004c-16.5 -1.2998 -32 6.30078 -40.3008 23v0.100586c-1.09961 2.09961 -1.89941 4.39941 -2.5 6.7002c-21.5 -1.2002 -40.1992 5.2998 -55.0996 4.09961 +c-22 -1.2002 -35.7998 -6.5 -48.2998 -6.59961c-4.7998 -10.6006 -14.2998 -17.6006 -25.9004 -20.2002c-16 -3.7002 -36.0996 0 -55.8994 10.3994c-18.5 9.80078 -42 8.90039 -59.3008 12.5c-8.69922 1.80078 -16.2998 5 -20.0996 12.3008 +c-3.7002 7.2998 -3 17.2998 2.2002 31.6992c1.7002 5.10059 0.399414 12.7002 -0.799805 20.8008c-0.600586 3.89941 -1.2002 7.89941 -1.2002 11.7998c0 4.2998 0.700195 8.5 2.7998 12.3994c4.5 8.5 11.7998 12.1006 18.5 14.5c6.7002 2.40039 12.7998 4 17 8.30078 +c5.2002 5.5 10.0996 14.3994 16.5996 20.1992c-2.59961 17.2002 0.200195 35.4004 6.2002 53.3008c12.6006 37.8994 39.2002 74.1992 58.1006 96.6992c16.0996 22.9004 20.7998 41.3008 22.5 64.7002c1.09961 31.7998 -24.5 135.4 77.8994 135.2 +c80.9004 -0.0996094 76.2998 -85.4004 75.7998 -131.3c-0.299805 -30.1006 16.3008 -50.5 33.4004 -72c15.2002 -18 35.0996 -44.2998 46.5 -74.4004c9.2998 -24.5996 12.9004 -51.7998 3.7002 -79.0996c1.39941 -0.5 2.7998 -1.2002 4.09961 -2 +c1.40039 -0.799805 2.7002 -1.7998 4 -2.90039c6.60059 -5.59961 8.7002 -14.2998 10.5 -22.3994c1.90039 -8.10059 3.60059 -15.7002 7.2002 -19.7002zM223.7 360.7c-3.2002 -7.2002 -3.90039 -14.9004 -2.90039 -21.7998c3.60059 -0.900391 8.90039 -2.40039 13 -4.40039 +c-2.09961 12.2002 4.5 23.5 11.7998 23c8.90039 -0.299805 13.9004 -15.5 9.10059 -27.2998c-0.799805 -1.90039 -2.7998 -3.40039 -3.90039 -4.60059c6.7002 -2.2998 11 -4.09961 12.6006 -4.89941c7.89941 9.5 10.7998 26.2002 4.2998 40.3994 +c-9.7998 21.4004 -34.2002 21.8008 -44 -0.399414zM183 372.2c-18.9004 0 -24 -37.5 -8.40039 -52.1006c7.80078 5.7002 6.90039 4.7002 5.90039 5.5c-8 6.90039 -6.59961 27.4004 1.7998 28.1006c6.2998 0.5 10.7998 -10.7002 9.60059 -19.6006 +c3.09961 2.10059 6.69922 3.60059 10.1992 4.60059c1.7002 19.2998 -9 33.5 -19.0996 33.5zM169.4 311.5c-4.2002 -3.2998 -5.60059 -7.40039 -4.2002 -12.2998c1.5 -4.90039 6.09961 -10.5 14.7002 -15.2998c7.7998 -4.60059 12 -11.5 20 -15 +c2.59961 -1.10059 5.69922 -1.90039 9.59961 -2.10059c18.4004 -1.09961 27.0996 11.2998 38.2002 14.9004c11.7002 3.7002 20.0996 11 22.7002 18.0996c3.19922 8.5 -2.10059 14.7002 -10.5 18.2002c-11.3008 4.90039 -16.3008 5.2002 -22.6006 9.2998 +c-10.2998 6.60059 -18.7998 8.90039 -25.8994 8.90039c-14.4004 0 -23.2002 -9.7998 -27.9004 -14.2002c-0.5 -0.5 -7.90039 -5.90039 -14.0996 -10.5zM172.7 -22.5c2.09961 20.5 -31.5 49 -41 68.9004l-19.6006 35.5996c-6.7998 9.2002 -13.7998 14.7998 -21.8994 16 +c-7.7002 1.2002 -12.6006 -1.40039 -17.7002 -6.90039c-4.7998 -5.09961 -8.7998 -12.2998 -14.2998 -18c-7.7998 -6.5 -9.2998 -6.19922 -19.6006 -9.89941c-6.2998 -2.2002 -11.2998 -4.60059 -14.7998 -11.2998c-2.7002 -5 -2.09961 -12.2002 -0.899414 -20 +c1.19922 -7.90039 3 -16.3008 0.599609 -23.9004v-0.200195c-5 -13.7002 -5 -21.7002 -2.59961 -26.3994c7.89941 -15.4004 46.5996 -6.10059 76.5 -21.9004c31.3994 -16.4004 72.5996 -17.0996 75.2998 18zM171.3 3.40039c37.6006 -25.7002 82.2002 -15.7002 114.3 7.19922 +c3.2002 11 6.30078 21.3008 6.80078 29c0.799805 15.2002 1.59961 28.7002 4.39941 39.9004c3.10059 12.5996 9.2998 23.0996 21.4004 27.2998c2.2998 21.1006 18.7002 21.1006 38.2998 12.5c18.9004 -8.5 26 -16 22.7998 -26.0996c1 0 2 0.0996094 4.2002 0 +c5.2002 16.8994 -14.2998 28 -30.7002 34.7998c2.90039 12 2.40039 24.0996 -0.399414 35.7002c-6 25.2998 -22.6006 47.7998 -35.2002 59c-2.2998 0.0996094 -2.10059 -1.90039 2.59961 -6.5c11.6006 -10.7002 37.1006 -49.2002 23.2998 -84.9004 +c-3.89941 1 -7.59961 1.5 -10.8994 1.40039c-5.2998 29.0996 -17.5 53.2002 -23.6006 64.5996c-11.5 21.4004 -29.5 65.2998 -37.1992 95.7002c-4.5 -6.40039 -12.4004 -11.9004 -22.3008 -15c-4.69922 -1.5 -9.69922 -5.5 -15.8994 -9 +c-13.9004 -8 -30 -8.7998 -42.4004 1.2002c-4.5 3.59961 -8 7.59961 -12.5996 10.2998c-1.60059 0.900391 -5.10059 3.2998 -6.2002 4.09961c-2 -37.7998 -27.2998 -85.2998 -39.2998 -112.699c-8.2998 -19.7002 -13.2002 -40.8008 -13.7998 -61.5 +c-21.8008 29.0996 -5.90039 66.2998 2.59961 82.3994c9.5 17.6006 11 22.5 8.7002 20.7998c-8.60059 -14 -22 -36.2998 -27.2002 -59.1992c-2.7002 -11.9004 -3.2002 -24 0.299805 -35.2002s11.1006 -21.5 24.6006 -29.9004c0 0 24.7998 -14.2998 38.2998 -32.5 +c7.39941 -10 9.7002 -18.7002 7.39941 -24.8994c-2.5 -6.7002 -9.59961 -8.90039 -16.6992 -8.90039c4.7998 -6 10.2998 -13 14.3994 -19.5996zM428.7 14.9004c0.299805 5.09961 -3.10059 13 -13.7002 24.5996c-10 11.2998 -7.2002 33.0996 -17.0996 41.5996 +c-6.90039 6 -13.6006 5.40039 -22.6006 5.10059c-7.7002 -8.7998 -25.7998 -19.6006 -38.3994 -16.2998c-11.5 2.89941 -18 16.2998 -18.8008 29.5c-0.299805 -0.200195 -0.699219 -0.300781 -1 -0.5c-7.09961 -3.90039 -11.0996 -10.8008 -13.6992 -21.1006 +c-2.5 -10.2002 -3.40039 -23.5 -4.2002 -38.7002c-0.700195 -11.7998 -6.2002 -26.3994 -9.90039 -40.5996c-3.5 -13.2002 -5.7998 -25.2002 -1.09961 -36.2998c7.2002 -14.5 19.5 -20.4004 33.7002 -19.2998c14.1992 1.09961 30.3994 9.7998 43.5996 25.5 +c22 26.5996 62.2998 29.6992 63.2002 46.5zM173.3 299.3c-3.5 2.7998 -3.09961 6.60059 -1.7002 6.5c2.40039 -0.299805 2.80078 -3.5 4.30078 -4.89941c2 -1.90039 4.59961 -4.40039 7.69922 -6.90039c6.2002 -4.90039 14.5 -9.7002 24.9004 -9.7002 +s22.5 6 29.9004 10.2002c4.19922 2.40039 9.5 6.59961 13.8994 9.7998c3.40039 2.5 3.2002 5.40039 6 5.10059c2.7998 -0.300781 0.799805 -3.2002 -3.09961 -6.60059c-3.90039 -3.39941 -9.90039 -7.7998 -14.7998 -10.3994 +c-9.30078 -4.90039 -20.2002 -10.8008 -31.8008 -10.8008c-11.5 0 -20.6992 5.40039 -27.2998 10.6006c-3.2998 2.59961 -6 5.2002 -8 7.09961z" /> + <glyph glyph-name="dribbble" unicode="&#xf17d;" horiz-adv-x="512" +d="M256 440c136.748 0 248 -111.252 248 -248s-111.252 -248 -248 -248s-248 111.252 -248 248s111.252 248 248 248zM419.97 325.634c-4.46582 -6.04102 -39.9629 -51.5459 -118.284 -83.5225c7.43652 -15.2217 12.8652 -27.5732 18.6172 -41.6143 +c70.4844 8.86426 140.519 -5.34082 147.502 -6.81836c-0.46582 49.998 -18.332 95.9092 -47.835 131.955zM396.421 350.13c-52.0947 46.2188 -122.885 63.6816 -190.061 47.4893c5.85449 -7.83984 44.3281 -60.2324 79.04 -124.008 +c75.3232 28.2324 107.211 71.0918 111.021 76.5186zM165.941 383.38c-59.2637 -27.9531 -103.562 -82.585 -117.298 -148.318c9.47461 -0.125 96.7471 -0.503906 195.834 25.8096c-35.0986 62.3926 -72.9512 114.85 -78.5361 122.509zM44.1699 191.677 +c0 -54.4072 20.624 -104.082 54.457 -141.636c34.3369 58.7793 103.932 120.731 180.531 142.306c-5.31738 12.0342 -11.1104 24.0811 -17.1738 35.9492c-105.786 -31.6592 -208.438 -30.3359 -217.706 -30.1455c-0.0654297 -2.15137 -0.108398 -4.30762 -0.108398 -6.47363 +zM125.977 24.5645c62.7539 -48.9355 144.656 -56.8955 212.769 -27.8828c-3.15039 18.585 -15.4492 83.3555 -45.1895 160.639c-85.4004 -29.1348 -145.452 -87.5234 -167.579 -132.756zM374.357 16.0752c47.5215 32.1338 81.3525 83.0371 90.7949 141.978 +c-7.24707 2.28711 -65.5674 19.6816 -131.947 9.05566c27.7061 -76.1367 38.9805 -138.147 41.1523 -151.033z" /> + <glyph glyph-name="skype" unicode="&#xf17e;" +d="M424.7 148.2c14.5996 -18.9004 23.2998 -42.5 23.2002 -68.1006c0 -61.7998 -50.2002 -112 -112 -112c-25.6006 0 -49.2002 8.7002 -68.2002 23.3008c-14.1006 -3 -28.9004 -4.7002 -43.7998 -4.7002c-113.4 0 -205.301 91.7998 -205.301 205.3 +c0 14.9004 1.80078 29.7998 4.7002 43.7998c-14.5996 18.9004 -23.2998 42.5 -23.2998 68.2002c0 61.7998 50.2002 112 112 112c25.7002 0 49.2998 -8.7002 68.2998 -23.4004c14.1006 3 28.9004 4.7002 43.7998 4.7002c113.4 0 205.301 -91.7998 205.301 -205.3 +c0 -14.9004 -1.80078 -29.7998 -4.7002 -43.7998zM230.1 56.7002c54.9004 0 112 27.3994 112 86.5c0 50.7998 -49.2998 68.2998 -90.6992 77.5996c-48.3008 11.2002 -69.1006 13.2002 -69.1006 33c0 15.5 16.2998 22.5 42 22.5c45.7998 0 46.7002 -33.5 75 -33.5 +c18.9004 0 30.2998 14.9004 30.2998 31.7998c0 33.5 -55.6992 55.4004 -110.8 55.4004c-50.5 0 -109.1 -21.9004 -109.1 -81.0996c0 -65.2002 55.2998 -71.8008 117.8 -87.2002c26 -6.40039 42 -9.2998 42 -28c0 -14.9004 -16.5996 -26.2998 -42.2998 -26.2998 +c-54 0 -56.9004 44.8994 -88.1006 44.8994c-20.5 0 -29.5 -14.5996 -29.5 -30.5996c0 -35.7998 54.9004 -65 120.5 -65z" /> + <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="368" +d="M323.1 445c40 0 50.7002 -22.7998 42.2002 -65.2002l-48.5996 -243c-3.7002 -14.5 -9.2002 -39.7002 -44.2998 -39.7002h-83.4004c-3.40039 0 -3.7002 0.300781 -6.7998 -3.09961c0 0 -2.2002 -2.5 -131.101 -151.9 +c-10.0996 -11.6992 -26.6992 -9.59961 -32.8994 -7.09961c-6.10059 2.40039 -18.2002 9.7998 -18.2002 30.0996v433.801c0 17.7998 12.4004 46.0996 49.9004 46.0996h273.199zM306.8 371.2c2.10059 9.7998 -5.2998 17.5 -13.5 17.5h-219 +c-9.7998 0 -16.5996 -8.90039 -16.5996 -16.6006v-338.8c0 -0.899414 0.899414 -1.2002 1.7998 -0.299805c80.5996 96.9004 89.5 108.3 89.5 108.3c9.2998 10.7998 13 12.6006 26.5 12.6006h73.5c10.0996 0 16 8.59961 16.9004 13.5 +c0.899414 5 9.59961 49.8994 11.3994 58.7998c1.7998 9 -6.5 18.2002 -14.7998 18.2002h-90.4004c-12 0 -20.5996 8.59961 -20.5996 20.5996v13c0 12 8.59961 20.2998 20.5996 20.2998h106.4c7.40039 0 15.7002 6.7002 16.9004 13.2002z" /> + <glyph glyph-name="trello" unicode="&#xf181;" +d="M392.3 416c30.7998 -0.200195 55.7002 -25.2002 55.6006 -56v-336c0 -30.7998 -24.9004 -55.7998 -55.7002 -56h-336.2c-30.9004 0 -56 25.0996 -56 56c0 340 -0.0996094 336 0 336c0 30.9004 25.0996 56 56.0996 56h336.2zM197 76.7002h0.0996094v254.2 +c0 14.8994 -12.0996 26.8994 -26.8994 26.8994h-82.9004c-14.8994 0 -26.8994 -12.0996 -26.8994 -26.8994v-254.2c0.0996094 -14.7998 12.1992 -26.7002 27 -26.6006h82.6992c14.8008 0 26.7002 11.9004 26.9004 26.6006zM390.1 188.7v142.1 +c0 14.9004 -12.0996 26.9004 -26.8994 26.9004h-81.1006c-14.7998 0 -26.7998 -12.1006 -26.7998 -26.9004v-142.1c0 -14.9004 12.1006 -26.9004 26.9004 -26.9004h81c14.8994 0 26.8994 12.1006 26.8994 26.9004z" /> + <glyph glyph-name="gratipay" unicode="&#xf184;" horiz-adv-x="496" +d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM362.6 213.6c8.80078 12 19.1006 50.4004 -13.7998 72c-27.7002 18.1006 -54.2002 4.2002 -68.0996 -11.8994c-15.1006 -16.9004 -45.7998 -17.9004 -61.7002 0 +c-13.9004 16.0996 -40.4004 30 -68.5 11.8994c-32.7002 -21.5996 -22.2998 -60.0996 -13.5996 -72l112.699 -152.699z" /> + <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="576" +d="M545 330.3c-7.40039 -34.2998 -79.2998 -135.5 -79.4004 -135.6c-6.19922 -10 -8.69922 -15 0 -26.2002c3.40039 -4.7998 79.1006 -76.5996 90.3008 -111.5c4.89941 -16.5996 -3.60059 -25 -20.4004 -25h-58.9004c-22.3994 0 -29 17.9004 -69 57.9004 +c-35 33.6992 -50 38.0996 -58.6992 38.0996c-18.8008 0 -15.4004 -6.2998 -15.4004 -73.0996c0 -14.5 -4.59961 -22.9004 -42.0996 -22.9004c-62.4004 0 -131 37.9004 -179.7 107.8c-73.1006 102.4 -93.1006 179.9 -93.1006 195.5c0 8.7998 3.40039 16.7002 20.2002 16.7002 +h58.9004c15.0996 0 20.7998 -6.59961 26.5996 -22.9004c28.7998 -84 77.4004 -157.399 97.4004 -157.399c7.5 0 10.8994 3.5 10.8994 22.5v86.7998c-2.19922 40 -23.3994 43.2998 -23.3994 57.5c0 6.5 5.59961 13.5 15 13.5h92.5996 +c12.4004 0 16.6006 -6.7002 16.6006 -21.7002v-116.7c0 -12.5 5.69922 -16.8994 9.39941 -16.8994c7.5 0 13.7998 4.39941 27.5 18.0996c42.4004 47.4004 72.4004 120.5 72.4004 120.5c3.7002 8.7998 10.5996 16.7002 25.5996 16.7002h58.9004 +c17.7998 0 21.5 -9.2002 17.7998 -21.7002z" /> + <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="512" +d="M407 270.4c7.59961 24 -13.4004 46.7998 -37.4004 41.6992c-22 -4.7998 -28.7998 28.1006 -7.09961 32.8008c50.0996 10.8994 92.2998 -37.1006 76.5 -84.8008c-6.7998 -21.1992 -38.7998 -10.7998 -32 10.3008zM214.8 1.2998c-106.3 0 -214.8 51.4004 -214.8 136.3 +c0 44.3008 28 95.4004 76.2998 143.7c99.7002 99.7002 203.2 100.9 173.601 5.7002c-4 -13.0996 12.2998 -5.7002 12.2998 -6c79.5 33.5996 140.5 16.7998 114 -51.4004c-3.7002 -9.39941 1.09961 -10.8994 8.2998 -13.0996c135.7 -42.2998 34.7998 -215.2 -169.7 -215.2z +M358.5 147.6c-5.40039 55.7002 -78.5 94 -163.4 85.7002c-84.7998 -8.59961 -148.8 -60.2998 -143.399 -116c5.39941 -55.7002 78.5 -94 163.399 -85.7002c84.8008 8.60059 148.801 60.3008 143.4 116zM347.9 412.9c102.3 21.5996 189.3 -74.5 157.399 -174.301 +c-8.2998 -25 -44.7998 -12.1992 -37.3994 12c23.0996 71.2002 -39.4004 139.2 -111.7 124c-25.1006 -5.39941 -34.2002 32.7002 -8.2998 38.3008zM269.4 101.9c-17.1006 -38.8008 -66.8008 -60 -109.101 -46.3008c-40.7998 13.1006 -58 53.4004 -40.2998 89.7002 +c17.7002 35.4004 63.0996 55.4004 103.4 45.1006c42 -10.8008 63.0996 -50.2002 46 -88.5zM183.1 131.9c-12.8994 5.39941 -30 -0.300781 -38 -12.9004c-8.2998 -12.9004 -4.2998 -28 8.60059 -34c13.0996 -6 30.7998 -0.299805 39.0996 12.9004 +c8 13.0996 3.7002 28.2998 -9.7002 34zM215.7 145.3c-5.10059 1.7002 -11.4004 -0.599609 -14.2998 -5.39941c-2.90039 -5.10059 -1.40039 -10.6006 3.69922 -12.9004c5.10059 -2 11.7002 0.299805 14.6006 5.40039c2.7998 5.19922 1.09961 10.8994 -4 12.8994z" /> + <glyph glyph-name="renren" unicode="&#xf18b;" horiz-adv-x="512" +d="M214 278.9c0 -110.4 -61 -205.4 -147.6 -247.4c-36.4004 43.2998 -58.4004 98.7998 -58.4004 159.9c0 122.699 89.0996 224.399 206 244.1v-156.6zM255 -56c-42.9004 0 -83.2998 11 -118.5 30.4004c57.2002 36.0996 103.4 90.6992 118.5 154.6 +c15.5 -63.9004 61.7002 -118.5 118.8 -154.7c-35.0996 -19.2998 -75.5 -30.2998 -118.8 -30.2998zM445.6 31.5c-86.5996 42 -147.6 136.9 -147.6 247.4v156.6c116.9 -19.7002 206 -121.4 206 -244.1c0 -61.1006 -22 -116.601 -58.4004 -159.9z" /> + <glyph glyph-name="pagelines" unicode="&#xf18c;" horiz-adv-x="384" +d="M384 135.3c-55.0996 -136.7 -187.1 -54 -187.1 -54c-40.5 -81.7998 -107.4 -134.399 -184.601 -134.7c-16.0996 0 -16.5996 24.4004 0 24.4004c64.4004 0.299805 120.5 42.7002 157.2 110.1c-41.0996 -15.8994 -118.6 -27.8994 -161.6 82.2002 +c109 44.9004 159.1 -11.2002 178.3 -45.5c9.89941 24.4004 17 50.9004 21.5996 79.7002c0 0 -139.7 -21.9004 -149.5 98.0996c119.101 47.9004 152.601 -76.6992 152.601 -76.6992c1.59961 16.6992 3.2998 52.5996 3.2998 53.3994c0 0 -106.3 73.7002 -38.1006 165.2 +c124.601 -43 61.4004 -162.4 61.4004 -162.4c0.5 -1.59961 0.5 -23.7998 0 -33.3994c0 0 45.2002 89 136.4 57.5c-4.2002 -134 -141.9 -106.4 -141.9 -106.4c-4.40039 -27.3994 -11.2002 -53.3994 -20 -77.5c0 0 83 91.7998 172 20z" /> + <glyph glyph-name="stack-exchange" unicode="&#xf18d;" +d="M17.7002 115.7h412.7v-22c0 -37.7002 -29.3008 -68 -65.3008 -68h-19l-86.7998 -89.7002v89.7002h-176.3c-36 0 -65.2998 30.2998 -65.2998 68v22zM17.7002 139.3v85h412.7v-85h-412.7zM17.7002 248.7v85h412.7v-85h-412.7zM365 448 +c36 0 65.2998 -30.2998 65.4004 -67.7002v-22.2998h-412.7v22.2998c0 37.4004 29.2998 67.7002 65.2998 67.7002h282z" /> + <glyph glyph-name="vimeo-square" unicode="&#xf194;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM383.8 266.4c1.90039 41.5996 -13.5996 63 -46.5 64c-44.2998 1.39941 -74.3994 -23.6006 -90.0996 -75.1006 +c19.5996 8.40039 48.5996 10.6006 45.2002 -22.2002c-0.900391 -11.0996 -8.10059 -27.0996 -21.5 -48.2998c-37.2002 -58.7002 -46.3008 -39.0996 -66.8008 90.5c-5.7998 36.5 -21.0996 53.5 -46 51.1006c-22 -2 -57.1992 -38 -94.0996 -70.4004l15 -19.4004 +c14.2998 10.1006 22.7002 15.1006 25.0996 15.1006c20.8008 0 31.5 -54.1006 56.7002 -146.4c12.9004 -34.3994 28.6006 -51.5996 47.2998 -51.5996c30.1006 0 66.9004 28.2998 110.4 84.7998c42.0996 54.0996 63.9004 96.7998 65.2998 127.9z" /> + <glyph glyph-name="slack" unicode="&#xf198;" +d="M94.1201 132.9c0 -25.9004 -21.1602 -47.0605 -47.0605 -47.0605c-25.8994 0 -47.0596 21.1602 -47.0596 47.0605c0 25.8994 21.1602 47.0596 47.0596 47.0596h47.0605v-47.0596zM117.84 132.9c0 25.8994 21.1602 47.0596 47.0605 47.0596 +c25.8994 0 47.0596 -21.1602 47.0596 -47.0596v-117.841c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596c-25.9004 0 -47.0605 21.1602 -47.0605 47.0596v117.841zM164.9 321.88c-25.9004 0 -47.0605 21.1602 -47.0605 47.0605c0 25.8994 21.1602 47.0596 47.0605 47.0596 +c25.8994 0 47.0596 -21.1602 47.0596 -47.0596v-47.0605h-47.0596zM164.9 298.16c25.8994 0 47.0596 -21.1602 47.0596 -47.0605c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596h-117.841c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596 +c0 25.9004 21.1602 47.0605 47.0596 47.0605h117.841zM353.88 251.1c0 25.9004 21.1602 47.0605 47.0605 47.0605c25.8994 0 47.0596 -21.1602 47.0596 -47.0605c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596h-47.0605v47.0596zM330.16 251.1 +c0 -25.8994 -21.1602 -47.0596 -47.0605 -47.0596c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596v117.841c0 25.8994 21.1602 47.0596 47.0596 47.0596c25.9004 0 47.0605 -21.1602 47.0605 -47.0596v-117.841zM283.1 62.1201c25.9004 0 47.0605 -21.1602 47.0605 -47.0605 +c0 -25.8994 -21.1602 -47.0596 -47.0605 -47.0596c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596v47.0605h47.0596zM283.1 85.8398c-25.8994 0 -47.0596 21.1602 -47.0596 47.0605c0 25.8994 21.1602 47.0596 47.0596 47.0596h117.841 +c25.8994 0 47.0596 -21.1602 47.0596 -47.0596c0 -25.9004 -21.1602 -47.0605 -47.0596 -47.0605h-117.841z" /> + <glyph glyph-name="wordpress" unicode="&#xf19a;" horiz-adv-x="512" +d="M61.7002 278.6l101.5 -278c-71 34.4004 -119.9 107.2 -119.9 191.4c0 30.9004 6.60059 60.0996 18.4004 86.5996zM399.6 202.7c0 -18.2002 -7 -39.2998 -16 -68.7002l-21.1992 -70.9004l-76.9004 228.7c12.7998 0.700195 24.2998 2 24.2998 2 +c11.4004 1.2998 10.1006 18.2002 -1.39941 17.5c0 0 -34.5 -2.7002 -56.7002 -2.7002c-20.9004 0 -56 2.7002 -56 2.7002c-11.4004 0.700195 -12.7998 -16.7998 -1.2998 -17.5c0 0 10.7998 -1.2998 22.2998 -2l33.0996 -90.7998l-46.5996 -139.6l-77.5 230.399 +c12.7998 0.700195 24.2998 2 24.2998 2c11.4004 1.2998 10.0996 18.2002 -1.40039 17.5c0 0 -34.5 -2.7002 -56.6992 -2.7002c-4 0 -8.7002 0.100586 -13.7002 0.300781c38.0996 57.7998 103.5 95.8994 177.8 95.8994c55.4004 0 105.8 -21.2002 143.7 -55.8994 +c-1 0.0996094 -1.90039 0.199219 -2.7998 0.199219c-20.9004 0 -35.7002 -18.1992 -35.7002 -37.7998c0 -17.5 10.0996 -32.3994 20.8994 -49.8994c8.10059 -14.2002 17.5 -32.4004 17.5 -58.7002zM259.7 173.4l65.3994 -179.2c0.400391 -1 0.900391 -2 1.5 -2.90039 +c-22.0996 -7.7998 -45.7998 -12.0996 -70.5996 -12.0996c-20.9004 0 -41 3.09961 -60.0996 8.7002zM442.7 294.1c16.5996 -30.2998 26 -65.0996 26 -102.1c0 -78.5 -42.5 -147 -105.8 -183.9l65 187.9c12.1992 30.4004 16.1992 54.5996 16.1992 76.2002 +c0 7.89941 -0.5 15.0996 -1.39941 21.8994zM504 192c0 -136.8 -111.3 -248 -248 -248c-136.8 0 -248 111.3 -248 248c0 136.8 111.2 248 248 248c136.7 0 248 -111.2 248 -248zM492.6 192c0 130.5 -106.199 236.6 -236.6 236.6c-130.5 0 -236.6 -106.1 -236.6 -236.6 +s106.199 -236.6 236.6 -236.6c130.5 0 236.6 106.1 236.6 236.6z" /> + <glyph glyph-name="openid" unicode="&#xf19b;" +d="M271.5 16l-68 -32c-115 10.2998 -203.5 71.5 -203.5 145.8c0 71.5 82.5 131 191.7 144.3v-43c-71.5 -12.5 -124 -53 -124 -101.3c0 -51 58.5 -93.2998 135.7 -103v340l68 33.2002v-384h0.0996094zM448 157l-131.3 28.5l36.7998 20.7002c-19.5 11.5 -43.5 20 -70 24.7998 +v43c46.2002 -5.5 87.7002 -19.5 120.3 -39.2998l35 19.7998z" /> + <glyph glyph-name="yahoo" unicode="&#xf19e;" +d="M252 156l4 -220c-12.7002 2.2002 -23.5 3.90039 -32.2998 3.90039c-8.40039 0 -19.2002 -1.7002 -32.2998 -3.90039l4 220c-55 94.7998 -110.4 196.8 -174 292c11.8994 -3.09961 23 -3.90039 33.1992 -3.90039c9 0 20.4004 0.800781 34.1006 3.90039 +c40.8994 -72.2002 82.0996 -138.7 135 -225.5c37.2998 61.5996 91.0996 144.1 134.899 225.5c11.1006 -2.90039 22 -3.90039 32.9004 -3.90039c11.5 0 23.2002 1 35 3.90039c-34.4004 -47.9004 -131.6 -216.9 -174.5 -292z" /> + <glyph glyph-name="google" unicode="&#xf1a0;" horiz-adv-x="488" +d="M488 186.2c0 -141.5 -96.9004 -242.2 -240 -242.2c-137.2 0 -248 110.8 -248 248s110.8 248 248 248c66.7998 0 123 -24.5 166.3 -64.9004l-67.5 -64.8994c-88.2998 85.2002 -252.5 21.2002 -252.5 -118.2c0 -86.5 69.1006 -156.6 153.7 -156.6 +c98.2002 0 135 70.3994 140.8 106.899h-140.8v85.2998h236.1c2.30078 -12.6992 3.90039 -24.8994 3.90039 -41.3994z" /> + <glyph glyph-name="reddit" unicode="&#xf1a1;" horiz-adv-x="512" +d="M201.5 142.5c-13.7998 0 -24.9004 11.0996 -24.9004 24.5996c0 13.8008 11.1006 24.9004 24.9004 24.9004c13.5996 0 24.5996 -11.0996 24.5996 -24.9004c0 -13.5996 -11.0996 -24.5996 -24.5996 -24.5996zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248 +s111 248 248 248s248 -111 248 -248zM371.7 233.2c-9.40039 0 -17.7002 -3.90039 -23.7998 -10c-22.4004 15.5 -52.6006 25.5 -86.1006 26.5996l17.4004 78.2998l55.3994 -12.5c0 -13.5996 11.1006 -24.5996 24.6006 -24.5996c13.7998 0 24.8994 11.2998 24.8994 24.9004 +c0 13.5996 -11.0996 24.8994 -24.8994 24.8994c-9.7002 0 -18 -5.7998 -22.1006 -13.7998l-61.1992 13.5996c-3 0.800781 -6.10059 -1.39941 -6.90039 -4.39941l-19.0996 -86.4004c-33.2002 -1.39941 -63.1006 -11.2998 -85.5 -26.7998 +c-6.10059 6.40039 -14.7002 10.2002 -24.1006 10.2002c-34.8994 0 -46.2998 -46.9004 -14.3994 -62.7998c-1.10059 -5 -1.7002 -10.2002 -1.7002 -15.5c0 -52.6006 59.2002 -95.2002 132 -95.2002c73.0996 0 132.3 42.5996 132.3 95.2002 +c0 5.2998 -0.599609 10.7998 -1.90039 15.7998c31.3008 16 19.8008 62.5 -14.8994 62.5zM302.8 117c2.2002 2.2002 6.10059 2.2002 8.2998 0c2.5 -2.5 2.5 -6.40039 0 -8.59961c-22.8994 -22.8008 -87.3994 -22.8008 -110.199 0c-2.5 2.19922 -2.5 6.09961 0 8.59961 +c2.19922 2.2002 6.09961 2.2002 8.2998 0c17.5 -17.9004 75.3994 -18.2002 93.5996 0zM310.5 192c13.9004 0 24.9004 -11.0996 24.9004 -24.9004c0 -13.5 -11.1006 -24.5996 -24.9004 -24.5996c-13.5 0 -24.5996 11 -24.5996 24.5996c0 13.8008 11 24.9004 24.5996 24.9004z +" /> + <glyph glyph-name="reddit-square" unicode="&#xf1a2;" +d="M283.2 102.5c2.7002 -2.7002 2.7002 -6.7998 0 -9.2002c-24.5 -24.5 -93.7998 -24.5996 -118.4 0c-2.7002 2.40039 -2.7002 6.5 0 9.2002c2.40039 2.40039 6.5 2.40039 8.90039 0c18.7002 -19.2002 81 -19.5996 100.5 0c2.39941 2.2998 6.59961 2.2998 9 0zM191.9 156.3 +c0 -14.5996 -11.9004 -26.5 -26.5 -26.5c-14.9004 0 -26.8008 11.9004 -26.8008 26.5c0 14.9004 11.9004 26.7998 26.8008 26.7998c14.5996 0 26.5 -11.8994 26.5 -26.7998zM282.6 183.1c14.9004 0 26.8008 -11.8994 26.8008 -26.7998 +c0 -14.5996 -11.9004 -26.5 -26.8008 -26.5c-14.5996 0 -26.5 11.9004 -26.5 26.5c0 14.9004 11.9004 26.7998 26.5 26.7998zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM348.3 227.4 +c-10.0996 0 -19 -4.2002 -25.5996 -10.7002c-24.1006 16.7002 -56.5 27.3994 -92.5 28.5996l18.7002 84.2002l59.5 -13.4004c0 -14.5996 11.8994 -26.5 26.5 -26.5c14.8994 0 26.7998 12.2002 26.7998 26.8008c0 14.5996 -11.9004 26.7998 -26.7998 26.7998 +c-10.4004 0 -19.3008 -6.2002 -23.8008 -14.9004l-65.6992 14.6006c-3.30078 0.899414 -6.5 -1.5 -7.40039 -4.80078l-20.5 -92.7998c-35.7002 -1.5 -67.7998 -12.2002 -91.9004 -28.8994c-6.5 6.7998 -15.7998 11 -25.8994 11c-37.5 0 -49.7998 -50.4004 -15.5 -67.5 +c-1.2002 -5.40039 -1.7998 -11 -1.7998 -16.7002c0 -56.5 63.6992 -102.3 141.899 -102.3c78.5 0 142.2 45.7998 142.2 102.3c0 5.7002 -0.599609 11.5996 -2.09961 17c33.5996 17.2002 21.1992 67.2002 -16.1006 67.2002z" /> + <glyph glyph-name="stumbleupon-circle" unicode="&#xf1a3;" horiz-adv-x="496" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 262.5c9.7998 0 17.7998 -8 17.7002 -17.5996v-20.6006l22.8994 -10.7002l34.1006 10.1006v23.7002c0 40.2998 -34 72.5996 -74.7002 72.5996 +c-40.5 0 -74.7002 -32.0996 -74.7002 -72.0996v-108.4c0 -9.90039 -8 -17.7998 -17.7998 -17.7998s-17.7998 7.7998 -17.7998 17.7998v45.7998h-57.2998v-46.5c0 -41.3994 33.5 -74.8994 74.8994 -74.8994c41 0 74.9004 33 74.9004 73.8994v106.9 +c0 9.7998 8 17.7998 17.7998 17.7998zM423.6 138.9c0 0 0 0.5 0.100586 46.3994h-57.2998v-48c0 -9.7002 -8 -17.5996 -17.8008 -17.5996c-9.7998 0 -17.7998 7.7998 -17.7998 17.5996v47.1006l-34.0996 -10.1006l-22.9004 10.7002v-46.7998 +c0 -41 33.7002 -74.2002 74.9004 -74.2002c41.3994 0 74.8994 33.5 74.8994 74.9004z" /> + <glyph glyph-name="stumbleupon" unicode="&#xf1a4;" horiz-adv-x="512" +d="M502.9 182v-69.7002c0 -62.0996 -50.3008 -112.399 -112.4 -112.399c-61.7998 0 -112.4 49.7998 -112.4 111.3v70.2002l34.3008 -16l51.0996 15.1992v-70.5996c0 -14.7002 12 -26.5 26.7002 -26.5s26.7998 11.7998 26.7998 26.5v72h85.9004zM278.2 240.2v30.8994 +c0 14.7002 -12 26.7002 -26.7002 26.7002s-26.7002 -12 -26.7002 -26.7002v-160.3c0 -61.2998 -50.7998 -110.8 -112.399 -110.8c-62.1006 0 -112.4 50.2998 -112.4 112.3v69.7002h86v-68.5996c0 -14.9004 12 -26.7002 26.7002 -26.7002s26.7002 11.7998 26.7002 26.7002 +v162.399c0 60 51.2998 108.2 112.1 108.2c61 0 112.1 -48.5 112.1 -109v-35.5996l-51.0996 -15.2002z" /> + <glyph glyph-name="delicious" unicode="&#xf1a5;" +d="M446.5 380c1 -3.7998 1.5 -7.90039 1.59961 -12v-352.1c0 -26.5 -21.5 -48 -48 -48h-352c-4.09961 0 -8.19922 0.5 -12 1.5c-7.69922 2 -14.5996 5.7998 -20.2998 11c-1.2002 1.09961 -2.2998 2.19922 -3.2998 3.2998c-5.2002 5.7002 -9 12.5996 -11 20.2998 +c-1 3.7998 -1.5 7.90039 -1.5 12v352c0 26.5 21.5 48 48 47.9004h352c4.09961 0 8.2002 -0.5 12 -1.5c1.90039 -0.400391 3.7002 -1 5.40039 -1.7002c1.89941 -0.700195 3.69922 -1.5 5.5 -2.5c1.39941 -0.700195 2.69922 -1.5 4 -2.40039 +c1.09961 -0.799805 2.19922 -1.59961 3.2998 -2.5c2.5 -2 4.7998 -4.2998 6.89941 -6.7998c1.7002 -2.09961 3.30078 -4.5 4.7002 -6.90039c1.2998 -2.2998 2.40039 -4.59961 3.2998 -7.09961c0.5 -1.5 1 -3 1.40039 -4.5zM416 16v176h-192v192h-176 +c-8.7998 0 -16 -7.2002 -16 -16v-176h192v-192h176c8.7998 0 16 7.2002 16 16z" /> + <glyph glyph-name="digg" unicode="&#xf1a6;" horiz-adv-x="512" +d="M81.7002 275.7v76.2998h51v-250.7h-132.7v174.4h81.7002zM81.7002 142.3v92.2998h-30.7998v-92.2998h30.7998zM378.9 275.7h133.1v-243.7h-133.1v40.7998h81.7998v28.5h-81.7998v174.4zM460.7 142.3v92.2998h-30.7998v-92.2998h30.7998zM225.1 101.3v174.4h133.301 +v-243.7h-133.301v40.7998h82.1006v28.5h-82.1006zM276.3 234.6v-92.2998h30.7998v92.2998h-30.7998zM153.3 352h51.2998v-51h-51.2998v51zM153.3 275.7h51.2998v-174.4h-51.2998v174.4z" /> + <glyph glyph-name="pied-piper-pp" unicode="&#xf1a7;" +d="M205.3 273.4c0 -21.1006 -14.2002 -38.1006 -31.7002 -38.1006c-7.09961 0 -12.7998 1.2002 -17.1992 3.7002v68c4.39941 2.7002 10.0996 4.2002 17.1992 4.2002c17.5 0 31.7002 -16.9004 31.7002 -37.7998zM257.9 206.4c17.3994 0 31.6992 -17 31.6992 -38.1006 +c0 -20.8994 -14.2998 -37.7998 -31.6992 -37.7998c-7.10059 0 -12.8008 1.2002 -17.2002 3.7002v68c4.39941 2.7002 10.0996 4.2002 17.2002 4.2002zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352 +c26.5 0 48 -21.5 48 -48zM185 192.9c41 0 74.2002 35.5996 74.2002 79.5996s-33.2002 79.5996 -74.2002 79.5996c-12 0 -24.0996 -3.19922 -34.5996 -8.7998h-45.7002v-206.3l51.7998 10.0996v50.6006c8.59961 -3.10059 18.0996 -4.7998 28.5 -4.7998zM343.4 167.6 +c0 44 -33.2002 79.6006 -73.9004 79.6006c-3.2002 0 -6.40039 -0.200195 -9.59961 -0.700195c-3.7002 -12.5 -10.1006 -23.7998 -19.2002 -33.4004c-13.7998 -15 -32.2002 -23.7998 -51.7998 -24.7998v-156.3l51.7998 10.0996v50.6006 +c8.59961 -3.2002 18.2002 -4.7002 28.7002 -4.7002c40.7998 0 74 35.5996 74 79.5996z" /> + <glyph glyph-name="pied-piper-alt" unicode="&#xf1a8;" horiz-adv-x="576" +d="M244 202l-27.7002 -5.7002l-1.7002 4.90039c6.7002 0.5 12.7002 3.7002 19.3008 3.7002c3.7998 0 6.89941 -0.900391 10.0996 -2.90039zM379.9 4.09961c9.5 0 28.1992 -45.0996 33 -55.0996c-35.9004 -13.4004 -70.3008 -15.9004 -106 -9.7998l-6.90039 45.0996 +c15.7998 10.2998 60.9004 19.7998 79.9004 19.7998zM340.8 271c-7.59961 3.5 -63.8994 6.40039 -98.7998 -10c6.2998 11.7998 13.2002 17 25.9004 21.7998c27.2998 10.2998 40.1992 30.5 58.8994 51.1006c11.9004 -8.40039 12 -24.6006 31.6006 -23v-21.8008 +l6.2998 -0.299805c37.3994 14.4004 74.7002 30.2002 106.6 54.6006c48.2998 36.7998 52.9004 50 81.2998 100l2 2.59961c-0.599609 -14.0996 -6.2998 -27.2998 -12.3994 -39.9004c-30.5 -63.7998 -78.7002 -100.3 -146.8 -116.699 +c-12.4004 -2.90039 -26.4004 -3.2002 -37.6006 -8.90039c1.40039 -9.7998 13.2002 -18.0996 13.2002 -23c0 -3.40039 -5.5 -7.2002 -7.5 -8.59961c-11.2002 12.8994 -16.0996 19.2998 -22.7002 22.0996zM555.5 448l-0.299805 -1.40039l-0.600586 -0.599609 +l0.300781 0.900391zM496.3 65.9004c20.1006 -34.2002 43.7002 -54.3008 72.7002 -79.9004c-31 -19.2998 -70.4004 -32.2002 -103.5 -47.2002c-55.2002 46.2998 -23 229.9 -111.5 229.9c-3.5 -0.700195 -2.40039 -0.299805 -4.59961 -1.7002 +c1.09961 -1.40039 2.59961 -2.90039 3.69922 -4c23.9004 -20.0996 33.4004 -24.4004 34.8008 -58.5996l0.299805 -9.5c0.799805 -21.6006 -5.5 -42.5 -9.7998 -63.5c-25.9004 0.699219 -51.2002 -11 -77.9004 -2.90039c-0.700195 5.90039 -1.09961 30.9004 0.299805 41.0996 +c1.40039 9.5 33.6006 29.9004 33 43.7002c-5.5 0.600586 -9.2002 -2.59961 -12.3994 -6.89941c-13.3008 -19.5 -47.2002 -41.9004 -71.3008 -41.9004c-16.5996 0 -56.2998 71.5 -76.3994 85.9004c-3.2002 2.2998 -5.2002 5.39941 -7.7998 8.59961 +c-16.1006 -3.7998 -139.4 -32.2002 -147.4 -32.2002c-6 0 -11.5 4.90039 -11.5 10.9004c0 5.5 3.40039 10.7002 8.90039 11.7998l139.6 30.4004c-9.5 17.1992 12.2998 17.5 21.5 20.0996c3.2002 0.799805 6.2998 4 9.5 4c6.2998 0 11.7998 -8.90039 13.7998 -14.0996 +c6.2998 1.39941 45.7002 10.5996 49.4004 10.5996c15.2002 0 15.8994 -20.0996 2.89941 -22.7002l-52.2998 -11.5l-0.299805 -4.59961c-0.299805 -10.1006 45.4004 -60.1006 53.4004 -60.1006c18.0996 0 54.8994 41.7002 54.8994 60.1006 +c0 30.7002 -42.7998 12.5996 -42.7998 33.5996c0 3.5 1.2002 6.60059 2.90039 9.7998l-19.5 5.5c13.0996 13.6006 13.7998 31.7002 10.8994 50.3008c14.7002 2.89941 26.7002 4.59961 41.4004 4.59961c56.8994 0 45.7002 -8.59961 65.5 -54.2998l14.3994 7.2002 +c-2.2998 -34.2002 -36.1992 -17.5 -35.0996 -31l0.299805 -6c74.7002 2.89941 116.101 -58.6006 150 -115.5zM300.1 19.7998h8.90039l2.90039 -23.7998l-11.8008 -3.40039v27.2002zM231.4 170.2l13.7998 3.5l31.2998 -50.9004l-21 -13.7998zM315.8 15.2998 +c22.6006 2.5 32.7002 6.2998 59.5 6.2998c0.299805 -1.39941 0.900391 -3.19922 0.900391 -4.59961c0 -7.5 -49.4004 -12.5996 -58.4004 -14.0996z" /> + <glyph glyph-name="drupal" unicode="&#xf1a9;" +d="M319.5 333.3c13.5 -8.2998 96.5 -67 96.5 -179.3c0 -112 -88.5 -186 -190.2 -186c-102 0 -193.8 80.2998 -193.8 189.5c0 109 85 167.5 100.8 175.8c18.7002 10.1006 32.2002 15.2998 53.5 32.2998c10.5 8.30078 19.2998 20.2002 22 49.5 +c15.2002 -18.2998 33.5 -39.5 46.5 -48.2998c21.2002 -14 42.5 -19.5 64.7002 -33.5zM322 7.7002c4.2002 4.2002 1.90039 13.0996 -4.2002 8.5c-8.5 -6.2998 -27.5 -14 -54.5 -14c-34.5 0 -51.5 13.2998 -51.5 13.2998c-6.2002 0 -11.2998 -7.2002 -6.5 -12 +c26.6006 -24.5 96.6006 -15.9004 116.7 4.2002zM267.5 60.2998c-6.5 -2.7002 -28.4004 -16.7998 -22.4004 -25c2.40039 -3.2998 5.2002 -1.2998 12.2002 4.7002c7.2002 5.7998 12 11 26.7002 11c25.2998 0 18.0996 -19.9004 26.5 -15.7002 +c9.90039 4.90039 -2.09961 20.9004 -6.2002 23.7002c-7.7998 5.09961 -28.0996 4.90039 -36.7998 1.2998zM360 43c39.0996 -3.2998 64.5 106 15.7998 106c-20 0 -60.5 -41.5 -81.7998 -41.7998c-24.7002 -0.5 -59 49 -108.5 48.5 +c-66.4004 -0.400391 -90.5996 -78.6006 -51.7998 -105.2c57.2002 -38.7002 130.399 42.9004 161.3 42c19.5 -0.700195 49.7998 -48.5 65 -49.5z" /> + <glyph glyph-name="joomla" unicode="&#xf1aa;" +d="M0.599609 355.9c0 33.2998 26.8008 60.0996 59.8008 60.0996c30 0 54.5 -21.9004 59.1992 -50.2002c32.6006 7.60059 67.1006 -0.599609 96.5 -30l-44.2998 -44.2998c-20.5 20.5 -42.5996 16.2998 -55.3994 3.5c-14.3008 -14.2998 -14.3008 -37.9004 0 -52.2002 +l99.5 -99.5l-44 -44.2998c-87.7002 87.2002 -49.7002 49.7002 -99.8008 99.7002c-26.7998 26.5 -35 64.7998 -24.7998 98.8994c-26.8994 5.80078 -46.7002 29.7002 -46.7002 58.3008zM130.1 239.5c28.5 28.4004 81.3008 80.7998 99.6006 99.9004 +c26.5996 26.5996 64.5 35 98.2998 25.0996c4.09961 29.0996 29.2002 51.5996 59.5 51.5996c33 0 59.7998 -26.8994 59.7998 -60.0996c0 -30.2998 -22.7002 -55.4004 -51.8994 -59.5c9.59961 -33.5996 2.2998 -70 -28.9004 -101.2l-44 44.2998 +c20.5 20.4004 16.2998 42.6006 3.5 55.4004c-14.2998 14.2998 -37.5996 14.2998 -51.9004 0c-10 -10.0996 -89.6992 -89.7998 -99.6992 -99.7998zM396.4 87.2998c29.0996 -4.09961 51.5996 -28.8994 51.5996 -59.0996c0 -33.2998 -26.7998 -60.1006 -59.7998 -60.1006 +c-29.2002 0 -53.4004 20.7002 -58.9004 48.1006c-34.7002 -10.7998 -75.0996 -2.2002 -102.7 28l44 44.2998c20.4004 -20.5 42.6006 -16.2998 55.4004 -3.5c14.2998 14.2998 14.2998 37.5996 0 51.9004l-99.7002 99.6992l44.2998 44.3008 +c104.5 -104.4 87.7002 -87.5 99.5 -99.7002c25.4004 -25.4004 34.5 -61.2002 26.3008 -93.9004zM312.1 140.4c-87.2998 -87.3008 -67.3994 -67.7002 -99.5 -99.7002c-25.6992 -25.4004 -61.5 -34.2002 -94.1992 -26c-6.10059 -26.9004 -30 -46.7002 -58.6006 -46.7002 +c-33 0 -59.7998 26.7998 -59.7998 60.0996c0 28.3008 19.5 52.2002 46.2002 58.2002c-8.5 33.1006 -0.700195 68.1006 29.5 98.2998l44 -44.2998c-20.1006 -20.0996 -16.2998 -42 -3.2002 -55.3994c14.2998 -14.3008 37.5996 -14.3008 51.9004 0 +c49.2998 49.3994 12.6992 13.3994 99.6992 99.7998z" /> + <glyph glyph-name="behance" unicode="&#xf1b4;" horiz-adv-x="576" +d="M232 210.8c43.5996 -12.2998 64.7002 -45.2002 64.7002 -89.7002c0 -72 -60.5 -102.899 -124.9 -102.899h-171.8v354.399h167.1c60.7002 0 113.301 -17.1992 113.301 -87.7998c0 -35.7998 -16.6006 -58.7998 -48.4004 -74zM77.9004 312.1v-82.6992h79 +c27.7998 0 47.5 12.0996 47.5 42.1992c0 32.6006 -25.3008 40.5 -53.4004 40.5h-73.0996zM161.2 78.4004c31.7002 0 57.5996 11.1992 57.5996 47c0 36.2998 -21.7002 50.5996 -56 50.5996h-84.8994v-97.5996h83.2998zM519.7 319.1h-143.7v34.9004h143.7v-34.9004zM576 142.8 +c0 -4.5 -0.299805 -9 -0.599609 -13.2002h-185.101c0 -41.0996 21.7002 -65.2998 63 -65.2998c21.4004 0 49 11.6006 55.7002 33.5h62.2002c-19.1006 -58.7002 -58.7998 -86.2998 -120.101 -86.2998c-81 0 -131.3 54.7998 -131.3 134.7c0 77 53.1006 135.8 131.3 135.8 +c80.5 0 124.9 -63.2998 124.9 -139.2zM390.4 174h114.699c-3 34 -20.7998 54.7998 -56.1992 54.7998c-33.8008 0 -56.2002 -21.0996 -58.5 -54.7998z" /> + <glyph glyph-name="behance-square" unicode="&#xf1b5;" +d="M186.5 155c0 -19.2998 -14 -25.4004 -31.2002 -25.4004h-45.0996v52.9004h46c18.5996 -0.0996094 30.2998 -7.7998 30.2998 -27.5zM178.8 237.3c0 -16.2998 -10.7002 -22.8994 -25.7998 -22.8994h-42.7002v44.7998h39.6006c15.1992 0 28.8994 -4.2002 28.8994 -21.9004z +M311.1 214.1c19.2002 0 28.8008 -11.1992 30.5 -29.6992h-62.1992c1.19922 18.2998 13.3994 29.6992 31.6992 29.6992zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM271.7 263h77.7998 +v18.9004h-77.7998v-18.9004zM228.7 152.7c0 24.0996 -11.4004 44.8994 -35 51.5996c17.2002 8.2002 26.2002 17.7002 26.2002 37c0 38.2002 -28.5 47.5 -61.4004 47.5h-90.5v-192h93.0996c34.9004 0.200195 67.6006 16.9004 67.6006 55.9004zM380 167.5 +c0 41.0996 -24.0996 75.4004 -67.5996 75.4004c-42.4004 0 -71.1006 -31.8008 -71.1006 -73.6006c0 -43.2998 27.2998 -73 71.1006 -73c33.1992 0 54.6992 14.9004 65.0996 46.7998h-33.7002c-3.7002 -11.8994 -18.5996 -18.0996 -30.2002 -18.0996 +c-22.3994 0 -34.0996 13.0996 -34.0996 35.2998h100.2c0.0996094 2.2998 0.299805 4.7998 0.299805 7.2002z" /> + <glyph glyph-name="steam" unicode="&#xf1b6;" horiz-adv-x="496" +d="M496 192c0 -137 -111.2 -248 -248.4 -248c-113.8 0 -209.6 76.2998 -239 180.4l95.2002 -39.3008c6.40039 -32.0996 34.9004 -56.3994 68.9004 -56.3994c39.2002 0 71.8994 32.3994 70.2002 73.5l84.5 60.2002c52.0996 -1.30078 95.7998 40.8994 95.7998 93.5 +c0 51.5996 -42 93.5 -93.7002 93.5s-93.7002 -42 -93.7002 -93.5v-1.2002l-59.2002 -85.7002c-15.5 0.900391 -30.6992 -3.40039 -43.5 -12.0996l-133.1 55c10.2002 127.699 117.1 228.1 247.6 228.1c137.2 0 248.4 -111 248.4 -248zM155.7 63.7002 +c19.7998 -8.2002 42.5 1.09961 50.7998 21c8.2998 19.7998 -1.09961 42.5 -20.9004 50.7002l-31.5 13c12.2002 4.59961 26 4.7998 38.9004 -0.600586c13 -5.39941 23.0996 -15.5996 28.5 -28.5996s5.2998 -27.2998 -0.0996094 -40.2998 +c-11.2002 -26.8008 -42.1006 -39.6006 -69 -28.4004c-10.2119 4.26953 -22.3975 15.8281 -27.2002 25.7998zM329.5 193.6c-34.4004 0 -62.4004 28 -62.4004 62.3008c0 34.2998 28 62.2998 62.4004 62.2998s62.4004 -28 62.4004 -62.2998 +c0 -34.3008 -27.9004 -62.3008 -62.4004 -62.3008zM329.6 209.2c25.9004 0 46.9004 21 46.9004 46.7998c0 25.9004 -21 46.7998 -46.9004 46.7998c-25.8994 0 -46.8994 -21 -46.8994 -46.7998c0.0996094 -25.7998 21.0996 -46.7998 46.8994 -46.7998z" /> + <glyph glyph-name="steam-square" unicode="&#xf1b7;" +d="M185.2 91.5c7.7002 18.5 -1 39.7002 -19.6006 47.4004l-29.5 12.1992c11.4004 4.30078 24.3008 4.5 36.4004 -0.5c12.2002 -5.09961 21.5996 -14.5996 26.7002 -26.6992c5 -12.2002 5 -25.6006 -0.100586 -37.7002c-10.5 -25.1006 -39.3994 -37 -64.5996 -26.5 +c-11.5996 4.7998 -20.4004 13.5996 -25.4004 24.2002l28.5 -11.8008c18.6006 -7.7998 39.9004 0.900391 47.6006 19.4004zM400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v112.8l89.0996 -36.8994 +c6 -30 32.7002 -52.7002 64.5 -52.7002c36.6006 0 67.3008 30.2998 65.7002 68.7998l79 56.2998c48.7002 -1.2002 89.6006 38.2998 89.6006 87.5c0 48.2002 -39.3008 87.5 -87.6006 87.5s-87.5996 -39.2998 -87.5996 -87.5v-1.09961l-55.4004 -80.2002 +c-14.5 0.799805 -28.7002 -3.09961 -40.7002 -11.2998l-116.6 48.0996v160.7c0 26.5 21.5 48 48 48h352zM300.3 193.5c-32.2002 0 -58.3994 26.0996 -58.3994 58.2998s26.1992 58.2998 58.3994 58.2998s58.4004 -26.1992 58.4004 -58.2998 +c0 -32.0996 -26.2002 -58.2998 -58.4004 -58.2998zM300.4 208.1c24.1992 0 43.8994 19.6006 43.8994 43.8008c0 24.1992 -19.5996 43.7998 -43.8994 43.7998c-24.2002 0 -43.9004 -19.6006 -43.9004 -43.7998c0 -24.2002 19.7002 -43.8008 43.9004 -43.8008z" /> + <glyph glyph-name="spotify" unicode="&#xf1bc;" horiz-adv-x="496" +d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM348.7 75.0996c8.09961 0 15.2002 6.30078 15.2002 15.4004s-3.60059 12.5996 -9.7002 16.5c-71.4004 42.7002 -155.101 44.2998 -237 26.2002 +c-7.5 -1.60059 -13.6006 -6.5 -13.6006 -16.7998c0 -8.10059 6.10059 -15.8008 15.8008 -15.8008c2.89941 0 8 1.60059 11.8994 2.60059c71.7002 14.7002 144.3 13.0996 206.7 -24.5c3.90039 -2.2998 6.5 -3.60059 10.7002 -3.60059zM375.6 140.7 +c10.9004 0 19.3008 8.7002 19.4004 19.5c0 8.7002 -3.2002 14.8994 -11.2998 19.7002c-49.4004 29.3994 -112.101 45.5 -177 45.5c-41.6006 0 -70 -5.80078 -97.7998 -13.6006c-10.3008 -2.89941 -15.5 -10 -15.5 -20.7002c0 -10.6992 8.69922 -19.3994 19.3994 -19.3994 +c4.5 0 7.10059 1.2998 11.9004 2.59961c82.8994 22.5 176.1 7.60059 238.6 -29.3994c3.60059 -1.90039 7.10059 -4.2002 12.2998 -4.2002zM406.6 216.9c12.2002 0 23.2002 9.69922 23.2002 23.2998c0 11.8994 -5.09961 18.0996 -12.8994 22.5996 +c-55.9004 32.6006 -132.4 47.7998 -205.4 47.7998c-42.9004 0 -82.2998 -4.89941 -117.5 -15.1992c-9 -2.60059 -17.4004 -10.3008 -17.4004 -23.9004c0 -13.2998 10.1006 -23.5996 23.3008 -23.5996c4.7998 0 9.2998 1.59961 12.8994 2.59961 +c82.4004 23 209.7 12.7998 280.9 -29.7002c4.5 -2.59961 7.7002 -3.89941 12.8994 -3.89941z" /> + <glyph glyph-name="deviantart" unicode="&#xf1bd;" horiz-adv-x="320" +d="M320 354.8l-98.2002 -179.1l7.40039 -9.5h90.7998v-127.7h-160.9l-13.5 -9.2002l-43.6992 -84c-0.300781 0 -8.60059 -8.59961 -9.2002 -9.2002h-92.7002v93.2002l93.2002 179.4l-7.40039 9.2002h-85.7998v127.6h156l13.5 9.2002l43.7002 84 +c0.299805 0 8.59961 8.59961 9.2002 9.2002h97.5996v-93.1006z" /> + <glyph glyph-name="soundcloud" unicode="&#xf1be;" horiz-adv-x="640" +d="M111.4 191.7l5.7998 -65l-5.7998 -68.2998c-0.300781 -2.5 -2.2002 -4.40039 -4.40039 -4.40039s-4.2002 1.90039 -4.2002 4.40039l-5.59961 68.2998l5.59961 65c0 2.2002 1.90039 4.2002 4.2002 4.2002c2.2002 0 4.09961 -2 4.40039 -4.2002zM132.8 237.3 +c2.5 0 4.7002 -2.2002 4.7002 -5l5.7998 -105.6l-5.7998 -68.2998c0 -2.80078 -2.2002 -5 -4.7002 -5c-2.7998 0 -4.7002 2.19922 -5 5l-5 68.2998l5 105.6c0.299805 2.7998 2.2002 5 5 5zM158.3 261.4c2.7998 0 5.2998 -2.2002 5.2998 -5.30078l5.30078 -130 +l-5.30078 -67.7998c0 -3.09961 -2.5 -5.2998 -5.2998 -5.2998c-3.09961 0 -5.2998 2.2002 -5.59961 5.2998l-4.40039 67.7998l4.40039 130c0.299805 3.10059 2.5 5.30078 5.59961 5.30078zM7.2002 164.8c1.39941 0 2.2002 -1.09961 2.5 -2.5l5.59961 -35.5996l-5.59961 -35 +c-0.299805 -1.40039 -1.10059 -2.5 -2.5 -2.5c-1.40039 0 -2.2002 1.09961 -2.5 2.5l-4.7002 35l4.7002 35.5996c0.299805 1.40039 1.09961 2.5 2.5 2.5zM30.7998 186.7c1.40039 0 2.5 -1.10059 2.7998 -2.5l7.2002 -57.5l-7.2002 -56.4004 +c-0.299805 -1.39941 -1.39941 -2.5 -2.7998 -2.5c-1.39941 0 -2.5 1.10059 -2.5 2.7998l-6.39941 56.1006l6.39941 57.5c0 1.39941 1.10059 2.5 2.5 2.5zM56.0996 198.1c1.7002 0 3.10059 -1.39941 3.10059 -3.2998l6.89941 -68.0996l-6.89941 -65.7998 +c0 -1.7002 -1.40039 -3.10059 -3.10059 -3.10059c-1.59961 0 -3 1.40039 -3.2998 3.10059l-5.7998 65.7998l5.7998 68.0996c0.200195 1.90039 1.60059 3.2998 3.2998 3.2998zM81.4004 200.3c1.89941 0 3.59961 -1.39941 3.89941 -3.59961l6.40039 -70l-6.40039 -67.7998 +c-0.299805 -2.2002 -2 -3.60059 -3.89941 -3.60059c-1.90039 0 -3.60059 1.40039 -3.60059 3.60059l-5.7998 67.7998l5.7998 70c0 2.2002 1.7002 3.59961 3.60059 3.59961zM322.8 311.2c2.5 -1.40039 4.10059 -4.2002 4.5 -7.2002l3.90039 -177.5l-3.90039 -64.2002 +c0 -4.7002 -3.89941 -8.59961 -8.59961 -8.59961s-8.60059 3.89941 -8.90039 8.59961l-1.7002 31.7002l-1.69922 32.5l3.2998 176.7v0.799805c0.200195 2.5 1.39941 5 3.2998 6.7002c1.40039 1.09961 3.40039 1.89941 5.59961 1.89941 +c1.40039 0 3.10059 -0.599609 4.2002 -1.39941zM296.1 295.9c2.2002 -1.40039 3.60059 -3.90039 3.90039 -6.7002l3.2998 -162.8l-3.09961 -58.6006l-0.299805 -6.7002c0 -2.2998 -0.800781 -4.19922 -2.5 -5.59961c-1.40039 -1.40039 -3.40039 -2.5 -5.60059 -2.5 +c-2.5 0 -4.7002 1.2002 -6.39941 3.09961c-1.10059 1.40039 -1.7002 3 -1.7002 4.7002v0.299805c-3.10059 65.3008 -3.10059 65.6006 -3.10059 65.6006l2.80078 160.8l0.299805 1.7002c0 2.7998 1.39941 5.2998 3.59961 6.7002 +c1.2998 0.799805 2.7998 1.39941 4.40039 1.39941c1.59961 0 3 -0.599609 4.39941 -1.39941zM184.7 273.4c3.39941 0 5.89941 -2.80078 6.09961 -6.10059l5 -140.6l-5 -67.2002c-0.299805 -3.2998 -2.7998 -5.7998 -6.09961 -5.7998c-3 0 -5.5 2.5 -5.7998 5.7998 +l-4.40039 67.2002l4.40039 140.6c0 3.2998 2.69922 6.10059 5.7998 6.10059zM561.4 210.6c43.2998 0 78.5996 -35.2998 78.5 -78.8994c0 -43.2998 -35.3008 -78.2998 -78.6006 -78.2998h-218.3c-4.7002 0.599609 -8.59961 4.19922 -8.59961 9.19922v249.7 +c0 4.7998 1.69922 7 7.7998 9.2002c15.2998 6.09961 32.5 9.40039 50.2998 9.40039c72.5 0 131.9 -55.6006 138.3 -126.4c9.5 3.90039 19.7998 6.09961 30.6006 6.09961zM264.7 270.9c4.2002 0 7.2002 -3.30078 7.5 -7.80078l3.89941 -136.699l-3.89941 -65.6006 +c0 -4.2002 -3.2998 -7.5 -7.5 -7.5s-7.5 3.2998 -7.7998 7.5l-3.30078 65.6006l3.30078 136.699c0.299805 4.5 3.59961 7.80078 7.7998 7.80078zM211.1 278.7c3.60059 0 6.40039 -3.10059 6.7002 -6.7002l4.40039 -145.3l-4.40039 -66.9004 +c-0.299805 -3.59961 -3.09961 -6.39941 -6.7002 -6.39941c-3.2998 0 -6.09961 2.7998 -6.39941 6.39941l-3.90039 66.9004l3.90039 145.3c0 3.59961 3.09961 6.7002 6.39941 6.7002zM237.8 275.3c3.90039 0 6.90039 -3 6.90039 -6.89941l4.2002 -141.7l-4.2002 -66.4004 +c0 -3.7998 -3.10059 -6.89941 -6.90039 -6.89941s-6.59961 3 -6.89941 6.89941l-3.90039 66.4004l3.90039 141.7c0 3.7998 3 6.89941 6.89941 6.89941z" /> + <glyph glyph-name="vine" unicode="&#xf1ca;" horiz-adv-x="384" +d="M384 193.3v-52.0996c-18.4004 -4.2002 -36.9004 -6.10059 -52.0996 -6.10059c-36.9004 -77.3994 -103 -143.8 -125.101 -156.199c-14 -7.90039 -27.0996 -8.40039 -42.7002 0.799805c-27.0996 16.2998 -129.899 100.6 -164.1 365.6h74.5 +c18.7002 -159.1 64.5 -240.7 114.8 -301.8c27.9004 27.9004 54.7998 65.0996 75.6006 106.9c-49.8008 25.2998 -80.1006 80.8994 -80.1006 145.6c0 65.5996 37.7002 115.1 102.2 115.1c114.9 0 106.2 -127.899 81.5996 -181.5c0 0 -46.3994 -9.19922 -63.5 20.5 +c3.40039 11.3008 8.2002 30.8008 8.2002 48.5c0 31.3008 -11.2998 46.6006 -28.3994 46.6006c-18.2002 0 -30.8008 -17.1006 -30.8008 -50c0.100586 -79.2002 59.4004 -118.7 129.9 -101.9z" /> + <glyph glyph-name="codepen" unicode="&#xf1cb;" horiz-adv-x="512" +d="M502.285 288.296c6.00098 -3.99902 9.71484 -11.1426 9.71582 -18.2852v-155.999c0 -7.14258 -3.71484 -14.2871 -9.71484 -18.2861l-234 -156.021c-8.06055 -4.95996 -16.584 -4.91504 -24.5713 0l-234 156.021c-6.00098 4 -9.71484 11.1436 -9.71484 18.2861v155.999 +c0 7.14258 3.71387 14.2861 9.71387 18.2852l234 156c8.06055 4.95996 16.584 4.91504 24.5713 0zM278 384.869v-102.572l95.4287 -63.7148l76.8574 51.4287zM234 384.869l-172.286 -114.858l76.8574 -51.4287l95.4287 63.7148v102.572zM44 228.868v-73.7139 +l55.1426 36.8564zM234 -0.84668v102.571l-95.4287 63.7158l-76.8574 -51.4297zM256 140.011l77.7148 52l-77.7148 52l-77.7148 -52zM278 -0.84668l172.286 114.857l-76.8574 51.4297l-95.4287 -63.7158v-102.571zM468 155.154v73.7139l-55.1426 -36.8574z" /> + <glyph glyph-name="jsfiddle" unicode="&#xf1cc;" horiz-adv-x="576" +d="M510.634 210.538c45.6885 -25.334 68.3721 -74.5605 56.832 -122.634c-12.1035 -50.4199 -55.5479 -86.6592 -108.212 -87.293c-84.0303 -1.01172 -168.079 -0.458984 -252.12 -0.480469c-30.3223 -0.00683594 -60.668 -0.492188 -90.959 0.539062 +c-48.0938 1.63672 -91.7764 35.8643 -105.607 81.4326c-14.1289 46.5508 2.18945 94.623 41.9014 124.615c2.54688 1.92383 4.86914 6.52051 4.51465 9.54492c-3.74609 31.8604 7.14453 57.6709 32.6758 76.4082c26.2822 19.2881 55.2285 21.5879 85.3311 9.16699 +c2.36621 -0.975586 4.63965 -2.17773 7.82422 -3.68555c16.5215 27.5332 38.1221 48.6523 65.4922 63.9023c92.8594 51.7402 210.954 8.31152 246.85 -91.6455c5.55762 -15.4766 6.74512 -32.6074 9.09668 -49.0947c0.716797 -5.02832 1.6543 -8.15527 6.38086 -10.7764z +M531.741 53.6582c39.3135 48.375 22.418 117.668 -35.1426 144.497c-7.43555 3.46582 -9.72559 7.74414 -9.84766 15.8936c-1.87012 125.129 -132.78 187.063 -230.24 132.697c-26.1133 -14.5674 -46.4492 -34.8955 -60.6709 -61.2939 +c-7.59082 -14.0908 -11.9287 -7.97754 -22.1982 -2.52734c-24.6113 13.0635 -49.0469 12.6406 -72.0332 -3.08301c-21.9678 -15.0244 -31.9102 -36.6201 -26.4199 -62.9805c2.4082 -11.5703 -0.914062 -17.0635 -10.0967 -23.1367 +c-38.1895 -25.2578 -53.0879 -74.8604 -34.1855 -116.105c18.4355 -40.2295 51.3135 -59.6631 95.1748 -59.9951c0.700195 -0.00488281 163.728 -0.545898 163.728 0.154297c56.8857 0 113.778 -0.551758 170.652 0.229492 +c28.9375 0.397461 53.0498 13.2178 71.2803 35.6504zM443.952 134.157c-5.84863 -31.1572 -34.6221 -55.0967 -66.666 -55.0957c-16.9531 0.00195312 -32.0586 6.5459 -44.0791 17.7051c-27.6973 25.7139 -71.1406 74.9805 -95.9375 93.3877 +c-20.0557 14.8877 -41.9893 12.333 -60.2715 -3.78223c-49.9961 -44.0713 15.8594 -121.775 67.0625 -77.1885c4.54883 3.95996 7.84082 9.54297 12.7441 12.8447c8.18457 5.50879 20.7666 0.883789 13.168 -10.6221c-17.3574 -26.2842 -49.3301 -38.1973 -78.8623 -29.3008 +c-28.8975 8.70312 -48.8408 35.9678 -48.626 70.1787c1.22461 22.4844 12.3633 43.0596 35.4141 55.9648c22.5742 12.6377 46.3682 13.1455 66.9902 -2.47363c50.791 -38.4756 75.5781 -81.7451 107.296 -101.245c24.5586 -15.0996 54.2549 -7.36328 68.8232 17.5059 +c28.8301 49.209 -34.5918 105.016 -78.8682 63.46c-3.98828 -3.74414 -6.91699 -8.93164 -11.4092 -11.7197c-10.9756 -6.81152 -17.333 4.1123 -12.8096 10.3525c20.7031 28.5537 50.4639 40.4404 83.2715 28.2139c31.4287 -11.7139 49.1074 -44.3662 42.7598 -78.1855z +" /> + <glyph glyph-name="rebel" unicode="&#xf1d0;" horiz-adv-x="512" +d="M256.5 -56c-139.3 0 -247.5 116.2 -243.3 254.1c2.7998 79.2002 43.2002 152.2 116.5 200.4c0.299805 0 1.89941 0.599609 1.09961 -0.799805c-5.7998 -5.5 -111.3 -129.8 -14.0996 -226.4c49.7998 -49.5 90 -2.5 90 -2.5c38.5 50.1006 -0.600586 125.9 -0.600586 125.9 +c-10 24.8994 -45.6992 40.0996 -45.6992 40.0996l28.7998 31.7998c24.3994 -10.5 43.2002 -38.6992 43.2002 -38.6992c0.799805 29.5996 -21.9004 61.3994 -21.9004 61.3994l44.5996 50.7002l44.3008 -50.0996c-20.5 -28.8008 -21.9004 -62.6006 -21.9004 -62.6006 +c13.7998 23 43.5 39.2998 43.5 39.2998l28.5 -31.7998c-27.4004 -8.89941 -45.4004 -39.8994 -45.4004 -39.8994c-15.7998 -28.5 -27.0996 -89.4004 0.600586 -127.301c32.3994 -44.5996 87.7002 2.80078 87.7002 2.80078c102.699 91.8994 -10.5 225 -10.5 225 +c-6.10059 5.5 0.799805 2.7998 0.799805 2.7998c50.0996 -36.5 114.6 -84.4004 116.2 -204.8c2 -145.601 -99.9004 -249.4 -242.4 -249.4z" /> + <glyph glyph-name="empire" unicode="&#xf1d1;" horiz-adv-x="496" +d="M287.6 393.8c-10.7998 2.2002 -22.0996 3.2998 -33.5 3.60059v18.1992c78.1006 -2.19922 146.101 -44 184.601 -106.6l-15.7998 -9.09961c-6.10059 9.69922 -12.7002 18.7998 -20.2002 27.0996l-18 -15.5c-26 29.5996 -61.4004 50.7002 -101.9 58.4004zM53.4004 125.6 +c3.89941 -10.7998 8.2998 -21.0996 13.5996 -31.0996l-15.7998 -9.09961c-17.1006 31.5996 -27.1006 68.0996 -27.1006 106.6s9.90039 75 27.1006 106.5l15.7998 -9.09961c-5.2998 -9.7002 -10 -20.2002 -13.5996 -31l22.6992 -7.7002 +c-6.39941 -18.2998 -9.69922 -38.2002 -9.69922 -58.7002s3.59961 -40.4004 10 -58.7002zM213.1 14l-4.69922 -23.7998c10.7998 -1.90039 22.1992 -3.2998 33.5 -3.60059v-18.2998c-78.1006 2.2998 -146.4 44.2998 -184.9 106.601l16 9.39941 +c5.7998 -9.7002 12.7002 -18.7998 20.2002 -27.3994l18 15.7998c26.0996 -29.6006 61.5 -50.7002 101.899 -58.7002zM93.2998 327.1c-7.5 -8.2998 -14.0996 -17.5 -20.0996 -27.1992l-15.7998 9.09961c38.5 62.5996 106.5 104.4 184.6 106.6v-18.1992 +c-11.4004 -0.300781 -22.7002 -1.40039 -33.5 -3.60059l4.7002 -23.7998c-40.5 -7.7002 -75.9004 -28.7998 -101.9 -58.4004zM402.7 56.9004c7.5 8.59961 14.3994 17.6992 20.0996 27.3994l16.1006 -9.39941c-38.5 -62.3008 -106.801 -104.4 -184.9 -106.601v18.2998 +c11.4004 0.300781 22.7002 1.7002 33.5 3.60059l-4.7002 23.7998c40.5 8 75.9004 29.0996 101.9 58.7002zM496 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM483.8 192c0 130.1 -105.7 235.8 -235.8 235.8 +s-235.8 -105.7 -235.8 -235.8s105.7 -235.8 235.8 -235.8s235.8 105.7 235.8 235.8zM444.8 298.6c17.2002 -31.5996 27.1006 -68.0996 27.1006 -106.6s-9.90039 -75 -27.1006 -106.4l-15.7998 9.10059c5.2998 10 9.7002 20.2002 13.5996 31l-23 7.7002 +c6.40039 18.2998 10 38.1992 10 58.6992s-3.2998 40.4004 -9.69922 58.7002l22.6992 7.7002c-3.59961 10.7998 -8.2998 21.2998 -13.5996 31zM261.8 120.9l13.2998 -66.7002c-8.59961 -1.7002 -17.6992 -2.7998 -27.0996 -2.7998s-18.5 1.09961 -27.0996 2.7998 +l13.2998 66.7002c-16.2998 3.2998 -30.5 11.5996 -40.7002 23.5l-51.2002 -44.8008c-11.8994 13.6006 -21.2998 29.4004 -27.0996 46.8008l64.2002 22.0996c-2.5 7.40039 -3.90039 15.2002 -3.90039 23.5s1.40039 16 3.90039 23.5l-64.5 22.0996 +c6.09961 17.5 15.5 33.2002 27.3994 46.8008l51.2002 -44.8008c10.2998 11.9004 24.4004 20.5 40.7002 23.8008l-13.2998 66.3994c8.59961 2 17.6992 2.7998 27.0996 2.7998s18.5 -0.899414 27.0996 -2.7998l-13.2998 -66.3994 +c16.2998 -3.30078 30.5 -11.9004 40.7002 -23.8008l51.2002 44.8008c11.8994 -13.6006 21.2998 -29.4004 27.3994 -46.8008l-64.5 -22.0996c2.5 -7.40039 3.90039 -15.2002 3.90039 -23.5s-1.40039 -16 -3.90039 -23.5l64.2002 -22.0996 +c-5.7998 -17.5 -15.2002 -33.2002 -27.0996 -46.8008l-51.2002 44.8008c-10.2998 -11.9004 -24.4004 -20.2002 -40.7002 -23.5z" /> + <glyph glyph-name="git-square" unicode="&#xf1d2;" +d="M100.59 113.76c48.5703 -3.30957 58.9502 -2.10938 58.9502 -11.9395c0 -20 -65.5498 -20.0605 -65.5498 -1.52051c0.00976562 5.08984 3.29004 9.40039 6.59961 13.46zM128.54 230.4c30.96 0 31.7598 -44.4707 -0.75 -44.4707c-33 0 -31.54 44.4707 0.75 44.4707z +M448 368v-352c0 -26.4961 -21.5039 -48 -48 -48h-352c-26.4961 0 -48 21.5039 -48 48v352c0 26.4961 21.5039 48 48 48h352c26.4961 0 48 -21.5039 48 -48zM221 298.69c0 -14.4902 8.37988 -22.8809 22.8604 -22.8809c14.7393 0 23.1299 8.39062 23.1299 22.8809 +c0 14.4893 -8.37012 22.3096 -23.1104 22.3096c-14.4795 0 -22.8799 -7.83984 -22.8799 -22.3096zM199.18 253h-49.5498c-25 6.5498 -81.5596 4.84961 -81.5596 -46.75c0 -18.7998 9.39941 -32 21.8496 -38.1104c-15.6895 -14.3701 -23.1201 -21.1396 -23.1201 -30.7393 +c0 -6.87012 2.79004 -13.2207 11.1807 -16.7607c-8.90039 -8.39941 -14 -14.4795 -14 -25.9199c0.0195312 -20.0693 17.5498 -31.7197 63.5391 -31.7197c44.2207 0 69.8701 16.5098 69.8701 45.7305c0 36.6699 -28.2295 35.3193 -94.7695 39.3799l8.37988 13.4297 +c17 -4.74023 74.1904 -6.23047 74.1904 42.4297c0 11.6904 -4.83008 19.8203 -9.40039 25.6699l23.3799 1.78027zM283.52 143.16l-13 1.78027c-3.81934 0.509766 -4.06934 1 -4.06934 5.08984v105.45h-52.6006l-2.79004 -20.5703c15.75 -5.5498 17 -4.86035 17 -10.1699 +v-74.7402c0 -5.62012 -0.30957 -4.58008 -17 -6.87012v-20.0596h72.4209zM384 133l-6.87012 22.3701c-40.9297 -15.3701 -37.8496 12.4102 -37.8496 16.7295v60.7207h37.8496v25.4102h-35.8203c-2.86914 0 -2 -2.52051 -2 38.6299h-24.1797 +c-2.79004 -27.7002 -11.6797 -38.8799 -34 -41.4199v-22.6201c20.4697 0 19.8203 0.849609 19.8203 -2.54004v-66.5703c0 -28.7197 11.4297 -40.9102 41.6699 -40.9102c14.4502 0 30.4502 4.83008 41.3799 10.2002z" /> + <glyph glyph-name="git" unicode="&#xf1d3;" horiz-adv-x="512" +d="M216.29 289.61l0.0400391 -34.5508l-37.4102 -2.83984c7.27051 -9.35938 15 -22.3701 15 -41.0693c0 -77.8906 -91.4297 -75.4707 -118.7 -67.8906l-13.4297 -21.5498c106.47 -6.5 151.63 -4.33984 151.63 -63c0 -46.7598 -41.04 -73.1797 -111.79 -73.1797 +c-73.5801 0 -101.63 18.71 -101.63 50.8193c0 18.3008 8.12988 28.04 22.4004 41.4502c-13.4199 5.66992 -17.8906 15.8105 -17.8906 26.8105c0 15.3594 11.9004 26.21 37 49.21c-20 9.76953 -35 30.9102 -35 61c0 82.5498 90.4902 85.2793 130.49 74.79h79.29z +M152.87 47.71c0 15.7402 -16.6104 13.8096 -94.3203 19.1104c-5.2998 -6.54004 -10.5693 -13.4004 -10.5693 -21.54c0 -29.6699 104.89 -29.6299 104.89 2.42969zM102.06 182.29c52.0205 0 50.7402 71.1602 1.2002 71.1602c-51.6602 0 -54 -71.1602 -1.2002 -71.1602z +M235.36 81.7803v32.0996c26.75 3.66016 27.2393 2 27.2393 11v119.51c0 8.5 -2.0498 7.37988 -27.2393 16.2607l4.46973 32.9199h84.1699v-168.71c0 -6.51074 0.400391 -7.32031 6.50977 -8.14062l20.7305 -2.83984v-32.0996h-115.88zM287.81 326.09 +c-23.1699 0 -36.5898 13.4297 -36.5898 36.6104c0 23.1797 13.4199 35.7695 36.5898 35.7695c23.5801 0 37 -12.6201 37 -35.7695c0 -23.1504 -13.4199 -36.6104 -37 -36.6104zM512 97.54c-17.4902 -8.53027 -43.0996 -16.2598 -66.2803 -16.2598 +c-48.3799 0 -66.6699 19.5 -66.6699 65.46v106.51c0 5.41992 1.0498 4.05957 -31.71 4.05957v36.1904c35.7803 4.07031 50 22 54.4697 66.2695h38.6309c0 -65.8291 -1.34082 -61.8096 3.25977 -61.8096h57.2998v-40.6504h-60.5596v-97.1494 +c0 -6.91992 -4.9209 -51.4102 60.5693 -26.8398z" /> + <glyph glyph-name="hacker-news" unicode="&#xf1d4;" +d="M0 416h448v-448h-448v448zM21.2002 218.8h-0.200195c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.0996094 -0.400391zM239.2 164.9l80.7998 155.1h-34.7998c-54.7998 -101.2 -48.2998 -98.5996 -60.6006 -125.6 +c-10.0996 24.3994 -6.7998 27.2998 -59.2998 125.6h-37.2998l79.7998 -153.3v-102.7h31.4004v100.9z" /> + <glyph glyph-name="tencent-weibo" unicode="&#xf1d5;" horiz-adv-x="384" +d="M72.2998 -47.7998c1.40039 -19.9004 -27.5996 -22.2002 -29.7002 -2.90039c-11.5996 129.9 31.1006 239.5 101.4 313.2c-15.5996 34 9.2002 77.0996 50.5996 77.0996c30.3008 0 55.1006 -24.5996 55.1006 -55.0996c0 -44 -49.5 -70.7998 -86.9004 -45.0996 +c-65.7002 -71.3008 -101.399 -169.801 -90.5 -287.2zM192 447.9c92 0 166.6 -74.6006 166.6 -166.5c0 -102.301 -93.2998 -185.5 -204 -162.301c-19 4.7002 -12.5 33.2002 6.60059 29.1006c80.7998 -20.7998 167.7 42.2998 167.7 133.1c0 75.5 -61.5 136.9 -136.9 136.9 +c-101 0 -168.3 -106.601 -122 -199.2c9 -17.9004 -17.5996 -30.7998 -26.2998 -13.4004c-56 108.101 22.3994 242.301 148.3 242.301z" /> + <glyph glyph-name="qq" unicode="&#xf1d6;" +d="M433.754 27.5547c-11.5264 -1.39258 -44.8604 52.7412 -44.8604 52.7412c0 -31.3447 -16.1357 -72.2471 -51.0508 -101.786c16.8418 -5.19141 54.8428 -19.167 45.8037 -34.4209c-7.31641 -12.3428 -125.511 -7.88086 -159.633 -4.03711 +c-34.1221 -3.84375 -152.315 -8.30566 -159.632 4.03711c-9.04492 15.25 28.918 29.2139 45.7832 34.415c-34.9199 29.5391 -51.0586 70.4453 -51.0586 101.792c0 0 -33.334 -54.1338 -44.8594 -52.7412c-5.37012 0.650391 -12.4238 29.6445 9.34668 99.7041 +c10.2617 33.0244 21.9951 60.4785 40.1445 105.779c-3.05566 116.898 45.2441 214.956 160.262 214.962c113.737 -0.00585938 163.156 -96.1328 160.264 -214.963c18.1182 -45.2227 29.9121 -72.8506 40.1445 -105.778c21.7676 -70.0596 14.7158 -99.0527 9.3457 -99.7041z +" /> + <glyph glyph-name="weixin" unicode="&#xf1d7;" horiz-adv-x="576" +d="M385.2 280.4c-92.4004 0 -165.4 -69.1006 -165.3 -154c0 -14.2002 2.19922 -27.9004 6.19922 -40.8008c-6.19922 -0.5 -12.0996 -0.799805 -18.2998 -0.799805c-24.3994 0 -43.7998 4.90039 -68.2002 9.7002l-68 -34.0996l19.3008 58.5996 +c-48.6006 34.0996 -77.9004 78.2002 -77.9004 131.6c0 92.6006 87.5 165.4 194.7 165.4c95.5996 0 179.7 -58.2998 196.3 -136.7c-6.2002 0.799805 -12.4004 1.10059 -18.7998 1.10059zM280.7 333.3c-14.7002 0 -29.2002 -9.7002 -29.2998 -24.3994 +c0 -14.5 14.5 -24.2002 29.2998 -24.2002c14.5 0 24.2002 9.7002 24.2002 24.2002c0 14.6992 -9.7002 24.3994 -24.2002 24.3994zM144.3 284.7c14.7998 0 24.4004 9.59961 24.4004 24.2002c0 14.6992 -9.60059 24.3994 -24.4004 24.3994 +c-14.5 0 -29.2998 -9.59961 -29.2998 -24.3994c0 -14.5 14.7998 -24.2002 29.2998 -24.2002zM563 128.6c0 -43.7998 -29 -82.6992 -68.2002 -112.1l14.7998 -48.5996l-53.3994 29.2998c-19.7002 -4.7998 -39.2998 -9.90039 -58.6006 -9.90039 +c-92.5996 0 -165.399 63.4004 -165.399 141.3c0 77.9004 72.7002 141.301 165.399 141.301c87.5 0 165.4 -63.4004 165.4 -141.301zM343.9 153.1c14.6992 0 24.3994 9.60059 24.3994 19.6006c0 9.59961 -9.59961 19.2998 -24.3994 19.2998 +c-9.60059 0 -19.3008 -9.59961 -19.3008 -19.2998c0 -9.90039 9.60059 -19.6006 19.3008 -19.6006zM451 153.1c14.5 0 24.5 9.60059 24.4004 19.6006c0 9.59961 -9.90039 19.2998 -24.4004 19.2998c-9.59961 0 -19.2998 -9.59961 -19.2998 -19.2998 +c0 -9.90039 9.59961 -19.6006 19.2998 -19.6006z" /> + <glyph glyph-name="slideshare" unicode="&#xf1e7;" horiz-adv-x="512" +d="M187.7 294.3c34 0 61.7002 -25.7002 61.7002 -57.7002c0 -31.6992 -27.7002 -57.6992 -61.7002 -57.6992s-61.7002 26 -61.7002 57.6992c0 32 27.7002 57.7002 61.7002 57.7002zM331.1 294.3c34.3008 0 61.8008 -25.7002 61.7002 -57.7002 +c0 -31.6992 -27.3994 -57.6992 -61.7002 -57.6992c-34 0 -61.6992 26 -61.6992 57.6992c0 32 27.6992 57.7002 61.6992 57.7002zM487.7 204.3c15.2002 10.5 25.2002 -4 16.0996 -17.7998c-18.2998 -22.5996 -53.2002 -50.2998 -106.3 -72 +c56.2998 -191.7 -137.4 -222.3 -134.3 -124c0 0.700195 -0.299805 53.7998 -0.299805 93.5c-4.30078 0.799805 -8.60059 2 -13.7002 3.09961c0 -40 -0.299805 -95.8994 -0.299805 -96.5996c3.09961 -98.2002 -190.601 -67.5996 -134.301 124.1 +c-53.1992 21.7002 -88 49.4004 -106.3 72c-9.09961 13.7002 0.900391 28.3008 16 17.7002c2 -1.39941 4.2998 -2.89941 6.2998 -4.2998v198.3c0 27.4004 20.6006 49.7002 46 49.7002h359.101c25.3994 0 46 -22.2998 46 -49.7002v-198.3zM457.2 185.1h0.0996094v190.601 +c0 32.7998 -10.5996 45.7002 -40.8994 45.7002h-317.7c-31.7002 0 -40.6006 -10.8008 -40.6006 -45.7002v-192.4c67.7002 -35.3994 125.7 -29.0996 157.4 -28c13.4004 0.299805 22 -2.2998 27.0996 -7.7002c1.7002 -1.59961 10 -9.39941 20.3008 -17.0996 +c1.09961 15.7998 10 25.7998 33.6992 24.9004c32.3008 -1.40039 91.7002 -7.7002 160.601 29.6992z" /> + <glyph glyph-name="twitch" unicode="&#xf1e8;" +d="M40.0996 416h397.9v-274.2l-117 -117h-87l-56.7998 -56.7998h-60.2002v56.7998h-107v314.3zM397.9 161.9v214h-321v-280.9h90.2998v-56.7998l56.7998 56.7998h107zM331 299v-116.9h-40.0996v116.9h40.0996zM224 299v-116.9h-40.0996v116.9h40.0996z" /> + <glyph glyph-name="yelp" unicode="&#xf1e9;" horiz-adv-x="384" +d="M42.9004 207.68l99.6191 -48.6094c19.2002 -9.40039 16.2002 -37.5107 -4.5 -42.71l-107.52 -26.8105c-1.51074 -0.379883 -4 -0.6875 -5.55762 -0.6875c-11.2676 0 -21.415 9.08887 -22.6523 20.2881c-0.708984 6.18164 -1.28516 16.25 -1.28516 22.4727 +c0 17.8105 4.60742 45.9658 10.2852 62.8467c2.88574 8.56836 12.5664 15.5215 21.6074 15.5215c2.9082 0 7.38867 -1.03516 10.0029 -2.31152zM86.9004 -31.5703c-5.48535 3.75195 -9.92773 12.1904 -9.92773 18.8359c0 4.8291 2.61914 11.6631 5.84766 15.2539 +l74.21 82.4004c14.3096 15.8105 40.5098 5.2002 39.8096 -16.0996l-3.89941 -110.82c-0.412109 -12.1484 -10.6123 -22.0078 -22.7676 -22.0078c-1.07129 0 -2.79688 0.146484 -3.85254 0.328125c-23.8691 4.04199 -59.4492 18.4277 -79.4199 32.1094zM232.24 78.3496 +c-11.2998 18.1104 6.2002 40.4102 26.5098 33.9102l105.42 -34.2598c8.69043 -2.88965 15.7422 -12.667 15.7422 -21.8252c0 -2.8125 -0.963867 -7.16504 -2.15234 -9.71484c-10.418 -21.8799 -34.0322 -52.1689 -52.71 -67.6104 +c-3.50586 -2.88867 -10.0391 -5.2334 -14.582 -5.2334c-6.99707 0 -15.6963 4.80859 -19.418 10.7334zM380.57 210.58c1.04688 -2.41602 1.93652 -6.5127 1.93652 -9.14551c0 -9.49805 -7.39551 -19.3828 -16.5068 -22.0645l-106.64 -30.5098 +c-20.5 -5.90039 -37.1006 17.0098 -25.2002 34.71l62 91.9199c3.75 5.55664 12.2354 10.0654 18.9385 10.0654c4.74512 0 11.4932 -2.53809 15.0615 -5.66602c18.166 -16.0361 40.75 -47.0869 50.4102 -69.3096zM62.1104 417.82 +c29.4697 14.0293 79.793 27.5137 112.33 30.0996c0.503906 0.0410156 1.32422 0.0742188 1.83008 0.0742188c12.5146 0 22.6709 -10.1562 22.6709 -22.6699c0 -0.0566406 -0.000976562 -0.147461 -0.000976562 -0.204102v-208.34 +c0 -23.2998 -30.9102 -31.6006 -42.6104 -11.4004l-104.12 180.44c-1.68164 2.92188 -3.0459 8.0293 -3.0459 11.4014c0 7.93066 5.7998 17.1592 12.9463 20.5986z" /> + <glyph glyph-name="paypal" unicode="&#xf1ed;" horiz-adv-x="384" +d="M111.4 152.1c-3.5 -19.1992 -17.4004 -108.699 -21.5 -134c-0.300781 -1.7998 -1 -2.5 -3 -2.5h-74.6006c-7.59961 0 -13.0996 6.60059 -12.0996 13.9004l58.5996 371.9c1.5 9.59961 10.1006 16.8994 20 16.8994c152.3 0 165.101 3.7002 204 -11.3994 +c60.1006 -23.3008 65.6006 -79.5 44 -140.301c-21.5 -62.5996 -72.5 -89.5 -140.1 -90.2998c-43.4004 -0.700195 -69.5 7 -75.2998 -24.2002zM357.1 296c28.4004 -21.2002 30.3008 -57.7998 23.8008 -92.5996c-16.5 -83.5 -71.9004 -112.301 -142.9 -112.301 +c-15 0 -24.7002 2.30078 -29.2998 -19.6992c-15.5 -97.4004 -13.7002 -85.9004 -14.4004 -91.3008c-1.7002 -8.59961 -8.7998 -14.8994 -17.3994 -14.8994h-63.5c-7.10059 0 -11.6006 5.7998 -10.6006 12.8994c0 0 4.5 29.3008 27.1006 169.7 +c0.799805 6.10059 4.7998 9.40039 10.8994 9.40039c54 0 164.601 -9.90039 204.5 103.899c3.7002 11.1006 6.7998 22.2002 8.7998 33.6006c0.5 3.09961 1.2002 2.59961 3 1.2998z" /> + <glyph glyph-name="google-wallet" unicode="&#xf1ee;" +d="M156.8 321.2c37.6006 -60.6006 64.2002 -113.101 84.2998 -162.5c-8.2998 -33.7998 -18.7998 -66.5 -31.2998 -98.2998c-13.2002 52.2998 -26.5 101.3 -56 148.5c6.5 36.3994 2.2998 73.5996 3 112.3zM109.3 248c5 0 10 -2.5 13 -6.5 +c43.7998 -59.7998 66.2998 -123.8 82.5 -193.5h-103.5c-20 69.5 -49.5 133 -91.7002 187.3c-4 5.2002 0 12.7002 6.5 12.7002h93.2002zM157.1 336h108.7c74.7998 -103 131.2 -230 143.2 -368h-113.7c-8.2002 133.5 -69.7002 260 -138.2 368zM408.9 404.5 +c19 -67.5 31.0996 -139 31.0996 -212.6c0 -69.5 -9.5 -142.5 -25.2998 -203c-10.9004 92.5 -42.4004 184.6 -90.6006 270.8c-4.19922 50.5 -13.2998 99.5 -26.5 146c-1.19922 5.2998 2.5 10.2998 7.80078 10.2998h88.2998c7 0 13.3994 -4.7002 15.2002 -11.5z" /> + <glyph glyph-name="cc-visa" unicode="&#xf1f0;" horiz-adv-x="576" +d="M470.1 216.7c0 0 7.60059 -37.2002 9.30078 -45h-33.4004c3.2998 8.89941 16 43.5 16 43.5c-0.200195 -0.299805 3.2998 9.09961 5.2998 14.8994zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480 +c26.5 0 48 -21.5 48 -48zM152.5 116.8l63.2002 155.2h-42.5l-39.2998 -106l-4.30078 21.5l-14 71.4004c-2.2998 9.89941 -9.39941 12.6992 -18.1992 13.0996h-64.7002l-0.700195 -3.09961c15.7998 -4 29.9004 -9.80078 42.2002 -17.1006l35.7998 -135h42.5zM246.9 116.6 +l25.1992 155.4h-40.1992l-25.1006 -155.4h40.1006zM386.8 167.4c0.200195 17.6992 -10.5996 31.1992 -33.7002 42.2998c-14.0996 7.09961 -22.6992 11.8994 -22.6992 19.2002c0.199219 6.59961 7.2998 13.3994 23.0996 13.3994 +c13.0996 0.299805 22.7002 -2.7998 29.9004 -5.89941l3.59961 -1.7002l5.5 33.5996c-7.90039 3.10059 -20.5 6.60059 -36 6.60059c-39.7002 0 -67.5996 -21.2002 -67.7998 -51.4004c-0.299805 -22.2998 20 -34.7002 35.2002 -42.2002 +c15.5 -7.59961 20.7998 -12.5996 20.7998 -19.2998c-0.200195 -10.4004 -12.6006 -15.2002 -24.1006 -15.2002c-16 0 -24.5996 2.5 -37.6992 8.2998l-5.30078 2.5l-5.59961 -34.8994c9.40039 -4.2998 26.7998 -8.10059 44.7998 -8.2998 +c42.2002 -0.100586 69.7002 20.7998 70 53zM528 116.6l-32.4004 155.4h-31.0996c-9.59961 0 -16.9004 -2.7998 -21 -12.9004l-59.7002 -142.5h42.2002s6.90039 19.2002 8.40039 23.3008h51.5996c1.2002 -5.5 4.7998 -23.3008 4.7998 -23.3008h37.2002z" /> + <glyph glyph-name="cc-mastercard" unicode="&#xf1f1;" horiz-adv-x="576" +d="M482.9 37.7002c0 -6.7998 -4.60059 -11.7002 -11.2002 -11.7002c-6.7998 0 -11.2002 5.2002 -11.2002 11.7002s4.40039 11.7002 11.2002 11.7002c6.59961 0 11.2002 -5.2002 11.2002 -11.7002zM172.1 49.4004c6.5 0 10.8008 -5.2002 10.9004 -11.7002 +c0 -6.7998 -4.40039 -11.7002 -10.9004 -11.7002c-7.09961 0 -11.1992 5.2002 -11.1992 11.7002s4.09961 11.7002 11.1992 11.7002zM289.6 49.7002c5.2002 0 8.7002 -3 9.60059 -8.7002h-19.1006c0.800781 5.2002 4.10059 8.7002 9.5 8.7002zM397.4 49.4004 +c6.7998 0 11.1992 -5.2002 11.1992 -11.7002c0 -6.7998 -4.39941 -11.7002 -11.1992 -11.7002c-6.80078 0 -10.9004 5.2002 -10.9004 11.7002s4.09961 11.7002 10.9004 11.7002zM503.3 23.2998c0 -0.299805 0.299805 -0.5 0.299805 -1.09961 +c0 -0.299805 -0.299805 -0.5 -0.299805 -1.10059c-0.299805 -0.299805 -0.299805 -0.5 -0.5 -0.799805c-0.299805 -0.299805 -0.5 -0.5 -1.09961 -0.5c-0.299805 -0.299805 -0.5 -0.299805 -1.10059 -0.299805c-0.299805 0 -0.5 0 -1.09961 0.299805 +c-0.299805 0 -0.5 0.299805 -0.799805 0.5c-0.299805 0.299805 -0.5 0.5 -0.5 0.799805c-0.299805 0.5 -0.299805 0.800781 -0.299805 1.10059c0 0.5 0 0.799805 0.299805 1.09961c0 0.5 0.299805 0.799805 0.5 1.10059c0.299805 0.299805 0.5 0.299805 0.799805 0.5 +c0.5 0.299805 0.799805 0.299805 1.09961 0.299805c0.5 0 0.800781 0 1.10059 -0.299805c0.5 -0.300781 0.799805 -0.300781 1.09961 -0.5c0.299805 -0.200195 0.200195 -0.600586 0.5 -1.10059zM501.1 21.9004c0.5 0 0.5 0.299805 0.800781 0.299805 +c0.299805 0.299805 0.299805 0.5 0.299805 0.799805s0 0.5 -0.299805 0.799805c-0.300781 0 -0.5 0.299805 -1.10059 0.299805h-1.59961v-3.5h0.799805v1.40039h0.299805l1.10059 -1.40039h0.799805zM576 367v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48 +v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM64 227.4c0 -76.5 62.0996 -138.5 138.5 -138.5c27.2002 0 53.9004 8.19922 76.5 23.0996c-72.9004 59.2998 -72.4004 171.2 0 230.5c-22.5996 15 -49.2998 23.0996 -76.5 23.0996 +c-76.4004 0.100586 -138.5 -62 -138.5 -138.199zM288 118.6c70.5 55 70.2002 162.2 0 217.5c-70.2002 -55.2998 -70.5 -162.6 0 -217.5zM145.7 42.2998c0 8.7002 -5.7002 14.4004 -14.7002 14.7002c-4.59961 0 -9.5 -1.40039 -12.7998 -6.5 +c-2.40039 4.09961 -6.5 6.5 -12.2002 6.5c-3.7998 0 -7.59961 -1.40039 -10.5996 -5.40039v4.40039h-8.2002v-36.7002h8.2002c0 18.9004 -2.5 30.2002 9 30.2002c10.1992 0 8.19922 -10.2002 8.19922 -30.2002h7.90039c0 18.2998 -2.5 30.2002 9 30.2002 +c10.2002 0 8.2002 -10 8.2002 -30.2002h8.2002v23h-0.200195zM190.6 56h-7.89941v-4.40039c-2.7002 3.30078 -6.5 5.40039 -11.7002 5.40039c-10.2998 0 -18.2002 -8.2002 -18.2002 -19.2998c0 -11.2002 7.90039 -19.2998 18.2002 -19.2998 +c5.2002 0 9 1.89941 11.7002 5.39941v-4.59961h7.89941v36.7998zM231.1 30.4004c0 15 -22.8994 8.19922 -22.8994 15.1992c0 5.7002 11.8994 4.80078 18.5 1.10059l3.2998 6.5c-9.40039 6.09961 -30.2002 6 -30.2002 -8.2002c0 -14.2998 22.9004 -8.2998 22.9004 -15 +c0 -6.2998 -13.5 -5.7998 -20.7002 -0.799805l-3.5 -6.2998c11.2002 -7.60059 32.5996 -6 32.5996 7.5zM266.5 21.0996l-2.2002 6.80078c-3.7998 -2.10059 -12.2002 -4.40039 -12.2002 4.09961v16.5996h13.1006v7.40039h-13.1006v11.2002h-8.19922v-11.2002h-7.60059 +v-7.2998h7.60059v-16.7002c0 -17.5996 17.2998 -14.4004 22.5996 -10.9004zM279.8 34.5h27.5c0 16.2002 -7.39941 22.5996 -17.3994 22.5996c-10.6006 0 -18.2002 -7.89941 -18.2002 -19.2998c0 -20.5 22.5996 -23.8994 33.7998 -14.2002l-3.7998 6 +c-7.7998 -6.39941 -19.6006 -5.7998 -21.9004 4.90039zM338.9 56c-4.60059 2 -11.6006 1.7998 -15.2002 -4.40039v4.40039h-8.2002v-36.7002h8.2002v20.7002c0 11.5996 9.5 10.0996 12.7998 8.40039zM349.5 37.7002c0 11.3994 11.5996 15.0996 20.7002 8.39941l3.7998 6.5 +c-11.5996 9.10059 -32.7002 4.10059 -32.7002 -15c0 -19.7998 22.4004 -23.7998 32.7002 -15l-3.7998 6.5c-9.2002 -6.5 -20.7002 -2.59961 -20.7002 8.60059zM416.2 56h-8.2002v-4.40039c-8.2998 11 -29.9004 4.80078 -29.9004 -13.8994 +c0 -19.2002 22.4004 -24.7002 29.9004 -13.9004v-4.59961h8.2002v36.7998zM449.9 56c-2.40039 1.2002 -11 2.90039 -15.2002 -4.40039v4.40039h-7.90039v-36.7002h7.90039v20.7002c0 11 9 10.2998 12.7998 8.40039zM490.2 70.9004h-7.90039v-19.3008 +c-8.2002 10.9004 -29.8994 5.10059 -29.8994 -13.8994c0 -19.4004 22.5 -24.6006 29.8994 -13.9004v-4.59961h7.90039v51.7002zM497.8 146v-4.59961h0.799805v4.59961h1.90039v0.799805h-4.59961v-0.799805h1.89941zM504.4 22.2002c0 0.5 0 1.09961 -0.300781 1.59961 +c-0.299805 0.299805 -0.5 0.799805 -0.799805 1.10059c-0.299805 0.299805 -0.799805 0.5 -1.09961 0.799805c-0.5 0 -1.10059 0.299805 -1.60059 0.299805c-0.299805 0 -0.799805 -0.299805 -1.39941 -0.299805c-0.5 -0.299805 -0.799805 -0.5 -1.10059 -0.799805 +c-0.5 -0.300781 -0.799805 -0.800781 -0.799805 -1.10059c-0.299805 -0.5 -0.299805 -1.09961 -0.299805 -1.59961c0 -0.299805 0 -0.799805 0.299805 -1.40039c0 -0.299805 0.299805 -0.799805 0.799805 -1.09961c0.300781 -0.299805 0.5 -0.5 1.10059 -0.799805 +c0.5 -0.300781 1.09961 -0.300781 1.39941 -0.300781c0.5 0 1.10059 0 1.60059 0.300781c0.299805 0.299805 0.799805 0.5 1.09961 0.799805s0.5 0.799805 0.799805 1.09961c0.300781 0.600586 0.300781 1.10059 0.300781 1.40039zM507.6 146.9h-1.39941l-1.60059 -3.5 +l-1.59961 3.5h-1.40039v-5.40039h0.800781v4.09961l1.59961 -3.5h1.09961l1.40039 3.5v-4.09961h1.09961v5.40039zM512 227.4c0 76.1992 -62.0996 138.3 -138.5 138.3c-27.2002 0 -53.9004 -8.2002 -76.5 -23.1006c72.0996 -59.2998 73.2002 -171.5 0 -230.5 +c22.5996 -15 49.5 -23.0996 76.5 -23.0996c76.4004 -0.0996094 138.5 61.9004 138.5 138.4z" /> + <glyph glyph-name="cc-discover" unicode="&#xf1f2;" horiz-adv-x="576" +d="M520.4 251.9c0 -8.40039 -5.5 -12.8008 -15.8008 -12.8008h-4.69922v24.9004h4.89941c10.1006 0 15.6006 -4.2002 15.6006 -12.0996zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480z +M483.9 277.1v-82h16v32.8008h2.19922l22.2002 -32.8008h19.6006l-25.8008 34.4004c12.1006 2.5 18.7002 10.5996 18.7002 23.2002c0 28.5 -30.2998 24.3994 -52.8994 24.3994zM428 277v-82h45.2998v13.7998h-29.2998v22.2002h28.2998v13.7998h-28.2998v18.2002h29.2998v14 +h-45.2998zM359.3 277h-17.5l35 -84.2002h8.60059l35.5 84.2002h-17.5l-22.2002 -55.2002zM303.4 280c-24.6006 0 -44.6006 -19.9004 -44.6006 -44.5996c0 -24.6006 19.9004 -44.6006 44.6006 -44.6006c24.5996 0 44.5996 19.9004 44.5996 44.6006 +c0 24.5996 -19.9004 44.5996 -44.5996 44.5996zM254.1 273.9c-30.1992 15 -63.2998 -6.80078 -63.2998 -38c0 -32.5 33.6006 -52.5 63.2998 -38.2002v19c-19.2998 -19.2998 -46.7998 -5.7998 -46.7998 19.2002c0 23.6992 26.7002 39.0996 46.7998 19v19zM156.9 207.6 +c-7.60059 0 -13.8008 3.7002 -17.5 10.8008l-10.3008 -9.90039c17.8008 -26.0996 56.6006 -18.2002 56.6006 11.2998c0 13.1006 -5.40039 19 -23.6006 25.6006c-9.59961 3.39941 -12.2998 5.89941 -12.2998 10.2998c0 8.7002 14.5 14.0996 24.9004 2.5l8.39941 10.7998 +c-19.0996 17.0996 -49.6992 8.90039 -49.6992 -14.2998c0 -11.2998 5.19922 -17.2002 20.1992 -22.7002c25.7002 -9.09961 14.7002 -24.4004 3.30078 -24.4004zM55.4004 195c30.8994 0 44.0996 22.4004 44.0996 40.9004c0 24.0996 -18 41.0996 -44.0996 41.0996h-23.4004 +v-82h23.4004zM122.9 195v82h-16v-82h16zM544 15v145c-33.2998 -20.7998 -226.4 -124.4 -416 -160h401c8.2002 0 15 6.7998 15 15zM74.0996 256.4c5.7002 -5 8.90039 -12.6006 8.90039 -20.5c0 -7.90039 -3.2002 -15.5 -8.90039 -20.7002 +c-4.89941 -4.40039 -11.5996 -6.40039 -21.8994 -6.40039h-4.2002v54.2002h4.2002c10.2998 0 16.7002 -1.7002 21.8994 -6.59961z" /> + <glyph glyph-name="cc-amex" unicode="&#xf1f3;" horiz-adv-x="576" +d="M325.1 280.2c0.100586 -8 -4.2998 -15.7002 -11.6992 -18.7002c9.5 -3.2998 11 -9.2002 11 -18.4004v-13.5h-16.6006c-0.299805 14.8008 3.60059 25.1006 -14.7998 25.1006h-18v-25.1006h-16.4004v69.3008l39.1006 -0.300781c13.2998 0 27.3994 -2 27.3994 -18.3994z +M295.7 268.9c5.7002 0 11 1.2998 11 7.89941c0 6.40039 -5.60059 7.40039 -10.7002 7.40039h-21v-15.2998h20.7002zM279 179.4c15.5996 0 27.9004 -5.40039 27.9004 -22.7002c0 -27.9004 -30.4004 -23.2998 -49.3008 -23.2998l-0.0996094 -23.3008h-32.2002l-20.3994 23 +l-21.3008 -23h-65.3994l0.0996094 69.3008h66.5l20.5 -22.8008l21 22.8008h52.7002zM175.2 124.7l19 20.2002l-17.9004 20.1992h-41.7002v-12.5h36.3008v-14.0996h-36.3008v-13.7998h40.6006zM241 116.5v55.5l-25.2998 -27.4004zM278.8 147.5 +c5.90039 0 10.5 2.7998 10.5 9.2002c0 6.09961 -4.59961 8.39941 -10.2002 8.39941h-21.5v-17.5996h21.2002zM247.2 284.2h-38.9004v-12.5h37.7998v-14.1006h-37.7998v-13.7998h38.9004v-14.2998h-55.5v69.2998h55.5v-14.5996zM576 192.6h-0.200195h0.200195zM381.4 160.7 +c-0.100586 -7.60059 -4.2002 -15.2998 -11.9004 -18.4004c9.2002 -3.2998 11 -9.5 11 -18.3994l-0.0996094 -13.8008h-16.6006l0.100586 11.5c0 11.8008 -3.80078 13.8008 -14.8008 13.8008h-17.5996l-0.0996094 -25.3008h-16.6006l0.100586 69.3008h39.3994 +c13 0 27.1006 -2.30078 27.1006 -18.7002zM352.2 149.5c5.59961 0 11 1.2998 11 8.2002c0 6.39941 -5.60059 7.39941 -10.7002 7.39941h-21v-15.5996h20.7002zM179.4 229.5h-16.8008v54.2002l-24 -54.2002h-14.5996l-24 54.2002v-54.2002h-33.7998l-6.40039 15.2998h-34.5 +l-6.39941 -15.2998h-17.9004l29.7002 69.2998h24.5l28.0996 -65.7002v65.7002h27.1006l21.6992 -47l19.7002 47h27.6006v-69.2998zM31.2002 259.2h22.7002l-11.5 27.5996zM508.6 100.3c34.8008 0 54.8008 -2.2002 67.5 6.10059v-90.4004c0 -26.5 -21.5 -48 -48 -48h-480.1 +c-26.5 0 -48 21.5 -48 48v203.7h26.5996c4.2002 10.0996 2.2002 5.2998 6.40039 15.2998h19.2002c4.2002 -10 2.2002 -5.2002 6.39941 -15.2998h52.9004v11.3994c2.2002 -5 1.09961 -2.5 5.09961 -11.3994h29.5c2.40039 5.5 2.60059 5.7998 5.10059 11.3994v-11.3994h135.5 +v25.0996c6.39941 0 8 0.100586 9.7998 -0.200195c0 0 -0.200195 -10.8994 0.0996094 -24.7998h66.5v8.90039c7.40039 -5.90039 17.4004 -8.90039 29.7002 -8.90039h26.7998c4.2002 10.1006 2.2002 5.2998 6.40039 15.2998h19c6.5 -15 0.200195 -0.5 6.59961 -15.2998 +h52.8008v21.9004c11.7998 -19.7002 7.7998 -12.9004 13.1992 -21.9004h41.6006v92h-39.9004v-18.3994c-12.2002 20.1992 -6.2998 10.3994 -11.2002 18.3994h-43.2998v-20.5996c-6.2002 14.5996 -4.59961 10.7998 -8.7998 20.5996h-32.4004 +c-0.399414 0 -2.2998 -0.200195 -2.2998 0.299805h-27.5996c-12.7998 0 -23.1006 -3.19922 -30.7002 -9.2998v9.2998h-39.9004v-5.2998c-10.7998 6.10059 -20.6992 5.10059 -64.3994 5.2998c-0.100586 0 -11.6006 0.100586 -11.6006 0h-103 +c-2.5 -6.09961 -6.7998 -16.3994 -12.5996 -30c-2.7998 6 -11 23.8008 -13.9004 30h-46v-21.0996c-7.39941 17.4004 -4.69922 11 -9 21.0996h-39.6992c-3.40039 -7.89941 -13.7002 -32 -23.1006 -53.8994v109.8c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48v-175.4 +c-37.7002 0.200195 -44 0.900391 -54.2998 -5v5c-45.2998 0 -53.5 1.7002 -64.9004 -5.19922v5.19922h-78.1992v-5.09961c-11.4004 6.5 -21.4004 5.09961 -75.7002 5.09961v-5.59961c-6.2998 3.7002 -14.5 5.59961 -24.2998 5.59961h-58 +c-3.5 -3.7998 -12.5 -13.6992 -15.7002 -17.1992c-12.7002 14.0996 -10.5 11.5996 -15.5 17.1992h-83.1006v-92.2998h82c3.30078 3.5 12.9004 13.9004 16.1006 17.4004c12.7002 -14.2998 10.2998 -11.7002 15.3994 -17.4004h48.9004 +c0 14.7002 0.0996094 8.2998 0.0996094 23c11.5 -0.200195 24.3008 0.200195 34.3008 6.2002c0 -13.9004 -0.100586 -17.0996 -0.100586 -29.2002h39.6006c0 18.5 0.0996094 7.40039 0.0996094 25.2998c6.2002 0 7.7002 0 9.40039 -0.0996094 +c0.0996094 -1.2998 0 0 0 -25.2002c152.8 0 145.899 -1.09961 156.699 4.5v-4.5zM544.9 164.8c-4.60059 0 -9.2002 -0.700195 -9.2002 -6.5c0 -12.2002 28.7998 0.299805 39.2998 -13.5v-25.7998c-4.90039 -7.09961 -14.0996 -8.90039 -22.5 -8.90039h-32l0.0996094 14.8008 +h32c4.10059 0 8.40039 1.2998 8.40039 6.39941c0 14.6006 -42.7002 -5.59961 -42.7002 27.4004c0 14.0996 11 20.7002 23.7998 20.7002h32.9004v-14.6006h-30.0996zM487.9 125c4.09961 0 8.69922 1 8.7998 6.40039c0 14.8994 -42.7002 -5.60059 -42.7002 27.3994 +c0 14.1006 10.7002 20.7002 23.5 20.7002h33.2002v-14.5996h-30.4004c-4.2998 0 -9.2002 -0.800781 -9.2002 -6.40039c0 -15.0996 42.9004 6.90039 42.9004 -26.2998c0 -16.4004 -11.4004 -22 -26.2002 -22h-32.2002l0.100586 14.7998h32.2002zM445.7 165.1h-38.5v-12.5 +h37.7998v-14.0996h-37.9004v-13.7998l38.6006 -0.299805l-0.100586 -14.3008h-55.1992l0.0996094 69.3008h55.2002v-14.3008zM389.4 273.2c0.299805 0.299805 1.69922 1 7.2998 1c1 0 2 -0.100586 3.09961 -0.100586l-7.2998 -16.8994 +c-2.2998 0 -3.2002 0.399414 -3.40039 0.5c-0.199219 0.200195 -1.09961 1.89941 -1.09961 7.89941c0 5.40039 1.09961 7.40039 1.40039 7.60059zM409.8 283.7h-0.0996094h0.0996094zM393.6 298.9h16.1006v-15.2002c-17.4004 0.299805 -33.1006 4.09961 -33.1006 -19.7002 +c0 -11.7998 2.80078 -19.9004 16.1006 -19.9004h7.39941l23.5 54.5h24.8008l27.8994 -65.3994v65.3994h25.2998l29.1006 -48.0996v48.0996h16.8994v-69h-23.5996l-31.2002 51.9004v-51.9004h-33.7002l-6.59961 15.3008h-34.2998l-6.40039 -15.3008h-19.2002 +c-22.7998 0 -33 11.8008 -33 34c0 23.3008 10.5 35.3008 34 35.3008zM435.7 286.8l-11.6006 -27.5996h22.8008zM334.6 298.8h16.9004v-69.2998h-16.9004v69.2998z" /> + <glyph glyph-name="cc-paypal" unicode="&#xf1f4;" horiz-adv-x="576" +d="M186.3 189.8c0 -12.2002 -9.7002 -21.5 -22 -21.5c-9.2002 0 -16 5.2002 -16 15c0 12.2002 9.5 22 21.7002 22c9.2998 0 16.2998 -5.7002 16.2998 -15.5zM80.5 238.3c11.2998 0 19.7998 -1.5 17.5 -14.8994c-2 -12.7002 -10.5 -14.2002 -21.5 -14.2002l-8.2002 -0.299805 +l4.2998 26.6992c0.200195 1.7002 1.7002 2.7002 3.2002 2.7002h4.7002zM364.5 238.3c8.5 0 18 -0.5 18.0996 -11.0996c0 -15 -9 -18 -22 -18l-8 -0.299805l4.2002 26.6992c0.200195 1.7002 1.40039 2.7002 3.2002 2.7002h4.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480 +c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM128.3 232.6c0 21 -16.2002 28 -34.7002 28h-40c-2.5 0 -5 -2 -5.19922 -4.69922l-16.4004 -102.101c-0.299805 -2 1.2002 -4 3.2002 -4h19c2.7002 0 5.2002 2.90039 5.5 5.7002l4.5 26.5996 +c1 7.2002 13.2002 4.7002 18 4.7002c28.5996 0 46.0996 17 46.0996 45.7998zM212.5 223.8h-19c-3.7998 0 -4 -5.5 -4.2002 -8.2002c-5.7998 8.5 -14.2002 10 -23.7002 10c-24.5 0 -43.1992 -21.5 -43.1992 -45.1992c0 -19.5 12.1992 -32.2002 31.6992 -32.2002 +c9 0 20.2002 4.89941 26.5 11.8994c-0.5 -1.5 -1 -4.69922 -1 -6.19922c0 -2.30078 1 -4 3.2002 -4h17.2002c2.7002 0 5 2.89941 5.5 5.69922l10.2002 64.3008c0.299805 1.89941 -1.2002 3.89941 -3.2002 3.89941zM253 125.9l63.7002 92.5996c0.5 0.5 0.5 1 0.5 1.7002 +c0 1.7002 -1.5 3.5 -3.2002 3.5h-19.2002c-1.7002 0 -3.5 -1 -4.5 -2.5l-26.5 -39l-11 37.5c-0.799805 2.2002 -3 4 -5.5 4h-18.7002c-1.69922 0 -3.19922 -1.7998 -3.19922 -3.5c0 -1.2002 19.5 -56.7998 21.1992 -62.1006c-2.69922 -3.7998 -20.5 -28.5996 -20.5 -31.5996 +c0 -1.7998 1.5 -3.2002 3.2002 -3.2002h19.2002c1.7998 0.100586 3.5 1.10059 4.5 2.60059zM412.3 232.6c0 21 -16.2002 28 -34.7002 28h-39.6992c-2.7002 0 -5.2002 -2 -5.5 -4.69922l-16.2002 -102c-0.200195 -2 1.2998 -4 3.2002 -4h20.5c2 0 3.5 1.5 4 3.19922l4.5 29 +c1 7.2002 13.1992 4.7002 18 4.7002c28.3994 0 45.8994 17 45.8994 45.7998zM496.5 223.8h-19c-3.7998 0 -4 -5.5 -4.2998 -8.2002c-5.5 8.5 -14 10 -23.7002 10c-24.5 0 -43.2002 -21.5 -43.2002 -45.1992c0 -19.5 12.2002 -32.2002 31.7002 -32.2002 +c9.2998 0 20.5 4.89941 26.5 11.8994c-0.299805 -1.5 -1 -4.69922 -1 -6.19922c0 -2.30078 1 -4 3.2002 -4h17.2998c2.7002 0 5 2.89941 5.5 5.69922l10.2002 64.3008c0.299805 1.89941 -1.2002 3.89941 -3.2002 3.89941zM544 257.1c0 2 -1.5 3.5 -3.2002 3.5h-18.5 +c-1.5 0 -3 -1.19922 -3.2002 -2.69922l-16.1992 -104l-0.300781 -0.5c0 -1.80078 1.5 -3.5 3.5 -3.5h16.5c2.5 0 5 2.89941 5.2002 5.69922l16.2002 101.2v0.299805zM454 205.3c9.2998 0 16.2998 -5.7002 16.2002 -15.5c0 -12.2998 -9.7002 -21.5 -21.7002 -21.5 +c-9.2002 0 -16.2002 5.2998 -16.2002 15c0 12.2998 9.5 22 21.7002 22z" /> + <glyph glyph-name="cc-stripe" unicode="&#xf1f5;" horiz-adv-x="576" +d="M492.4 227.2c8.69922 0 18 -6.7002 18 -22.7002h-36.7002c0 16 9.7998 22.7002 18.7002 22.7002zM375 224.6c12.9004 0.100586 21.9004 -14.5 21.9004 -33.0996c0 -19.0996 -8.80078 -33.4004 -21.9004 -33.4004c-8.2998 0 -13.2998 3 -16.7998 6.7002l-0.200195 52.7998 +c3.7002 4.10059 8.7998 7 17 7zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM122.2 166.9c0 42.2998 -54.2998 34.6992 -54.2998 50.6992c0 5.5 4.59961 7.7002 12.0996 7.7002 +c10.7998 0 24.5 -3.2998 35.2998 -9.09961v33.3994c-11.7998 4.7002 -23.5 6.5 -35.2998 6.5c-28.7998 0 -48 -15 -48 -40.1992c0 -39.3008 54 -32.9004 54 -49.9004c0 -6.59961 -5.7002 -8.7002 -13.5996 -8.7002c-11.8008 0 -26.9004 4.90039 -38.9004 11.2998v-33.8994 +c13.2002 -5.7002 26.5996 -8.10059 38.7998 -8.10059c29.6006 0.200195 49.9004 14.7002 49.9004 40.3008zM191 223.5v30.2998h-26.9004v30.7998l-34.6992 -7.39941l-0.200195 -113.9c0 -21 15.7998 -36.5 36.8994 -36.5c11.6006 0 20.2002 2.10059 24.9004 4.7002v28.9004 +c-4.5 -1.80078 -27 -8.30078 -27 12.5996v50.5h27zM265 221.1v32.7002h-0.0996094c-4.7002 1.7002 -21.3008 4.7998 -29.6006 -10.5l-2.2002 10.5h-30.6992v-124.5h35.5v84.4004c8.39941 11 22.5996 8.89941 27.0996 7.39941zM309.1 129.3v124.5h-35.6992v-124.5h35.6992z +M309.1 272.2v28.8994l-35.6992 -7.59961v-28.9004zM383.2 126.7c25.3994 0.0996094 48.5996 20.5 48.5996 65.5996c0 41.2998 -23.5 63.7998 -48.3994 63.7998c-13.9004 0 -22.9004 -6.59961 -27.8008 -11.0996l-1.7998 8.7998h-31.2998v-165.8l35.5 7.5l0.0996094 40.2002 +c5.10059 -3.7002 12.7002 -9 25.1006 -9zM543.6 178.2c0.100586 2 0.400391 9.39941 0.400391 12.8994c0 36.4004 -17.5996 65.1006 -51.2998 65.1006c-33.7998 0 -54.2998 -28.7002 -54.2998 -64.9004c0 -42.7998 24.1992 -64.5 58.7998 -64.5 +c17 0 29.7002 3.90039 39.3994 9.2002v28.5996c-9.69922 -4.89941 -20.7998 -7.89941 -34.8994 -7.89941c-13.7998 0 -26 4.89941 -27.6006 21.5h69.5z" /> + <glyph glyph-name="lastfm" unicode="&#xf202;" horiz-adv-x="512" +d="M225.8 80.9004c0 0 -31.7002 -31.1006 -97.8994 -31.1006c-82.2002 0 -127.9 48.1006 -127.9 137.2c0 92.7002 45.7002 147.2 131.8 147.2c117.7 0 129.3 -66.2002 161.3 -163c14 -42.7998 38.7002 -73.9004 97.9004 -73.9004c39.9004 0 61 8.7998 61 30.5 +c0 31.9004 -34.9004 35.1006 -79.7998 45.7002c-48.6006 11.7002 -68 36.9004 -68 76.7998c0 64 51.5996 83.9004 104.399 83.9004c59.8008 0 96.2002 -21.7002 100.9 -74.5l-58.5996 -7c-2.30078 25.2002 -17.5 35.7998 -45.7002 35.7998 +c-25.7998 0 -41.6006 -11.7998 -41.6006 -31.7002c0 -17.5996 7.60059 -28.0996 33.4004 -34c52.2998 -11.5 115 -19.2002 115 -92.0996c0 -58.6006 -49.2998 -80.9004 -122 -80.9004c-101.4 0 -136.6 45.7002 -155.4 102.601 +c-26.0996 81.5996 -34.3994 134.899 -100.899 134.899c-35.7002 0 -72.1006 -25.7998 -72.1006 -97.8994c0 -56.3008 28.7002 -91.5 69.2002 -91.5c45.7002 0 76.2002 34 76.2002 34z" /> + <glyph glyph-name="lastfm-square" unicode="&#xf203;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM307.8 103.1c45.4004 0 76.2002 13.9004 76.1006 50.6006c0 45.5 -39.1006 50.3994 -71.8008 57.5 +c-16.0996 3.7002 -20.8994 10.2998 -20.8994 21.2998c0 12.5 9.89941 19.7998 26 19.7998c17.5996 0 27.0996 -6.59961 28.5996 -22.3994l36.7002 4.39941c-2.90039 33 -25.5996 46.6006 -63 46.6006c-32.9004 0 -65.2002 -12.4004 -65.2002 -52.4004 +c0 -24.9004 12.1006 -40.7002 42.5 -48c28.1006 -6.59961 49.9004 -8.7002 49.9004 -28.5996c0 -13.6006 -13.2002 -19.1006 -38.1006 -19.1006c-37 0 -52.3994 19.4004 -61.1992 46.2002c-20 60.5 -27.3008 101.9 -100.801 101.9c-53.8994 0 -82.5 -34.1006 -82.5 -92 +c0 -55.7002 28.6006 -85.8008 79.9004 -85.8008c41.4004 0 61.2002 19.4004 61.2002 19.4004l-11.7002 31.9004s-19 -21.3008 -47.5996 -21.3008c-25.3008 0 -43.3008 22 -43.3008 57.2002c0 45.1006 22.7002 61.2002 45.1006 61.2002c41.5 0 46.7002 -33.2998 63 -84.2998 +c11.7002 -35.5 33.7002 -64.1006 97.0996 -64.1006z" /> + <glyph glyph-name="ioxhost" unicode="&#xf208;" horiz-adv-x="640" +d="M616 288c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-52.7002c3.10059 -15.5 4.7002 -31.5996 4.7002 -48c0 -137 -111 -248 -248 -248c-102.9 0 -191.2 62.7002 -228.7 152h-67.2998c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24 +h52.7002c-3.10059 15.5 -4.7002 31.5996 -4.7002 48c0 137 111 248 248 248c102.9 0 191.2 -62.7002 228.7 -152h67.2998zM520 192c0 16.5996 -2 32.5996 -5.7998 48h-298.2c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24h279.5 +c-33.9004 62 -99.7998 104 -175.5 104c-110.5 0 -200 -89.5 -200 -200c0 -16.5996 2 -32.5996 5.7998 -48h298.2c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-279.5c33.9004 -62 99.7998 -104 175.5 -104c110.5 0 200 89.5 200 200zM216 216h208 +c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-208c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24z" /> + <glyph glyph-name="angellist" unicode="&#xf209;" +d="M347.1 232.6c48 -11.6992 54.9004 -50.5996 54.9004 -93.6992c0 -114.301 -73.4004 -202.9 -191.4 -202.9c-96.1992 0 -164.6 76.4004 -164.5 148.6c0 37.1006 14.2002 61.7002 51.1006 71.7002c-3.10059 8.2998 -8 20.7998 -8 29.7002 +c0 23.5 24.8994 52.5996 48.2998 52.5996c6.90039 0 13.7002 -2 20 -4.2998c-12.4004 35.2002 -46.5996 126.7 -46.5996 162c0 28.7998 14.5996 51.7002 45.6992 51.7002c40 0 85.4004 -144 95.1006 -172.5c12.5 31.4004 52.5 163.1 97.0996 163.1 +c28 0 43.7002 -22.2998 43.7002 -48.8994c0 -30.2002 -33.7002 -124.5 -45.4004 -157.101zM311.7 340l-33.1006 -93.7002l34 -6c8.5 23.4004 47.1006 128.9 47.1006 148c0 7.10059 -2.2998 16 -10.9004 16c-16 0 -33.0996 -52 -37.0996 -64.2998zM142.3 399.7 +c0 -29.1006 34.6006 -120 45.5 -148.8c7.7002 4.39941 19.7998 2.69922 35.4004 1.39941l-34.6006 100.3c-31.7998 92.8008 -46.2998 59 -46.2998 47.1006zM140 204c-7.7002 0 -20.2998 -13.4004 -20.4004 -21.0996c0 -20.8008 56 -97.7002 76.9004 -97.7002 +c5.7002 0 10.5996 6.2998 10.5996 11.3994c0 12.8008 -37.7998 107.4 -67.0996 107.4zM324.3 17.7002c55.2998 61.5 49.1006 158.6 31 174.7c-24 21.0996 -106 29.0996 -138.3 29.0996c-17.2998 0 -17.4004 -6.40039 -17.4004 -13.0996 +c0 -43.7002 92.9004 -39.7002 120.601 -39.7002c11.2002 0 15.7998 -9.90039 16.8994 -21.1006c-7.39941 -7.39941 -17.6992 -11.6992 -27.3994 -15.3994c-9.40039 -3.40039 -19.1006 -7.10059 -27.1006 -13.1006c-22 -16 -43.6992 -43.3994 -43.6992 -71.6992 +c0 -17.7002 10.5996 -32.9004 10.5996 -50.3008c0 -0.299805 -2 -6.5 -2 -7.39941c-32.5996 2.2998 -40.5996 34.5996 -41.7002 61.7002c-3.39941 -0.900391 -8 -0.600586 -11.7002 -0.600586c5.10059 -17.7998 -11.8994 -42 -38 -42 +c-37.7998 0 -88 57.2002 -58.2998 86.9004c28.7002 -35.9004 35 -51.4004 51.1006 -51.4004c4 0 11.6992 3.40039 11.6992 8.2998c0 12.8008 -42.8994 73.1006 -54.2998 73.1006c-16.7998 0 -37.7002 -24.9004 -20.5996 -68.2998 +c22.5996 -55.7002 69.5 -88.3008 128.899 -88.3008c43.4004 0 80.6006 16.6006 109.7 48.6006zM225.7 143.7c3.2002 -8.2998 6.59961 -16.6006 9.39941 -25.1006c6.30078 7.10059 12.9004 13.7002 20.3008 19.1006c-10 2 -20 2.89941 -29.7002 6z" /> + <glyph glyph-name="buysellads" unicode="&#xf20d;" +d="M224 297.3l42.9004 -160.7h-85.8008zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM382.7 42.7002l-94.5 298.7h-128.4l-94.5 -298.7h90.7002l111.7 91.5996l24.2002 -91.5996h90.7998z +" /> + <glyph glyph-name="connectdevelop" unicode="&#xf20e;" horiz-adv-x="576" +d="M550.5 207c6.69629 -1.33887 11.7861 -7.5 11.7881 -14.7324c0 -7.5 -5.3584 -13.6602 -12.3223 -15l-54.9111 -95.3574c0.536133 -1.60742 0.804688 -3.21387 0.804688 -4.82129c0 -7.23145 -5.09082 -13.3926 -12.0547 -14.7314l-51.6963 -90.2686 +c0.535156 -1.33887 0.802734 -2.67773 0.802734 -4.28516c0 -8.30371 -6.69727 -15.2676 -15.2686 -15.2676c-4.28516 0 -8.30371 1.875 -10.9814 4.82129h-107.144c-2.67871 -3.21484 -6.96484 -5.35742 -11.5176 -5.35742s-8.83887 2.14258 -11.5166 5.35645h-106.875 +c-2.67969 -3.21484 -6.69727 -5.35742 -11.5186 -5.35742c-8.30371 0 -15.2676 6.69727 -15.2676 15.2676c0 1.875 0.535156 3.75 1.07031 5.35742l-51.6963 89.7324c-6.96484 1.33887 -12.0547 7.5 -12.0547 14.7314c0 1.875 0.268555 3.21387 0.804688 4.82129 +l-55.1797 95.3574c-6.96484 1.60742 -12.0537 7.76855 -12.0537 15c0 7.5 5.3584 13.6611 12.5898 15l53.3047 92.1436c0 0.536133 -0.268555 1.07227 -0.268555 1.60645c0 6.16113 3.75098 11.251 9.10742 13.6611l55.9824 97.2334 +c-0.536133 1.33887 -1.07129 3.21387 -1.07129 4.82129c0 8.57129 6.96484 15.2676 15.2676 15.2676c4.82227 0 8.83887 -2.14258 11.7861 -5.625h106.071c2.67871 3.48242 6.69629 5.625 11.5176 5.625s8.83887 -2.14258 11.5176 -5.62402h106.606 +c2.94727 3.48242 6.96484 5.625 11.7861 5.625c8.30371 0 15.2676 -6.69727 15.2676 -15.2676c0 -1.60742 -0.535156 -3.21484 -1.07031 -4.82129l55.4463 -95.8936c8.03613 -0.267578 14.7324 -6.96484 14.7324 -15.001c0 -2.67871 -0.803711 -5.08984 -1.875 -7.23145z +M153.535 -2.73242v75.8037h-43.6602zM153.535 81.1074v50.624l-44.999 -47.4102c0.535156 -1.07227 1.07129 -2.14355 1.33887 -3.21387h43.6602zM153.535 143.518l0.000976562 92.9463l-50.0889 51.9648c-2.41113 -1.60645 -5.08887 -2.41113 -7.76855 -2.67871 +l-51.9648 -90c0.268555 -1.07227 0.268555 -2.14258 0.268555 -3.48242c0 -1.33887 0 -2.67871 -0.535156 -4.01758l55.7129 -96.4287c1.33887 -0.267578 2.67871 -1.07129 4.01758 -1.60742zM153.535 245.84v72.0527l-43.9277 -15.8037 +c0 -0.267578 0.267578 -0.803711 0.267578 -1.07227c0 -2.94531 -0.803711 -5.62402 -2.14258 -7.7666zM153.535 326.465v59.7324l-43.6602 -75.5361zM480.054 287.357l-0.267578 0.267578l-98.0361 -101.518l63.75 -67.2324l35.3584 167.143zM291.75 92.8926 +l-11.25 -11.7852h22.7676zM291.482 104.143l79.2852 82.2324l-83.0352 87.5889l-79.5537 -84.375zM296.839 98.25l16.875 -17.1426h124.02l5.8916 28.125l-67.5 71.25zM410.411 403.607l-117.053 -124.019l83.0342 -87.5889l97.5 101.25 +c-1.33984 2.14258 -2.14258 4.82129 -2.14258 7.7666v0.536133l-57.8574 100.714c-1.33984 0.268555 -2.41016 0.804688 -3.48145 1.34082zM401.304 405.75h-4.28711l-166.339 -60l57.0547 -60.2676zM277.821 405.75h-103.929l50.8936 -53.5713l148.393 53.5713h-75 +c-2.67871 -2.67773 -6.16016 -4.28516 -10.1787 -4.28516s-7.50098 1.60742 -10.1787 4.28516zM161.572 400.125v-70.7148l54.9111 19.8213l-51.1611 53.8398c-0.730469 -0.25293 -1.93066 -0.613281 -2.67969 -0.804688zM161.572 320.839v-83.3037l40.9814 -42.0527 +l79.5537 84.1064l-59.7324 63.2139zM161.572 228.161v-76.0723l36.4277 38.3037zM161.572 140.303v-59.1953h107.678l17.1426 17.6777l-82.7676 85.9814zM168.536 -21.75h1.33887l91.6074 94.8213h-99.9102v-89.7324l1.07031 -1.60645 +c2.41113 -0.804688 4.28613 -1.875 5.89355 -3.48242zM298.447 -21.75h104.194l-91.6064 94.8213h-38.3037l-91.6074 -94.8213h96.4287c2.68066 2.41016 6.42871 4.28516 10.4473 4.28516s7.76758 -1.875 10.4473 -4.28516zM418.447 -9.96387l17.4121 83.0361h-114.376 +l89.1953 -91.875c1.07227 0.536133 2.14355 1.07031 3.48242 1.33887zM431.303 12.2676l34.8223 60.8037h-21.9639zM466.125 81.1074c0.267578 1.07129 0.803711 2.14258 1.33887 2.94531l-17.1426 18.2139l-4.55371 -21.1592h20.3574zM532.286 188.518 +c-0.268555 1.33984 -0.536133 2.41113 -0.536133 3.75c0 1.60742 0.536133 2.94629 0.802734 4.28516l-45.8027 79.2861l-34.5537 -163.928l20.625 -21.9639c1.33887 0.802734 2.67871 1.33887 4.01758 1.87402z" /> + <glyph glyph-name="dashcube" unicode="&#xf210;" +d="M326.6 344l102.2 104v-427c0 -50.5 -40.0996 -85 -91.2002 -85h-227.199c-51.1006 0 -91.2002 34.5 -91.2002 85v229.5c0 50.2002 40.0996 93.5 91.2002 93.5h216.199zM153.9 31.5v-0.0996094h223.8l-51.1006 52.2998v123.5c0 17.7002 -14.2998 32.5 -32 32.5h-140.699 +c-17.7002 0 -32.4004 -14.7998 -32.4004 -32.5v-142.9c0 -17.7002 14.7002 -32.7998 32.4004 -32.7998z" /> + <glyph glyph-name="forumbee" unicode="&#xf211;" +d="M5.7998 138.3c-3.7998 17 -5.7998 34.2002 -5.7998 51.4004c0 123.3 99.7998 223.3 223.1 223.3c16.6006 0 33.3008 -2 49.3008 -5.5c-123.4 -47 -220.5 -145.5 -266.601 -269.2zM398.7 327.5c-151.101 -44 -269.2 -164.4 -312.3 -315.7 +c-17.2002 13.4004 -32.7002 30.9004 -45.2002 49c43.3994 149.9 160.1 267.7 309.7 312c18.0996 -12.5996 34.0996 -27.7998 47.7998 -45.2998zM414.5 74.7998c13.0996 -35.2998 24.2002 -73.2998 33.5 -109.8c-36.0996 9.2998 -72 20.5 -107 33.5996 +c-25.7002 -16 -54.5996 -26.8994 -84.5996 -31.2998c42.5996 79.7002 108.199 147.4 187.6 190.3c-4.09961 -29.0996 -14.2998 -57.6992 -29.5 -82.7998zM444.2 220.3c-113.7 -46.7002 -204.2 -139.399 -250.5 -253.5c-19.6006 2.7002 -38.5 7.60059 -56.6006 15.2002 +c44.9004 138.5 153.4 249.3 291.301 295.1c7.89941 -18.0996 13.1992 -37.2998 15.7998 -56.7998z" /> + <glyph glyph-name="leanpub" unicode="&#xf212;" horiz-adv-x="576" +d="M386.539 336.515l15.0957 -248.955l-10.9785 0.275391c-36.2324 0.824219 -71.6406 -8.7832 -102.657 -27.9971c-31.0156 19.2139 -66.4238 27.9971 -102.657 27.9971c-45.5635 0 -82.0693 -10.7051 -123.516 -27.7227l31.291 258.288 +c28.5459 11.8027 61.4834 18.1143 92.2256 18.1143c41.1729 0 73.8359 -13.1748 102.657 -42.5439c27.7227 28.2715 59.0127 41.7217 98.5391 42.5439zM569.07 0c-25.5264 0 -47.4854 5.21484 -70.542 15.6445c-34.3105 15.6455 -69.9932 24.9785 -107.871 24.9785 +c-38.9775 0 -74.9346 -12.9014 -102.657 -40.623c-27.7227 27.7227 -63.6797 40.623 -102.657 40.623c-37.8779 0 -73.5605 -9.33301 -107.871 -24.9785c-22.2324 -9.88086 -44.7402 -15.6445 -69.1689 -15.6445h-1.37305l42.5449 349.141 +c39.251 22.2334 87.0117 34.8594 132.301 34.8594c37.0547 0 75.209 -7.68457 106.225 -29.0947c31.0156 21.4102 69.1699 29.0947 106.225 29.0947c45.2891 0 93.0498 -12.626 132.301 -34.8594zM525.702 44.7412l-34.0361 280.246 +c-30.7422 13.999 -67.248 21.4102 -101.009 21.4102c-38.4287 0 -74.3848 -12.0771 -102.657 -38.7021c-28.2725 26.625 -64.2275 38.7021 -102.657 38.7021c-33.7607 0 -70.2666 -7.41113 -101.009 -21.4102l-34.0361 -280.246 +c47.2109 19.4863 82.8945 33.4854 135.045 33.4854c37.6045 0 70.8174 -9.60547 102.657 -29.6436c31.8398 20.0381 65.0518 29.6436 102.657 29.6436c52.1504 0 87.834 -13.999 135.045 -33.4854z" /> + <glyph glyph-name="sellsy" unicode="&#xf213;" horiz-adv-x="640" +d="M539.71 210.692c55.1572 -13.4834 94.0742 -63.124 94.0732 -119.509c0 -68.0264 -55.4639 -123.184 -123.185 -123.184h-381.197c-67.7217 0 -123.186 55.1572 -123.185 123.185c0 47.4961 27.8848 91.0098 70.7852 111.234 +c-2.14453 7.35449 -3.06543 15.0146 -3.06543 22.3691c0 46.2705 37.6914 83.9609 83.9629 83.9609c20.2227 0 39.835 -7.35449 55.1562 -20.5303c18.3867 74.7695 85.8008 127.781 163.021 127.781c92.542 0 167.924 -75.3818 167.924 -167.924 +c0 -12.5635 -1.22559 -25.127 -4.29004 -37.3838zM199.88 46.4463v110.928c0 8.27344 -7.04688 15.3213 -15.3213 15.3213h-30.9482c-8.27344 0 -15.3213 -7.04785 -15.3213 -15.3213v-110.928c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h30.9482 +c8.27344 0 15.3213 7.04688 15.3213 15.3213zM289.357 46.4463v131.458c0 8.27246 -7.04883 15.3203 -15.3223 15.3203h-30.9492c-8.27246 0 -15.3213 -7.04688 -15.3213 -15.3203v-131.458c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h30.9492 +c8.27344 0 15.3223 7.04688 15.3223 15.3213zM378.834 46.4463v162.714c0 8.27246 -7.04688 15.3213 -15.3213 15.3213h-30.9482c-8.27441 0 -15.3223 -7.04785 -15.3223 -15.3213v-162.714c0 -8.27344 7.04785 -15.3213 15.3223 -15.3213h30.9482 +c8.27441 0 15.3213 7.04688 15.3213 15.3213zM465.861 46.4463v224.612c0 8.58008 -7.04785 15.6279 -15.3223 15.6279h-28.4971c-8.27441 0 -15.3213 -7.04883 -15.3213 -15.6279v-224.612c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h28.4971 +c8.27441 0 15.3223 7.04688 15.3223 15.3213z" /> + <glyph glyph-name="shirtsinbulk" unicode="&#xf214;" +d="M100 37.7002l4.40039 9.89941l30.5996 -13.3994l-4.40039 -9.90039zM139.4 20.2002l4.39941 9.89941l30.6006 -13.3994l-4.40039 -9.90039zM311.5 34.2002l30.5996 13.3994l4.40039 -9.89941l-30.5996 -13.4004zM179.1 3l4.40039 9.59961l30.2998 -13.3994 +l-4.39941 -9.90039zM60.4004 55.2002l4.39941 9.89941l30.6006 -13.6992l-4.40039 -9.60059zM271.8 16.7002l30.6006 13.3994l4.39941 -9.89941l-30.5996 -13.4004zM232.5 -0.799805l30.5996 13.3994l4.40039 -9.59961l-30.5996 -13.7002zM350.9 51.4004l30.5996 13.6992 +l4.40039 -9.89941l-30.6006 -13.4004zM170 401.4v-10.5h-33.5v10.5h33.5zM122.8 401.4l-0.0996094 -10.5h-33.5v10.5h33.5996zM75.5 401.4l0.0996094 -10.5h-33.2998v10.5h33.2002zM217 401.4v-10.5h-33.2002v10.5h33.2002zM311.5 401.4v-10.5h-33.5v10.5h33.5zM358.8 401.4 +v-10.5h-33.5v10.5h33.5zM264.2 401.4v-10.5h-33.2002v10.5h33.2002zM405.7 401.4v-10.5h-33.2998v10.5h33.2998zM52.7998 96.9004v-33.5h-10.7998v33.5h10.7998zM122.8 312.8l-0.0996094 -10.5h-33.5v10.5h33.5996zM52.7998 302.2v-23h-10.7998v33.5h33.5996v-10.5h-22.7998 +zM221.7 73.5996c-50.2002 0 -91.2998 40.8008 -91.2998 91.3008c0 50.1992 41.0996 91.2998 91.2998 91.2998c50.5 0 91.2998 -41.1006 91.2998 -91.2998c0 -50.5 -40.7998 -91.3008 -91.2998 -91.3008zM173.5 184.7c0 -44.2998 77.5996 -11.9004 77.5996 -38 +c0 -13.1006 -24 -14.2998 -32.6992 -14.2998c-12.3008 0 -29.8008 2.69922 -35.9004 14.8994h-0.900391l-9 -18.3994c14.8008 -9.30078 29.1006 -12.2002 47.2002 -12.2002c19.5 0 51 5.7998 51 31.2002c0 48.0996 -78.5 16.2998 -78.5 37.8994 +c0 13.1006 20.7998 14.9004 29.7998 14.9004c10.8008 0 29.2002 -3.2002 35.6006 -13.1006h0.899414l8.80078 16.9004c-15.1006 6.2002 -27.4004 12 -44.3008 12c-20.0996 0 -49.5996 -6.40039 -49.5996 -31.7998zM52.7998 269.6v-33.5996h-10.7998v33.5996h10.7998z +M395.2 63.4004v33.5h10.7998v-33.5h-10.7998zM52.7998 140.1v-33.5h-10.7998v33.5h10.7998zM0 444.3h448v-406l-226.3 -98.5996l-221.7 98.5996v406zM418.8 57.2002h0.100586v270.1h-389.7v-270.1l192.8 -85.7002zM418.8 356.5h0.100586v58.5996h-389.7v-58.5996h389.6z +M52.7998 226.4v-33.5h-10.7998v33.5h10.7998zM52.7998 183.2v-33.5h-10.7998v33.5h10.7998zM170 312.8v-10.5h-33.5v10.5h33.5zM395.2 149.7v33.5h10.7998v-33.5h-10.7998zM395.2 192.9v33.5h10.7998v-33.5h-10.7998zM217 312.8v-10.5h-33.2002v10.5h33.2002zM395.2 236 +v33.5h10.7998v-33.5h-10.7998zM395.2 106.5v33.5h10.7998v-33.5h-10.7998zM264.2 312.8v-10.5h-33.2002v10.5h33.2002zM311.5 312.8v-10.5h-33.5v10.5h33.5zM395.2 279.2l0.0996094 23h-22.7998v10.5h33.5v-33.5h-10.7998zM358.8 312.8v-10.5h-33.5v10.5h33.5z" /> + <glyph glyph-name="simplybuilt" unicode="&#xf215;" horiz-adv-x="512" +d="M481.2 384c14.7002 0 26.5 -11.7998 26.7002 -26.2998v-331.4c0 -14.5 -11.8008 -26.2998 -26.6006 -26.2998h-450.399c-14.8008 0 -26.6006 11.7998 -26.6006 26.2998v331.4c0 14.5 11.7998 26.2998 26.4004 26.2998h106c14.5996 0 26.5996 -11.7998 26.5996 -26.2998 +v-39.6006h185.3v39.6006c0 14.5 12.1006 26.2998 26.6006 26.2998h106zM149.8 92.2002c36.9004 0 66.6006 29.7002 66.6006 66.3994c0 36.9004 -29.7002 66.6006 -66.6006 66.6006c-36.7002 0 -66.3994 -29.7002 -66.3994 -66.6006 +c0 -36.6992 29.7998 -66.3994 66.3994 -66.3994zM362.2 92.2002c36.5996 0 66.3994 29.7002 66.3994 66.5996c0 36.7002 -29.7998 66.4004 -66.3994 66.4004c-36.9004 0 -66.6006 -29.7998 -66.6006 -66.4004c0 -36.8994 29.7002 -66.5996 66.6006 -66.5996z" /> + <glyph glyph-name="skyatlas" unicode="&#xf216;" horiz-adv-x="640" +d="M640 118.7c0 -65.9004 -52.5 -114.4 -117.5 -114.4c-165.9 0 -196.6 249.7 -359.7 249.7c-146.899 0 -147.1 -212.2 5.60059 -212.2c42.5 0 90.8994 17.7998 125.3 42.5c5.59961 4.10059 16.8994 16.2998 22.7998 16.2998s10.9004 -5 10.9004 -10.8994 +c0 -7.7998 -13.1006 -19.1006 -18.7002 -24.1006c-40.9004 -35.5996 -100.3 -61.1992 -154.7 -61.1992c-83.4004 -0.100586 -154 59 -154 144.899c0 85.9004 67.5 149.101 152.8 149.101c185.3 0 222.5 -245.9 361.9 -245.9c99.8994 0 94.7998 139.7 3.39941 139.7 +c-17.5 0 -35 -11.6006 -46.8994 -11.6006c-8.40039 0 -15.9004 7.2002 -15.9004 15.6006c0 11.5996 5.2998 23.7002 5.2998 36.2998c0 66.5996 -50.8994 114.7 -116.899 114.7c-53.1006 0 -80 -36.9004 -88.7998 -36.9004c-6.2002 0 -11.2002 5 -11.2002 11.2002 +c0 5.59961 4.09961 10.2998 7.7998 14.4004c25.2998 28.7998 64.7002 43.6992 102.8 43.6992c79.4004 0 139.101 -58.3994 139.101 -137.8c0 -6.89941 -0.300781 -13.7002 -1.2002 -20.5996c11.8994 3.09961 24.0996 4.7002 35.8994 4.7002 +c60.7002 0 111.9 -45.3008 111.9 -107.2z" /> + <glyph glyph-name="pinterest-p" unicode="&#xf231;" horiz-adv-x="384" +d="M204 441.5c94.2002 0 180 -64.7998 180 -164.1c0 -93.3008 -47.7002 -196.801 -153.9 -196.801c-25.1992 0 -57 12.6006 -69.2998 36c-22.7998 -90.2998 -21 -103.8 -71.3994 -172.8c-5.2002 -1.89941 -3.5 -2.2998 -6.90039 1.5c-1.7998 18.9004 -4.5 37.5 -4.5 56.4004 +c0 61.2002 28.2002 149.7 42 209.1c-7.5 15.2998 -9.59961 33.9004 -9.59961 50.7002c0 80 93.8994 92 93.8994 25.7998c0 -39 -26.3994 -75.5996 -26.3994 -113.399c0 -25.8008 21.2998 -43.8008 46.1992 -43.8008c69 0 90.3008 99.6006 90.3008 152.7 +c0 71.1006 -50.4004 109.8 -118.5 109.8c-79.2002 0 -140.4 -57 -140.4 -137.399c0 -38.7002 23.7002 -58.5 23.7002 -67.7998c0 -7.80078 -5.7002 -35.4004 -15.6006 -35.4004c-24 0 -63.5996 40 -63.5996 110.4c0 110.699 101.4 179.1 204 179.1z" /> + <glyph glyph-name="whatsapp" unicode="&#xf232;" +d="M380.9 350.9c41.8994 -42 67.0996 -97.7002 67.0996 -157c0 -122.4 -101.8 -222 -224.1 -222h-0.100586c-37.2002 0 -73.7002 9.2998 -106.1 27l-117.7 -30.9004l31.5 115c-19.4004 33.7002 -29.5996 71.9004 -29.5996 111c0 122.4 99.5996 222 222 222 +c59.2998 0 115.1 -23.0996 157 -65.0996zM223.9 9.2998c101.699 0 186.6 82.7998 186.6 184.601c0.0996094 49.2998 -21.2998 95.5996 -56.0996 130.5c-34.8008 34.8994 -81.1006 54.0996 -130.4 54.0996c-101.8 0 -184.6 -82.7998 -184.6 -184.5 +c0 -34.9004 9.69922 -68.7998 28.1992 -98.2002l4.40039 -7l-18.5996 -68.0996l69.7998 18.2998l6.7002 -4c28.2998 -16.7998 60.7998 -25.7002 94 -25.7002zM325.1 147.5c5.5 -2.7002 9.2002 -4.09961 10.5 -6.59961c1.40039 -2.30078 1.40039 -13.4004 -3.19922 -26.4004 +c-4.60059 -13 -26.7002 -24.7998 -37.4004 -26.4004c-17.5996 -2.59961 -31.4004 -1.2998 -66.5996 13.9004c-55.7002 24.0996 -92 80.0996 -94.8008 83.7998c-2.69922 3.7002 -22.5996 30.1006 -22.5996 57.4004s14.2998 40.7002 19.4004 46.2998 +c5.09961 5.5 11.0996 6.90039 14.7998 6.90039s7.39941 0 10.5996 -0.200195c3.40039 -0.200195 8 1.2998 12.5 -9.5c4.60059 -11.1006 15.7002 -38.4004 17.1006 -41.2002c1.39941 -2.7998 2.2998 -6 0.5 -9.7002c-10.6006 -21.2002 -22 -20.5 -16.3008 -30.2998 +c21.5 -36.9004 42.9004 -49.7002 75.5 -66c5.5 -2.7998 8.80078 -2.2998 12 1.40039c3.30078 3.7998 13.9004 16.1992 17.6006 21.7998c3.7002 5.59961 7.39941 4.7002 12.5 2.7998c5.09961 -1.7998 32.3994 -15.2002 37.8994 -18z" /> + <glyph glyph-name="viacoin" unicode="&#xf237;" horiz-adv-x="384" +d="M384 416l-48 -112h48v-48h-68.5l-13.7998 -32h82.2998v-48h-102.8l-89.2002 -208l-89.2002 208h-102.8v48h82.2998l-13.7998 32h-68.5v48h48l-48 112h64l80.7998 -192h94.5l80.7002 192h64zM192 112l27 64h-54z" /> + <glyph glyph-name="medium" unicode="&#xf23a;" +d="M0 416h448v-448h-448v448zM372.2 309.9v5h-83.2002l-59.2998 -147.9l-67.4004 148h-87.2998v-5.09961l28.0996 -33.9004c2.80078 -2.5 4.2002 -6.09961 3.80078 -9.7998v-133c0.799805 -4.7998 -0.700195 -9.7002 -4.10059 -13.2002l-31.5996 -38.2998v-5.10059h89.7998 +v5.10059l-31.5996 38.2998c-3.40039 3.5 -5.10059 8.40039 -4.40039 13.2002v115l78.7002 -171.601h9.09961l67.6006 171.601v-136.9c0 -3.59961 0 -4.2998 -2.40039 -6.7002l-24.2998 -23.5996v-4.90039h118v5.10059l-23.5 23 +c-2.10059 1.5 -3.10059 4.09961 -2.7002 6.7002v169.3c-0.400391 2.5 0.599609 5.09961 2.7002 6.7002z" /> + <glyph glyph-name="y-combinator" unicode="&#xf23b;" +d="M448 416v-448h-448v448h448zM236 160.5l77.5 145.5h-32.7002l-45.7998 -91c-4.7002 -9.2998 -9 -18.2998 -12.7998 -26.7998l-12.2002 26.7998l-45.2002 91h-35l76.7002 -143.8v-94.5h29.5v92.7998z" /> + <glyph glyph-name="optin-monster" unicode="&#xf23c;" horiz-adv-x="576" +d="M572.6 26.5996c1 -3.5 1.90039 -7 1.7002 -10.6992c0.799805 -31.6006 -44.2998 -64 -73.5 -65.1006c-17.2998 -0.799805 -34.5996 8.40039 -42.7002 23.5c-113.5 -4.09961 -227 -4.89941 -340.199 0c-8.40039 -15.0996 -25.7002 -24 -43 -23.5 +c-28.9004 1.10059 -74 33.5 -73.5 65.1006c0.299805 3.7998 0.799805 7.2998 1.89941 10.7998c-5.59961 9.39941 -4.7998 15.2998 5.40039 11.5996c3.2998 5.2002 7 9.5 11.0996 13.7998c-2.5 10.9004 1.2998 14.1006 11.1006 9.2002c4.5 3.2998 10 6.5 15.8994 9.2002 +c0 15.7998 11.7998 11.2002 17.2998 5.7002c12.5 1.7998 20.2002 -0.700195 26.8008 -5.7002v19.7002c-12.9004 0 -40.6006 11.3994 -45.9004 36.2002c-5 20.7998 2.59961 38.0996 25.0996 47.5996c0.800781 5.90039 8.10059 14 14.9004 15.9004 +c7.59961 1.89941 12.5 -4.60059 14.0996 -10.3008c7.40039 0 17.8008 -1.5 21.1006 -8.09961c5.39941 0.5 11.0996 1.40039 16.5 1.90039c-2.40039 1.89941 -5.10059 3.5 -8.10059 4.59961c-5.09961 8.90039 -13.7998 11.0996 -24.5996 11.5996 +c0 0.800781 0 1.60059 0.299805 2.7002c-19.7998 0.5 -44.0996 5.60059 -54.8994 17.7998c-21.3008 23.6006 -15.9004 83.6006 12.1992 103.5c8.40039 5.7002 21.6006 0.800781 22.7002 -9.69922c2.40039 -20.6006 0.400391 -26.8008 26.2002 -25.9004 +c8.09961 7.7998 16.7998 14.5996 26.5 20c-14.9004 1.2998 -28.9004 -1.59961 -43.7998 -3.7998c12.7002 12.5 23.8994 25.3994 56.7002 42.3994c23.5 11.9004 50 20.8008 76.1992 23.2002c-18.5996 7.90039 -40 11.9004 -59.6992 16.5 +c76.5 16.2002 174.6 22.1006 244.199 -37.5996c18.1006 -15.4004 32.4004 -36.2002 42.7002 -60c39.7998 -4.90039 36.4004 5.5 38.6006 25.0996c1.09961 10.2998 14.2998 15.4004 22.6992 9.5c14.9004 -10.5 22.2002 -30.7998 24.6006 -48.0996 +c2.2002 -17.7998 0.299805 -41.2998 -12.4004 -55.1006c-10.7998 -12.1992 -34.2998 -17.5996 -53.7998 -18.0996v-2.7998c-11.0996 -0.200195 -20.2998 -2.40039 -25.7002 -11.6006c-3 -1.09961 -5.7002 -2.69922 -8.39941 -4.59961 +c5.69922 -0.5 11.3994 -1.40039 16.7998 -1.90039c1.89941 5.60059 12.5996 8.40039 21.0996 8.40039c1.7002 5.40039 6.7998 11.9004 14.1006 10.2998c7.2998 -1.59961 14.0996 -10 14.8994 -15.8994c10.7998 -4.40039 22.1006 -12.2002 25.1006 -25.7002 +c1.89941 -8.10059 1.69922 -15.1006 0.299805 -21.9004c-5.7002 -25.2002 -33.2998 -36.2002 -45.9004 -36.2002c0 -6.69922 0 -13.1992 -0.299805 -19.6992c8.09961 6 16.4004 7.19922 26.7998 5.69922c6 5.90039 17.6006 9.40039 17.6006 -5.69922 +c5.59961 -2.7002 11.2998 -6 15.8994 -9.2002c10.1006 5 13.7002 0.5 10.7998 -9.2002c4.10059 -4.2998 8.10059 -8.90039 11.1006 -13.7998c10.0996 3.59961 11 -2.10059 5.39941 -11.6006zM498.8 280.6c17.2998 -6.69922 26.2002 -22.0996 30.2998 -35.6992 +c1.10059 10.5996 -2.69922 39.5 -13.7998 51.0996c-7.2998 7.2998 -14.0996 5.09961 -14.0996 -0.799805c0 -6.2002 -1.2998 -11.6006 -2.40039 -14.6006zM494.2 273.9c-3.2002 -3.30078 -9.2002 -4.90039 -14.1006 -5.7002c13 -15.7002 17 -41.7002 12.7002 -63 +c10.7998 2.2002 20.5 6.2998 26.2002 12.2002c1.90039 2.19922 3.7998 4.89941 4.90039 7.59961c-1.10059 21.2998 -10.2002 42.7002 -29.7002 48.9004zM470.1 267.1c-3.69922 0 -8.09961 0 -11.7998 0.300781c7.5 -20.6006 12.4004 -42.7002 14.2998 -64.6006 +c3.5 0 7.5 0.299805 11.6006 0.799805c5.89941 24.3008 -0.299805 51.6006 -14.1006 63.5zM47.5 245c4.09961 13.5 13 28.9004 30.2998 35.7002c-1 3 -2.39941 8.39941 -2.39941 14.5996c0 5.90039 -7.10059 8.10059 -14.1006 0.799805 +c-11.3994 -11.5996 -14.8994 -40.5996 -13.7998 -51.0996zM57.2002 217.4c5.7002 -6.2002 15.3994 -10 26.2002 -12.2002c-4.30078 21.3994 -0.300781 47.2998 12.6992 63c-4.89941 0.799805 -10.8994 2.5 -14.0996 5.7002 +c-19.4004 -6.2002 -28.2998 -27.6006 -29.7002 -48.9004c1.40039 -2.7002 3 -5.40039 4.90039 -7.59961zM105.1 202.8c2.40039 22.2002 9.10059 43.7998 19.8008 63.5c-5.2002 -1.09961 -10 -3 -14.9004 -4.89941l-12.2002 -5.10059v0.299805 +c-7.2998 -14.0996 -10 -34.3994 -5.39941 -53c4.59961 -0.5 8.59961 -0.799805 12.6992 -0.799805zM289.1 365.5c-41.8994 0 -76.1992 -34.0996 -76.1992 -75.9004c0 -42.1992 34.2998 -76.1992 76.1992 -76.1992c41.9004 0 76.2002 34 76.2002 76.1992 +c0 41.9004 -34.2998 75.9004 -76.2002 75.9004zM404.7 191.2c-12.9004 0.799805 -26.2002 0.799805 -39.5 1.09961c10 -50.5996 3.2998 -64.7002 16.5 -58.0996c16 8.09961 22.7002 39.2002 23 57zM350.7 192.8c-18.9004 0.299805 -38.1006 0.299805 -57 0v0.299805 +c-0.299805 -5.19922 0.200195 -38.0996 4.2998 -41.0996c11.0996 -5.40039 39.5 -4.59961 51.0996 -1.09961c5.40039 1.59961 2.40039 37 1.60059 41.8994zM278.3 139c4.60059 2.5 2.40039 45.4004 1.2998 53.7002v0.299805 +c-19.3994 -0.299805 -38.5996 -0.299805 -57.7998 -0.799805c-1.89941 -9.2002 -4.59961 -48.9004 1.90039 -51.6006c13 -5.69922 41.5996 -5.09961 54.5996 -1.59961zM171.8 190.1c-5.39941 -19.6992 0.299805 -45.0996 22.2002 -54.8994 +c5.40039 -2.5 8.59961 -2.5 9.7002 4.2998c1.89941 8.7002 2.5 36.7998 4.89941 52.2002c-12.1992 -0.200195 -24.5996 -0.799805 -36.7998 -1.60059zM136.4 158.8c2.39941 -3.7002 1.59961 -9.09961 -8 -12.5c43.7998 -47 92.6992 -85.7002 155.899 -106.5 +c67.5 19.2002 115.601 60 163.2 107c-11.0996 4.2998 -7.7002 10.2998 -7.2998 11.6006c-8.90039 0.799805 -17.9004 1.89941 -26.5 2.69922c-9.5 -33 -36 -52.8994 -46.7998 -31.5996c-2.7002 5.2002 -3.5 11.7002 -4.60059 16.7998 +c-3.7998 -8.39941 -13.2998 -8.09961 -24.5996 -8.89941c-13.2002 -1.10059 -31.6006 -1.30078 -44 3c-3 -12.9004 -11.1006 -12.9004 -26.7998 -14.3008c-14.1006 -1.39941 -48.7002 -4.09961 -54.9004 10.8008c-1.09961 -28.7002 -35.0996 -10 -45.0996 7 +c-3.2002 5.69922 -5.40039 11.3994 -7 17.5996c-7.80078 -0.799805 -15.7002 -1.59961 -23.5 -2.7002zM114.8 -13.7002c0.5 2.5 0.799805 5.2002 0.799805 8.2002c-5.69922 23.2002 -18.5996 49.7002 -33.5 54c-22.3994 6.7002 -68.8994 -23.5 -66.1992 -54.5996 +c12.6992 -19.5 40 -35.7002 59.1992 -36.5c17.8008 -0.800781 35.9004 11.0996 39.7002 28.8994zM106.1 52.2998c9 -16 15.5 -33.2998 16.7002 -51.8994c33.5 19.3994 69.1006 35.6992 105.9 47c-38.7002 20.5 -68.1006 47.7998 -97.2998 77 +c-2.10059 -1.30078 -5.10059 -2.40039 -7.80078 -3.5c-1.59961 -4.90039 8.7002 -5.30078 5.40039 -12.4004c-2.09961 -4.09961 -8.59961 -7.59961 -15.0996 -9.2002c-2.10059 -2.7002 -5.10059 -4.89941 -7.80078 -6.5h-0.299805 +c-0.200195 -13.5 -0.200195 -27 0.299805 -40.5zM443.7 -12.2998c-36.7998 21.2998 -74.1006 41.2998 -115.601 53c-13.7998 -6.2002 -27.8994 -11.2998 -42.1992 -15.4004c-2.10059 -0.799805 -2.10059 -0.799805 -4.30078 0 +c-11.8994 3.7002 -23.2998 8.10059 -34.8994 13.2002c-40.2002 -11.5996 -77.2998 -29.2002 -112.4 -50.7998h-0.299805v-0.299805c0.299805 0 0.299805 0 0.299805 0.299805c103.2 -4.10059 206.4 -3.5 309.4 0zM454.2 0.0996094c1 14.7002 7.2002 35.8008 16.5 51.7002 +l-0.299805 -0.299805c0.5 13.7002 0.799805 27.5 0.799805 41.2998c-3 1.7002 -5.7002 4.10059 -8.10059 6.7998c-6.5 1.30078 -12.8994 5.10059 -15.0996 8.90039c-1.90039 4.09961 1.2998 7.59961 5.90039 10.2998c-0.200195 0.5 -0.5 1.60059 -0.5 2.40039 +c-3 0.799805 -5.40039 1.7998 -7.60059 3.2002c-31.5996 -29.4004 -65.3994 -56.7002 -103.5 -76.7002c38.9004 -11.7002 76 -28.1006 111.9 -47.6006zM560.1 -6.09961c3 31.0996 -43.5 61.3994 -66.1992 54.5c-14.6006 -4.30078 -27.8008 -30.8008 -33.5 -54 +c0 -23.8008 21.1992 -37.9004 40.5 -37c19.1992 0.799805 46.5 17 59.1992 36.5zM372.9 372.8c-35.7002 39.2002 -81.4004 47.7998 -126 23.5c25.1992 56.2002 122.199 48.6006 126 -23.5zM74.7998 40.9004c14.9004 1.89941 24.6006 -19.2002 18.6006 -30.8008 +c-4.80078 -9.69922 -23.7002 -24.0996 -35.9004 -27.2998c-16.5 -4.59961 -32.2002 3.2998 -32.2002 14.9004c0 17.7998 33.7998 41.5996 49.5 43.2002zM290.7 217.1c-30.9004 0 -57.6006 25.7002 -50.2998 59.8008c13.1992 -20.7002 46.5 -12 46.5 11.2998 +c0 10 -7 18.5996 -16.5 21.5996c31.6992 13.7998 72.1992 -8.2002 72.1992 -44.2998c0 -26.7998 -23.2998 -48.4004 -51.8994 -48.4004zM68 -26.0996c-0.5 8.39941 20.2998 23.5 29.2002 25.0996c8.59961 1.59961 12.7002 -11.4004 9.7002 -18.4004 +c-2.7002 -5.69922 -10.5 -13.5 -17.3008 -16.1992c-9.39941 -3.2002 -21.0996 3 -21.5996 9.5zM501.2 40.9004c15.7002 -1.60059 49.5 -25.4004 49.5 -43.2002c0 -11.7002 -15.7002 -19.5 -32.2002 -14.9004c-12.0996 3.2002 -31.2998 17.6006 -36.2002 27.2998 +c-5.7002 11.6006 4 32.7002 18.9004 30.8008zM478.8 -1c8.90039 -1.59961 30 -16.7002 29.1006 -25.0996c-0.200195 -6.5 -12.1006 -12.7002 -21.3008 -9.5c-7 2.69922 -14.8994 10.5 -17.2998 16.1992c-2.89941 7.10059 1.10059 20 9.5 18.4004z" /> + <glyph glyph-name="opencart" unicode="&#xf23d;" horiz-adv-x="640" +d="M423.3 7.2998c0 -25.2998 -20.2998 -45.5996 -45.5996 -45.5996s-45.7998 20.2998 -45.7998 45.5996s20.5996 45.7998 45.7998 45.7998c25.3994 0 45.5996 -20.5 45.5996 -45.7998zM169.4 53.0996c25.2998 0 45.7998 -20.5 45.7998 -45.7998 +s-20.5 -45.5996 -45.7998 -45.5996c-25.3008 0 -45.6006 20.3994 -45.6006 45.5996s20.2998 45.7998 45.6006 45.7998zM461.1 323.1c302.2 0 169.5 -67.1992 -17.1992 -233.899c59.1992 102.8 262.5 193.899 -70.8008 188.899c-319.8 -4.69922 -338.699 92.5 -373.1 144.2 +c81.9004 -86.3994 158.9 -99.2002 461.1 -99.2002z" /> + <glyph glyph-name="expeditedssl" unicode="&#xf23e;" horiz-adv-x="496" +d="M248 404.6c117.4 0 212.6 -95.1992 212.6 -212.6s-95.1992 -212.6 -212.6 -212.6s-212.6 95.1992 -212.6 212.6s95.1992 212.6 212.6 212.6zM150.6 271.7h-0.199219v-26.6006c0 -5 3.89941 -8.89941 8.89941 -8.89941h17.7002c5 0 8.90039 3.89941 8.90039 8.89941 +v26.6006c0 82.0996 124 82.0996 124 0v-26.6006c0 -5 3.89941 -8.89941 8.89941 -8.89941h17.7002c5 0 8.90039 3.89941 8.90039 8.89941v26.6006c0 53.7002 -43.7002 97.3994 -97.4004 97.3994s-97.4004 -43.6992 -97.4004 -97.3994zM389.7 68v141.7 +c0 9.7002 -8 17.7002 -17.7002 17.7002h-248c-9.7002 0 -17.7002 -8 -17.7002 -17.7002v-141.7c0 -9.7002 8 -17.7002 17.7002 -17.7002h248c9.7002 0 17.7002 8 17.7002 17.7002zM141.7 205.3v-132.899c0 -2.5 -1.90039 -4.40039 -4.40039 -4.40039h-8.89941 +c-2.5 0 -4.40039 1.90039 -4.40039 4.40039v132.899c0 2.5 1.90039 4.40039 4.40039 4.40039h8.89941c2.5 0 4.40039 -1.90039 4.40039 -4.40039zM283.4 156.6c0 -13 -7.2002 -24.3994 -17.7002 -30.3994v-31.6006c0 -5 -3.90039 -8.89941 -8.90039 -8.89941h-17.7002 +c-5 0 -8.89941 3.89941 -8.89941 8.89941v31.6006c-10.5 6.09961 -17.7002 17.3994 -17.7002 30.3994c0 19.7002 15.7998 35.4004 35.4004 35.4004c19.5996 0 35.5 -15.7998 35.5 -35.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248 +s111 248 248 248zM248 -38.2998c127 0 230.3 103.3 230.3 230.3s-103.3 230.3 -230.3 230.3s-230.3 -103.3 -230.3 -230.3s103.3 -230.3 230.3 -230.3z" /> + <glyph glyph-name="cc-jcb" unicode="&#xf24b;" horiz-adv-x="576" +d="M431.5 203.7v32.2998c41.2002 0 38.5 -0.200195 38.5 -0.200195c7.2998 -1.2998 13.2998 -7.2998 13.2998 -16c0 -8.7998 -6 -14.5 -13.2998 -15.7998c-1.2002 -0.400391 -3.2998 -0.299805 -38.5 -0.299805zM474.3 183.5c7.5 -1.5 13.5 -8.2998 13.5 -17 +c0 -9 -6 -15.5 -13.5 -17c-2.7998 -0.700195 -3.2002 -0.5 -42.7998 -0.5v35c39.5 0 40 0.200195 42.7998 -0.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM182 255.7h-57 +c0 -67.1006 10.7002 -109.7 -35.7998 -109.7c-19.5 0 -38.7998 5.7002 -57.2002 14.7998v-28c30 -8.2998 68 -8.2998 68 -8.2998c97.9004 0 82 47.7002 82 131.2zM360.5 251.2c-63.4004 16 -165 14.8994 -165 -59.2998c0 -77.1006 108.2 -73.6006 165 -59.2002v28.2998 +c-47.5996 -24.7002 -107.5 -22 -107.5 31s59.7998 55.5996 107.5 31.2002v28zM544 161.5c0 18.5 -16.5 30.5 -38 32v0.799805c19.5 2.7002 30.2998 15.5 30.2998 30.2002c0 19 -15.7002 30 -37 31c0 0 6.2998 0.299805 -120.3 0.299805v-127.5h122.7 +c24.2998 -0.0996094 42.2998 12.9004 42.2998 33.2002z" /> + <glyph glyph-name="cc-diners-club" unicode="&#xf24c;" horiz-adv-x="576" +d="M239.7 368.1c97.2002 0 175.8 -78.5996 175.8 -175.8c0 -96.8994 -78.5996 -175.8 -175.8 -175.8c-96.9004 0 -175.8 78.9004 -175.8 175.8c0 97.2002 78.8994 175.8 175.8 175.8zM199.8 88.5v207.9c-41.7002 -16.2002 -71.3994 -56.7002 -71.3994 -104.101 +c0 -47.3994 29.6992 -87.8994 71.3994 -103.8zM279.6 88.2002c41.7002 16.2002 71.4004 56.7002 71.4004 104.1c0 47.4004 -29.7002 87.9004 -71.4004 104.101v-208.2zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352 +c0 26.5 21.5 48 48 48h480zM329.7 0c105 0 200.7 85.5 200.7 190.2c0 114.6 -95.7002 193.8 -200.7 193.8h-90.2998c-106.2 0 -193.801 -79.2002 -193.801 -193.8c0 -104.7 87.6006 -190.2 193.801 -190.2h90.2998z" /> + <glyph glyph-name="creative-commons" unicode="&#xf25e;" horiz-adv-x="496" +d="M245.83 233.13l-33.2197 -17.2803c-9.43066 19.5801 -25.2402 19.9307 -27.46 19.9307c-22.1309 0 -33.2207 -14.6104 -33.2207 -43.8398c0 -23.5703 9.20996 -43.8408 33.2207 -43.8408c14.4697 0 24.6494 7.09082 30.5693 21.2607l30.5498 -15.5 +c-6.16992 -11.5107 -25.6895 -38.9805 -65.0996 -38.9805c-22.5996 0 -73.96 10.3203 -73.96 77.0498c0 58.6904 43 77.0605 72.6299 77.0605c30.7197 0.00976562 52.7002 -11.9502 65.9902 -35.8604zM388.88 233.13l-32.7803 -17.2803 +c-9.5 19.7705 -25.7197 19.9307 -27.8994 19.9307c-22.1406 0 -33.2197 -14.6104 -33.2197 -43.8398c0 -23.5508 9.22949 -43.8408 33.2197 -43.8408c14.4502 0 24.6494 7.09082 30.54 21.2607l31 -15.5c-2.10059 -3.75 -21.3906 -38.9805 -65.0898 -38.9805 +c-22.6904 0 -73.96 9.87012 -73.96 77.0498c0 58.6699 42.9697 77.0605 72.6299 77.0605c30.71 0.00976562 52.5801 -11.9502 65.5596 -35.8604zM247.56 439.95c141.82 0 248.44 -110.13 248.44 -248c0 -147.13 -118.51 -248 -248.44 -248 +c-133.96 0 -247.56 109.51 -247.56 248c0 132.939 104.74 248 247.56 248zM248.43 -10.8604c103.16 0 202.83 81.1299 202.84 202.82c0 113.8 -90.2891 203.26 -202.819 203.26c-118.29 0 -203.72 -97.8496 -203.72 -203.27c0 -109.771 91.1592 -202.811 203.699 -202.811z +" /> + <glyph glyph-name="gg" unicode="&#xf260;" horiz-adv-x="512" +d="M179.2 217.6l102.399 -102.399l-102.399 -102.4l-179.2 179.2l179.2 179.2l44.7998 -44.7998l-25.5996 -25.6006l-19.2002 19.2002l-128 -128l128 -128l51.5 51.5l-77.1006 76.5zM332.8 371.2l179.2 -179.2l-179.2 -179.2l-44.7998 44.7998l25.5996 25.6006 +l19.2002 -19.2002l128 128l-128 128l-51.5 -51.5l77.1006 -76.5l-25.6006 -25.5996l-102.399 102.399z" /> + <glyph glyph-name="gg-circle" unicode="&#xf261;" horiz-adv-x="512" +d="M257 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM207.5 65.2002l75 75.2002l-77.2002 77.1992l-24.3994 -24.3994l53.0996 -52.9004l-26.5996 -26.5996l-77.2002 77.2002l77.2002 77.1992l11.0996 -11.0996l24.2002 24.2002 +l-35.2002 35.3994l-125.7 -125.699zM306.5 67.4004l125.7 125.6l-125.7 125.7l-75 -75l77.2002 -77.2002l24.3994 24.4004l-53.0996 52.8994l26.5 26.5l77.2002 -77.2002l-77.2002 -77.1992l-11.0996 11.0996l-24.1006 -24.4004z" /> + <glyph glyph-name="tripadvisor" unicode="&#xf262;" horiz-adv-x="576" +d="M166.4 167.479c0 -13.2354 -10.7305 -23.9658 -23.9668 -23.9658c-13.2354 0 -23.9658 10.7305 -23.9658 23.9658c0 13.2363 10.7305 23.9668 23.9658 23.9668c13.2363 0 23.9668 -10.7295 23.9668 -23.9668zM431.362 191.435 +c13.2295 0 23.9551 -10.7246 23.9561 -23.9561c0 -13.2305 -10.7266 -23.9551 -23.9561 -23.9551c-13.2314 0 -23.9561 10.7256 -23.9561 23.9551c0 13.2314 10.7256 23.9561 23.9561 23.9561zM520.75 51.9453c-62.667 -49.1045 -153.276 -38.1094 -202.379 24.5586 +l-30.9795 -46.3252l-30.6826 45.9395c-48.2773 -60.3906 -135.622 -71.8916 -197.885 -26.0547c-64.0586 47.1572 -77.7588 137.315 -30.6016 201.373c-5.05762 17.1221 -17.7021 42.7236 -28.2227 57.1475l90.2861 0.0498047 +c48.0039 29.8701 132.851 54.1123 189.389 54.1123c2.11914 0 5.55762 -0.0371094 7.67578 -0.0820312c1.72363 0.0302734 4.52246 0.0556641 6.24609 0.0556641c55.5518 0 138.851 -23.9258 185.936 -53.4043l96.2178 -0.0742188 +c-10.6191 -14.5371 -23.3213 -40.3643 -28.3516 -57.6494c46.793 -62.7471 34.9639 -151.37 -26.6484 -199.646zM259.366 166.239c-0.00683594 63.5566 -51.5352 115.075 -115.092 115.067c-63.5576 -0.00683594 -115.074 -51.5342 -115.068 -115.092 +c0.00683594 -63.5566 51.5352 -115.075 115.092 -115.067c63.5127 0.0742188 114.984 51.5381 115.068 115.052v0.0400391zM287.957 176.694c5.43262 73.4395 65.5098 130.884 139.12 133.021c-35.5576 15.374 -95.8555 27.8506 -134.594 27.8506 +c-1.41699 0 -3.7168 -0.0166016 -5.13379 -0.0380859c-0.953125 0.00878906 -2.50098 0.0166016 -3.45508 0.0166016c-39.2324 0 -100.479 -12.2168 -136.709 -27.2695c74.3447 -1.58203 135.3 -59.4248 140.771 -133.581zM539.663 205.461 +c-21.9922 59.6338 -88.1621 90.1484 -147.795 68.1572c-59.6338 -21.9922 -90.1484 -88.1621 -68.1572 -147.795v-0.0322266c22.0381 -59.6074 88.1982 -90.0908 147.827 -68.1133c59.6152 22.0039 90.1133 88.1621 68.125 147.783zM213.624 167.486v-0.115234 +c-0.0566406 -39.3281 -31.9863 -71.1631 -71.3145 -71.1064c-39.3271 0.0576172 -71.1621 31.9863 -71.1055 71.3145s31.9863 71.1631 71.3135 71.1055c39.2598 -0.115234 71.042 -31.9395 71.1064 -71.1982zM189.112 167.486v0.0839844 +c-0.0517578 25.7832 -20.9941 46.6445 -46.7783 46.5938s-46.6445 -20.9941 -46.5938 -46.7773c0.0507812 -25.7842 20.9941 -46.6445 46.7764 -46.5938c25.7266 0.113281 46.5371 20.9678 46.5957 46.6934zM502.535 167.486 +c-0.0205078 -39.3281 -31.918 -71.2422 -71.2471 -71.2217c-39.3291 0.0214844 -71.1943 31.918 -71.1729 71.2471c0.0195312 39.3281 31.918 71.1943 71.2471 71.1729c39.29 -0.0654297 71.1211 -31.9082 71.1729 -71.1982zM478.031 167.494 +c-0.00878906 25.7842 -20.918 46.6787 -46.7021 46.6699s-46.6787 -20.918 -46.6699 -46.7021s20.918 -46.6777 46.7021 -46.6699c25.7646 0.0458984 46.6357 20.9277 46.6699 46.6934v0.00878906z" /> + <glyph glyph-name="odnoklassniki" unicode="&#xf263;" horiz-adv-x="320" +d="M275.1 114c-27.3994 -17.4004 -65.0996 -24.2998 -90 -26.9004l20.9004 -20.5996l76.2998 -76.2998c27.9004 -28.6006 -17.5 -73.2998 -45.7002 -45.7002c-19.0996 19.4004 -47.0996 47.4004 -76.2998 76.5996l-76.2998 -76.5 +c-28.2002 -27.5 -73.5996 17.6006 -45.4004 45.7002c19.4004 19.4004 47.1006 47.4004 76.3008 76.2998l20.5996 20.6006c-24.5996 2.59961 -62.9004 9.09961 -90.5996 26.8994c-32.6006 21 -46.9004 33.3008 -34.3008 59c7.40039 14.6006 27.7002 26.9004 54.6006 5.7002 +c0 0 36.2998 -28.8994 94.8994 -28.8994c58.6006 0 94.9004 28.8994 94.9004 28.8994c26.9004 21.1006 47.0996 8.90039 54.5996 -5.7002c12.4004 -25.6992 -1.89941 -38 -34.5 -59.0996zM30.2998 318.3c0 71.7002 58.2998 129.7 129.7 129.7s129.7 -58 129.7 -129.7 +c0 -71.3994 -58.2998 -129.399 -129.7 -129.399s-129.7 58 -129.7 129.399zM96.2998 318.3c0 -35.0996 28.6006 -63.7002 63.7002 -63.7002s63.7002 28.6006 63.7002 63.7002c0 35.4004 -28.6006 64 -63.7002 64s-63.7002 -28.5996 -63.7002 -64z" /> + <glyph glyph-name="odnoklassniki-square" unicode="&#xf264;" +d="M184.2 270.9c0 22.0996 17.8994 40 39.7998 40s39.7998 -17.9004 39.7998 -40c0 -22 -17.8994 -39.8008 -39.7998 -39.8008s-39.7998 17.9004 -39.7998 39.8008zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352 +c26.5 0 48 -21.5 48 -48zM142.9 270.9c0 -44.6006 36.3994 -80.9004 81.0996 -80.9004s81.0996 36.2002 81.0996 80.9004c0 44.7998 -36.3994 81.0996 -81.0996 81.0996s-81.0996 -36.2002 -81.0996 -81.0996zM317.4 180.2 +c-4.60059 9.09961 -17.3008 16.7998 -34.1006 3.59961c0 0 -22.7002 -18 -59.2998 -18s-59.2998 18 -59.2998 18c-16.7998 13.2002 -29.5 5.5 -34.1006 -3.59961c-7.89941 -16.1006 1.10059 -23.7002 21.4004 -37c17.2998 -11.1006 41.2002 -15.2002 56.5996 -16.7998 +l-12.8994 -12.9004c-18.2002 -18 -35.5 -35.5 -47.7002 -47.7002c-17.5996 -17.5996 10.7002 -45.7998 28.4004 -28.5996l47.6992 47.8994c18.2002 -18.1992 35.7002 -35.6992 47.7002 -47.8994c17.6006 -17.2002 46 10.7002 28.6006 28.5996l-47.7002 47.7002l-13 12.9004 +c15.5 1.59961 39.0996 5.89941 56.2002 16.7998c20.3994 13.2998 29.2998 21 21.5 37z" /> + <glyph glyph-name="get-pocket" unicode="&#xf265;" +d="M407.6 384c22.7002 0 40.4004 -18.2002 40.4004 -40.5996v-135.2c0 -124.7 -99.7998 -224.2 -223.8 -224.2c-124.5 0 -224.2 99.5 -224.2 224.2v135.2c0 22.0996 18.5 40.5996 40.5996 40.5996h367zM245.6 115.5c111.9 107.5 114.801 105.4 114.801 123.2 +c0 16.8994 -13.8008 30.7002 -30.7002 30.7002c-16.9004 0 -14.9004 -2.40039 -105.5 -89.3008c-89.1006 85.5 -88.2002 89.3008 -105.2 89.3008c-16.9004 0 -30.7002 -13.8008 -30.7002 -30.7002c0 -18.1006 1.2002 -14.2998 114.9 -123.2 +c11 -11.0996 30 -11.7998 42.3994 0z" /> + <glyph glyph-name="wikipedia-w" unicode="&#xf266;" horiz-adv-x="640" +d="M640 396.8l-0.299805 -12.2002c-28.1006 -0.799805 -45 -15.7998 -55.7998 -40.2998c-25 -57.7998 -103.301 -240 -155.301 -358.6h-13.5996l-81.9004 193.1c-32.5 -63.5996 -68.2998 -130 -99.1992 -193.1c-0.300781 -0.299805 -15 0 -15 0.299805 +c-46.9004 109.7 -96.1006 218.6 -143.101 328.6c-11.3994 26.7002 -49.3994 70 -75.5996 69.7002c0 3.10059 -0.299805 10 -0.299805 14.2002h161.899v-13.9004c-19.2002 -1.09961 -52.7998 -13.2998 -43.2998 -34.1992c21.9004 -49.7002 103.6 -240.301 125.6 -288.601 +c15 29.7002 57.8008 109.2 75.3008 142.8c-13.9004 28.3008 -58.6006 133.9 -72.8008 160c-9.69922 17.8008 -36.0996 19.4004 -55.7998 19.7002v13.9004l142.5 -0.299805v-13.1006c-19.3994 -0.599609 -38.0996 -7.7998 -29.3994 -26.0996 +c18.8994 -40 30.5996 -68.1006 48.0996 -104.7c5.59961 10.7998 34.7002 69.4004 48.0996 100.8c8.90039 20.6006 -3.89941 28.6006 -38.5996 29.4004c0.299805 3.59961 0 10.2998 0.299805 13.5996c44.4004 0.299805 111.101 0.299805 123.101 0.600586v-13.6006 +c-22.5 -0.799805 -45.8008 -12.7998 -58.1006 -31.7002l-59.2002 -122.8c6.40039 -16.0996 63.3008 -142.8 69.2002 -156.7l122.4 282.601c-8.60059 23.0996 -36.4004 28.0996 -47.2002 28.2998v13.9004l127.8 -1.10059z" /> + <glyph glyph-name="safari" unicode="&#xf267;" horiz-adv-x="512" +d="M236.9 191.2c0 9.09961 6.59961 17.7002 16.2998 17.7002c8.89941 0 17.3994 -6.40039 17.3994 -16.1006c0 -9.09961 -6.39941 -17.7002 -16.0996 -17.7002c-9 0 -17.5996 6.7002 -17.5996 16.1006zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248 +s111 248 248 248s248 -111 248 -248zM477.4 192c0 122.3 -99.1006 221.4 -221.4 221.4s-221.4 -99.1006 -221.4 -221.4s99.1006 -221.4 221.4 -221.4s221.4 99.1006 221.4 221.4zM404.9 95.4004c0 -3.60059 13 -10.2002 16.2998 -12.2002 +c-27.4004 -41.5 -69.7998 -71.4004 -117.9 -83.2998l-4.39941 18.5c-0.300781 2.5 -1.90039 2.7998 -4.2002 2.7998c-1.90039 0 -3 -2.7998 -2.7998 -4.2002l4.39941 -18.7998c-13.2998 -2.7998 -26.7998 -4.2002 -40.3994 -4.2002c-36.3008 0 -72 10.2002 -103 29.0996 +c1.69922 2.80078 12.1992 18 12.1992 20.2002c0 1.90039 -1.69922 3.60059 -3.59961 3.60059c-3.90039 0 -12.2002 -16.6006 -14.7002 -19.9004c-41.7998 27.7002 -72 70.5996 -83.5996 119.6l19.0996 4.2002c2.2002 0.600586 2.7998 2.2002 2.7998 4.2002 +c0 1.90039 -2.7998 3 -4.39941 2.7998l-18.7002 -4.2998c-2.5 12.7002 -3.90039 25.5 -3.90039 38.5c0 37.0996 10.5 73.5996 30.2002 104.9c2.7998 -1.7002 16.1006 -10.8008 18.2998 -10.8008c1.90039 0 3.60059 1.40039 3.60059 3.30078 +c0 3.89941 -14.7002 11.2998 -18 13.5996c28.2002 41.2002 71.0996 70.9004 119.8 81.9004l4.2002 -18.5c0.599609 -2.2002 2.2002 -2.80078 4.2002 -2.80078s3 2.80078 2.7998 4.40039l-4.2002 18.2998c12.2002 2.2002 24.5996 3.60059 37.0996 3.60059 +c37.1006 0 73.3008 -10.5 104.9 -30.2002c-1.90039 -2.7998 -10.7998 -15.7998 -10.7998 -18c0 -1.90039 1.39941 -3.60059 3.2998 -3.60059c3.90039 0 11.2998 14.4004 13.2998 17.7002c41 -27.7002 70.2998 -70 81.7002 -118.2l-15.5 -3.2998 +c-2.5 -0.599609 -2.7998 -2.2002 -2.7998 -4.39941c0 -1.90039 2.7998 -3 4.2002 -2.80078l15.7998 3.60059c2.5 -12.7002 3.89941 -25.7002 3.89941 -38.7002c0 -36.2998 -10 -72 -28.7998 -102.7c-2.7998 1.40039 -14.3994 9.7002 -16.5996 9.7002 +c-2.10059 0 -3.7998 -1.7002 -3.7998 -3.59961zM371.7 337.6c-13 -12.1992 -134.2 -123.699 -137.601 -129.5l-96.5996 -160.5c12.7002 11.9004 134.2 124 137.3 129.301z" /> + <glyph glyph-name="chrome" unicode="&#xf268;" horiz-adv-x="496" +d="M131.5 230.5l-76.4004 117.4c47.6006 59.1992 119 91.7998 192 92.0996c42.3008 0.299805 85.5 -10.5 124.801 -33.2002c43.3994 -25.2002 76.3994 -61.3994 97.3994 -103l-205.3 10.7998c-58.0996 3.40039 -113.4 -29.2998 -132.5 -84.0996zM164.4 192 +c0 46.2998 37.3994 83.5996 83.5996 83.5996s83.5996 -37.3994 83.5996 -83.5996s-37.3994 -83.5996 -83.5996 -83.5996s-83.5996 37.3994 -83.5996 83.5996zM479.3 281.2c43.5 -111.9 0 -241.9 -107.399 -303.9c-43.4004 -25.2002 -91.3008 -35.3994 -137.801 -32.8994 +l112.101 172.399c31.8994 49 31.2998 112.9 -6.60059 157.2zM133.7 144.4c26.2998 -51.7002 81.8994 -83.3008 139.5 -72.5l-63.7002 -124.801c-118.7 18.2002 -209.5 120.9 -209.5 244.9c0 50.0996 14.9004 96.9004 40.4004 135.9z" /> + <glyph glyph-name="firefox" unicode="&#xf269;" horiz-adv-x="480" +d="M478.1 212.7c1.30078 -7.10059 1.90039 -14.2998 1.90039 -21.6006v-2.7998c-1.40039 -34 -11.5996 -67 -29.5996 -95.8994c-1 -1.5 -1.80078 -2.90039 -2.7002 -4.30078c2.7002 -7.19922 2.59961 -15.0996 -0.400391 -22.1992 +c-5 -19.4004 -16.5996 -36.4004 -32.8994 -48.1006c-10.8008 -8.7002 -22.7002 -16.2002 -35.3008 -22.0996l-1.89941 -0.900391l-1 -0.5c-1.7002 -0.700195 -3.2998 -1.39941 -4.90039 -2.09961c-2.39941 -5.10059 -5.7998 -9.60059 -9.89941 -13.2998 +c-2.5 -3.10059 -30.1006 -35 -113.801 -35c-23.5996 0 -47.1992 3.5 -69.7998 10.2998c0.799805 -0.299805 1.60059 -0.700195 2.40039 -1c-2.60059 0.899414 -5.2002 1.7998 -7.7002 2.7002c-19.0996 5.89941 -37.2002 14.5996 -53.7998 25.7998 +c-40.7002 24.7002 -72.9004 61.2002 -92.2998 104.7c-14.5 31.3994 -21.1006 65.7998 -19.4004 100.3c-2.7998 -8.2998 -5.2002 -16.7002 -7 -25.2998c0 29.1992 5.5 58.0996 16.2002 85.1992c-5.5 -7.89941 -10.2998 -16.2998 -14.2998 -25.0996 +c5.69922 23.0996 14.6992 45.2002 26.7998 65.5996c3.7002 6.10059 7.89941 11.9004 12.7002 17.1006v0.200195c-0.100586 2.69922 0.0996094 5.5 0.5 8.2998c1.5 16.2998 5.69922 32.2002 12.3994 47.0996l0.299805 0.700195c0.100586 0.299805 0 -1 0 -1.7002 +s-0.0996094 -1.2998 0 -1c0.600586 2 1.40039 4 2.30078 5.90039c1 2.09961 2.39941 4.09961 3.89941 5.7998c0.100586 0.0996094 0.200195 0.200195 0.299805 0.400391c0.100586 0.199219 -0.399414 -2 -0.5 -3.10059v-0.5c0.600586 1.2002 1.30078 2.40039 2.2002 4.5 +c2.10059 5.90039 6 11 11.1006 14.5l0.199219 0.100586c-0.299805 -9 1.2002 -17.9004 4.40039 -26.2002v-0.100586c0.299805 -0.399414 0.5 1.30078 0.900391 1.30078c0.0996094 0 0.199219 -0.100586 0.199219 -0.200195 +c0.900391 -1.7998 1.80078 -3.60059 2.7002 -5.2002c1.2998 -2.2002 2.5 -4.2002 3.7002 -6l0.400391 -0.200195l0.199219 0.100586c2.60059 -4.2002 5.90039 -7.80078 9.7002 -10.9004h-0.200195l0.200195 -0.0996094c18.2998 3.59961 37.2002 2 54.6006 -4.7002 +l0.0996094 0.0996094c2.09961 2.60059 4.59961 4.90039 7.2998 6.90039c0 -0.900391 -0.0996094 -1.7998 -0.200195 -2.7002c4 5 9.10059 9 15 11.5c-0.399414 -0.700195 -0.5 -1.40039 -0.5 -2.2002c7.40039 4.2998 15.5 7.40039 23.9004 9 +c1.09961 0 -3.5 -1.7998 -5.09961 -3.09961c3.69922 1.59961 7.69922 2.59961 11.6992 2.7998c6.60059 0.700195 14 -2.09961 12.6006 -2.7002c-2.7998 -1 -5.5 -2.2002 -8.2002 -3.5c-0.799805 -0.700195 3.2002 0.200195 2.40039 -0.5 +c-14 -9.2002 -24.8008 -22.5996 -30.8008 -38.2998v-0.0996094c2.5 -11 11.4004 -19.3008 22.5 -21.1006c31.5 -3 37.5 -5.59961 38.4004 -9.09961v-1.5c-0.0996094 -1 -0.200195 -1.90039 -0.299805 -2.7998c-1.2002 -6.90039 -4.90039 -13.2002 -10.2002 -17.7002 +c-1.40039 -1.2998 -2.90039 -2.5 -4.5 -3.5c-1.09961 -0.700195 -6.40039 -2.7998 -12.7998 -5.60059c-7.90039 -3.19922 -15.5 -7.09961 -22.7002 -11.5996c-1.2998 -0.799805 -2.40039 -1.7002 -3.40039 -2.7002c-0.399414 -0.399414 -1.19922 -1.5 -1.19922 -1.5 +v-0.0996094c0.5 -1.2002 1 -2.40039 1.19922 -3.7002c-1.39941 1.7002 -2.69922 1.09961 -1.89941 -0.5c0.899414 -2.5 1.2998 -5.2002 1.09961 -7.7998c0.200195 -4.7998 -0.700195 -9.60059 -2.59961 -14c-2.10059 1.5 -4.2998 2.89941 -6.60059 4.09961h-0.199219 +c2.5 -1.59961 4.2998 -3.89941 5.39941 -6.59961c0.700195 -2.2002 -0.299805 -2.7002 -0.299805 -2.7002c-1.40039 2 -3.09961 3.59961 -5.2002 4.7002c-3.09961 1.7998 -8.7998 4.7002 -11.3994 5.7998c-0.300781 -0.200195 -0.5 -0.0996094 -0.800781 -0.200195 +c0.800781 -1.2998 2.10059 -3.7998 2.10059 -3.7998s-1.7998 1.09961 -4.7998 2.59961c-3.90039 -1.7998 -7.2002 -4.89941 -9.30078 -8.69922c-3.5 -7.7002 -3.09961 -16.7002 1 -24.1006c4 -6 9.10059 -11.2002 15 -15.2002 +c0.400391 -0.299805 -3.39941 1.10059 -3.09961 0.800781c4.59961 -3.2002 9.40039 -6.10059 14.4004 -8.60059c1.5 -1 -5 1.2002 -3.40039 0.299805c1.40039 -0.899414 2.7998 -1.69922 4.2998 -2.5c22.9004 -12.0996 38.9004 0.400391 56.4004 2.90039 +c16.7998 3 33.7998 -3.59961 44.2002 -17c6 -8.5 -0.600586 -16.7002 -9 -14h-0.200195c-8.60059 2.90039 -19.1006 -4.2998 -36.6006 -14c-17.2998 -8.2998 -36.8994 -10.5996 -55.5996 -6.59961c-4.7998 0.899414 -9.40039 2.09961 -14 3.69922l-2 0.700195 +l0.200195 -0.299805c8.7998 -12.2002 19.8994 -22.5 32.7998 -30.2998c8.7002 -4.40039 17.9004 -7.5 27.4004 -9.2998c8 -1.90039 16.1992 -2.80078 24.5 -2.80078c61 -0.0996094 110.6 49.4004 110.6 110.4c0.0996094 15.9004 -3.09961 31.7998 -9.2998 46.5 +c20.7002 -12.2998 37.5996 -30.2002 48.7998 -51.5c-13.9004 40.5996 -40.2998 56.4004 -64.7002 76.5996c-19.5996 14.8008 -34.7002 34.9004 -43.3994 57.9004c-25.2002 67.7998 33.0996 132.9 33.0996 132.9s-3.59961 -15.1006 27.4004 -44.3008 +c6.39941 -5.89941 16.7998 -14.5 28.8994 -26.6992c1.7002 9.2998 4.2002 18.3994 7.40039 27.2998c2.5 -14.7002 7.7998 -28.7998 15.3994 -41.6006c11.7002 -16.6992 21.9004 -25.5996 30.7002 -40c1.90039 -2.5 3.7998 -5.19922 5.60059 -7.89941 +c5.09961 -7.2002 9.5 -14.7998 13.2998 -22.7998c6 -12 10.7998 -24.5 14.5 -37.4004c3 -10.4004 4.89941 -20.9004 5.7998 -31.5996c2.90039 3.89941 4.7002 5.89941 4.7002 5.89941s0.700195 -2.59961 1.39941 -7.09961zM179.1 310.3 +c-0.5 -1.2002 -0.899414 -2.2998 -1.2998 -3.5c0.400391 1.2002 0.900391 2.40039 1.2998 3.5z" /> + <glyph glyph-name="opera" unicode="&#xf26a;" horiz-adv-x="496" +d="M313.9 415.3c-170.2 0 -252.601 -223.8 -147.5 -355.1c36.5 -45.4004 88.5996 -75.6006 147.5 -75.6006c36.2998 0 70.2998 11.1006 99.3994 30.4004c-43.7998 -39.2002 -101.899 -63 -165.3 -63c-3.90039 0 -8 0 -11.9004 0.299805 +c-131.5 6.10059 -236.1 114.601 -236.1 247.7c0 137 111 248 248 248h0.799805c63.1006 -0.299805 120.7 -24.0996 164.4 -63.0996c-29 19.3994 -63.1006 30.3994 -99.2998 30.3994zM415.7 17.5996c-40.9004 -24.6992 -90.7002 -23.5996 -132 5.80078 +c56.2002 20.5 97.7002 91.5996 97.7002 176.6c0 84.7002 -41.2002 155.8 -97.4004 176.6c41.7998 29.2002 91.2002 30.3008 132.9 5c105.899 -98.6992 105.5 -265.699 -1.2002 -364z" /> + <glyph glyph-name="internet-explorer" unicode="&#xf26b;" horiz-adv-x="512" +d="M483.049 288.294c25.1963 -45.4473 33.2578 -97.5811 26.8516 -141.162h-328.792c0 -100.432 144.31 -136.029 196.818 -47.4355h120.833c-32.5645 -91.7285 -119.689 -146.022 -216.813 -146.022c-35.1367 0 -70.2725 0.143555 -101.695 15.5732 +c-87.3975 -44.4941 -180.251 -56.5693 -180.251 42.0059c0 45.8066 23.2461 107.096 43.9922 145.022c35.1357 63.7227 81.4121 124.875 135.687 173.168c-43.7061 -18.8604 -91.125 -66.2959 -121.977 -101.158c25.877 112.787 129.466 193.638 237.098 186.457 +c130.032 59.7939 209.673 34.1445 209.673 -38.5771c0 -27.4326 -10.5684 -63.2959 -21.4238 -87.8711zM64.5586 101.123c-73.001 -152.4 11.5254 -172.244 100.267 -123.304c-46.5635 27.4326 -82.5557 72.1533 -100.267 123.304zM180.536 209.996h207.961 +c-2 55.1514 -50.5635 94.8711 -103.981 94.8711c-53.7041 0 -101.979 -39.7197 -103.979 -94.8711zM365.072 397.596c46.2764 -18.002 85.9824 -57.2939 112.263 -99.5859c7.1416 18.8604 14.5693 47.8643 14.5693 67.8672c0 32.0049 -22.8525 53.7217 -54.2744 53.7217 +c-23.9951 0 -51.1328 -11.7158 -72.5576 -22.0029z" /> + <glyph glyph-name="contao" unicode="&#xf26d;" horiz-adv-x="512" +d="M45.4004 143c14.3994 -67.0996 26.3994 -129 68.1992 -175h-79.5996c-18.7002 0 -34 15.2002 -34 34v380c0 18.7002 15.2002 34 34 34h57.7002c-13.7998 -12.5996 -26.1006 -27.2002 -36.9004 -43.5996c-45.3994 -70 -27 -146.801 -9.39941 -229.4zM478 416 +c18.7998 0 34 -15.2002 34 -34v-380.1c0 -18.8008 -15.2998 -34 -34 -34h-52.0996c38.6992 38.3994 60.5996 92.0996 57.3994 163.6l-137.399 -29.5996c-1.7002 -32.5 -12.9004 -63.8008 -57.4004 -73.2002c-24.9004 -5.2998 -45.4004 0.599609 -58.2998 11.7002 +c-15.7998 13.5 -28.4004 31 -49.5 131.199c-21.4004 100.5 -17 121.601 -8.2002 140.301c7.2998 15.2998 23.7002 29.2998 48.2998 34.5996c44.7998 9.40039 67.7002 -14.9004 82.6006 -43.9004l137.1 29.3008c-13.5 34.5996 -31.2998 62.6992 -52.7002 84.0996h90.2002z +" /> + <glyph glyph-name="500px" unicode="&#xf26e;" +d="M103.3 103.7c-6.5 14.2002 -6.89941 18.2998 7.40039 23.0996c25.5996 8 8 -9.2002 43.2002 -49.2002h0.299805v93.9004c1.2002 50.2002 44 92.2002 97.7002 92.2002c53.8994 0 97.6992 -43.5 97.6992 -96.7998c0 -63.4004 -60.7998 -113.2 -128.5 -93.3008 +c-10.5 4.2002 -2.09961 31.7002 8.5 28.6006c53 0 89.4004 10.0996 89.4004 64.3994c0 61 -77.0996 89.6006 -116.9 44.6006c-23.5 -26.4004 -17.5996 -42.1006 -17.5996 -157.601c50.7002 -31 118.3 -22 160.4 20.1006c24.7998 24.7998 38.5 58 38.5 93 +c0 35.2002 -13.8008 68.2002 -38.8008 93.2998c-24.7998 24.7998 -57.7998 38.5 -93.2998 38.5s-68.7998 -13.7998 -93.5 -38.5c-0.299805 -0.299805 -16 -16.5 -21.2002 -23.9004l-0.5 -0.599609c-3.2998 -4.7002 -6.2998 -9.09961 -20.0996 -6.09961 +c-6.90039 1.69922 -14.2998 5.7998 -14.2998 11.7998v186.8c0 5 3.89941 10.5 10.5 10.5h241.3c8.2998 0 8.2998 -11.5996 8.2998 -15.0996c0 -3.90039 0 -15.1006 -8.2998 -15.1006h-223.2v-132.899h0.299805c104.2 109.8 282.801 36 282.801 -108.9 +c0 -178.1 -244.801 -220.3 -310.101 -62.7998zM166.6 364.5c3.80078 18.7998 145.101 50.7998 238.301 -38.2002c8.5 -7.5 -9.5 -22.7998 -14.3008 -22.7998c-6.59961 0 -84.5996 87.9004 -209.399 40.4004c-10 -3.90039 -15.1006 16.3994 -14.6006 20.5996zM393 33.2998 +c8.09961 8 27.5996 -12.5996 20.7002 -20.3994c-135.601 -135.601 -357.601 -52.1006 -381.601 121.3c-1.5 10.7002 28.9004 15.5 28.9004 3.2998c33 -165 222 -214.1 332 -104.2zM213.6 141.4c0 3.39941 2.30078 4.69922 20.4004 22.5996l-18.2002 18.2002 +c-5.59961 5.59961 7.40039 17.2998 12.4004 17.2998c3.09961 0 2.89941 -0.700195 21.5 -19.5l17.8994 17.9004c6.10059 6.09961 22.5 -8.90039 16.2002 -15.7002l-18.2002 -18.2002l17.3008 -17.2998c7.7998 -7.7998 -5.30078 -18.2002 -10.7002 -18.2002 +c-3.2002 0 -2.7002 0.200195 -22.2998 19.5c-19.7002 -19.7002 -18.5 -19.5 -22.3008 -19.5c-2.39941 0 -5.5 1.40039 -8.5 4.40039c-1.19922 1.19922 -5.5 4.5 -5.5 8.5z" /> + <glyph glyph-name="amazon" unicode="&#xf270;" +d="M257.2 285.3c0 39.2998 5.2002 69.2002 -35.5 69.1006c0 0 -37.9004 0 -54.2002 -49.5l-73.5 6.7998c0 49.2998 46.7002 104.3 134.7 104.3c87.7998 0 112.3 -57 112.3 -82.2998v-147.101c0 -27.5 32.2998 -52.7998 32.2998 -52.7998l-56.7998 -56 +c-9.90039 9.2998 -38.7998 36.6006 -45.2998 46.7998c-45.2002 -70.7998 -183.5 -66.2998 -183.5 43.2002c0 102 120.8 115.7 169.5 117.5zM257.2 198.5v40.5996c-33.7002 -1.09961 -84.2002 -10.5996 -84.2002 -57.7998c0 -50.7998 84.2002 -62.7998 84.2002 17.2002z +M393.2 35c-7.7002 -10 -70 -67 -174.5 -67s-184.5 71.5 -209 101c-6.7998 7.7002 1 11.2998 5.5 8.2998c73.2998 -44.5 187.8 -117.8 372.5 -30.2998c7.5 3.7002 13.2998 -2 5.5 -12zM433 32.7998c-6.5 -15.7998 -16 -26.7998 -21.2002 -31 +c-5.5 -4.5 -9.5 -2.7002 -6.5 3.7998s19.2998 46.5 12.7002 55c-6.5 8.30078 -37 4.30078 -48 3.2002c-10.7998 -1 -13 -2 -14 0.299805c-2.2998 5.7002 21.7002 15.5 37.5 17.5c15.7002 1.80078 41 0.800781 46 -5.69922c3.7002 -5.10059 0 -27.1006 -6.5 -43.1006z" /> + <glyph glyph-name="houzz" unicode="&#xf27c;" +d="M275.9 117.3h-104.601v-149.3h-154.3v448h109.5v-104.5l305.1 -85.5996v-257.9h-155.699v149.3z" /> + <glyph glyph-name="vimeo-v" unicode="&#xf27d;" +d="M447.8 294.4c-2 -43.6006 -32.3994 -103.301 -91.3994 -179.101c-60.9004 -79.2002 -112.4 -118.8 -154.601 -118.8c-26.0996 0 -48.2002 24.0996 -66.2998 72.2998c-35.2002 129.2 -50.2002 204.9 -79.2998 204.9c-3.40039 0 -15.1006 -7.10059 -35.2002 -21.1006 +l-21 27.2002c51.5996 45.2998 100.9 95.7002 131.8 98.5c34.9004 3.40039 56.2998 -20.5 64.4004 -71.5c28.7002 -181.5 41.3994 -208.899 93.5996 -126.7c18.7002 29.6006 28.7998 52.1006 30.2002 67.6006c4.7998 45.8994 -35.7998 42.7998 -63.2998 31 +c22 72.0996 64.0996 107.1 126.2 105.1c45.7998 -1.2002 67.5 -31.0996 64.8994 -89.3994z" /> + <glyph glyph-name="black-tie" unicode="&#xf27e;" +d="M0 416h448v-448h-448v448zM316.5 90.7998l-64.5 184l64.4004 86.6006h-184.9l64.5 -86.6006l-64.5 -184l92.5 -88.7002z" /> + <glyph glyph-name="fonticons" unicode="&#xf280;" +d="M0 416h448v-448h-448v448zM187 275.1c11.9004 0 16.5996 -4.2998 16.2998 -23l50.7002 6.10059c0 44.5996 -30.5996 52.7998 -64.7002 52.7998c-50.7998 0 -77.2998 -20.4004 -77.2998 -70v-21h-28v-37.4004h22.2002c2.89941 0 5.7998 0 5.7998 -2.2998v-111.399 +c0 -5.60059 -1.5 -7.30078 -6.7002 -7.90039l-21.2998 -2v-25.7002h130.7v25.1006l-43.5 4.09961c-5.2002 0.599609 -3.2002 1.5 -3.2002 7.2998v112.9h55.7002l11.0996 37.2998h-67.3994c-2.90039 0 0.599609 2 0.599609 4.40039v23.2998 +c0 17.5 0.599609 27.3994 19 27.3994zM261.3 33.2998h102.601v25.1006l-15.7002 2.59961c-5.5 0.900391 -2.90039 1.5 -2.90039 7.2998v151.7h-80.2002l-6.69922 -29.5l24.1992 -6.40039c3.80078 -1.19922 6.7002 -3.7998 6.7002 -7.89941v-107.9 +c0 -5.59961 -2.39941 -6.7002 -7.59961 -7.2998l-20.4004 -2.59961v-25.1006zM342.1 288.8l21.9004 24.2002l-3.5 9.59961h-27.7002l-15.5 28h-9.2998l-15.5 -28h-27.7002l-3.5 -9.59961l21.7998 -24.2002l-9 -33.2002l7.30078 -7.2998l31.1992 16.6006l31.2002 -16.6006 +l7.2998 7.2998z" /> + <glyph glyph-name="reddit-alien" unicode="&#xf281;" horiz-adv-x="512" +d="M440.3 244.5c55.2998 0 73.7002 -74.0996 23.7998 -99.7002c2.2002 -7.89941 3.10059 -16.7002 3.10059 -25.0996c0 -83.7998 -94.4004 -151.7 -210.8 -151.7c-115.9 0 -210.301 67.9004 -210.301 151.7c0 8.39941 0.800781 16.7998 2.60059 24.7002 +c-50.9004 25.5 -32.7002 100.1 22.8994 100.1c15 0 28.7002 -6.2002 38.4004 -16.2998c35.7998 24.7002 83.4004 40.5996 136.3 42.7998l30.4004 137.6c1.2998 4.90039 6.09961 8.40039 11 7.10059l97.3994 -21.6006c6.60059 12.7002 19.9004 22 35.3008 22 +c22.0996 0 39.6992 -18.0996 39.6992 -39.6992c0 -21.6006 -17.6992 -39.7002 -39.6992 -39.7002c-21.6006 0 -39.2002 17.5996 -39.2002 39.2002l-88.2002 19.7998l-27.7002 -124.8c53.2998 -1.7002 101.4 -17.6006 137.101 -42.3008 +c9.69922 9.7002 22.8994 15.9004 37.8994 15.9004zM129.4 139.1c0 -21.5996 17.6992 -39.2998 39.6992 -39.1992c21.6006 0 39.2002 17.5996 39.2002 39.1992c0 22.1006 -17.5996 39.7002 -39.2002 39.7002c-22.0996 0 -39.6992 -17.7002 -39.6992 -39.7002zM343.7 45.5996 +c4 3.5 4 9.7002 -0.100586 13.7002c-3.5 3.5 -9.69922 3.5 -13.1992 0c-29 -29 -121.2 -28.5 -149 0c-3.5 3.5 -9.7002 3.5 -13.2002 0c-4 -4 -4 -10.2002 0 -13.7002c36.3994 -36.3994 139.1 -36.3994 175.5 0zM342.9 99.7998c22 0 39.5996 17.7002 39.6992 39.2002 +c0 22.0996 -17.6992 39.7002 -39.6992 39.7002c-21.6006 0 -39.2002 -17.7002 -39.2002 -39.7002c0 -21.5996 17.5996 -39.2002 39.2002 -39.2002z" /> + <glyph glyph-name="edge" unicode="&#xf282;" horiz-adv-x="512" +d="M25.7139 219.837c0.111328 0.162109 0.230469 0.323242 0.341797 0.485352c-0.0205078 -0.162109 -0.0449219 -0.323242 -0.0644531 -0.485352h-0.277344zM486.286 204.329l0.000976562 -52.0645h-314.073c1.38379 -128.497 191.392 -124.065 272.255 -67.5713v-104.404 +c-47.3555 -28.5244 -156.774 -53.1709 -240.132 -21.3242c-70.6191 27.1406 -119.913 100.528 -120.743 171.977c-1.10742 92.2188 45.6943 153.422 120.742 188.314c-15.7852 -19.9395 -27.9697 -41.54 -34.3389 -78.9258h175.853 +c10.2471 104.957 -99.4189 104.957 -99.4189 104.957c-103.302 -3.58984 -177.945 -63.6543 -220.375 -124.966c14.5615 114.465 92.9062 219.955 232.837 219.678c85.0195 0 157.605 -39.8779 198.593 -113.265c21.0469 -37.9404 28.8008 -78.373 28.8008 -122.405z" /> + <glyph glyph-name="codiepie" unicode="&#xf284;" horiz-adv-x="472" +d="M422.5 245.1c30.7002 0 33.5 -53.0996 -0.299805 -53.0996h-10.7998v-44.2998h-26.6006v97.3994h37.7002zM472 95.4004c-42.0996 -91.9004 -121.6 -151.4 -224 -151.4c-137 0 -248 111 -248 248s111 248 248 248c97.4004 0 172.8 -53.7002 218.2 -138.4l-186 -108.8z +M433.5 82.9004l-60.2998 30.6992c-27.1006 -44.2998 -70.4004 -71.3994 -122.4 -71.3994c-82.5 0 -149.2 66.7002 -149.2 148.899c0 82.5 66.7002 149.2 149.2 149.2c48.4004 0 88.9004 -23.5 116.9 -63.3994l59.5 34.5996c-40.7002 62.5996 -104.7 100 -179.2 100 +c-121.2 0 -219.5 -98.2998 -219.5 -219.5s98.2998 -219.5 219.5 -219.5c78.5996 0 146.5 42.0996 185.5 110.4z" /> + <glyph glyph-name="modx" unicode="&#xf285;" +d="M356 206.2l36.7002 -23.7002v-214.5l-133 83.7998zM440 373l-83.2002 -134.3l-153.5 96.5l23 37.7998h213.7zM351 230.2l-249.8 -57.7002l-46 29v214.5zM97 153.8l249.7 57.7002l-125 -200.5h-213.7z" /> + <glyph glyph-name="fort-awesome" unicode="&#xf286;" horiz-adv-x="512" +d="M489.2 160.1c2.59961 0 4.59961 -2 4.5 -4.59961v-219.5h-182.9v96c0 72.5996 -109.7 72.5996 -109.7 0v-96h-182.899v219.5c0 2.59961 2 4.59961 4.59961 4.59961h27.4004c2.59961 0 4.59961 -2 4.59961 -4.59961v-32h36.6006v178.3 +c0 2.60059 2 4.60059 4.59961 4.60059h27.4004c2.59961 0 4.59961 -2 4.59961 -4.60059v-32h36.2998v32c0 2.60059 2 4.60059 4.60059 4.60059h27.3994c2.60059 0 4.60059 -2 4.60059 -4.60059v-32h36.5996v32c0 6 8 4.60059 11.7002 4.60059v111.699 +c-5.40039 2.60059 -9.10059 8.30078 -9.10059 14.3008c0 20.7998 31.4004 20.6992 31.4004 0c0 -6 -3.7002 -11.7002 -9.09961 -14.3008v-4.89941c7.69922 1.7998 15.6992 2.89941 23.6992 2.89941c11.7002 0 22.9004 -4.2998 32.6006 -4.2998 +c8.89941 0 18.8994 4.2998 24 4.2998c2.59961 0 4.59961 -2 4.59961 -4.59961v-60c0 -6.90039 -23.0996 -8 -27.7002 -8c-10.5 0 -20.5 4.2998 -31.3994 4.2998c-8.60059 0 -17.4004 -1.39941 -25.7002 -3.39941v-38c3.7002 0 11.7002 1.39941 11.7002 -4.60059v-32h36.5996 +v32c0 2.60059 2 4.60059 4.60059 4.60059h27.3994c2.60059 0 4.60059 -2 4.60059 -4.60059v-32h36.5996v32c0 2.60059 2 4.60059 4.59961 4.60059h27.4004c2.59961 0 4.59961 -2 4.59961 -4.60059v-178.3h36.6006v32c0 2.59961 2 4.59961 4.59961 4.59961h27.4004z +M201.1 164.6v64c0 2.60059 -2 4.60059 -4.59961 4.60059h-27.4004c-2.59961 0 -4.59961 -2 -4.59961 -4.60059v-64c0 -2.59961 2 -4.59961 4.59961 -4.59961h27.4004c2.59961 0 4.59961 2 4.59961 4.59961zM347.5 164.6v64c0 2.60059 -2 4.60059 -4.59961 4.60059h-27.4004 +c-2.59961 0 -4.59961 -2 -4.59961 -4.60059v-64c0 -2.59961 2 -4.59961 4.59961 -4.59961h27.4004c2.59961 0 4.59961 2 4.59961 4.59961z" /> + <glyph glyph-name="usb" unicode="&#xf287;" horiz-adv-x="640" +d="M641.5 192c0 -3.09961 -1.7002 -6.09961 -4.5 -7.5l-89.0996 -53.5c-1.40039 -0.799805 -2.80078 -1.40039 -4.5 -1.40039c-1.40039 0 -3.10059 0.300781 -4.5 1.10059c-2.80078 1.7002 -4.5 4.5 -4.5 7.7998v35.5996h-238.7 +c25.2998 -39.5996 40.5 -106.899 69.5996 -106.899h26.7002v26.7998c0 5 3.90039 8.90039 8.90039 8.90039h89.0996c5 0 8.90039 -3.90039 8.90039 -8.90039v-89.0996c0 -5 -3.90039 -8.90039 -8.90039 -8.90039h-89.0996c-5 0 -8.90039 3.90039 -8.90039 8.90039v26.6992 +h-26.7002c-75.3994 0 -81.0996 142.5 -124.7 142.5h-100.3c-8.09961 -30.5996 -35.8994 -53.5 -69 -53.5c-39.2998 0.100586 -71.2998 32.1006 -71.2998 71.4004s32 71.2998 71.2998 71.2998c33.1006 0 61 -22.7998 69 -53.5c39.1006 0 43.9004 -9.5 74.6006 60.4004 +c40.0996 89.0996 58.0996 82.0996 108.899 82.0996c7.5 20.9004 27 35.6006 50.4004 35.6006c29.5 0 53.5 -23.9004 53.5 -53.5c0 -29.6006 -23.9004 -53.5 -53.5 -53.5c-23.4004 0 -42.9004 14.7998 -50.4004 35.5996h-29.7998 +c-29.0996 0 -44.2998 -67.4004 -69.5996 -106.9h310.1v35.6006c0 3.2998 1.7002 6.09961 4.5 7.7998s6.40039 1.40039 8.90039 -0.299805l89.0996 -53.5c2.7998 -1.10059 4.5 -4.10059 4.5 -7.2002z" /> + <glyph glyph-name="product-hunt" unicode="&#xf288;" horiz-adv-x="512" +d="M326.3 229.2c0 -20.5 -16.7002 -37.2002 -37.2002 -37.2002h-70.2998v74.4004h70.2998c20.5 0 37.2002 -16.7002 37.2002 -37.2002zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM375.9 229.2 +c0 47.8994 -38.9004 86.7998 -86.8008 86.7998h-119.899v-248h49.5996v74.4004h70.2998c47.9004 0 86.8008 38.8994 86.8008 86.7998z" /> + <glyph glyph-name="mixcloud" unicode="&#xf289;" horiz-adv-x="640" +d="M424.43 228.271c42.3623 -9.1377 74.4805 -47.0693 74.4805 -92.2002c0 -52.3311 -42.6406 -94.6934 -94.9688 -94.6934h-289.614c-62.5752 0 -113.243 50.668 -113.243 112.966c0 56.7598 42.085 103.554 96.6299 111.582 +c22.9814 67.5586 86.9395 114.074 159.205 114.074c87.2158 0 159.205 -66.7266 167.511 -151.729zM403.941 83.7412c29.0713 0 52.6064 23.5352 52.6064 52.3301c0 22.1494 -14.1211 40.9766 -33.502 48.4531c-1.38477 -8.58301 -3.59961 -17.166 -6.36914 -25.4727 +c-8.01367 -25.6484 -49.0898 -14.2266 -40.1465 13.29c4.15332 12.7373 6.36914 26.0264 6.36914 39.5938c0 69.2197 -56.4834 125.702 -125.979 125.702c-49.8379 0 -94.6934 -29.626 -114.628 -73.9258c19.3809 -4.98438 37.3779 -14.9512 52.0527 -29.3486 +c19.9531 -19.9531 -10.2168 -50.1436 -30.1797 -30.1807c-13.29 13.291 -31.0107 20.7666 -49.8379 20.7666c-39.04 0 -70.8809 -31.5645 -70.8809 -70.6045s31.8408 -70.6035 70.8809 -70.6035h289.614zM639.01 136.071c0 -44.0244 -12.7363 -86.3867 -37.1016 -122.657 +c-4.15332 -6.0918 -10.7979 -9.41406 -17.7197 -9.41406c-16.3174 0 -27.1279 18.8262 -17.4434 32.9492c19.3809 29.3486 29.9033 63.6816 29.9033 99.1221c0 35.4395 -10.5215 69.7725 -29.9033 98.8447c-15.6553 22.8311 19.3613 47.2402 35.1631 23.5342 +c24.3662 -35.9932 37.1016 -78.3564 37.1016 -122.379zM568.13 136.071c0 -31.5654 -9.13672 -62.0215 -26.8564 -88.3252c-4.15332 -6.09082 -10.7988 -9.13574 -17.7207 -9.13574c-17.2012 0 -27.0215 18.9785 -17.4424 32.9473 +c13.0127 19.1045 19.6572 41.2559 19.6572 64.5137c0 22.9805 -6.64453 45.4072 -19.6572 64.5117c-15.7617 22.9863 19.0078 47.0947 35.1631 23.5352c17.7188 -26.0264 26.8564 -56.4834 26.8564 -88.0469z" /> + <glyph glyph-name="scribd" unicode="&#xf28a;" horiz-adv-x="384" +d="M42.2998 195.3c-16.0996 19 -24.7002 45.9004 -24.7998 79.9004c0 100.399 75.2002 153.1 167.2 153.1c98.5996 1.60059 156.8 -49 184.3 -70.5996l-50.5 -72.1006l-37.2998 24.6006l26.8994 38.5996c-36.5 24 -79.3994 36.5 -123 35.7998 +c-50.6992 0.800781 -111.699 -27.1992 -111.699 -76.1992c0 -18.7002 11.1992 -20.7002 28.5996 -15.6006c23.2998 5.2998 41.9004 -0.599609 55.7998 -14c26.4004 -24.2998 23.2002 -67.5996 -0.700195 -91.8994c-29.1992 -29.5 -85.1992 -27.3008 -114.8 8.39941z +M360 189.4c33.9004 -40.4004 36.7998 -138.2 -20.2998 -189.601c-39.2002 -33.5996 -82.2002 -44.0996 -133.601 -44.0996c-70.2998 -0.299805 -138.199 25.3994 -190.699 72.2002l-15.4004 13.7998l60.7998 71.7998l35.6006 -27.4004l-33.7002 -39.3994 +c41.7002 -30.9004 92.2002 -47.5 144.1 -47.2998c61.9004 0 104.7 23.5 121.4 64.3994c0.899414 4.2002 1.39941 8.40039 1.39941 12.7002c0 18.7002 -11.1992 20.7002 -28.5996 15.5996c-23.2998 -5.2998 -42.2002 0.5 -56.2998 14.4004 +c-12.4004 11.2998 -19.1006 27.5 -18.4004 44.2998c-0.599609 39.2002 32.4004 69.2002 70.5 67.2002c24.2998 0.799805 47.7002 -9.7998 63.2002 -28.5996z" /> + <glyph glyph-name="bluetooth" unicode="&#xf293;" +d="M292.6 276.9l-42.8994 -42.9004l-0.299805 86zM249.4 57.0996l0.199219 86l42.9004 -42.8994zM416 188.6c0 -205.6 -71.9004 -252.6 -185.1 -252.6c-113.2 0 -198.9 47 -198.9 252.6c0 205.601 83.4004 259.4 196.6 259.4c113.2 0 187.4 -53.9004 187.4 -259.4z +M257.5 188.6l79.4004 88.6006l-125.101 134.3v-176.9l-73.7998 73.8008l-27 -26.9004l92.7002 -93l-92.7002 -93l26.9004 -26.9004l73.7998 73.8008l2.2998 -170l127.4 127.5z" /> + <glyph glyph-name="bluetooth-b" unicode="&#xf294;" horiz-adv-x="320" +d="M196.48 187.977l97.9111 -103.333l-148.552 -148.644l-2.71484 198.284l-86.1113 -86.1113l-31.4053 31.4053l108.061 108.398l-108.061 108.399l31.4053 31.4053l86.1113 -86.1113v206.33l145.981 -156.69zM237.34 290.973l-50.3145 50.3174l0.337891 -100.295z +M187.363 134.96l-0.337891 -100.294l50.3145 50.3164z" /> + <glyph glyph-name="gitlab" unicode="&#xf296;" horiz-adv-x="512" +d="M105.2 423.1c0 0 56.5 -174.8 56.5996 -174.8h-132l56.5 174.8c3.2002 8.90039 15.7998 8.90039 18.9004 0zM0.900391 160.3l28.7998 88l226.2 -294l-247.9 184c-6.7998 5.10059 -9.7002 14 -7.09961 22zM161.7 248.3h188.6l-94.2998 -294zM511.1 160.3 +c2.5 -8 -0.299805 -16.8994 -7.19922 -22l-247.9 -184l226.3 294zM425.7 423.1l56.5 -174.8h-132l56.5996 174.8c3.2002 8.90039 15.7998 8.90039 18.9004 0z" /> + <glyph glyph-name="wpbeginner" unicode="&#xf297;" horiz-adv-x="512" +d="M462.799 125.626c56.2109 -64.3076 4.16211 -157.626 -91.8545 -157.626c-39.6025 0 -78.8242 17.6865 -100.143 50.04c-6.88672 -0.356445 -22.7021 -0.356445 -29.5898 0c-21.3643 -32.4209 -60.624 -50.04 -100.143 -50.04 +c-95.4902 0 -148.349 92.9961 -91.8555 157.626c-79.1387 131.851 31.2646 290.374 206.792 290.374c175.632 0 285.87 -158.626 206.793 -290.374zM123.152 208.598h41.5283v58.0752h-41.5283v-58.0752zM340.332 122.526v23.8389 +c-60.5059 -20.915 -132.355 -9.19824 -187.589 33.9707l0.246094 -24.8965c51.1006 -46.3672 131.746 -57.875 187.343 -32.9131zM189.579 208.598h166.058v58.0752h-166.058v-58.0752z" /> + <glyph glyph-name="wpforms" unicode="&#xf298;" +d="M448 372.8v-361.7c0 -24.2998 -19 -43.1992 -43.2002 -43.1992h-361.6c-23.9004 0.0996094 -43.2002 18.6992 -43.2002 43.2998v361.6c0 24.1006 18.7998 43.2002 43.2002 43.2002h361.7c24 0 43.0996 -18.7998 43.0996 -43.2002zM410.7 11.2002v361.6 +c0 3 -2.60059 5.7998 -5.7998 5.7998h-9.30078l-110.3 -74.5996l-61.2998 49.9004l-61.2002 -49.9004l-110.3 74.7002h-9.2998c-3.2002 0 -5.7998 -2.7998 -5.7998 -5.7998v-361.7c0 -3 2.59961 -5.7998 5.7998 -5.7998h361.7 +c3.19922 -0.100586 5.7998 2.69922 5.7998 5.7998zM150.2 262v-37h-73.5v37h73.5zM150.2 187.6v-37.2998h-73.5v37.2998h73.5zM161.3 334.9l54 43.6992h-118.5zM371.3 262v-37h-196v37h196zM371.3 187.6v-37.2998h-196v37.2998h196zM286.7 334.9l64.5 43.6992h-118.4z +M371.3 113v-37.2998h-99.3994v37.2998h99.3994z" /> + <glyph glyph-name="envira" unicode="&#xf299;" +d="M0 416c477.6 0 366.6 -317.3 367.1 -366.3l80.9004 -81.7002h-26l-70.4004 71.2002c-39 -4.2002 -124.399 -34.5 -214.399 37c-90.2002 71.5 -85.2002 157.1 -137.2 339.8zM79.7002 370c-49.7002 23.5 -5.2002 -9.2002 -5.2002 -9.2002 +c45.2002 -31.2002 66 -73.7002 90.2002 -119.899c31.5 -60.2002 79 -139.7 144.2 -167.7c65 -28 34.1992 -12.5 6 8.5c-28.2002 21.2002 -68.2002 87 -91 130.2c-31.7002 60 -61 118.6 -144.2 158.1z" /> + <glyph glyph-name="glide" unicode="&#xf2a5;" +d="M252.8 299.4c0 -8.80078 -1.59961 -17.7002 -3.39941 -26.4004c-5.80078 -27.7998 -11.6006 -55.7998 -17.3008 -83.5996c-1.39941 -6.30078 -8.2998 -4.90039 -13.6992 -4.90039c-23.8008 0 -30.5 26 -30.5 45.5c0 29.2998 11.1992 68.0996 38.5 83.0996 +c4.2998 2.5 9.19922 4.2002 14.0996 4.2002c11.4004 0 12.2998 -8.2998 12.2998 -17.8994zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM384 181c0 5.09961 -20.7998 37.7002 -25.5 39.5 +c-2.2002 0.900391 -7.2002 2.2998 -9.59961 2.2998c-23.1006 0 -38.7002 -10.5 -58.2002 -21.5l-0.5 0.5c4.2998 29.4004 14.5996 57.2002 14.5996 87.4004c0 44.5996 -23.7998 62.7002 -67.5 62.7002c-71.7002 0 -108 -70.8008 -108 -123.5c0 -54.7002 32 -85 86.2998 -85 +c7.5 0 6.90039 0.599609 6.90039 -2.30078c-10.5 -80.2998 -56.5 -82.8994 -56.5 -58.8994c0 24.3994 28 36.5 28.2998 38c-0.200195 7.59961 -29.2998 17.2002 -36.7002 17.2002c-21.0996 0 -32.6992 -33 -32.6992 -50.6006c0 -32.2998 20.3994 -54.7002 53.2998 -54.7002 +c48.2002 0 83.3994 49.7002 94.2998 91.7002c9.40039 37.7002 7 39.4004 12.2998 42.1006c20 10.0996 35.7998 16.7998 58.4004 16.7998c11.0996 0 19 -2.2998 36.7002 -5.2002c1.7998 -0.0996094 4.09961 1.7002 4.09961 3.5z" /> + <glyph glyph-name="glide-g" unicode="&#xf2a6;" +d="M407.1 236.8c7.5 -2.89941 40.9004 -55.3994 40.9004 -63.3994c0 -2.90039 -3.7998 -5.80078 -6.7002 -5.80078c-28.3994 4.7002 -41.0996 8.40039 -58.8994 8.40039c-36.3008 0 -61.6006 -10.7998 -93.8008 -27c-8.5 -4.2998 -4.59961 -7.09961 -19.6992 -67.5996 +c-17.4004 -67.6006 -74 -145.4 -151.4 -145.4c-52.7002 0 -85.5 36 -85.5 87.9004c0 28.0996 18.5 79.1992 52.4004 79.2998c11.8994 0 58.5996 -15.4004 58.8994 -27.6006c-0.5 -2.39941 -45.5 -21.7998 -45.5 -61c0 -38.5 73.9004 -34.2998 90.7998 94.6006 +c0 4.7998 1 3.7998 -11 3.7998c-87.2998 0 -138.6 48.7002 -138.6 136.6c0 84.7002 58.2998 198.4 173.4 198.4c70.1992 0 108.399 -29.0996 108.399 -100.6c0 -48.5 -16.5 -93.1006 -23.5 -140.4l0.900391 -0.900391c31.2998 17.7002 56.3994 34.5 93.5 34.5 +c3.7998 0 11.8994 -2.39941 15.3994 -3.7998zM231.8 321.2c2.90039 13.8994 5.5 28.0996 5.60059 42.3994c0 15.4004 -1.40039 28.7002 -20 28.7002c-7.80078 0 -15.6006 -2.59961 -22.6006 -6.7002c-43.7998 -24.0996 -61.7998 -86.3994 -61.7998 -133.399 +c0 -31.2998 10.7002 -73.1006 49 -73.1006c8.7002 0 19.7002 -2.39941 22 7.80078c9.2002 44.6992 18.5 89.5996 27.7998 134.3z" /> + <glyph glyph-name="viadeo" unicode="&#xf2a9;" +d="M276.2 297.5v-0.700195c-17.9004 52.6006 -42.6006 103.4 -70.7998 151.2c43.2998 -29.2002 67 -100 70.7998 -150.5zM308.9 175.8c15.0996 3.10059 29.5 9 42.1992 17c24.5 -58.5996 20.2002 -139.7 -36.3994 -201c-67.7998 -73.8994 -191.9 -74.5996 -259.8 0 +c-108.801 117.8 -31.6006 313.7 129.899 313.7c21.2998 0 42.6006 -3.5 62.5 -10.7002c-6.89941 -13.3994 -11.7002 -28.2002 -13.3994 -43.2998c-15.4004 6.5 -32.3008 9.59961 -49.1006 9.59961c-78 0 -135.399 -66.6992 -135.399 -142.3 +c0 -68.7998 45.5996 -126 111.3 -137.399c98.5 38.3994 116.6 188.199 116.6 280c0 11.6992 0 23.6992 -1 35.3994c12.4004 -36.0996 18.9004 -73.8994 18.9004 -112c0 -86.5 -35.1006 -158.399 -109.3 -205.1l-3.80078 -0.299805 +c80 -1.60059 137.801 61.6992 137.801 139.399c0 19.5 -3.40039 38.7998 -11 57zM418.1 436.3c52 -74 20.9004 -208.6 -58.0996 -208.6c-21.2998 0 -40.2002 11.3994 -55 25.7998c35.0996 19.2998 79.4004 49.2002 99.7002 84.9004 +c2.39941 4.7998 6.5 13.6992 7.2002 19.1992c-19.9004 -44.6992 -70.8008 -79.6992 -118.2 -90.6992c-7.5 11.6992 -12 24.6992 -12 38.7998c0 16.5 8.2002 38.5 20.5996 50.5c34.5 32.8994 84.7998 13.5996 115.8 80.0996z" /> + <glyph glyph-name="viadeo-square" unicode="&#xf2aa;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM280.7 66.7998c35.3994 38.2998 38.0996 89 22.7998 125.601c-7.90039 -4.90039 -16.9004 -8.60059 -26.4004 -10.5 +c4.80078 -11.4004 6.90039 -23.5 6.90039 -35.7002c0 -48.6006 -36.2002 -88.2002 -86.2002 -87.2002l2.40039 0.200195c46.3994 29.2002 68.2998 74.0996 68.2998 128.2c0 23.7998 -4.09961 47.5 -11.7998 70v0.399414c-2.2998 31.6006 -17.1006 75.7998 -44.2002 94.1006 +c17.5996 -29.9004 33 -61.6006 44.2002 -94.5c0.599609 -7.30078 0.599609 -14.8008 0.599609 -22.1006c0 -57.3994 -11.3994 -151 -72.8994 -175c-41 7.2002 -69.5 42.9004 -69.5 85.9004c0 47.2002 35.7998 88.8994 84.5996 88.8994c10.5 0 21 -1.89941 30.7002 -6 +c1.09961 9.5 4.09961 18.7002 8.39941 27.1006c-12.5 4.59961 -25.7998 6.7002 -39.0996 6.7002c-101 0 -149.2 -122.5 -81.2002 -196.101c42.4004 -46.5996 120 -46.2002 162.4 0zM309 214.3c49.4004 0 68.7998 84.1006 36.2998 130.3 +c-19.3994 -41.5 -50.7998 -29.5 -72.3994 -50c-7.7002 -7.5 -12.9004 -21.2998 -12.9004 -31.5996c0 -8.7998 2.7998 -17 7.5 -24.2998c29.7002 6.89941 61.4004 28.7998 73.9004 56.7002c-0.400391 -3.40039 -3 -9 -4.5 -12c-12.7002 -22.3008 -40.4004 -41 -62.3008 -53 +c9.30078 -9 21.1006 -16.1006 34.4004 -16.1006z" /> + <glyph glyph-name="snapchat" unicode="&#xf2ab;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM417.5 101.1c2.2002 5.30078 -0.900391 9.80078 -4.90039 10.8008c-46.2998 7.59961 -67.0996 55.0996 -68 57.0996 +c-0.0996094 0.0996094 -0.0996094 0.200195 -0.199219 0.299805c-2.40039 5 -3 9.2002 -1.60059 12.5c2.60059 6.2998 12.5 9.40039 19 11.5c1.7998 0.600586 3.5 1.10059 4.90039 1.7002c11.5 4.5 17.2998 10.0996 17.2002 16.5996 +c-0.100586 5.10059 -4.10059 9.60059 -10.4004 11.9004c-4 1.59961 -9.59961 1.90039 -13.5996 0c-5.5 -2.59961 -10.4004 -4 -14.7002 -4.2002c-2.7998 0.100586 -4.60059 0.799805 -5.7002 1.40039c1.40039 24 4.7002 58 -3.7998 77.0996 +c-16.2998 36.5 -49.6006 54.2998 -84.2998 54.2998c-0.600586 0 -6.10059 -0.0996094 -6.7002 -0.0996094c-14 0 -61.6006 -4 -84.1006 -54.2998c-8.5 -19.1006 -5.19922 -53.2002 -3.7998 -77.1006c-1.09961 -0.599609 -3.2998 -1.39941 -6.59961 -1.39941 +c-4.5 0 -9.7998 1.39941 -15.7002 4.2002c-7.5 3.5 -20.2998 -1.80078 -21.9004 -10.3008c-1 -4.89941 1.2002 -12.0996 17 -18.2998c6.10059 -2.5 20.6006 -5.2998 24 -13.2002c1.40039 -3.2998 0.900391 -7.5 -1.59961 -12.5 +c-0.0996094 -0.0996094 -0.200195 -0.199219 -0.200195 -0.299805c-0.899414 -2 -21.7002 -49.5 -68 -57.0996c-3.59961 -0.600586 -6.09961 -3.7998 -5.89941 -7.40039c0.699219 -13.8994 31.6992 -19.2998 45.5 -21.3994c1.39941 -1.90039 2.5 -9.90039 4.2998 -16 +c0.799805 -2.7002 2.89941 -6 8.2998 -6s13.2998 3.09961 25.7998 3.09961c17.6006 0 23.6006 -4 37.4004 -13.7002c9.89941 -7 27.5 -19.7998 48.5 -18.2002c20.7998 -0.899414 34.7002 7.90039 49.2002 18.2002c13.6992 9.7002 19.7998 13.7002 37.3994 13.7002 +c13 0 19.6006 -2.90039 25.7998 -2.90039h0.200195c4.40039 0 7 2.2002 8.10059 5.90039c1.7998 6.09961 2.89941 14 4.2998 15.9004c26.7002 4.19922 41.2998 10.0996 44.7998 18.1992z" /> + <glyph glyph-name="snapchat-ghost" unicode="&#xf2ac;" horiz-adv-x="512" +d="M510.846 55.3271c-5.21094 -12.1572 -27.2383 -21.0889 -67.3594 -27.3184c-2.06445 -2.78613 -3.77539 -14.6855 -6.50781 -23.9561c-1.625 -5.56543 -5.62207 -8.86914 -12.1279 -8.86914l-0.296875 0.00585938c-9.39453 0 -19.2031 4.32227 -38.8516 4.32227 +c-26.5215 0 -35.6621 -6.04297 -56.2539 -20.5879c-21.832 -15.4375 -42.7715 -28.7637 -74.0273 -27.3984c-31.6455 -2.33398 -58.0244 16.9072 -72.8711 27.4033c-20.7139 14.6436 -29.8281 20.582 -56.2412 20.582c-18.8633 0 -30.7354 -4.71973 -38.8516 -4.71973 +c-8.07324 0 -11.2129 4.92188 -12.4219 9.04004c-2.70312 9.18848 -4.4043 21.2627 -6.52344 24.1299c-20.6787 3.20898 -67.3096 11.3438 -68.498 32.1504c-0.00878906 0.161133 -0.015625 0.422852 -0.015625 0.583984c0 4.97559 3.98438 9.67285 8.89258 10.4844 +c69.583 11.4551 100.925 82.9014 102.228 85.9346c0.0742188 0.175781 0.155273 0.34375 0.237305 0.514648c3.71289 7.53711 4.54395 13.8486 2.46289 18.7529c-5.05078 11.8965 -26.8721 16.1641 -36.0537 19.7959c-23.7148 9.36621 -27.0146 20.1279 -25.6113 27.5039 +c2.43652 12.8359 21.7246 20.7354 33.002 15.4531c8.91895 -4.18066 16.8428 -6.29688 23.5469 -6.29688c5.02148 0 8.21191 1.2041 9.95996 2.1709c-2.04297 35.9365 -7.10156 87.29 5.68652 115.969c33.7734 75.7188 105.356 81.6025 126.478 81.6025 +c0.943359 0 9.14062 0.0888672 10.1094 0.0888672c52.1484 0 102.255 -26.7803 126.724 -81.6426c12.7764 -28.6504 7.74902 -79.792 5.69434 -116.01c1.58203 -0.87207 4.35742 -1.94141 8.59961 -2.13867c6.39648 0.286133 13.8145 2.38867 22.0693 6.25684 +c6.08496 2.84668 14.4053 2.46094 20.4795 -0.0576172l0.0292969 -0.00976562c9.47559 -3.38574 15.4385 -10.2158 15.5889 -17.8701c0.183594 -9.74707 -8.52246 -18.165 -25.8779 -25.0186c-2.11816 -0.834961 -4.69434 -1.6543 -7.43457 -2.52441 +c-9.79688 -3.10645 -24.5996 -7.80566 -28.6152 -17.2715c-2.0791 -4.9043 -1.25684 -11.2109 2.45996 -18.748c0.0869141 -0.167969 0.166016 -0.341797 0.238281 -0.514648c1.30176 -3.03027 32.6152 -74.46 102.23 -85.9346 +c6.42676 -1.05762 11.1631 -7.87695 7.72461 -15.8584z" /> + <glyph glyph-name="snapchat-square" unicode="&#xf2ad;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM393.5 101.1c2.2002 5.30078 -0.900391 9.80078 -4.90039 10.8008c-46.2998 7.59961 -67.0996 55.0996 -68 57.0996 +c-0.0996094 0.0996094 -0.0996094 0.200195 -0.199219 0.299805c-2.40039 5 -3 9.2002 -1.60059 12.5c2.60059 6.2998 12.5 9.40039 19 11.5c1.7998 0.600586 3.5 1.10059 4.90039 1.7002c11.5 4.5 17.2998 10.0996 17.2002 16.5996 +c-0.100586 5.10059 -4.10059 9.60059 -10.4004 11.9004c-4 1.59961 -9.59961 1.90039 -13.5996 0c-5.5 -2.59961 -10.4004 -4 -14.7002 -4.2002c-2.7998 0.100586 -4.60059 0.799805 -5.7002 1.40039c1.40039 24 4.7002 58 -3.7998 77.0996 +c-16.2998 36.5 -49.6006 54.2998 -84.2998 54.2998c-0.600586 0 -6.10059 -0.0996094 -6.7002 -0.0996094c-14 0 -61.6006 -4 -84.1006 -54.2998c-8.5 -19.1006 -5.19922 -53.2002 -3.7998 -77.1006c-1.09961 -0.599609 -3.2998 -1.39941 -6.59961 -1.39941 +c-4.5 0 -9.7998 1.39941 -15.7002 4.2002c-7.5 3.5 -20.2998 -1.80078 -21.9004 -10.3008c-1 -4.89941 1.2002 -12.0996 17 -18.2998c6.10059 -2.5 20.6006 -5.2998 24 -13.2002c1.40039 -3.2998 0.900391 -7.5 -1.59961 -12.5 +c-0.0996094 -0.0996094 -0.200195 -0.199219 -0.200195 -0.299805c-0.899414 -2 -21.7002 -49.5 -68 -57.0996c-3.59961 -0.600586 -6.09961 -3.7998 -5.89941 -7.40039c0.699219 -13.8994 31.6992 -19.2998 45.5 -21.3994c1.39941 -1.90039 2.5 -9.90039 4.2998 -16 +c0.799805 -2.7002 2.89941 -6 8.2998 -6s13.2998 3.09961 25.7998 3.09961c17.6006 0 23.6006 -4 37.4004 -13.7002c9.89941 -7 27.5 -19.7998 48.5 -18.2002c20.7998 -0.899414 34.7002 7.90039 49.2002 18.2002c13.6992 9.7002 19.7998 13.7002 37.3994 13.7002 +c13 0 19.6006 -2.90039 25.7998 -2.90039h0.200195c4.40039 0 7 2.2002 8.10059 5.90039c1.7998 6.09961 2.89941 14 4.2998 15.9004c26.7002 4.19922 41.2998 10.0996 44.7998 18.1992z" /> + <glyph glyph-name="pied-piper" unicode="&#xf2ae;" +d="M32 29l-32 -60.2002l0.799805 328c0 65.9004 53.2002 119.2 119.2 119.2h327.2c-93 -28.9004 -189.9 -94.2002 -253.9 -168.6c-70.5996 -81.4004 -110.7 -137.4 -161.3 -218.4zM448 416c0 0 0 -328.8 0.0996094 -328.8c0 -65.9004 -53.2998 -119.2 -119.3 -119.2 +h-328.399c18.5 25.5 61.6992 54 84.8994 66c35.5 18.0996 76.4004 28.5 105.3 56.2998c42.1006 40.5 47.8008 105 71 158.601c43.6006 100.3 186.4 167.1 186.4 167.1z" /> + <glyph glyph-name="first-order" unicode="&#xf2b0;" +d="M12.9004 218.8c0.0996094 0.100586 0.199219 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.100586 -0.400391h-0.199219zM224 351.4c7.40039 0 14.5996 -0.5 21.7002 -1.7002l-4 -67.7002l22.2998 64.2998c14.2998 -3.7998 27.7002 -9.5 40 -16.8994 +l-29.4004 -61.1006l45.1006 50.9004c11.5 -8.90039 21.7002 -19.2002 30.5996 -30.9004l-50.5996 -45.3994l60.8994 29.6992c7.5 -12.2998 12.9004 -26 16.6006 -40.2998l-64 -22.2998l67.7002 4c1.09961 -7.09961 1.39941 -14.5996 1.39941 -22 +s-0.299805 -14.5996 -1.39941 -21.7002l-67.4004 4l64 -22.2998c-3.7002 -14.5996 -9.5 -28 -16.5996 -40.2998l-61.1006 29.3994l50.6006 -45.0996c-8.60059 -11.7998 -18.9004 -22 -30.6006 -30.9004l-44.8994 50.9004l29.3994 -61.2998 +c-12.2998 -7.5 -25.7002 -12.9004 -40 -16.9004l-22.5996 65.1006l4 -68.6006c-7.10059 -1.09961 -14.2998 -1.7002 -21.7002 -1.7002c-7.09961 0 -14.5996 0.600586 -21.7002 1.7002l4 68l-22.2998 -64.5996c-14.2998 3.7998 -27.7002 9.5 -40 16.8994l29.5 61.4004 +l-44.9004 -50.9004c-11.7998 8.60059 -22 19.2002 -30.8994 30.9004l50.8994 45.0996l-61.0996 -29.6992c-7.2002 12.5996 -12.9004 26 -16.5996 40.2998l64 22.5996l-67.7002 -4c-0.799805 7.10059 -1.40039 14.2998 -1.40039 21.7002s0.5 14.9004 1.40039 22l68 -4 +l-64.2998 22.5996c3.69922 14.3008 9.5 27.7002 16.5996 40l61.0996 -29.6992l-50.5996 45.3994c8.90039 11.7998 19.2002 22 30.5996 30.9004l45.1006 -50.9004l-29.4004 61.4004c12.2998 7.2002 25.7002 12.8994 40 16.5996l22 -64l-3.7002 67.4004 +c6.80078 1.09961 14.3008 1.7002 21.4004 1.7002zM443.4 320v-256l-219.4 -128l-219.4 128v256l219.4 128zM426.3 309.7l-202.3 117.399l-202.3 -117.399v-235.101l202.3 -117.699l202.3 117.699v235.101zM224 410.9l187.7 -109.4v-218.9l-187.7 -109.5l-187.7 109.5 +v218.801zM224 360c-92.2998 0 -166.9 -75.0996 -166.9 -168c0 -92.5996 74.6006 -167.7 166.9 -167.7c92 0 166.9 75.1006 166.9 167.7c0 92.9004 -74.9004 168 -166.9 168z" /> + <glyph glyph-name="yoast" unicode="&#xf2b1;" +d="M91.2998 372h186l-7 -18.9004h-179c-39.7002 0 -71.8994 -31.5996 -71.8994 -70.2998v-205.399c0 -35.4004 24.8994 -70.3008 84 -70.3008v-19.0996h-12.1006c-50.0996 0 -91.2998 40.2002 -91.2998 89.5v205.3c0 49.2998 40.7002 89.2002 91.2998 89.2002zM320.4 428 +h66.5c-143.801 -378.1 -145.7 -398.9 -184.7 -439.3c-20.7998 -21.6006 -49.2998 -31.7002 -78.2998 -32.7002v51.0996c49.1992 7.7002 64.5996 49.9004 64.5996 75.3008c0 20.0996 0.599609 12.5996 -82.0996 223.199h61.3994l50.4004 -156.6zM448 286.5v-298.5h-214 +c6.59961 9.59961 10.7002 16.2998 12.0996 19.4004h182.5v279.1c0 32.5 -17.0996 51.9004 -48.1992 62.9004l6.69922 17.5996c41.7002 -13.5996 60.9004 -43.0996 60.9004 -80.5z" /> + <glyph glyph-name="themeisle" unicode="&#xf2b2;" horiz-adv-x="512" +d="M208 359.714c0 10 6.28613 21.7139 17.7148 21.7139c11.1426 0 17.7139 -11.7139 17.7139 -21.7139c0 -10.2852 -6.57129 -21.7139 -17.7139 -21.7139c-11.4287 0 -17.7148 11.4287 -17.7148 21.7139zM512 199.714c0 -36.001 -11.4287 -102.286 -36.2861 -129.714 +c-22.8574 -24.8584 -87.4277 -61.1426 -120.856 -70.5723l-1.14355 -0.286133v-32.5703c0 -16.2861 -12.5723 -30.5713 -29.1426 -30.5713c-10 0 -19.4297 5.71387 -24.5723 14.2861c-5.42676 -8.57227 -14.8564 -14.2861 -24.8564 -14.2861 +s-19.4287 5.71387 -24.8574 14.2861c-5.14258 -8.57227 -14.5713 -14.2861 -24.5703 -14.2861c-10.2861 0 -19.4287 5.71387 -24.8574 14.2861c-5.14355 -8.57227 -14.5713 -14.2861 -24.5713 -14.2861c-18.8574 0 -29.4287 15.7139 -29.4287 32.8574 +c-16.2861 -12.2852 -35.7158 -19.4287 -56.5713 -19.4287c-22 0 -43.4287 8.28516 -60.2861 22.8574c10.2852 0.286133 20.5713 2.28613 30.2852 5.71387c-20.8574 5.71387 -39.4277 18.8574 -52 36.2861c21.3701 -4.64551 46.209 -1.67285 67.1426 11.1426 +c-22 22 -56.5703 58.8574 -68.5713 87.4287c-5.71387 13.4287 -6.85645 31.4287 -6.85645 45.7139c0 49.7139 20.2861 160 86.2861 160c10.5713 0 18.8564 -4.8584 23.1426 -14.8574c3.0498 4.46289 8.42578 11.374 12 15.4277c2 2.57227 5.71387 5.42969 7.14355 8.28613 +c7.99902 12.5713 11.7139 21.1426 21.7139 34c32.2852 41.1445 81.7139 69.4297 134.856 69.4297c6 0 12 -0.285156 17.7148 -1.14355c10.8564 11.7148 26 18.2861 41.7148 18.2861c14.5703 0 29.7139 -6 40 -16.2861c0.856445 -0.857422 1.42773 -2.28613 1.42773 -3.42773 +c0 -3.71387 -10.2852 -13.4287 -12.8574 -16.2861c4.28613 -1.42871 15.7148 -6.8584 15.7148 -12c0 -2.85742 -2.85742 -5.14258 -4.57129 -7.14258c31.4287 -27.7148 49.4287 -67.1436 56.2861 -108c4.28613 5.14258 10.2852 8.57129 17.1426 8.57129 +c10.5713 0 20.8574 -7.14355 28.5713 -14.001c20.8564 -18.5703 25.7139 -53.1416 25.7139 -79.7139zM188 358.572c0 -18.2861 12.5713 -37.1436 32.2861 -37.1436c19.7139 0 32.2852 18.8574 32.2852 37.1436c0 18 -12.5713 36.8564 -32.2852 36.8564 +c-19.7148 0 -32.2861 -18.8574 -32.2861 -36.8564zM237.714 254c0 19.7139 3.71387 39.1426 8.57129 58.2861c-52.0391 -79.5342 -13.5312 -184.571 68.8574 -184.571c21.4287 0 42.5713 7.71387 60 20c2 7.42871 3.71484 14.8574 3.71484 22.5723 +c0 14.2861 -6.28613 21.4277 -20.5723 21.4277c-4.57129 0 -9.14355 -0.856445 -13.4287 -1.71387c-63.3438 -12.668 -107.143 -3.66895 -107.143 63.999zM196.572 -0.858398c0 11.1436 -8.8584 20.8574 -20.2861 20.8574c-11.4287 0 -20 -9.71484 -20 -20.8574v-32.5703 +c0 -11.1436 8.57129 -21.1426 20 -21.1426c11.4277 0 20.2861 9.71484 20.2861 21.1426v32.5703zM245.715 -0.858398c0 11.1436 -8.57227 20.8574 -20 20.8574c-11.4287 0 -20.2861 -9.71484 -20.2861 -20.8574v-32.5703c0 -11.1436 8.85742 -21.1426 20.2861 -21.1426 +c11.4277 0 20 10 20 21.1426v32.5703zM295.428 -0.858398c0 11.1436 -8.85645 20.8574 -20.2852 20.8574s-20.2852 -9.71484 -20.2852 -20.8574v-32.5703c0 -11.1436 8.85645 -21.1426 20.2852 -21.1426s20.2852 9.71484 20.2852 21.1426v32.5703zM345.143 -0.858398 +c0 11.1436 -8.85645 20.8574 -20.2852 20.8574s-20.2861 -9.71484 -20.2861 -20.8574v-32.5703c0 -11.1436 8.85742 -21.1426 20.2861 -21.1426s20.2852 10 20.2852 21.1426v32.5703zM421.714 162c-30.8564 -59.1416 -90.2852 -102.572 -158.571 -102.572 +c-96.5703 0 -160.57 84.5723 -160.57 176.572c0 16.8574 2 33.4287 6 49.7139c-20 -33.7148 -29.7139 -72.5723 -29.7139 -111.429c0 -60.2861 24.8564 -121.715 71.4287 -160.857c5.14258 9.71387 14.8564 16.2861 26 16.2861c10 0 19.4277 -5.71387 24.5713 -14.2861 +c5.42871 8.57129 14.5703 14.2861 24.8574 14.2861c10 0 19.4277 -5.71387 24.5713 -14.2861c5.42871 8.57129 14.8564 14.2861 24.8574 14.2861c10 0 19.4287 -5.71387 24.8574 -14.2861c5.14258 8.57129 14.5713 14.2861 24.5723 14.2861 +c10.8564 0 20.8564 -6.57227 25.7139 -16c43.4268 36.2861 68.5693 92 71.4258 148.286zM432.286 261.714c0 53.7139 -34.5713 105.714 -92.5723 105.714c-30.2852 0 -58.5713 -15.1426 -78.8564 -36.8564c-19.9951 -66.3828 -27.4473 -136.571 41.4287 -136.571 +c28.8047 0 97.3564 28.5381 84.2861 -36.8574c28.8564 26 45.7139 65.7148 45.7139 104.571z" /> + <glyph glyph-name="google-plus" unicode="&#xf2b3;" horiz-adv-x="496" +d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM177.3 68c71.2998 0 118.8 50.4004 118.8 121.2c0 7.09961 -0.599609 13.8994 -1.89941 20.7002h-116.9v-42.6006h70.1006 +c-5.2002 -34.2002 -37.5 -53.2998 -70.1006 -53.2998c-43 0 -77.2002 35.5 -77.2002 78.0996c0 42.6006 34.3008 78.1006 77.2002 78.1006c18.1006 0 36.2002 -6.2002 49.4004 -19.1006l33.5996 32.6006c-22.8994 21.2998 -51.7002 32.2998 -83 32.2998 +c-68.7998 0 -124 -55.5 -124 -124s55.2002 -124 124 -124zM407.5 174.2h35.2002v35.5h-35.2002v35.5h-35.5v-35.5h-35.5v-35.5h35.5v-35.5h35.5v35.5z" /> + <glyph glyph-name="font-awesome" unicode="&#xf2b4;" +d="M397.8 416c27.5 0 50.2002 -22.7002 50.2002 -50.2002v-347.6c0 -27.5 -22.7002 -50.2002 -50.2002 -50.2002h-347.6c-27.5 0 -50.2002 22.7002 -50.2002 50.2002v347.6c0 27.5 22.7002 50.2002 50.2002 50.2002h347.6zM352.4 131.7h0.0996094v140.3 +c0 4.2002 -4.2002 7.7998 -9 7.7998c-6 0 -31.0996 -16.0996 -53.7998 -16.0996c-4.7002 0 -8.90039 0.599609 -13.1006 2.39941c-20.2998 7.7002 -38.1992 13.7002 -60.8994 13.7002c-20.9004 0 -43 -6.5 -61.5 -14.2998 +c-1.7998 -1.2002 -3.60059 -1.7998 -5.40039 -2.40039v18.5c8.2998 6 13.1006 15.5 13.1006 26.3008c0 18.5996 -15 33.5 -33.5 33.5c-18.6006 0 -33.5 -15 -33.5 -33.5c0 -10.8008 5.2998 -20.3008 13.0996 -26.3008v-218.6c0 -11.2998 9 -20.2998 20.2998 -20.2998 +c8.90039 0 16.7002 5.89941 19.1006 14.2998v1.2002c0.599609 1.2002 0.599609 3 0.599609 4.7998v45.4004c1.2002 0.599609 2.40039 0.599609 3.59961 1.19922c19.7002 8.90039 44.2002 17.3008 67.5 17.3008c32.3008 0 44.8008 -16.7002 71.7002 -16.7002 +c19.2002 0 37.1006 6.5 53.7998 13.7002c4.2002 1.7998 7.80078 3.59961 7.80078 7.7998z" /> + <glyph glyph-name="linode" unicode="&#xf2b8;" +d="M437.4 221.7c0.599609 -2 -8.80078 -66.2998 -9.7002 -72.7998c0 -0.900391 -0.5 -1.7002 -1.10059 -2l-54.5996 -43.7002c-1.09961 -0.900391 -2.59961 -0.900391 -3.7002 0l-20.2998 14l-2.2998 -33.4004c0 -0.899414 -0.200195 -1.7002 -1.10059 -2.2998 +l-66.8994 -53.4004c-1.10059 -0.899414 -2.90039 -0.899414 -4 0l-28 23.7002l2 -46c0 -0.899414 -0.200195 -1.7002 -1.10059 -2.2998l-83.6992 -66.9004c-0.600586 -0.299805 -1.10059 -0.599609 -1.7002 -0.599609c-0.900391 0.299805 -1.7002 0.299805 -2.2998 0.900391 +l-65.1006 69.0996c-1.5 1.40039 -15.5 72 -16.8994 79.0996c-0.300781 1.10059 0.5 2.5 1.39941 3.10059l17.4004 10.5996c-3.40039 3.2002 -26.5 23.4004 -27.1006 26.2998l-20.5996 100.301c-0.299805 1.09961 0.299805 2.5 1.7002 3.39941l26.8994 12.9004 +c-4.59961 3.5 -37.6992 27.5 -38.5996 30.8994l-27.4004 133.101c-0.299805 1.7002 0.600586 3.09961 2 3.7002l123.7 38.5996c0.600586 0 1.40039 0 2.2998 -0.299805l90.6006 -43.7002c0.799805 -0.599609 1.7002 -1.7002 1.7002 -2.59961l5.69922 -132.301 +c0 -1.19922 -0.599609 -2.2998 -1.69922 -2.89941l-33.7002 -17.4004l36 -24.2998c0.799805 -0.299805 1.39941 -1.40039 1.39941 -2.2998l1.40039 -35.1006l34.5996 21.2002c0.800781 0.600586 2.2002 0.600586 3.10059 0l24 -16l0.899414 31.4004 +c0 0.899414 0.5 2 1.40039 2.59961l58.9004 36c1.09961 0.600586 2.19922 0.600586 3.09961 0l70 -38.5996c0.5 -0.600586 1.09961 -1.10059 1.40039 -2zM232.6 216.9l-100.6 -57.2002l14 -96.6006l90.5996 61.2002zM224.9 396.9l-120.9 -46.6006l19.7002 -134.8 +l106.6 55.4004zM44 274.9l73.0996 -57.2002l-19.3994 132.899l-79.7002 49.4004zM74.5996 127.1l64.8008 -60.7998l-13.7002 93.4004l-70 58.2998zM98.9004 9.40039l57.6992 -61.2002l-9.69922 67.3994l-61.7002 60.9004zM163.4 -55.0996l78.1992 62.2998l-3.09961 70 +l-85.7002 -61.4004zM245.4 60l27.0996 -22.9004l-0.599609 68.3008l-29.4004 22.5996c0 -2.2998 1.2002 -6.2998 -1.09961 -8l-22.3008 -14.9004l24.3008 -20c2.89941 -2.19922 2 -21.6992 2 -25.0996zM339.7 85.4004l4.2002 66.8994l-65.7002 -46.8994l0.599609 -68.6006z +M367.4 111.1l5.7998 66.6006l-64.6006 40.5996l-0.599609 -30l41.2002 -27.2002c0.799805 -0.599609 1.39941 -1.69922 1.09961 -2.59961l-2 -34zM422 150.9l8.5 63.3994l-51.0996 -36.5996l-5.7002 -65.1006z" /> + <glyph glyph-name="quora" unicode="&#xf2c4;" +d="M440.5 61.2998c1.7998 -18 -7.2002 -93.2998 -89 -93.2998c-49.5 0 -75.5 28.7002 -95.2002 62.2998c-117.7 -32.5996 -249 54.9004 -249 189c0 117 98 196.7 197.7 196.7c101.8 0 198.5 -79.2002 198.4 -196.7c0 -65.5 -30.5 -118.8 -74.7002 -153 +c14.2002 -21.5996 29 -35.7998 49.5 -35.7998c22.5 0 31.5 17.2998 33 30.7998h29.2998zM297 118.8c11.2998 24.9004 16.7998 58.7002 16.7002 100.5c0 104.2 -32.5 157.7 -108.7 157.7c-75 0 -107.5 -53.5 -107.5 -157.9c0 -103.699 32.5 -156.699 107.5 -156.699 +c12 0 22.7002 1.19922 32.7002 4.19922c-15.5 30.5 -33.7002 61.3008 -69.2002 61.3008c-6.7998 0 -13.5996 -1 -19.7998 -4l-12.2002 24.2998c14.7002 12.7998 38.5 22.7998 69 22.7998c47.7998 0 72 -23 91.5 -52.2002z" /> + <glyph glyph-name="free-code-camp" unicode="&#xf2c5;" horiz-adv-x="576" +d="M69.2998 303.5c-41 -68.5 -36.3994 -163 1 -227c22.2002 -38.2002 49.7002 -52.4004 49.7002 -66.5c0 -6.7998 -6 -13 -12.7998 -13c-19.5 0 -99.2002 75.5 -99.2002 197.8c0 111.5 78 186 97.0996 186c6 0 14.9004 -4.7998 14.9004 -11.0996 +c0 -12.7002 -28.2998 -28.6006 -50.7002 -66.2002zM265.1 89.7002c-37.1992 13.5996 -65.5 45.8994 -65.2998 86.2002c0 48 57.7002 90.0996 57.7002 136.199c0 16.8008 -10.4004 32.6006 -19.5996 38.2002c-1.90039 1 -4.60059 2.7002 -4.60059 5.10059 +c0 9.59961 26.1006 2.7998 36.5 -2.2002c33.6006 -15.9004 40.6006 -40.2998 46.4004 -74.1006c1.39941 -7.89941 4.2998 -33.2998 15.8994 -33.2998c7.5 0 12.3008 5.10059 12.3008 12.2998c0 12.6006 -15.4004 31.2002 -7.2002 31.2002 +c6.09961 0 18.5996 -12.7998 22.5 -16.8994c23.3994 -24.9004 32.0996 -49 32.0996 -82.6006c0 -42.2002 -23.3994 -74.7002 -53.0996 -89.7998c-9.2002 -5.7998 -12.1006 0.900391 -12.1006 1.90039c0 7 29.5 23.5996 29.5 56c0 10.5996 -2.69922 22.5 -8.5 31.3994 +c-1.69922 2.40039 -7.69922 10.1006 -11.0996 10.1006c-0.700195 0 -0.700195 -0.5 -0.700195 -1.2002c0 -5.7998 3.60059 -11.4004 3.60059 -17.4004c0 -13 -31.9004 -20.2002 -31.9004 6.7998c0 7.10059 0.700195 14.3008 0.700195 21.3008 +c0 5.09961 -0.200195 6.5 -2.40039 11.0996c-3.39941 6.5 -14.5 19.7998 -22.5 19.7998c-2.2002 0 -2.89941 0 -2.89941 -2.2002c0 -3.39941 7.69922 -7 7.69922 -19.2998c0 -32.0996 -44.1992 -37.8994 -44.1992 -70c0 -14.3994 1.89941 -26.5 10.0996 -38.5996 +c5.09961 -7.5 10.5996 -11.7998 19.0996 -15.2002c2.10059 -0.700195 4.30078 -0.900391 4.30078 -3.59961c0 -6.40039 -7.80078 -3 -12.3008 -1.2002zM470.4 381c21.3994 0 97.5996 -78.9004 97.5 -198.2c0 -104.899 -73.4004 -185.7 -98.8008 -185.7 +c-5 0 -13.1992 6.30078 -13.1992 11.4004c0 8.2002 28.2998 34.5996 35.2998 43.5c61 76.7002 64 205.9 -17.6006 291c-5.5 5.7998 -17.5996 16.7002 -17.5996 25.4004c0 6.09961 8.40039 12.5996 14.4004 12.5996zM428.1 57.9004c8.40039 0 11.9004 -7 11.9004 -15.5 +c0 -8.90039 -2.5 -16.4004 -11.9004 -16.4004h-261.1c-8.5 0 -15.5 7 -15.5 15.5c0 8.90039 6.09961 16.4004 15.5 16.4004h261.1z" /> + <glyph glyph-name="telegram" unicode="&#xf2c6;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM369.8 270.1c3.60059 16.8008 -6.09961 23.5 -17.2002 19.5l-239.1 -92.1992c-16.4004 -6.40039 -16.0996 -15.5 -2.7998 -19.7002l61.2002 -19.1006l142 89.4004 +c6.59961 4.40039 12.6992 1.90039 7.69922 -2.5l-114.899 -103.8l-4.40039 -63.1006c6.40039 0 9.2002 2.80078 12.5 6.10059l29.9004 28.7998l62 -45.7002c11.2998 -6.39941 19.3994 -3.09961 22.3994 10.5z" /> + <glyph glyph-name="bandcamp" unicode="&#xf2d5;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM296.2 113.9l84.7002 156.1h-181l-84.7002 -156.1h181z" /> + <glyph glyph-name="grav" unicode="&#xf2d6;" horiz-adv-x="512" +d="M301.1 236c4.40039 -4.40039 4.40039 -11.9004 0 -16.2998l-9.69922 -9.7002c-4.40039 -4.7002 -11.9004 -4.7002 -16.6006 0l-10.5 10.5c-4.39941 4.7002 -4.39941 11.9004 0 16.5996l9.7002 9.7002c4.40039 4.40039 11.9004 4.40039 16.5996 0zM270.9 255.7 +c-2.7002 -2.7998 -7.40039 -2.7998 -10.5 0c-2.80078 3 -2.80078 7.7002 0 10.5c3 3 7.69922 3 10.5 0c3 -2.7002 3 -7.5 0 -10.5zM244.9 250.4c2.7998 3 7.5 3 10.5 0c2.7998 -2.7002 2.7998 -7.40039 0 -10.2002c-3 -3 -7.7002 -3 -10.5 0c-3 2.7002 -3 7.39941 0 10.2002 +zM317.4 263.7c-19.9004 14.3994 -33.8008 43.2002 -11.9004 68.0996c21.5996 24.9004 40.7002 17.2002 59.7998 -0.799805c11.9004 -11.2998 29.2998 -24.9004 17.2002 -48.2002c-12.5 -23.5 -45.0996 -33.2002 -65.0996 -19.0996zM365.1 308.2 +c-8.89941 10 -23.2998 -6.90039 -15.5 -16.1006c7.40039 -9 32.1006 -2.39941 15.5 16.1006zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM437.8 149.4c2.5 16.0996 -20.2002 16.5996 -25.2002 25.6992 +c-13.5996 24.1006 -27.6992 36.8008 -54.5 30.4004c11.6006 8 23.5 6.09961 23.5 6.09961c0.300781 6.40039 0 13 -9.39941 24.9004c3.89941 12.5 0.299805 22.4004 0.299805 22.4004c15.5 8.59961 26.7998 24.3994 29.0996 43.1992 +c3.60059 31 -18.7998 59.2002 -49.7998 62.8008c-22.0996 2.5 -43.7002 -7.7002 -54.2998 -25.7002c-23.2002 -40.1006 1.40039 -70.9004 22.4004 -81.4004c-14.4004 1.40039 -34.3008 11.9004 -40.1006 34.2998c-6.59961 25.7002 2.7998 49.8008 8.90039 61.4004 +c0 0 -4.40039 5.7998 -8 8.90039c0 0 -13.7998 0 -24.6006 -5.30078c11.9004 15.2002 25.2002 14.4004 25.2002 14.4004c0 6.40039 -0.599609 14.9004 -3.59961 21.5996c-5.40039 11 -23.7998 12.9004 -31.7002 -2.7998c0.0996094 0.200195 0.299805 0.400391 0.400391 0.5 +c-5 -11.8994 -1.10059 -55.8994 16.8994 -87.2002c-2.5 -1.39941 -9.09961 -6.09961 -13 -10c-21.5996 -9.69922 -56.2002 -60.2998 -56.2002 -60.2998c-28.1992 -10.7998 -77.1992 -50.8994 -70.5996 -79.7002c0.299805 -3 1.40039 -5.5 3 -7.5 +c-2.7998 -2.19922 -5.5 -5 -8.2998 -8.2998c-11.9004 -13.7998 -5.2998 -35.2002 17.7002 -24.3994c15.7998 7.19922 29.5996 20.1992 36.2998 30.3994c0 0 -5.5 5 -16.2998 4.40039c27.6992 6.59961 34.2998 9.39941 46.1992 9.09961c8 -3.89941 8 34.2998 8 34.2998 +c0 14.7002 -2.19922 31 -11.0996 41.5c12.5 -12.1992 29.0996 -32.6992 28 -60.5996c-0.799805 -18.2998 -15.2002 -23 -15.2002 -23c-9.09961 -16.5996 -43.2002 -65.9004 -30.3994 -106c0 0 -9.7002 14.9004 -10.2002 22.0996 +c-17.4004 -19.3994 -46.5 -52.2998 -24.6006 -64.5c26.6006 -14.6992 108.801 88.6006 126.2 142.301c34.6006 20.7998 55.4004 47.2998 63.9004 65c22 -43.5 95.2998 -94.5 101.1 -59z" /> + <glyph glyph-name="etsy" unicode="&#xf2d7;" horiz-adv-x="384" +d="M384 100c-1.75 -10.75 -13.75 -110 -15.5 -132c-117.879 4.29883 -219.895 4.74316 -368.5 0v25.5c45.457 8.94824 60.627 8.01855 61 35.25c1.79297 72.3223 3.52441 244.143 0 322c-1.0293 28.46 -12.1299 26.7646 -61 36v25.5 +c73.8857 -2.3584 255.933 -8.55078 362.999 3.75c-3.5 -38.25 -7.75 -126.5 -7.75 -126.5h-23.249c-11.0527 42.835 -18.7588 90.5 -54.75 90.5h-137c-10.25 0 -10.75 -3.5 -10.75 -9.75v-163.75c58 -0.5 88.5 2.5 88.5 2.5c29.7695 0.951172 27.5596 8.50195 40.75 65.251 +h25.75c-4.40723 -101.351 -3.91016 -61.8291 -1.75 -160.25h-25.75c-9.15527 40.0859 -9.06543 61.0449 -39.501 61.5c0 0 -21.5 2 -88 2v-139c0 -26 14.25 -38.25 44.25 -38.25h89.251c63.6357 0 66.5645 24.9961 98.751 99.75h22.249v-0.000976562z" /> + <glyph glyph-name="imdb" unicode="&#xf2d8;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM21.2998 218.8h-0.299805c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391v-0.400391zM97 128.2v127.8h-33v-127.8h33z +M210.2 128.2v127.8h-43l-7.60059 -59.9004c-2.69922 20 -5.39941 40.1006 -8.69922 59.9004h-42.8008v-127.8h29v84.5l12.2002 -84.5h20.6006l11.5996 86.3994v-86.3994h28.7002zM221.6 128.2c86.1006 -0.100586 75 -6 75 82.5c0 8.09961 0.300781 16.7998 -1.39941 24.3994 +c-4.2998 22.5 -31.4004 20.9004 -49 20.9004h-24.6006v-127.8zM382.5 157.4v36c0 17.2998 -0.799805 30.0996 -22.2002 30.0996c-8.89941 0 -14.8994 -2.7002 -20.8994 -9.2002v41.7002h-31.7002v-127.8h29.7998l1.90039 8.09961 +c5.69922 -6.7998 11.8994 -9.7998 20.8994 -9.7998c19.7998 0 22.2002 15.2002 22.2002 30.9004zM265 218.1v-49.2998c0 -9.7002 1.90039 -18.7002 -10.2998 -18.3994v83.6992c11.8994 0 10.2998 -6.2998 10.2998 -16zM350.5 192v-32.7002 +c0 -5.39941 1.59961 -14.3994 -6.2002 -14.3994c-1.59961 0 -3 0.799805 -3.7998 2.39941c-2.2002 5.10059 -1.09961 44.1006 -1.09961 44.7002c0 3.7998 -1.10059 12.7002 4.89941 12.7002c7.2998 0 6.2002 -7.2998 6.2002 -12.7002z" /> + <glyph glyph-name="ravelry" unicode="&#xf2d9;" horiz-adv-x="512" +d="M407.4 386.5c72.6992 -37.9004 112 -117.2 103.3 -199.5c-1.7002 -16.7002 -4.40039 -36.2002 -9.7998 -52.2002c-22.2002 -65.7002 -52.9004 -108.6 -123.101 -147.7c-6.39941 -4.39941 -13.2998 -8.59961 -20.2002 -10.7998 +c-12.5 -4.39941 -26.0996 -5.39941 -40.0996 -3.89941c-5.90039 -0.5 -11.7998 -0.700195 -18 -0.700195c-93.7002 0 -173 64 -196.9 151.399c-0.699219 0 -1.5 0.200195 -2.19922 0.200195c-5.60059 -44.2998 27.0996 -104.1 27.0996 -104.1s2 -3 13.2998 -20.2002 +c-62.7998 33.2002 -64.5 131.2 -64.5 131.2c-15 5.59961 -67.2002 23.3994 -76.2998 37.8994c0 0 40.9004 -22.3994 76.2002 -27c-0.200195 0.300781 0.5 7.90039 0.5 7.90039c2.2002 30 12.5 53.4004 23.0996 71.4004c6.90039 33.7998 22.1006 64.2998 43.2998 89.8994 +c3.7002 15.2998 9.60059 33.5 19.9004 52.7002c4.40039 8.40039 8.59961 13.7998 19.9004 19c74.8994 35 148.699 43.9004 224.5 4.5zM138.8 284.8c-7.59961 -11.2998 -13.7002 -23.5996 -18.8994 -36.3994c8.09961 8.59961 14.7998 14.1992 18.1992 16.6992 +c-0.5 7.40039 0.700195 19.7002 0.700195 19.7002zM107.6 162.9c0.700195 -9.60059 2 -18.9004 4.2002 -28.1006l41.4004 -6.89941c-14.1006 42.0996 -15.7998 90.0996 -15.7998 90.0996c-16.5 -16 -25.4004 -37.9004 -29.8008 -55.0996zM115.5 120.1 +c21.4004 -69.6992 81 -122.8 154.1 -134.399c-1 0.299805 -1.69922 0.5 -2.69922 1c0 0 -81 47.5 -108.301 124.3c-9.09961 1.5 -28.2998 5.90039 -43.0996 9.09961zM386 3.90039c63 32 106.6 98 106.8 174c0 107.399 -86.5996 194.5 -193 194.5 +c-49.2998 0 -94.0996 -18.7002 -128.3 -49.5c-5.2002 -10.1006 -8.59961 -22.9004 -11.0996 -39.4004c52.5 44.5996 146 33.5 146 33.5c23.3994 -1 20.5996 -21.7002 20.3994 -28.0996c-85.2002 7.19922 -127 -17.2002 -168.399 -52.4004 +c0 0 8.09961 -78.7998 26.7998 -110.8c107.8 -4.90039 189.8 53.7002 189.8 53.7002c10.2998 7.39941 19.4004 8.09961 21.4004 -4.7002c1.5 -10.4004 2.19922 -24.4004 -9.60059 -29.7998c-36 -16.8008 -75.5996 -27.3008 -115 -33 +c-25.5996 -3.7002 -39.7998 -4.60059 -78 -3.90039c36.4004 -84.7002 127.5 -107.8 127.5 -107.8c28.5 -4.7002 50.2002 -1 64.7002 3.7002z" /> + <glyph glyph-name="sellcast" unicode="&#xf2da;" +d="M353.4 416c52.0996 0 94.6992 -42.5996 94.6992 -94.5996v-258.801c0 -52 -42.5996 -94.5996 -94.6992 -94.5996h-258.7c-52.1006 0 -94.7002 42.5996 -94.7002 94.7002v258.7c0 52 42.5996 94.5996 94.7002 94.5996h258.7zM303.4 99.5996 +c27.8994 48.2002 11.1992 110.5 -37.2002 138.5c-18.6006 10.8008 0.0996094 -0.0996094 -18.5 10.7002c-25 14.4004 -46.2002 -23.2998 -21.6006 -37.5c18 -10.2002 0.800781 -0.399414 18.6006 -10.5996c27.5996 -16 37.2002 -51.7998 21.2998 -79.4004 +c-16 -27.5996 -51.7998 -37.2002 -79.4004 -21.2998c-18.5996 10.7998 0.100586 -0.0996094 -18.5 10.7002c-10.2998 6 -23.5996 2.39941 -29.5 -7.90039l-15.6992 -27.2002c-12.6006 -21.7998 19.3994 -53 42.2998 -13.1992c48.2998 -27.7002 110.3 -11 138.2 37.1992z +M325.2 308.4c14.2998 24.7998 -23.4004 46.3994 -37.7002 21.5l-4.7998 -8.40039c-48.2998 27.7002 -110.3 11 -138.2 -37.2002c-27.7998 -48.2998 -11.0996 -110.6 37.0996 -138.399c18.6006 -10.8008 -0.0996094 0.0996094 18.5 -10.7002 +c25 -14.4004 46.2002 23.2998 21.6006 37.5c-0.100586 0 -18.6006 10.5996 -18.6006 10.5996c-27.5996 16 -37.2998 51.7998 -21.2998 79.4004c16 27.5996 51.7998 37.2002 79.4004 21.2998c18.5996 -10.7998 -0.100586 0.0996094 18.5 -10.7002 +c10.2002 -5.09961 20 -2.89941 26.5 3.60059c2.7002 2.69922 2 2 19 31.5z" /> + <glyph glyph-name="superpowers" unicode="&#xf2dd;" +d="M448 416l-87.2002 -87c39.7002 -38.7002 61.2002 -92.7002 57.7002 -148.2c-5.40039 -93 -76.9004 -167.3 -168.7 -179.8c-83.2998 -11 -166.5 -22 -249.8 -33l86.7998 86.7998c-39.7998 38.7002 -61.0996 92.7002 -57.7998 148.2c5.7002 93.2998 77 167.5 169 180 +c83.2002 11 166.7 22 250 33zM368.3 183.7c4.40039 80 -56.7998 146.3 -136.1 151c-78.7002 4.7998 -148.5 -55.2998 -153 -134.5c-4.40039 -80 56.7998 -146.3 136.3 -151c78.7998 -4.7002 148.6 55 152.8 134.5z" /> + <glyph glyph-name="wpexplorer" unicode="&#xf2de;" horiz-adv-x="512" +d="M512 192c0 -141.2 -114.7 -256 -256 -256c-141.2 0 -256 114.7 -256 256s114.7 256 256 256s256 -114.7 256 -256zM480 192c0 123.2 -100.3 224 -224 224c-123.5 0 -224 -100.5 -224 -224s100.5 -224 224 -224s224 100.5 224 224zM160.9 323.4l86.8994 -37.1006 +l-37.0996 -86.8994l-86.9004 37.0996zM270.9 154.3l46.5996 -94h-14.5996l-50 100l-48.9004 -100h-14l51.0996 106.9l-22.2998 9.39941l6 14l68.6006 -29.0996l-6 -14.2998zM259.1 270.6l68.6006 -29.3994l-29.4004 -68.2998l-68.2998 29.0996zM339.4 227.7 +l54.5996 -23.1006l-23.4004 -54.2998l-54.2998 23.1006z" /> + <glyph glyph-name="meetup" unicode="&#xf2e0;" horiz-adv-x="512" +d="M99 33.7002c1.09961 -5.7002 -2.2998 -11.1006 -8 -12.2998c-5.40039 -1.10059 -10.9004 2.2998 -12 8c-1.09961 5.39941 2.2998 11.0996 7.7002 12.2998c5.39941 1.2002 11.0996 -2.2998 12.2998 -8zM242.1 -37.7002c6.60059 4.60059 15.5 2.7998 19.7002 -3.7002 +c4.60059 -6.59961 2.90039 -15.3994 -3.39941 -20c-6.60059 -4.59961 -15.4004 -2.89941 -20 3.7002c-4.30078 6.60059 -2.60059 15.4004 3.69922 20zM156.1 424.6c-6.2998 -1.5 -12.5 2.5 -13.8994 9.10059c-1.2002 6.2998 2.7998 12.5996 9.09961 14 +c6.2998 1.5 12.6006 -2.5 13.7002 -9.10059c1.40039 -6.2998 -2.59961 -12.5996 -8.90039 -14zM34.4004 221.7c10 -7.10059 12.5996 -20.7998 5.69922 -31.2002c-6.89941 -10.2998 -20.5996 -12.7998 -30.5996 -5.7002c-10 6.90039 -12.5996 20.9004 -5.7002 30.9004 +c6.90039 10.2998 20.6006 12.8994 30.6006 6zM306.4 392.6c-10.3008 -6.2998 -23.7002 -2.89941 -29.7002 7.40039c-6.2998 10.5996 -2.90039 24.2998 7.39941 30.5996c10.3008 6.30078 23.7002 2.90039 30 -7.69922c6 -10.3008 2.90039 -24 -7.69922 -30.3008zM115.3 334.6 +c-7.5 -5.19922 -18 -3.5 -23.0996 4.30078c-5.10059 7.69922 -3.40039 18.2998 4.2998 23.6992c7.40039 5.10059 18 3.40039 23.0996 -4.2998c5.10059 -7.7002 3.40039 -18.2998 -4.2998 -23.7002zM487.6 178.6c7.40039 1.40039 14.8008 -3.5 16.3008 -10.8994 +c1.69922 -7.7002 -3.2002 -15.2002 -10.6006 -16.6006c-7.39941 -1.69922 -14.8994 3.2002 -16.2998 10.6006c-1.7002 7.7998 3.2002 15.2002 10.5996 16.8994zM527.3 235.4c1.40039 -5.7002 -2.2998 -11.1006 -7.7002 -12.6006 +c-5.69922 -1.09961 -11.1992 2.60059 -12.2998 8c-1.09961 5.7002 2.2998 11.5 8 12.6006c5.40039 1.09961 10.9004 -2.30078 12 -8zM447 309.1c8.2998 6 20 3.80078 25.7002 -4.89941c5.7002 -8.60059 3.7002 -20.2998 -4.60059 -26.2998 +c-8.59961 -5.7002 -20.2998 -3.7002 -26 4.89941c-5.69922 8.60059 -3.69922 20.2998 4.90039 26.2998zM440.7 169.7c26.2998 -43.1006 15.0996 -100 -26.2998 -129.101c-17.4004 -12.2998 -37.1006 -17.6992 -56.9004 -17.0996 +c-12 -47.0996 -69.4004 -64.5996 -105.1 -32.5996c-1.10059 -0.900391 -2.60059 -1.7002 -3.7002 -2.90039c-39.1006 -27.0996 -92.2998 -17.4004 -119.4 22.2998c-9.7002 14.2998 -14.5996 30.6006 -15.0996 46.9004c-65.4004 10.8994 -90 94 -41.1006 139.7 +c-28.2998 46.8994 0.600586 107.399 53.4004 114.899c25.0996 66.2002 107.6 97.6006 163.6 54.2002c67.4004 22.2998 136.301 -29.4004 130.9 -101.1c41.0996 -12.6006 52.7998 -66.9004 19.7002 -95.2002zM370.7 95.4004 +c-3.10059 20.5996 -40.9004 4.59961 -43.1006 27.0996c-3.09961 32 43.7002 101.1 40 128c-3.39941 24 -19.3994 29.0996 -33.3994 29.4004c-13.4004 0.299805 -16.9004 -2 -21.4004 -4.60059c-2.89941 -1.7002 -6.59961 -4.89941 -11.7002 0.299805 +c-6.2998 6 -11.0996 11.7002 -19.3994 12.9004c-12.2998 2 -17.7002 -2 -26.6006 -9.7002c-3.39941 -2.89941 -12 -12.8994 -20 -9.09961c-3.39941 1.7002 -15.3994 7.7002 -24 11.3994c-16.2998 7.10059 -40 -4.59961 -48.5996 -20 +c-12.9004 -22.8994 -38 -113.1 -41.7002 -125.1c-8.59961 -26.5996 10.9004 -48.5996 36.9004 -47.0996c11.0996 0.599609 18.2998 4.59961 25.3994 17.3994c4 7.40039 41.7002 107.7 44.6006 112.601c2 3.39941 8.89941 8 14.5996 5.09961 +c5.7002 -3.09961 6.90039 -9.40039 6 -15.0996c-1.09961 -9.7002 -28 -70.9004 -28.8994 -77.7002c-3.40039 -22.9004 26.8994 -26.6006 38.5996 -4c3.7002 7.09961 45.7002 92.5996 49.4004 98.2998c4.2998 6.2998 7.39941 8.2998 11.6992 8 +c3.10059 0 8.30078 -0.900391 7.10059 -10.9004c-1.40039 -9.39941 -35.1006 -72.2998 -38.9004 -87.6992c-4.59961 -20.6006 6.60059 -41.4004 24.9004 -50.6006c11.3994 -5.7002 62.5 -15.7002 58.5 11.1006zM376.4 3.09961c10.5996 7.5 24.8994 4.60059 32.2998 -6 +c7.09961 -10.5996 4.59961 -25.1992 -6 -32.5996c-10.6006 -7.09961 -24.9004 -4.59961 -32 6c-7.2002 10.5996 -4.60059 25.2002 5.7002 32.5996z" /> + <glyph glyph-name="font-awesome-alt" unicode="&#xf35c;" +d="M339.3 276.8c5.40039 0 9.5 -3 7.7002 -7.09961v-134.4c0 -4.2002 -3 -6 -7.2002 -7.7998c-15.5996 -7.09961 -33.5 -13.7002 -52 -13.7002c-26.2998 0 -38.2002 16.1006 -69.2998 16.1006c-22.7002 0 -46 -8.30078 -65.7002 -16.7002 +c-0.599609 -0.600586 -1.7998 -1.2002 -3 -1.2002v-44.2002c0 -1.7998 0 -3 -0.599609 -4.7998v-1.2998c-2.40039 -7.7002 -9.5 -13.7002 -18.5 -13.7002c-10.7002 0 -19.7002 8.90039 -19.7002 19.7002v212.1c-7.7002 6 -12.5 15.5 -12.5 25.7002 +c0 18 14.2998 32.2998 32.2998 32.2998s32.2998 -14.3994 32.2998 -32.2998c0 -10.7998 -4.69922 -19.7002 -12.5 -25.7002v-17.8994c1.2002 0.599609 3 1.19922 4.80078 1.7998c17.8994 7.09961 39.3994 13.7002 59.6992 13.7002 +c22.1006 0 39.4004 -5.90039 59.1006 -13.7002c4.09961 -1.7998 8.2998 -2.40039 12.5 -2.40039c22.7002 0 46.5996 15.5 52.5996 15.5zM397.8 416c27.5 0 50.2002 -22.7002 50.2002 -50.2002v-347.6c0 -27.5 -22.7002 -50.2002 -50.2002 -50.2002h-347.6 +c-27.5 0 -50.2002 22.7002 -50.2002 50.2002v347.6c0 27.5 22.7002 50.2002 50.2002 50.2002h347.6zM412.1 18.2998v347.601c0 7.69922 -6.5 14.2998 -14.2998 14.2998v-0.100586h-347.6c-7.7002 0 -14.2998 -6.5 -14.2998 -14.2998v-347.5 +c0 -7.7002 6.5 -14.2998 14.2998 -14.2998h347.6c7.7002 0 14.2998 6.5 14.2998 14.2998z" /> + <glyph glyph-name="accessible-icon" unicode="&#xf368;" +d="M423.9 192.2l-12.9004 -157.3c-3.2998 -40.7002 -63.9004 -35.1006 -60.5996 4.89941l10 122.5l-41.1006 -2.2998c10.1006 -20.7002 15.7998 -43.9004 15.7998 -68.5c0 -41.2002 -16.0996 -78.7002 -42.2998 -106.5l-39.2998 39.2998 +c57.9004 63.7002 13.0996 167.2 -74 167.2c-25.9004 0 -49.5 -9.90039 -67.2002 -26l-39.2998 39.2998c22 20.7002 50.0996 35.1006 81.4004 40.2002l75.2998 85.7002l-42.6006 24.7998l-51.5996 -46c-30 -26.7998 -70.5996 18.5 -40.5 45.4004l68 60.6992 +c9.7998 8.80078 24.0996 10.2002 35.5 3.60059c0 0 139.3 -80.9004 139.5 -81.1006c16.2002 -10.0996 20.7002 -36 6.09961 -52.5996l-58.3994 -66.5l106.1 5.90039c18.5 1.09961 33.6006 -14.4004 32.1006 -32.7002zM359 346.2 +c-28.0996 0 -50.9004 22.7998 -50.9004 50.8994c0 28.1006 22.8008 50.9004 50.9004 50.9004s50.9004 -22.7998 50.9004 -50.9004c0 -28.0996 -22.8008 -50.8994 -50.9004 -50.8994zM179.6 -8.5c20.8008 0 40.1006 6.40039 56.1006 17.2998l39.7002 -39.7002 +c-100.7 -78.8994 -251.4 -8.19922 -251.4 122.5c0 36.1006 12.4004 69.4004 33.2002 95.7002l39.7002 -39.7002c-44.7002 -65.5 2.09961 -156.1 82.6992 -156.1z" /> + <glyph glyph-name="accusoft" unicode="&#xf369;" horiz-adv-x="640" +d="M322.1 196c-1.69922 -1.59961 -89.5996 -82.5 -90.1992 -83.2998l-92.6006 -33.7998c-4.7998 -2 -7.59961 -3.7002 -7 -8.90039c0.200195 -1.5 0.600586 -22.5996 1 -27.7002c-0.700195 -0.5 -0.0996094 0 -0.599609 -0.599609c0 0 -113.7 -36.6006 -114.5 -36.6006 +c-14.1006 -5.09961 -22.7002 -8.2998 -15.7002 1.7002c1.2998 1.7998 234.4 231.601 243.4 240.9c13 13.5 25 15.0996 25 15.0996l51.1992 -65.7998v-1zM482.2 75.9004c-5.7002 6.89941 -232.2 297.1 -239.9 306.6c-13.7002 17.2002 0 16.7998 19.2002 16.9004 +c9.7002 0.0996094 106.3 0.599609 116.5 0.599609c24.0996 0.0996094 28.7002 -0.599609 38.4004 -12.7998c2.09961 -2.7002 205.1 -245.8 207.199 -248.3c5.5 -6.7002 15.2002 -19.1006 7.2002 -23.4004c-2.39941 -1.2998 -114.6 -47.7002 -117.8 -48.9004 +c-10.0996 -4 -17.5 -6.7998 -30.7998 9.30078zM634.9 74.2998c6 -1.39941 7.09961 -4.2002 1.69922 -8.2002c-2 -1.39941 -123.699 -76.5996 -125.8 -77.7998c-15.0996 -8.7998 -38 -1.59961 -53.5996 1.7002c-7.10059 1.5 -305.3 68.2998 -308 69.0996 +c-2.60059 0.900391 -4.40039 1 -4.60059 3.5c-0.299805 4 6 5.60059 11.1006 7.60059c5 1.89941 145.3 52.5996 150.2 54.7002c4.7998 2.09961 11.2998 2.69922 14.3994 2.89941c4.90039 0.299805 59.9004 -8.39941 65.2998 -9.2998l57.1006 -74 +c9.7998 -11.4004 20.7002 -21.9004 36.7002 -14.5996c2.5 1.19922 117.5 51.5996 117.5 51.5996c13.3994 -2.5 35.6992 -6.90039 38 -7.2002z" /> + <glyph glyph-name="adversal" unicode="&#xf36a;" horiz-adv-x="512" +d="M482.1 416c24.5 0 29.9004 -5.59961 29.9004 -30.2002v-388.1c0 -24.5 -5.5 -29.7002 -29.9004 -29.7002h-453.399c-22.9004 0 -28.7002 5.59961 -28.7002 28.9004v390.199c0 23 5.7998 28.9004 28.7002 28.9004h453.399zM178.4 227.7 +c9.39941 -7.2002 12.3994 -17.1006 11.2998 -27.2998c-1.7998 -19.1006 -75.7998 -11.4004 -114 -30.9004c-27.2002 -13.9004 -42.7002 -41.7002 -39.6006 -71c6.7002 -64.7002 89.6006 -79.7002 147 -43.2998c4.60059 3.2002 8.30078 4.89941 11.9004 1 +c2.09961 -2.60059 2 -4 3.90039 -6.2002c7.2998 -9.59961 38.1992 -14.0996 46.5996 -7.40039c3.09961 2.80078 4.59961 6.30078 2.7002 10.7002c-13.6006 30.5 -6.60059 63 -9.2998 88.7998c0 69.3008 6.39941 111.7 -34.5 128.5 +c-41.9004 17.4004 -84.2002 16.6006 -125.301 -4.7998c-16.2998 -9 -53.6992 -52.8994 -24.8994 -64.2998c5.2998 -2.2998 12.7998 -4 22.5 -5.5c8.2002 -1.2002 13.2002 -2.7998 17.5 8.2998c12.0996 32.1006 56.7002 43.6006 84.2002 23.4004zM465.1 5.7002 +c0 14.2998 -9.7998 9.89941 -16.5996 9.89941c-132.3 0.400391 -264.5 0.400391 -396.8 0c-6.60059 0 -16.7002 4.80078 -17.1006 -9.09961c-0.399414 -15.5 10.4004 -10.7002 17.8008 -10.7002h394.899c6.7002 0 17.7998 -5.2002 17.7998 9.90039zM468.9 346.2 +c0 0.200195 0 0.299805 0.0996094 0.5c0 9.89941 -3.5 15.0996 -13.5996 14.2998c-3.10059 -0.400391 -6.60059 0 -9.7002 0c-26.1006 0 -26 0 -26 -26.2002v-71c-79.2002 45.6006 -124.3 -6.59961 -136.101 -30.5c-16.3994 -32.8994 -21.7998 -66.5996 -15.6992 -100 +c16.2998 -92.2998 91 -114.899 144.399 -85.2002c4.60059 2.80078 6.60059 7.5 12.4004 -1.19922c8.59961 -12.7002 23.7002 -5.2002 36.0996 -5.60059c7.40039 0 8.10059 8.2002 8.10059 13.9004v291zM417.4 113.9c-19.5 -47.6006 -72.9004 -43.3008 -90 -5.2002 +c-15.1006 33.2998 -15.5 68.2002 0.399414 101.5c16.2998 34.0996 59.7002 35.7002 81.5 4.7998c20.6006 -28.7998 14.9004 -84.5996 8.10059 -101.1zM122.6 78.5996c-7.5 1.30078 -33 3.30078 -33.6992 27.8008c-0.400391 13.8994 7.7998 23 19.7998 25.7998 +c24.3994 5.89941 49.2998 9.89941 73.7002 14.7002c8.89941 2 7.39941 -4.40039 7.7998 -9.5c1.39941 -33 -26.1006 -59.2002 -67.6006 -58.8008z" /> + <glyph glyph-name="affiliatetheme" unicode="&#xf36b;" horiz-adv-x="512" +d="M159.7 210.6c-51.2998 -70.8994 -116.601 -110.8 -145.7 -89.1992c-29.2002 21.6992 -11.2002 96.5996 40.2002 167.5c51.2998 70.8994 116.6 110.8 145.7 89.1992c29.0996 -21.5996 11.0996 -96.5996 -40.2002 -167.5zM510.9 267.9 +c0.699219 -8.2002 1.09961 -16.5 1 -25c0 -151.801 -121.601 -274.9 -271.601 -274.9c-82.8994 0 -157.2 37.5996 -207 96.9004c71.2998 19.3994 130.5 68.3994 164.101 133.199c7.69922 -32.5996 24 -58.5996 49 -73.7998c72.5996 -44.0996 190.699 20.2002 264.5 143.601z +" /> + <glyph glyph-name="algolia" unicode="&#xf36c;" +d="M229.3 265.4c49.2002 0 89.2002 -39.9004 89.2002 -89.2002s-39.9004 -89.2002 -89.2002 -89.2002s-89.2002 39.9004 -89.2002 89.2002s39.9004 89.2002 89.2002 89.2002zM292 208.8c1.2998 0.700195 1.7998 2.40039 1.09961 3.7002 +c-12.1992 21.4004 -34.8994 36.0996 -61.0996 37.0996c-1.40039 0.100586 -2.7002 -1.09961 -2.7002 -2.59961v-66.5c0 -1.90039 2 -3.2002 3.7998 -2.2998zM389.1 416c32.5 0 58.9004 -26.4004 58.8008 -58.9004v-330.199c0 -32.5 -26.3008 -58.9004 -58.9004 -58.9004 +h-330.1c-32.5 0 -58.9004 26.4004 -58.9004 59v330.1c0 32.5 26.4004 58.9004 58.9004 58.9004h330.199zM186.5 331.3h0.0996094v-15.7998c0 -1.7002 1.7002 -3 3.40039 -2.5c12.7002 3.7002 25.9004 5.5 39.4004 5.5c13 0 25.7998 -1.7002 38.0996 -5.09961 +c1.59961 -0.5 3.2998 0.699219 3.2998 2.5v15.3994c0 10.7998 -8.7002 19.5 -19.5 19.5h-45.2998c-10.7998 0 -19.5 -8.7002 -19.5 -19.5zM102.1 294.3c-7.59961 -7.59961 -7.59961 -19.8994 0 -27.3994l7.7002 -7.7002c1.10059 -1.2002 3 -1 4 0.299805 +c4.40039 6.09961 9.40039 12 14.7998 17.4004c5.5 5.5 11.4004 10.3994 17.6006 14.8994c1.2998 1 1.39941 2.90039 0.299805 4l-7.7002 7.7002c-7.59961 7.59961 -19.8994 7.59961 -27.5 0zM229.3 49.5c69.9004 0 126.601 56.7998 126.601 126.6 +c0 70 -56.6006 126.601 -126.601 126.601c-69.8994 0 -126.6 -56.7002 -126.6 -126.601c0 -69.8994 56.5996 -126.6 126.6 -126.6z" /> + <glyph glyph-name="amilia" unicode="&#xf36d;" +d="M240.1 416c134.101 0 191.9 -55.7002 192 -136v-296.6c0 -3 -1 -8.10059 -5.09961 -9.10059c-4 -1 -57.2998 -0.700195 -66.5 -0.700195s-56.7998 1 -59.9004 2c-4 0.900391 -6.09961 6.10059 -6.09961 9.10059v25.3994 +c-39.5996 -21.3994 -105.5 -42.0996 -153.3 -42.0996c-109.7 0 -124.9 85.7002 -124.9 104s-5.09961 95.5 30.4004 111.8c31.5 13.2002 156.3 36.5 243.7 47.7998v38.5c0 44.7002 -1 73.1006 -58.9004 73.1006c-55.7998 0 -119.8 -25.4004 -152.3 -47.7002 +c-6.10059 -4.09961 -16.2002 -4.09961 -20.2998 6.09961c-5.10059 12.2002 -9.10059 34.5 -10.2002 39.6006c-1.90039 10.2002 2.09961 16.2998 7.2002 19.3994c52.6992 38.5 122.3 55.4004 184.199 55.4004zM290.3 68v106.7c-44.7002 -4.10059 -95.5 -20.2998 -119.8 -33.5 +c-21.2998 -10.2002 -18.2998 -40.7002 -18.2998 -52.9004c0.0996094 -11.2002 6.2002 -44.7002 59 -44.7002c30.3994 0 57.7002 11.2002 79.0996 24.4004z" /> + <glyph glyph-name="angrycreative" unicode="&#xf36e;" horiz-adv-x="640" +d="M640 209.8l-3.2002 -28.2002l-34.5 -2.2998l-2 -18.0996l34.5 2.2998l-3.2002 -28.2002l-34.3994 -2.2002l-2.2998 -20.0996l34.3994 2.2002l-3 -26.1006l-64.7002 -4.09961l12.7002 113.2l-47.2998 -115.4l-31.9004 -2l-23.7998 117.8l30.2998 2l13.6006 -79.3994 +l31.7002 82.3994zM426.8 76.5l12.7998 120l28.4004 1.90039l-12.9004 -120.101zM162 59.9004l-19.4004 36l-3.5 -37.4004l-28.1992 -1.7002l2.69922 29.1006c-11 -18 -32 -34.3008 -56.8994 -35.8008c-32.7998 -2 -59.7002 20.9004 -56.4004 58.2002 +c2.60059 29.2998 26.7002 62.7998 67.5 65.4004c37.7002 2.39941 47.6006 -23.2002 51.2998 -28.7998l2.80078 30.7998l38.8994 2.5c20.1006 1.2998 38.7002 -3.7002 42.5 -23.7002l2.60059 26.5996l64.7998 4.2002l-2.7002 -27.8994l-36.4004 -2.40039l-1.69922 -17.9004 +l36.3994 2.30078l-2.7002 -27.9004l-36.3994 -2.2998l-1.90039 -19.9004l36.2998 2.2998l-2.09961 -20.7998l55 117.2l23.7998 1.59961l32.1006 -110.6l8.89941 85.5996l-22.2998 -1.39941l2.90039 27.8994l75 4.90039l-3 -28l-24.3008 -1.59961l-9.69922 -91.9004 +l-58 -3.7002l-4.30078 15.6006l-39.3994 -2.5l-8 -16.3008zM117.7 130.1l-26.4004 -1.69922c-6.7002 12.3994 -14.3994 16.5996 -26.2998 15.7998c-19 -1.2002 -33.2998 -17.5 -34.5996 -33.2998c-1.40039 -16 7.2998 -32.5 28.6992 -31.2002 +c12.8008 0.799805 21.3008 8.59961 28.9004 18.8994l27 1.7002zM173.8 137.8c1.2002 12.9004 -7.59961 13.6006 -26.0996 12.4004l-2.7002 -28.5c14.2002 0.899414 27.5 2.09961 28.7998 16.0996zM194.9 67l5.7998 60c-5 -13.5 -14.7002 -21.0996 -27.9004 -26.5996z +M330.3 112l-7.89941 37.7998l-15.8008 -39.2998zM160.2 186.6l-4.2998 17.5l-39.6006 -2.59961l-8.09961 -18.2002l-31.9004 -2.09961l57 121.899l23.9004 1.60059l30.7002 -102l9.89941 104.7l27 1.7998l37.7998 -63.6006l6.5 66.6006l28.5 1.89941l-4 -41.1992 +c7.40039 13.5 22.9004 44.6992 63.6006 47.5c40.5 2.7998 52.3994 -29.3008 53.3994 -30.3008l3.30078 32l39.2998 2.7002c12.7002 0.900391 27.7998 -0.299805 36.2998 -9.7002l-4.40039 11.9004l32.2002 2.2002l12.9004 -43.2002l23 45.7002l31 2.2002l-43.6006 -78.4004 +l-4.7998 -44.2998l-28.3994 -1.90039l4.7998 44.2998l-15.7998 43c1 -22.2998 -9.2002 -40.0996 -32 -49.5996l25.1992 -38.7998l-36.3994 -2.40039l-19.2002 36.7998l-4 -38.2998l-28.4004 -1.89941l3.30078 31.5c-6.7002 -9.30078 -19.7002 -35.4004 -59.6006 -38 +c-26.2002 -1.7002 -45.5996 10.2998 -55.3994 39.1992l-4 -40.2998l-25 -1.59961l-37.6006 63.2998l-6.2998 -66.2002zM436.8 268.7c10.2002 0.700195 17.5 2.09961 21.6006 4.2998c4.5 2.40039 7 6.40039 7.59961 12.0996 +c0.599609 5.30078 -0.599609 8.80078 -3.40039 10.4004c-3.59961 2.09961 -10.5996 2.7998 -22.8994 2zM327.7 234c5.59961 -5.90039 12.7002 -8.5 21.2998 -7.90039c4.7002 0.300781 9.09961 1.80078 13.2998 4.10059c5.5 3 10.6006 8 15.1006 14.2998l-34.2002 -2.2998 +l2.39941 23.8994l63.1006 4.30078l1.2002 12l-31.2002 -2.10059c-4.10059 3.7002 -7.7998 6.60059 -11.1006 8.10059c-4 1.69922 -8.09961 2.7998 -12.1992 2.5c-8 -0.5 -15.3008 -3.60059 -22 -9.2002c-7.7002 -6.40039 -12 -14.5 -12.9004 -24.4004 +c-1.09961 -9.59961 1.40039 -17.2998 7.2002 -23.2998zM126.4 225.8l23.7998 1.60059l-8.2998 37.5996z" /> + <glyph glyph-name="app-store" unicode="&#xf36f;" horiz-adv-x="512" +d="M255.9 327.1l9.09961 15.7002c5.59961 9.7998 18.0996 13.1006 27.9004 7.5c9.7998 -5.59961 13.0996 -18.0996 7.5 -27.8994l-87.5 -151.5h63.2998c20.5 0 32 -24.1006 23.0996 -40.8008h-185.5c-11.2998 0 -20.3994 9.10059 -20.3994 20.4004 +s9.09961 20.4004 20.3994 20.4004h52l66.6006 115.399l-20.8008 36.1006c-5.59961 9.7998 -2.2998 22.1992 7.5 27.8994c9.80078 5.60059 22.2002 2.2998 27.9004 -7.5zM177.2 109.1l-19.6006 -34c-5.59961 -9.7998 -18.0996 -13.0996 -27.8994 -7.5 +c-9.7998 5.60059 -13.1006 18.1006 -7.5 27.9004l14.5996 25.2002c16.4004 5.09961 29.7998 1.2002 40.4004 -11.6006zM346.1 170.8h53.1006c11.2998 0 20.3994 -9.09961 20.3994 -20.3994c0 -11.3008 -9.09961 -20.4004 -20.3994 -20.4004h-29.5l19.8994 -34.5 +c5.60059 -9.7998 2.30078 -22.2002 -7.5 -27.9004c-9.7998 -5.59961 -22.1992 -2.2998 -27.8994 7.5c-33.5 58.1006 -58.7002 101.601 -75.4004 130.601c-17.0996 29.5 -4.89941 59.0996 7.2002 69.0996c13.4004 -23 33.4004 -57.7002 60.0996 -104zM256 440 +c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM472 192c0 119.9 -97.2998 216 -216 216c-119.9 0 -216 -97.2998 -216 -216c0 -119.9 97.2998 -216 216 -216c119.9 0 216 97.2998 216 216z" /> + <glyph glyph-name="app-store-ios" unicode="&#xf370;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM127 63.5l19.2998 33.2998c-10.2998 12.5 -23.5 16.2998 -39.5996 11.4004l-14.2998 -24.7002 +c-5.5 -9.5 -2.30078 -21.7998 7.2998 -27.2998c9.5 -5.5 21.7998 -2.2998 27.2998 7.2998zM265.9 117.4c8.7998 16.2998 -2.5 40 -22.7002 40h-62.1006l85.8008 148.6c5.5 9.5 2.2998 21.7998 -7.30078 27.2998c-9.5 5.5 -21.7998 2.2998 -27.2998 -7.2998 +l-8.89941 -15.4004l-8.90039 15.4004c-5.5 9.5 -17.7002 12.7998 -27.2998 7.2998c-9.5 -5.5 -12.7998 -17.7002 -7.2998 -27.2998l20.5 -35.4004l-65.4004 -113.199h-51c-11 0 -20 -9 -20 -20s9 -20 20 -20h181.9zM364 117.4c11 0 20 8.89941 20 20c0 11 -9 20 -20 20h-52 +c-26.2002 45.2998 -45.7998 79.2998 -58.9004 102c-11.8994 -9.80078 -23.7998 -38.8008 -7.09961 -67.8008c16.5 -28.3994 41.0996 -71.1992 74 -128.1c5.5 -9.5 17.7002 -12.7998 27.2998 -7.2998c9.5 5.5 12.7998 17.7002 7.2998 27.2998l-19.5996 33.9004h29z" /> + <glyph glyph-name="apper" unicode="&#xf371;" horiz-adv-x="640" +d="M42.0996 208.9c22.2002 0 29 -2.80078 33.5 -14.6006h0.800781v22.9004c0 11.2998 -4.80078 15.3994 -17.9004 15.3994c-11.2998 0 -14.4004 -2.5 -15.0996 -12.7998h-38.6006c0.299805 13.9004 1.5 19.1006 5.7998 24.4004 +c7.30078 8.7998 18.9004 11.7998 46.1006 11.7998c33 0 47.0996 -5 53.8994 -18.9004c2 -4.2998 4 -15.5996 4 -23.6992v-76.3008h-38.2998l1.2998 19.1006h-1c-5.2998 -15.6006 -13.5996 -20.4004 -35.5 -20.4004c-30.2998 0 -41.0996 10.1006 -41.0996 37.2998 +c0 25.2002 12.2998 35.8008 42.0996 35.8008zM59.2002 160.8c13.0996 0 16.8994 3 16.8994 13.4004c0 9.09961 -4.2998 11.5996 -19.5996 11.5996c-13.0996 0 -17.9004 -3 -17.9004 -12.0996c-0.0996094 -10.4004 3.7002 -12.9004 20.6006 -12.9004zM137 255.7h38.2998 +l-1.5 -20.6006h0.799805c9.10059 17.1006 15.9004 20.9004 37.5 20.9004c14.4004 0 24.7002 -3 31.5 -9.09961c9.80078 -8.60059 12.8008 -20.4004 12.8008 -48.1006c0 -30 -3 -43.0996 -12.1006 -52.8994c-6.7998 -7.30078 -16.3994 -10.1006 -33.2002 -10.1006 +c-20.3994 0 -29.1992 5.5 -33.7998 21.2002h-0.799805v-70.2998h-39.5v169zM217.9 195c0 27.5 -3.30078 32.5 -20.7002 32.5c-16.9004 0 -20.7002 -5 -20.7002 -28.7002c0 -28 3.5 -33.5 21.2002 -33.5c16.3994 0 20.2002 5.60059 20.2002 29.7002zM275.8 255.7h38.2998 +l-1.5 -20.6006h0.800781c9.09961 17.1006 15.8994 20.9004 37.5 20.9004c14.3994 0 24.6992 -3 31.5 -9.09961c9.7998 -8.60059 12.7998 -20.4004 12.7998 -48.1006c0 -30 -3 -43.0996 -12.1006 -52.8994c-6.7998 -7.30078 -16.3994 -10.1006 -33.2998 -10.1006 +c-20.3994 0 -29.2002 5.5 -33.7998 21.2002h-0.799805v-70.2998h-39.5v169h0.0996094zM356.7 195c0 27.5 -3.2998 32.5 -20.7002 32.5c-16.9004 0 -20.7002 -5 -20.7002 -28.7002c0 -28 3.5 -33.5 21.2002 -33.5c16.4004 0 20.2002 5.60059 20.2002 29.7002zM410.5 198.8 +c0 25.4004 3.2998 37.7998 12.2998 45.7998c8.7998 8.10059 22.2002 11.3008 45.1006 11.3008c42.7998 0 55.6992 -12.8008 55.6992 -55.7002v-11.1006h-75.2998c-0.299805 -2 -0.299805 -4 -0.299805 -4.7998c0 -16.8994 4.5 -21.8994 20.0996 -21.8994 +c13.9004 0 17.9004 3 17.9004 13.8994h37.5v-2.2998c0 -9.7998 -2.5 -18.9004 -6.7998 -24.7002c-7.2998 -9.7998 -19.6006 -13.5996 -44.2998 -13.5996c-27.5 0 -41.6006 3.2998 -50.6006 12.2998c-8.5 8.5 -11.2998 21.2998 -11.2998 50.7998zM486.9 210.4 +c-0.300781 1.7998 -0.300781 3.2998 -0.300781 3.7998c0 12.2998 -3.2998 14.5996 -19.5996 14.5996c-14.4004 0 -17.0996 -3 -18.0996 -15.0996l-0.300781 -3.2998h38.3008zM542.5 255.7h38.2998l-1.7998 -19.9004h0.700195 +c6.7998 14.9004 14.3994 20.2002 29.7002 20.2002c10.7998 0 19.0996 -3.2998 23.3994 -9.2998c5.2998 -7.2998 6.7998 -14.4004 6.7998 -34c0 -1.5 0 -5 0.200195 -9.2998h-35c0.299805 1.7998 0.299805 3.2998 0.299805 4c0 15.3994 -2 19.3994 -10.2998 19.3994 +c-6.2998 0 -10.7998 -3.2998 -13.0996 -9.2998c-1 -3 -1 -4.2998 -1 -12.2998v-68h-38.2998v118.5h0.0996094z" /> + <glyph glyph-name="asymmetrik" unicode="&#xf372;" horiz-adv-x="576" +d="M517.5 138.8c-13.9004 -14.2998 -30.4004 -27.7002 -48.9004 -39.7998l73.4004 -110.4h-101.6l-45.9004 71.8008c-17.5996 -7.2002 -35.9004 -13.4004 -54.5 -18.7002l32.5996 -53.1006h-135.5l22.8008 37.1006c-23.3008 -2.7002 -46.4004 -3.7002 -68.6006 -2.7002 +l-22 -34.4004h-101.6l34.5 51.7002c-45 17.9004 -68.9004 47.9004 -68.4004 83c0.299805 25.7998 14 54.2998 41.7002 82.9004c38.9004 40 96.5 72.5996 161.6 92.8994c-22.2998 -8.09961 -42 -18.5 -62 -30.6992c-31.1992 -16.2002 -58.6992 -35.9004 -79.5 -58.1006 +c-57.3994 -61 -46.5 -121.8 19.1006 -151.2l190.2 285.5l150.899 -226.399c13 9.5 24.7998 19.7998 35 30.5996c98 104.2 53.7002 207.9 -98.7998 231.7c-68.2998 10.5996 -146.8 5.7002 -221.3 -14.7998c-60.1006 -10 -118.7 -31.7002 -170.7 -58.2002 +c118.1 66.9004 277.9 102.1 406.6 82.4004c110 -16.8008 170.2 -69.5 169.4 -135c-0.400391 -36.1006 -19.7002 -76.1006 -58.5 -116.101zM329.9 58.2998c18.3994 5.2998 36.5 11.7998 53.6992 19.2002l-78.6992 123l-101.9 -159.3 +c22.5 -0.700195 45.7998 0.899414 69.2002 4.39941l32.7002 53.3008z" /> + <glyph glyph-name="audible" unicode="&#xf373;" horiz-adv-x="640" +d="M640 248.1v-54l-320 -200l-320 199.9v54l320 -200zM445.5 176.1c-70.7998 94.4004 -200.5 110.7 -290.2 36.3008c-2.59961 -2.2002 -5.2002 -4.40039 -7.7002 -6.7002h-0.299805c37.1006 55.7002 100.601 92.3994 172.601 92.3994s135.5 -36.7998 172.699 -92.5996z +M225.4 157.3c21 29.6006 55.5 49 94.3994 49c39.2002 0 73.9004 -19.5996 94.7998 -49.5l-45.3994 -28.3994c-21.2002 29.1992 -52 47.5996 -86.4004 47.5996c-20.8994 0 -40.5 -6.7998 -57.3994 -18.7002zM103.6 286.9c-11.5 -9.10059 -24.2998 -22.1006 -34.1992 -32.6006 +c53.8994 82.1006 147 135.601 250.5 135.601c104.899 0 197.199 -54 250.699 -135.7l-48.7998 -30.4004l-0.700195 1c-99.2998 138.5 -285.699 166.4 -417.5 62.1006zM570.6 254.2z" /> + <glyph glyph-name="avianex" unicode="&#xf374;" horiz-adv-x="512" +d="M453.1 416c39 0 64.8008 -31.2002 57.8008 -69.7998l-56.7002 -308.5c-7.10059 -38.5 -44.4004 -69.7002 -83.2998 -69.7002h-312c-39 0 -64.8008 31.2002 -57.7002 69.7002l56.5996 308.6c7.10059 38.5 44.4004 69.7002 83.2998 69.7002h312zM394.9 68.7002 +l6.2998 7.89941l-94.9004 119.4l-4.5 7.2998c19.7998 14.2002 33.5 24.2998 35.2998 25.6006c7.90039 6.59961 6.30078 20.7998 -2.69922 31.2998c-9.2002 10.7998 -23 14.3994 -30.7002 7.89941c0 0 -14.4004 -13.5996 -33.7998 -32.3994l-4.90039 4.5l-103.1 112.399 +l-8.90039 -4.7998l-18.7998 -28.8994l68.7998 -99.8008l20.5 -29.5996c-12 -12.2998 -23.5 -24.4004 -32.7998 -34.9004l-58 31.1006l-15.7002 -15.4004l52.4004 -48.0996l40.5996 -61l17.9004 12.7002l-22.1006 64.1992c12.5 7.60059 27 17.1006 41.7002 27.1006 +l115.4 -110z" /> + <glyph glyph-name="aws" unicode="&#xf375;" horiz-adv-x="640" +d="M180.41 244.99c-0.719727 -22.6504 10.5996 -32.6807 10.8799 -39.0498c-0.238281 -2.31543 -2.0752 -5.12402 -4.09961 -6.27051l-12.8008 -8.95996c-1.39941 -0.981445 -3.92188 -1.8418 -5.62988 -1.91992c-0.429688 0.0195312 -8.18945 -1.83008 -20.4795 25.6104 +c-13.0283 -16.2627 -40.5127 -29.4609 -61.3496 -29.4609c-0.347656 0 -0.913086 0.00488281 -1.26074 0.0107422c-16.2803 -0.890625 -60.4004 9.24023 -58.1299 56.21c-1.58984 38.2803 34.0596 62.0596 70.9297 60.0498 +c7.10059 -0.0195312 21.6006 -0.370117 46.9902 -6.26953v15.6191c2.69043 26.46 -14.7002 46.9902 -44.8096 43.9102c-2.40039 -0.00976562 -19.4004 0.5 -45.8408 -10.1094c-7.35938 -3.37988 -8.2998 -2.82031 -10.75 -2.82031 +c-7.40918 0 -4.35938 21.4795 -2.93945 24.2002c5.20996 6.39941 35.8604 18.3496 65.9395 18.1797c1.86523 0.165039 4.89844 0.298828 6.77148 0.298828c15.2451 0 37.1611 -7.875 48.9189 -17.5791c9.87305 -11.0439 17.8867 -32.0303 17.8867 -46.8438 +c0 -1.52539 -0.0966797 -3.99609 -0.216797 -5.51562zM93.9902 212.6c32.4297 0.470703 46.1602 19.9707 49.29 30.4707c2.45996 10.0498 2.0498 16.4102 2.0498 27.3994c-9.66992 2.32031 -23.5898 4.85059 -39.5605 4.87012 +c-15.1494 1.14062 -42.8193 -5.62988 -41.7393 -32.2598c-1.24023 -16.79 11.1201 -31.4004 29.96 -30.4805zM264.91 189.55c-7.86035 -0.719727 -11.5205 4.86035 -12.6797 10.3701l-49.8008 164.65c-0.969727 2.7793 -1.60938 5.64941 -1.91992 8.58008 +c-0.0283203 0.189453 -0.0517578 0.5 -0.0517578 0.692383c0 2.18555 1.75195 4.22656 3.91211 4.55762h22.25c8.78027 0.879883 11.6396 -6.03027 12.5498 -10.3701l35.7197 -140.83l33.1602 140.83c0.530273 3.21973 2.94043 11.0693 12.7998 10.2393h17.1602 +c2.16992 0.180664 11.1104 0.5 12.6807 -10.3691l33.4199 -142.631l36.8701 142.631c0.479492 2.17969 2.71973 11.3691 12.6797 10.3691h19.7197c0.850586 0.130859 6.15039 0.810547 5.25 -8.5791c-0.429688 -1.85059 3.41016 10.6592 -52.75 -169.9 +c-1.14941 -5.50977 -4.82031 -11.0898 -12.6797 -10.3701h-18.6904c-10.9395 -1.15039 -12.5098 9.66016 -12.6797 10.75l-33.1602 137.13l-32.7803 -136.99c-0.15918 -1.08984 -1.72949 -11.8994 -12.6797 -10.75h-18.2998v-0.00976562zM538.39 183.92 +c-5.87988 -0.00976562 -33.9199 0.299805 -57.3594 12.29c-4.31152 1.8252 -7.81055 7.10645 -7.81055 11.7891v0.121094v10.75c0 8.4502 6.2002 6.89941 8.83008 5.88965c10.04 -4.05957 16.4805 -7.13965 28.8105 -9.59961 +c36.6494 -7.53027 52.7695 2.2998 56.7197 4.47949c13.1504 7.81055 14.1895 25.6807 5.25 34.9502c-10.4805 8.79004 -15.4805 9.12012 -53.1299 21c-4.64062 1.29004 -43.7002 13.6104 -43.79 52.3604c-0.610352 28.2402 25.0498 56.1797 69.5195 55.9502 +c12.6699 0.00976562 46.4307 -4.13086 55.5703 -15.6201c1.34961 -2.08984 2.01953 -4.5498 1.91992 -7.04004v-10.1104c0 -4.43945 -1.62012 -6.66016 -4.87012 -6.66016c-7.70996 0.860352 -21.3896 11.1699 -49.1602 10.75 +c-6.88965 0.360352 -39.8896 -0.910156 -38.4092 -24.9697c-0.430664 -18.96 26.6094 -26.0703 29.6992 -26.8896c36.46 -10.9707 48.6504 -12.79 63.1201 -29.5801c17.1406 -22.25 7.90039 -48.2998 4.35059 -55.4404 +c-19.0801 -37.4902 -68.4199 -34.4395 -69.2607 -34.4199zM578.59 79.0596c-70.0303 -51.7197 -171.689 -79.25 -258.49 -79.25c-0.853516 -0.00488281 -2.23926 -0.00976562 -3.09277 -0.00976562c-99.5195 0 -240.271 54.0918 -314.177 120.74 +c-6.53027 5.88965 -0.770508 13.96 7.16992 9.46973c81.1748 -46.4336 222.955 -84.1201 316.473 -84.1201h0.407227c69.4072 0.373047 177.64 22.5713 241.59 49.5508c11.7803 5 21.7705 -7.80078 10.1201 -16.3809zM607.78 112.35 +c-8.95996 11.5205 -59.2803 5.38086 -81.8105 2.69043c-6.79004 -0.770508 -7.93945 5.12012 -1.79004 9.46973c40.0703 28.1699 105.88 20.1006 113.44 10.6299c7.5498 -9.46973 -2.0498 -75.4092 -39.5605 -106.909c-5.75977 -4.87012 -11.2695 -2.30078 -8.70996 4.09961 +c8.44043 21.25 27.3906 68.4902 18.4307 80.0195z" /> + <glyph glyph-name="bimobject" unicode="&#xf378;" +d="M416 416c17.5996 0 32 -14.4004 32 -32v-384c0 -17.5996 -14.4004 -32 -32 -32h-384c-17.5996 0 -32 14.4004 -32 32v384c0 17.5996 14.4004 32 32 32h384zM352 158.6h-0.0996094v35c0 49.4004 -11.4004 82.5 -103.801 82.5h-17.2998 +c-30 0 -65.0996 -8.2998 -69.7002 -38.7998h-1.09961v74.7002h-64v-232h64v34.7998h0.900391c8 -23.8994 26.2998 -38.7998 70.3994 -38.7998h16.9004c92.3994 0 103.8 33.2002 103.8 82.5996zM288 187.5v-22.9004c0 -21.6992 -3.40039 -33.7998 -38.4004 -33.7998h-45.2998 +c-28.8994 0 -44.0996 6.5 -44.0996 35.7002v19c0 29.2998 15.2002 35.7002 44.0996 35.7002h45.2998c35 0.200195 38.4004 -12 38.4004 -33.7002z" /> + <glyph glyph-name="bitcoin" unicode="&#xf379;" horiz-adv-x="512" +d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM362.349 227.33c4.9375 32.999 -20.1904 50.7393 -54.5498 62.5732l11.1465 44.7021l-27.2129 6.78027l-10.8516 -43.5234 +c-7.1543 1.78223 -14.502 3.46387 -21.8027 5.12988l10.9287 43.8096l-27.1982 6.78125l-11.1523 -44.6855c-5.92188 1.34863 -11.7354 2.68164 -17.377 4.08398l0.0302734 0.139648l-37.5293 9.37012l-7.23926 -29.0625s20.1914 -4.62695 19.7646 -4.91309 +c11.0225 -2.75098 13.0146 -10.0439 12.6807 -15.8242l-12.6963 -50.9258c0.759766 -0.193359 1.74414 -0.472656 2.8291 -0.90625c-0.907227 0.224609 -1.87598 0.472656 -2.87598 0.712891l-17.7959 -71.3379c-1.34961 -3.34863 -4.76758 -8.37012 -12.4717 -6.46484 +c0.271484 -0.394531 -19.7793 4.9375 -19.7793 4.9375l-13.5107 -31.1475l35.4141 -8.82617c6.58887 -1.65137 13.0449 -3.37988 19.4004 -5.00684l-11.2617 -45.2129l27.1816 -6.78027l11.1533 44.7324c5.96875 -1.61719 15.6846 -4.13867 21.6865 -5.62695 +l-11.1152 -44.5225l27.2139 -6.78125l11.2617 45.1279c46.4043 -8.78125 81.2988 -5.23926 95.9863 36.7266c11.8359 33.79 -0.589844 53.2812 -25.0049 65.9912c17.7803 4.09766 31.1748 15.792 34.7471 39.9492zM300.172 140.151 +c-8.41016 -33.79 -65.3076 -15.5234 -83.7549 -10.9434l14.9443 59.8994c18.4453 -4.60352 77.5996 -13.7178 68.8105 -48.9561zM308.589 227.818c-7.67285 -30.7363 -55.0312 -15.1201 -70.3926 -11.292l13.5479 54.3262 +c15.3633 -3.82715 64.8359 -10.9727 56.8447 -43.0342z" /> + <glyph glyph-name="bity" unicode="&#xf37a;" horiz-adv-x="496" +d="M78.4004 380.8c95.3994 89.2002 246.1 91.2002 343.1 -3.7998c14.2998 -14.0996 -6.40039 -37.0996 -22.4004 -21.5c-84.7998 82.4004 -215.8 80.2998 -298.899 3.2002c-16.2998 -15.1006 -36.5 8.2998 -21.7998 22.0996zM177.3 -37.7998 +c-128.7 38.2998 -201.899 170.7 -169.8 298.1c5.2998 21 35.2002 12.5 30.2002 -7.09961c-28.2998 -111.3 35.2998 -227.101 147.5 -261c21.3994 -6.40039 11.3994 -35.7002 -7.90039 -30zM325.4 -35.7998c-19.2002 -6.2998 -30 22.7002 -8.80078 29.7002 +c106.101 35.5 167.4 145.699 143.2 253.399c-4.89941 21.7002 25.5 27.6006 30 7.90039c28.5 -124.101 -42.5 -250.8 -164.399 -291zM262.5 43.2002c0 -8.2002 -6.59961 -14.7998 -14.7998 -14.7998s-14.7998 6.59961 -14.7998 14.7998l0.199219 71.7998 +c0 8.09961 6.60059 14.7998 14.8008 14.7998c8.19922 0 14.7998 -6.59961 14.7998 -14.7998zM333.5 312.2c0 21.7998 32.5 19.5996 32.5 0v-71.6006c0 -69.2998 -60.7002 -90.8994 -118 -90.0996c-57.2998 -0.799805 -118 20.7998 -118 90.0996v71.6006 +c0 19.5996 32.5 21.7998 32.5 0c-1.40039 -88.2002 -7 -131.8 85.5 -132.5c90.2002 0.599609 87.5996 41.5996 85.5 132.5z" /> + <glyph glyph-name="blackberry" unicode="&#xf37b;" horiz-adv-x="512" +d="M166 331.1c0 -23.3994 -16.4004 -49.0996 -72.5 -49.0996h-70.0996l21 88.7998h67.7998c42.0996 0 53.7998 -23.2998 53.7998 -39.7002zM292.2 370.8c42.0996 0 53.7998 -23.2998 53.7002 -39.7002c0 -23.3994 -16.3008 -49.0996 -70.1006 -49.0996h-70.0996 +l18.7002 88.7998h67.7998zM88.7998 239.9c42.1006 0 53.7998 -23.4004 53.7998 -39.7002c0 -25.7002 -16.3994 -49.1006 -72.5 -49.1006h-70.0996l21 88.8008h67.7998zM268.9 239.9c42 0 53.6992 -23.4004 53.6992 -39.7002c0 -25.7002 -16.2998 -49.1006 -70.0996 -49.1006 +h-70.0996l18.6992 88.8008h67.8008zM458.2 293.7c42.0996 0 53.7998 -23.4004 53.7002 -39.7002c0 -25.7002 -16.3008 -49.0996 -70.1006 -49.0996h-70.0996l18.7002 88.7998h67.7998zM430.2 155.8c42.0996 0 53.7002 -23.3994 53.7002 -39.7002 +c0 -25.6992 -14 -49.0996 -70.1006 -49.0996h-70.0996l18.7002 88.7998h67.7998zM240.8 102c42.1006 0 53.7998 -23.4004 53.7002 -39.7002c0 -23.3994 -14 -49.0996 -70.0996 -49.0996h-70.1006l18.7002 88.7998h67.7998z" /> + <glyph glyph-name="blogger" unicode="&#xf37c;" +d="M162.4 252c4.7998 4.90039 6.19922 5.09961 36.3994 5.09961c27.2002 0 28.1006 -0.0996094 32.1006 -2.09961c5.7998 -2.90039 8.2998 -7 8.2998 -13.5996c0 -5.90039 -2.40039 -10 -7.60059 -13.4004c-2.7998 -1.7998 -4.5 -1.90039 -31.0996 -2.09961 +c-16.4004 -0.100586 -29.5 0.199219 -31.5 0.799805c-10.2998 2.89941 -14.0996 17.7002 -6.59961 25.2998zM223.8 157.5c55.4004 0 55.1006 0 60.4004 -4.7002c7.39941 -7 5.89941 -19.2998 -3.10059 -24.3994l-9.19922 -1.5l-47.9004 -0.600586 +c-42.2002 -0.5 -54.0996 0.200195 -56.2998 1.2002c-4.40039 1.90039 -8.5 7.2998 -9.2002 12c-0.599609 4.5 1.59961 10.7998 5.09961 13.9004c4.40039 3.89941 6.30078 4.09961 60.2002 4.09961zM447.2 27.4004c-3.5 -28.4004 -23 -50.4004 -51.1006 -57.5 +c-7.19922 -1.80078 -9.69922 -1.90039 -172.899 -1.80078c-157.8 0 -165.9 0.100586 -172 1.80078c-8.40039 2.19922 -15.6006 5.5 -22.2998 10c-5.60059 3.7998 -13.9004 11.7998 -17 16.3994c-3.80078 5.60059 -8.2002 15.2998 -10 22 +c-1.80078 6.7002 -1.90039 9.40039 -1.90039 173.4c0 163.1 0 166.6 1.7998 173.7c6.2998 24.6992 25.9004 43.5996 51.2002 49.1992c7.2998 1.60059 332.1 1.90039 340 0.300781c21.2002 -4.30078 37.9004 -17.1006 47.5996 -36.4004c7.7002 -15.2998 7 1.5 7.30078 -180.6 +c0.199219 -115.801 0 -164.5 -0.700195 -170.5zM361.8 212.6c-1.09961 5 -4.2002 9.60059 -7.7002 11.5c-1.09961 0.600586 -8 1.30078 -15.5 1.7002c-12.3994 0.600586 -13.7998 0.799805 -17.7998 3.10059c-6.2002 3.59961 -7.89941 7.59961 -8 18.2998 +c0 20.3994 -8.5 39.3994 -25.2998 56.5c-12 12.2002 -25.2998 20.5 -40.5996 25.0996c-3.60059 1.10059 -11.8008 1.5 -39.2002 1.7998c-42.9004 0.5 -52.5 -0.399414 -67.1006 -6.19922c-27 -10.7002 -46.2998 -33.4004 -53.3994 -62.4004 +c-1.2998 -5.40039 -1.60059 -14.2002 -1.90039 -64.2998c-0.399414 -62.7998 0 -72.1006 4 -84.5c9.7002 -30.7002 37.1006 -53.4004 64.6006 -58.4004c9.19922 -1.7002 122.199 -2.09961 133.699 -0.5c20.1006 2.7002 35.9004 10.7998 50.7002 25.9004 +c10.7002 10.8994 17.4004 22.7998 21.7998 38.5c3.2002 10.8994 2.90039 88.3994 1.7002 93.8994z" /> + <glyph glyph-name="blogger-b" unicode="&#xf37d;" +d="M446.6 225.3c2 -8.89941 2.40039 -134.1 -2.5 -151.7c-7.09961 -25.2998 -17.8994 -44.3994 -35.1992 -62.0996c-23.9004 -24.4004 -49.4004 -37.5 -81.9004 -41.9004c-18.7002 -2.5 -201.2 -1.89941 -216 0.800781c-44.5 8 -88.7998 44.6992 -104.4 94.2998 +c-6.2998 20.0996 -7 35 -6.39941 136.5c0.5 81 1 95.0996 3.09961 103.899c11.4004 46.8008 42.6006 83.4004 86.1006 100.601c23.5996 9.39941 39 10.7998 108.399 10c44.2002 -0.5 57.4004 -1.10059 63.2998 -2.90039c24.6006 -7.5 46.2002 -20.7998 65.5 -40.5 +c27.1006 -27.5996 40.8008 -58.2998 40.9004 -91.2998c0.0996094 -17.2002 2.7998 -23.5996 12.9004 -29.5c6.39941 -3.7002 8.59961 -4.09961 28.6992 -5c12 -0.5 23.2002 -1.7002 25 -2.7002c5.7002 -3.09961 10.7002 -10.5 12.5 -18.5zM124.5 288.9 +c-12.2002 -12.3008 -6 -36.1006 10.5996 -40.8008c3.10059 -0.799805 24.3008 -1.39941 50.8008 -1.19922c43 0.199219 45.6992 0.399414 50.2998 3.2998c8.5 5.39941 12.2998 12.0996 12.2998 21.5996c0 10.6006 -4.09961 17.2002 -13.4004 21.9004 +c-6.39941 3.2998 -7.89941 3.39941 -51.7998 3.39941c-48.7998 0 -51 -0.299805 -58.7998 -8.19922zM316.3 89.0996c14.4004 8.2002 17 28.1006 4.90039 39.4004c-8.5 7.90039 -8 7.90039 -97.6006 7.7998c-87.0996 -0.0996094 -90.1992 -0.299805 -97.2998 -6.7002 +c-5.59961 -5.09961 -9.2998 -15.0996 -8.2002 -22.3994c1.10059 -7.7002 7.80078 -16.2998 14.9004 -19.4004c3.59961 -1.59961 22.7998 -2.7998 90.9004 -2l77.5 0.900391z" /> + <glyph glyph-name="buromobelexperte" unicode="&#xf37f;" +d="M0 416h128v-128h-128v128zM120 296v112h-112v-112h112zM160 416h128v-128h-128v128zM280 296v112h-112v-112h112zM320 416h128v-128h-128v128zM440 296v112h-112v-112h112zM0 256h128v-128h-128v128zM120 136v112h-112v-112h112zM160 256h128v-128h-128v128zM280 136v112 +h-112v-112h112zM320 256h128v-128h-128v128zM440 136v112h-112v-112h112zM0 96h128v-128h-128v128zM120 -24v112h-112v-112h112zM160 96h128v-128h-128v128zM280 -24v112h-112v-112h112zM320 96h128v-128h-128v128z" /> + <glyph glyph-name="centercode" unicode="&#xf380;" horiz-adv-x="512" +d="M329.2 179.4c-3.7998 -35.2002 -35.4004 -60.6006 -70.6006 -56.8008c-35.1992 3.80078 -60.5996 35.4004 -56.7998 70.6006s35.4004 60.5996 70.6006 56.7998c35.0996 -3.7998 60.5996 -35.4004 56.7998 -70.5996zM243.4 -55.7002 +c-146.7 7.7002 -251.601 138.2 -233.301 279.4c11.2002 86.5996 65.8008 156.899 139.101 192c161 77.0996 349.7 -37.4004 354.7 -216.601c4.09961 -147 -118.4 -262.199 -260.5 -254.8zM423.3 124.3c27.9004 118 -160.5 205.9 -237.2 234.2 +c-57.5 -56.2998 -69.0996 -188.6 -33.7998 -344.4c68.7998 -15.7998 169.101 26.4004 271 110.2z" /> + <glyph glyph-name="cloudscale" unicode="&#xf383;" +d="M318.1 294c6.2002 6.2998 15.8008 -3.09961 9.5 -9.59961l-75.1992 -88.8008c0.899414 -8.19922 -1.80078 -16.7998 -8.10059 -23.0996c-11.0996 -11 -28.8994 -11 -40 0c-11.0996 11.0996 -11.0996 29 0 40c6.2998 6.2998 14.7998 9 23.1006 8.09961l25.1992 20.4004 +c-16.3994 15.2998 -38.3994 24.7002 -62.5996 24.7002c-50.7998 0 -94.5996 -41.4004 -92.5996 -97.4004c-1 6.2998 -1.40039 12.7998 -1.40039 19.4004c0 71.5 57.7998 132.3 129.4 132.3c31.7998 0 60.7998 -14.2998 83.2998 -33.5996zM234.3 182.5 +c5.60059 5.5 5.60059 14.5996 0 20.2002c-5.59961 5.59961 -14.5996 5.59961 -20.2002 0c-5.59961 -5.60059 -5.59961 -14.6006 0 -20.2002c5.60059 -5.5 14.6006 -5.5 20.2002 0zM224 416c123.5 0 224 -100.5 224 -224s-100.5 -224 -224 -224s-224 100.5 -224 224 +s100.5 224 224 224zM224 32c88.2002 0 160 71.7998 160 160s-71.7998 160 -160 160s-160 -71.7998 -160 -160s71.7998 -160 160 -160z" /> + <glyph glyph-name="cloudsmith" unicode="&#xf384;" horiz-adv-x="332" +d="M332.5 28.0996c0 -46.3994 -37.5996 -84.0996 -84 -84.0996s-84 37.7002 -84 84.0996c0 46.4004 37.5996 84 84 84s84 -37.5996 84 -84zM248.5 272c-46.4004 0 -80 -33.5996 -80 -80s-37.5996 -80 -84 -80s-84 33.5996 -84 80s37.5996 88 84 88s76 29.5996 76 76 +s41.5996 84 88 84s80 -37.5996 80 -84s-33.5996 -84 -80 -84z" /> + <glyph glyph-name="cloudversify" unicode="&#xf385;" horiz-adv-x="616" +d="M148.6 144v-0.0996094h-48.8994c-6.40039 0 -11.7002 5.39941 -11.7002 11.7998v40.3994c0 7.60059 7 11.9004 10.7998 11.9004h46.7998v-6.59961c0 -10.7002 8.80078 -16.7002 19.5 -16.7002h20.2002c10.7998 0 19.5 8.7998 19.5 19.5v20.3994 +c0 10.6006 -3.5 19.5 -15.2002 19.5c18.5 15.2002 37.2002 21.4004 45 24.1006c15 56.5 42 92.3994 99.3008 109.7c55.0996 16.5 153.5 3.09961 186.5 -85c73.8994 -22.6006 106.899 -92.6006 92.0996 -155.101c-13 -54.8994 -62.2998 -100.6 -131.5 -99.5 +c-49.5996 -51.3994 -135.2 -48.8994 -186.4 -5.59961c-78.5996 -4.2002 -137.8 42.7998 -146 111.3zM376 136c8.7002 -54.0996 59.7002 -65.5 91.7998 -59.2002c39.1006 7.7002 70.5 37.5 79.7002 76.5c5.7998 24.4004 2.40039 50 -9.40039 72l-10.5 19.6006 +c1.2002 -22.5 -12.5 -60.6006 -47.5 -76.9004c65.5 67.7002 2.10059 141.2 -67.6992 150.5c-49.8008 6.59961 -83.3008 -13 -114.2 -43.7002c48 -4.7002 87.7002 -26.7998 101.8 -74.7998c-30.0996 49.2998 -103 56.5996 -133.6 40.7998 +c-35.5 -18.2002 -60 -54 -57 -93.8994c3.59961 -47.4004 39.5 -67.4004 57.3994 -79.8008c-4.5 21.7002 -4 71.3008 29.2002 92.9004c-36.2998 -60 28.0996 -144.6 135.3 -110.8c-33.5996 14.3994 -66 40.5 -55.2998 86.7998zM128 240h-39.7998 +c-8.90039 0 -16.2002 7.2998 -16.2002 16.2002v39.5996c0 8.90039 7.2998 16.2002 16.2002 16.2002h39.7998c8.90039 0 16.2002 -7.2998 16.2002 -16.2002v-39.5996c0 -8.90039 -7.2998 -16.2002 -16.2002 -16.2002zM10.0996 280c-5.59961 0 -10.0996 4.5 -10.0996 10.0996 +v27.8008c0 5.59961 4.5 10.0996 10.0996 10.0996h27.7002c5.5 0 10.1006 -4.5 10.1006 -10.0996v-27.8008c0 -5.59961 -4.5 -10.0996 -10.1006 -10.0996h-27.7002zM168 305.3v21.4004c0 5.09961 4.2002 9.2998 9.2998 9.2998h21.4004 +c5.09961 0 9.2998 -4.2002 9.2998 -9.2998v-21.4004c0 -5.09961 -4.2002 -9.2998 -9.2998 -9.2998h-21.4004c-5.09961 0 -9.2998 4.2002 -9.2998 9.2998zM56 212.5v-25c0 -6.2998 -5.09961 -11.5 -11.4004 -11.5h-25.1992c-6.30078 0 -11.4004 5.2002 -11.4004 11.5v25 +c0 6.2998 5.09961 11.5 11.4004 11.5h25.0996c6.40039 0 11.5 -5.2002 11.5 -11.5z" /> + <glyph glyph-name="cpanel" unicode="&#xf388;" horiz-adv-x="640" +d="M210.3 227.8c6.60059 -29.0996 -14.5 -65.2998 -51.7002 -65.2998h-32l6.40039 23.7998c1.7998 6.2002 7.2998 10.7998 14.2998 10.7998h10.2998c12.4004 0 20.8008 11.7002 18.3008 22.6006c-2.10059 9.2002 -9.90039 14.7998 -18.3008 14.7998h-19.7998 +l-25.7998 -95.7002c-1.90039 -6.2002 -7.40039 -10.7002 -14.2002 -10.7002l-24.7002 -0.0996094l34.9004 130.1c1.7998 6.40039 7.2002 10.9004 14.2998 10.9004h37c24.1006 0 45.4004 -16.4004 51 -41.2002zM53.7998 199.8c-24.8994 0 -24.7002 -37.3994 0 -37.3994 +h11.2998c4.2002 0 7.60059 -3.90039 6.40039 -8.30078l-7.09961 -26.0996h-12.4004c-33.5 0 -59 31.4004 -50.2998 65.2002c7.2998 27 28.2998 41.0996 51.2002 41.0996h40l-6.2002 -23.5996c-1.90039 -6.5 -7.40039 -10.9004 -14.2998 -10.9004h-18.6006zM301.3 234.6 +c18.7998 0 33.2998 -17.5996 28.5 -36.7998l-14 -51.7998c-2.7998 -10.5996 -12.2002 -17.7998 -23.3994 -17.7998l-57.5 0.200195c-42.9004 0 -38.5 63.7998 0.699219 63.7998h48.4004l-3.5 -13.2002c-1.90039 -6.2002 -7.40039 -10.7998 -14.2002 -10.7998h-21.5996 +c-5.2998 0 -5.2998 -7.90039 0 -7.90039h34.8994c4.60059 0 5.10059 3.90039 5.5 5.2998l8.60059 31.8008c0.299805 1 1.89941 5.2998 -2.10059 5.2998h-57.5c-9.69922 0 -16.5996 8.89941 -14.1992 18.5l3.5 13.3994h77.8994zM633.1 269c4.5 0 7.7002 -4 6.5 -8.2998 +l-26.5 -98.2002c-5.09961 -20.7002 -24.1992 -34.5 -44.8994 -34.5l35.5996 133.1c1.2002 4.7002 5.5 7.90039 10.4004 7.90039h18.8994zM396.8 234.3c34.4004 0 59.2998 -32.2998 50.2998 -65.3994l-8.7998 -33.1006c-1.2002 -4.89941 -5.7002 -7.7998 -10.2998 -7.7998 +h-19.0996c-4.5 0 -7.60059 4 -6.40039 8.2998l10.5996 40c3.30078 11.6006 -5.59961 23.4004 -18.0996 23.4004h-19.7998l-17.2002 -64c-1.2002 -4.7998 -5.59961 -7.7998 -10.4004 -7.7998h-18.8994c-4.2002 0 -7.60059 3.89941 -6.40039 8.2998l26.2002 98h48.2998 +v0.0996094zM495.1 159.7h73.3008l-5.7002 -21c-1.90039 -6.2002 -7.40039 -10.7002 -14.2002 -10.7002h-66.7002c-20 0 -33.2998 19 -28.2998 36.7002l10.7998 40c4.7998 17.5996 20.7002 29.5996 38.6006 29.5996h47.2998c19 0 33.2002 -17.7002 28.2998 -36.7998 +l-3.2002 -12c-2.89941 -11 -12.7002 -17.5996 -23.2002 -17.5996h-53.3994l3.5 13c1.59961 6.19922 7.2002 10.7998 14.2002 10.7998h21.5996c2 0 3.2998 1 3.90039 3l0.699219 2.59961c0.700195 2.7002 -1.2998 5.10059 -3.89941 5.10059h-32.9004 +c-4.09961 0 -6.89941 -2.10059 -7.7998 -6l-8 -30c-0.900391 -3.30078 1.5 -6.7002 5.09961 -6.7002z" /> + <glyph glyph-name="css3-alt" unicode="&#xf38b;" horiz-adv-x="384" +d="M0 416h384l-34.9004 -395.8l-157.1 -52.2002l-157.1 52.2002zM313.1 336h-242.199l5.7998 -47.2998h122.899l-6.5 -2.7002l-112.1 -46.7002l3.59961 -46.2998l0.200195 0.0996094v-0.0996094l166.3 -0.5l-3.69922 -61.5996l-54.7002 -15.4004l-52.6006 13.2998 +l-3.19922 38.2998h-48.9004l6.40039 -73.8994l98.7998 -29.2002l98.2002 28.7002l12.7998 146.6h-111.5l0.299805 0.100586l115.3 49.2998z" /> + <glyph glyph-name="cuttlefish" unicode="&#xf38c;" horiz-adv-x="440" +d="M344 142.5c13.7002 -50.9004 41.7002 -93.2998 87 -117.8c-45.2998 -49.6006 -110.5 -80.7002 -183 -80.7002c-137 0 -248 111 -248 248s111 248 248 248c72.5 0 137.7 -31.0996 183 -80.7002c-45.2998 -24.5 -73.2998 -66.8994 -87 -117.8 +c-17.5 31.5996 -57.4004 54.5 -96 54.5c-56.5996 0 -104 -47.4004 -104 -104s47.4004 -104 104 -104c38.5996 0 78.5 22.9004 96 54.5z" /> + <glyph glyph-name="d-and-d" unicode="&#xf38d;" horiz-adv-x="576" +d="M82.5 349.1c-0.599609 17.2002 2 33.8008 12.7002 48.2002c0.299805 -7.39941 1.2002 -14.5 4.2002 -21.5996c5.89941 27.5 19.6992 49.2998 42.2998 65.5c-1.90039 -5.90039 -3.5 -11.7998 -3 -17.7002c8.7002 7.40039 18.7998 17.7998 44.3994 22.7002 +c14.7002 2.7998 29.7002 2 42.1006 -1c38.5 -9.2998 61 -34.2998 69.7002 -72.2998c5.2998 -23.1006 0.699219 -45 -8.30078 -66.4004c-5.19922 -12.4004 -12 -24.4004 -20.6992 -35.0996c-2 1.89941 -3.90039 3.7998 -5.80078 5.59961 +c-42.7998 40.7998 -26.7998 25.2002 -37.3994 37.4004c-1.10059 1.19922 -1 2.19922 -0.100586 3.59961c8.30078 13.5 11.8008 28.2002 10 44c-1.09961 9.7998 -4.2998 18.9004 -11.2998 26.2002c-14.5 15.2998 -39.2002 15 -53.5 -0.600586 +c-11.3994 -12.5 -14.0996 -27.3994 -10.8994 -43.5996c0.199219 -1.2998 0.399414 -2.7002 0 -3.90039c-3.40039 -13.6992 -4.60059 -27.5996 -2.5 -41.5996c0.0996094 -0.5 0.0996094 -1.09961 0.0996094 -1.59961c0 -0.300781 -0.0996094 -0.5 -0.200195 -1.10059 +c-21.7998 11 -36 28.2998 -43.2002 52.2002c-8.2998 -17.7998 -11.0996 -35.5 -6.59961 -54.0996c-15.5996 15.1992 -21.2998 34.2998 -22 55.1992zM552.1 225.9c0.5 -0.600586 1.2002 -1 1.7002 -1.40039v-0.5c-15 3.59961 -29.7998 1.7998 -44.5 -1.2998 +c-9.2998 -2 -18.2998 -4.7002 -26.7002 -9c-2.89941 -1.5 -5.69922 -3.2998 -8 -4.7002c-5.7998 2.40039 -11.2998 5.5 -17.1992 6.7998c-24.5 5.2998 -45.8008 -1.2002 -62.5 -20c-19.7002 -22.2002 -34.5 -47.5996 -46.7002 -74.5l-1.2002 -2.7002 +c-0.0996094 -0.199219 -0.200195 -0.299805 -0.400391 -0.399414c-12.0996 8.2998 -21.5996 20.2998 -36.0996 25.5996c0.299805 0.400391 0.400391 0.900391 0.700195 1.2998c20.5996 28.2002 44.8994 52.5 75.0996 70.4004c16 9.5 33 16.0996 51.5 18.5 +c1.7998 0.200195 3.5 0.400391 5.2998 1.09961c-4.39941 0 -8.7998 0.300781 -13.0996 -0.0996094c-21.2002 -1.90039 -40.5 -9.59961 -58.7002 -20.2002c-13.7998 -8 -26.2002 -17.7002 -36.5996 -29.7998c-0.400391 -0.5 -0.600586 -1.09961 -0.900391 -1.7002 +c-0.299805 0.299805 -0.700195 0.600586 -1 0.900391c11 30.8994 30.7002 55 57.7002 73.2998c0.200195 -0.200195 0.5 -0.299805 0.700195 -0.5c-1.2002 -1.7002 -2.5 -3.2998 -3.5 -5.09961c-1.7998 -3.30078 -3.7002 -6.5 -5.10059 -10 +c-1.7998 -4.30078 1.60059 -8.60059 12 -0.5c18.2002 14.0996 29.6006 26.2998 48.9004 29.5996c0.700195 0.0996094 1.2998 0.299805 1.90039 0.299805h2.5c-1 -0.700195 -1.60059 -1.09961 -2.2002 -1.5c-11.6006 -7.7998 -11.7998 -7.39941 -15 -12 +c-2.60059 -3.7002 -0.200195 -8 4.7002 -6.7998c2.59961 0.599609 5.19922 1.2998 7.69922 2.2002c9.40039 3.2998 19 5.7998 29 6.39941c13.9004 0.800781 27.1006 -1.89941 39.9004 -7.09961c15.0996 -6.2002 28.5 -15 40.0996 -26.5996zM316.7 50.4004 +c1.5 -1.30078 1.89941 -2.40039 0.899414 -4.2002c-25.2998 -50.2002 -61.0996 -89.1006 -116 -98.7998c-26.7998 -4.7002 -52.8994 -2.7002 -77.8994 8.59961c-18.5 8.2002 -34.6006 19.5996 -47.2002 35.5996c-2 2.60059 -3.7002 5.40039 -5.90039 8.60059 +c-0.699219 -7.7998 0.100586 -14.9004 1.5 -21.9004c-0.199219 -0.200195 -0.399414 -0.299805 -0.599609 -0.5c-3.2002 3.40039 -6.59961 6.60059 -9.5 10.2998c-12.2002 15.5 -19.5 33.3008 -24.0996 52.3008c-11.8008 48.2998 -0.5 78.7998 7.7998 101.1 +c-8.7002 -4.7998 -16.2002 -10.2998 -23.6006 -16.2002c11.6006 32.7998 31.9004 59.9004 56.1006 84.6006c2.39941 -2.10059 3.2998 -4.7002 3 -7.40039c-0.200195 -1 -5.90039 -38.9004 -5.60059 -44.7002c18.9004 18.9004 40.5 33.2998 64.8008 43.9004 +c-7.5 -11.1006 -11 -23.4004 -11.8008 -37.2998c13.4004 12.1992 27.7002 20.0996 46.4004 13.8994c-8.5 -9.09961 -30.7998 -30.5 -38.5996 -64.2998c-5.10059 -21.9004 -3.80078 -43.0996 8.19922 -62.5996c11.2002 -18.3008 27.8008 -27.8008 49.4004 -27.8008 +c12.5996 0 23.7998 5 34.0996 11.8008c18.5 12.2998 32.8008 28.5 44 47.5996c1.90039 3.2002 1.10059 2.09961 1.90039 3c19.9004 -16.0996 3.2998 -2.59961 42.7002 -35.5996zM488.7 96.7998c20.2002 -6.59961 35.5 -18.7998 43.7998 -38.8994 +c9.2002 -23.1006 2.09961 -49.4004 -17.4004 -66c-16.3994 -14 -35.6992 -19.2002 -57 -17.4004c-0.599609 0 -1.19922 0 -1.89941 -0.299805c15.0996 -10.7002 31.5996 -15.2002 50.8994 -10.6006c-2.19922 -2.39941 -3.89941 -4.69922 -5.89941 -6.5 +c-12.2998 -10.8994 -26.9004 -16.8994 -42.9004 -19.7998c-39.5996 -7.2998 -75.5996 12.7998 -85 56.9004c-0.5 2.09961 -0.599609 4.2002 -0.899414 6.39941c-10.8008 -8.19922 -16.4004 -34.0996 -0.700195 -52.2998c-1.60059 0.5 -2.60059 0.700195 -3.60059 1.10059 +c-21.2998 8.2998 -34.3994 28.2998 -33.5 51.1992c0.900391 23.2002 4.90039 41 -13 56c-16.5 13.8008 -33 27.4004 -49.5 41.1006c-8.09961 6.7002 -14.7998 14.5 -17 25.0996c-1 4.60059 -1.39941 9.40039 -1.7998 14.1006c-0.5 6.09961 -3.2998 11 -7.89941 14.7998 +c-4.5 3.89941 -9.30078 7.39941 -13.8008 11.2002c-8.89941 7.5 -12.2998 18.8994 -7.2998 29.8994c2.7998 -12.8994 9.60059 -18.8994 22.6006 -20.2998c4.39941 -0.5 8.89941 -0.799805 13.2998 -1.5c8.09961 -1.2002 12.7998 -6.09961 14.2998 -14.2002 +c0.700195 -3.39941 1.2998 -6.7998 2.2002 -10.2002c1.59961 -5.59961 4.5 -8 10.3994 -8.39941c4.60059 -0.299805 9.30078 -0.5 13.9004 -0.900391c7.59961 -0.599609 14.2002 -3.7998 20.0996 -8.7002c19.4004 -16.1992 39 -32.1992 58.5 -48.2998 +c5.7002 -4.7002 12 -8.2002 19.6006 -8.5c16.7002 -0.599609 29 15.2002 24.7998 31.7998c-0.200195 0.700195 -0.400391 1.5 -0.0996094 2.80078c2.39941 -2 4.89941 -3.80078 7 -5.90039c14.0996 -14 18.0996 -39.2998 8.69922 -56.0996 +c-2.09961 -3.80078 -5.2998 -7.10059 -8.09961 -10.8008c0.700195 -0.199219 1.7998 -0.5 3 -0.599609c14 -1.40039 27.2002 1 38.9004 9.09961c15.7998 10.9004 18 31.2002 5.39941 45.6006c-4.7002 5.39941 -8.89941 8 -18.7998 12 +c6.5 1.2998 19.2002 0.200195 28.7002 -2.90039zM99.4004 268.7c-5.30078 9.2002 -13.2002 15.5996 -22.1006 21.2998c13.7002 0.5 26.6006 -0.200195 39.6006 -3.7002c-7 12.2002 -8.5 24.7002 -5 38.7002c5.2998 -11.9004 13.6992 -20.0996 23.5996 -26.7998 +c19.7002 -13.2002 35.7002 -19.6006 46.7002 -30.2002c3.39941 -3.2998 6.2998 -7.09961 9.59961 -10.9004c-0.799805 2.10059 -1.39941 4.10059 -2.2002 6c-5 10.6006 -13 18.6006 -22.5996 25c-1.7998 1.2002 -2.7998 2.5 -3.40039 4.5 +c-3.2998 12.5 -3 25.1006 -0.699219 37.6006c1 5.5 2.7998 10.8994 4.5 16.2998c0.799805 2.40039 2.2998 4.59961 4 6.59961c0.599609 -6.89941 0 -25.5 19.5996 -46c10.7998 -11.2998 22.4004 -21.8994 33.9004 -32.6992c9 -8.5 18.2998 -16.7002 25.5 -26.8008 +c1.09961 -1.59961 2.19922 -3.2998 3.7998 -4.69922c-5 13 -14.2002 24.0996 -24.2002 33.7998c-9.59961 9.2998 -19.4004 18.3994 -29.2002 27.3994c-3.2998 3 -4.59961 6.7002 -5.09961 10.9004c-1.2002 10.4004 0 20.5996 4.2998 30.2002c0.5 1 1.09961 2 1.90039 3.2998 +c0.5 -4.2002 0.599609 -7.90039 1.39941 -11.5996c4.7998 -23.1006 20.4004 -36.3008 49.2998 -63.5c10 -9.40039 19.3008 -19.2002 25.6006 -31.6006c4.7998 -9.2998 7.2998 -19 5.7002 -29.5996c-0.100586 -0.600586 0.5 -1.7002 1.09961 -2 +c6.2002 -2.60059 10 -6.90039 9.7002 -14.2998c7.7002 2.59961 12.5 8 16.3994 14.5c4.2002 -20.2002 -9.09961 -50.3008 -27.1992 -58.7002c0.399414 4.5 5 23.3994 -16.5 27.7002c-6.80078 1.2998 -12.8008 1.2998 -22.9004 2.09961c4.7002 9 10.4004 20.5996 0.5 22.4004 +c-24.9004 4.59961 -52.7998 -1.90039 -57.7998 -4.60059c8.2002 -0.399414 16.2998 -1 23.5 -3.2998c-2 -6.5 -4 -12.7002 -5.7998 -18.9004c-1.90039 -6.5 2.09961 -14.5996 9.2998 -9.59961c1.2002 0.900391 2.2998 1.90039 3.2998 2.7002 +c-3.09961 -17.9004 -2.90039 -15.9004 -2.7998 -18.2998c0.299805 -10.2002 9.5 -7.80078 15.7002 -7.30078c-2.5 -11.7998 -29.5 -27.2998 -45.4004 -25.7998c7 4.7002 12.7002 10.2998 15.9004 17.9004c-6.5 -0.799805 -12.9004 -1.60059 -19.2002 -2.40039 +l-0.299805 0.900391c4.69922 3.39941 8 7.7998 10.1992 13.0996c8.7002 21.1006 -3.59961 38 -25 39.9004c-9.09961 0.799805 -17.7998 -0.799805 -25.8994 -5.5c6.2002 15.5996 17.2002 26.5996 32.5996 34.5c-15.2002 4.2998 -8.89941 2.7002 -24.5996 6.2998 +c14.5996 9.2998 30.2002 13.2002 46.5 14.5996c-5.2002 3.2002 -48.1006 3.60059 -70.2002 -20.8994c7.90039 -1.40039 15.5 -2.7998 23.2002 -4.2002c-23.7998 -7 -44 -19.7002 -62.4004 -35.5996c1.10059 4.7998 2.7002 9.5 3.2998 14.2998 +c0.600586 4.5 0.800781 9.2002 0.100586 13.5996c-1.5 9.40039 -8.90039 15.1006 -19.7002 16.2998c-7.90039 0.900391 -15.5996 -0.0996094 -23.2998 -1.2998c-0.900391 -0.0996094 -1.7002 -0.299805 -2.90039 0c15.7998 14.7998 36 21.7002 53.1006 33.5 +c6 4.5 6.7998 8.2002 3 14.9004zM227.8 241.9c3.2998 -16 12.6006 -25.5 23.7998 -24.3008c-4.59961 11.3008 -12.0996 19.5 -23.7998 24.3008z" /> + <glyph glyph-name="deploydog" unicode="&#xf38e;" horiz-adv-x="512" +d="M382.2 312h51.7002v-239.6h-51.7002v20.6992c-19.7998 -24.7998 -52.7998 -24.0996 -73.7998 -14.6992c-26.2002 11.6992 -44.3008 38.0996 -44.3008 71.7998c0 29.7998 14.8008 57.8994 43.3008 70.7998c20.1992 9.09961 52.6992 10.5996 74.7998 -12.9004v103.9z +M317.5 150.2c0 -18.2002 13.5996 -33.5 33.2002 -33.5c19.7998 0 33.2002 16.3994 33.2002 32.8994c0 17.1006 -13.7002 33.2002 -33.2002 33.2002c-19.6006 0 -33.2002 -16.3994 -33.2002 -32.5996zM188.5 312h51.7002v-239.6h-51.7002v20.6992 +c-19.7998 -24.7998 -52.7998 -24.0996 -73.7998 -14.6992c-26.2002 11.6992 -44.2998 38.0996 -44.2998 71.7998c0 29.7998 14.7998 57.8994 43.2998 70.7998c20.2002 9.09961 52.7002 10.5996 74.7998 -12.9004v103.9zM123.8 150.2c0 -18.2002 13.6006 -33.5 33.2002 -33.5 +c19.7998 0 33.2002 16.3994 33.2002 32.8994c0 17.1006 -13.7002 33.2002 -33.2002 33.2002c-19.7002 0 -33.2002 -16.3994 -33.2002 -32.5996zM448 352h-384c-17.5996 0 -32 -14.5 -32 -32v-256c0 -17.5996 14.5 -32 32 -32h384c17.5996 0 32 14.5 32 32v256 +c0 17.5996 -14.5 32 -32 32zM448 384c35.2002 0 64 -28.7998 64 -64v-256c0 -35.2002 -28.7998 -64 -64 -64h-384c-35.2002 0 -64 28.7998 -64 64v256c0 35.2002 28.7998 64 64 64h384z" /> + <glyph glyph-name="deskpro" unicode="&#xf38f;" horiz-adv-x="480" +d="M205.9 -64l31.0996 38.4004c12.2998 0.199219 25.5996 1.39941 36.5 6.59961c38.9004 18.5996 38.4004 61.9004 38.2998 63.7998c-0.0996094 5 -0.799805 4.40039 -28.8994 37.4004h79.0996c-0.200195 -50.1006 -7.2998 -68.5 -10.2002 -75.7002 +c-9.39941 -23.7002 -43.8994 -62.7998 -95.2002 -69.4004c-8.69922 -1.09961 -32.7998 -1.19922 -50.6992 -1.09961zM406.3 103.7l-119.2 -0.100586l17.4004 31.3008l175.5 -0.300781c-15.2002 -17.2998 -35.0996 -30.8994 -73.7002 -30.8994zM362.7 327.6v-168.3h-73.5 +l-32.7002 -55.5h-6.5c-52.2998 0 -58.0996 56.5 -58.2998 58.9004c-1.2002 13.2002 -21.2998 11.5996 -20.1006 -1.7998c1.40039 -15.8008 8.80078 -40 26.4004 -57.1006h-91c-25.5 0 -110.8 26.7998 -107 114v213.3c0 16 9.7002 16.6006 15 16.8008h82 +c0.200195 0 0.299805 -0.100586 0.5 -0.100586c4.2998 0.400391 50.0996 2.10059 50.0996 -43.7002c0 -13.2998 20.2002 -13.3994 20.2002 0c0 18.2002 -5.5 32.8008 -15.7998 43.7002h84.2002c108.7 0.400391 126.5 -79.3994 126.5 -120.2zM230.2 271.6l64 -29.2998 +c13.2998 45.5 -42.2002 71.7002 -64 29.2998z" /> + <glyph glyph-name="digital-ocean" unicode="&#xf391;" horiz-adv-x="512" +d="M87 -33.7998v73.5996h73.7002v-73.5996h-73.7002zM25.4004 101.4h61.5996v-61.6006h-61.5996v61.6006zM491.6 271.1c53.2002 -170.3 -73 -327.1 -235.6 -327.1v95.7998h0.299805v0.299805c101.7 0.200195 180.5 101 141.4 208 +c-14.2998 39.6006 -46.1006 71.4004 -85.7998 85.7002c-107.101 38.7998 -208.101 -39.8994 -208.101 -141.7h-95.7998c0 162.2 156.9 288.7 327 235.601c74.2002 -23.2998 133.6 -82.4004 156.6 -156.601zM256.3 40.0996h-0.299805v-0.299805h-95.2998v95.6006h95.5996 +v-95.3008z" /> + <glyph glyph-name="discord" unicode="&#xf392;" +d="M297.216 204.8c0 -15.6162 -11.5195 -28.416 -26.1123 -28.416c-14.3359 0 -26.1113 12.7998 -26.1113 28.416s11.5195 28.416 26.1113 28.416c14.5928 0 26.1123 -12.7998 26.1123 -28.416zM177.664 233.216c14.5918 0 26.3682 -12.7998 26.1123 -28.416 +c0 -15.6162 -11.5205 -28.416 -26.1123 -28.416c-14.3359 0 -26.1123 12.7998 -26.1123 28.416s11.5205 28.416 26.1123 28.416zM448 395.264v-459.264c-64.4941 56.9941 -43.8682 38.1279 -118.784 107.776l13.5684 -47.3604h-290.304 +c-28.9287 0 -52.4805 23.5518 -52.4805 52.7363v346.111c0 29.1846 23.5518 52.7363 52.4805 52.7363h343.039c28.9287 0 52.4805 -23.5518 52.4805 -52.7363zM375.04 152.576c0 82.4316 -36.8643 149.248 -36.8643 149.248 +c-36.8643 27.6475 -71.9355 26.8799 -71.9355 26.8799l-3.58398 -4.0957c43.5195 -13.3125 63.7441 -32.5127 63.7441 -32.5127c-60.8115 33.3291 -132.244 33.335 -191.232 7.42383c-9.47168 -4.35156 -15.1035 -7.42383 -15.1035 -7.42383 +s21.2471 20.2246 67.3271 33.5361l-2.55957 3.07227s-35.0723 0.767578 -71.9355 -26.8799c0 0 -36.8643 -66.8164 -36.8643 -149.248c0 0 21.5039 -37.1201 78.0801 -38.9121c0 0 9.47168 11.5195 17.1514 21.248c-32.5117 9.72754 -44.7998 30.208 -44.7998 30.208 +c3.7666 -2.63574 9.97656 -6.05273 10.4961 -6.40039c43.21 -24.1973 104.588 -32.126 159.744 -8.95996c8.95996 3.32812 18.9443 8.19238 29.4395 15.1045c0 0 -12.7998 -20.9922 -46.3359 -30.4639c7.68066 -9.72852 16.8965 -20.7363 16.8965 -20.7363 +c56.5762 1.79199 78.3359 38.9121 78.3359 38.9121z" /> + <glyph glyph-name="discourse" unicode="&#xf393;" +d="M225.9 416c122.699 0 222.1 -102.3 222.1 -223.9c0 -121.6 -99.4004 -223.899 -222.1 -223.899l-225.801 -0.200195s-0.0996094 224 -0.0996094 227.9c0 121.6 103.3 220.1 225.9 220.1zM224 64c70.7002 0 128 57.2998 128 128s-57.2998 128 -128 128 +s-128 -57.2998 -128 -128c0 -22.0996 5.59961 -42.9004 15.4004 -61l-22.9004 -75l81.0996 20.0996c16.5 -7.7998 35 -12.0996 54.4004 -12.0996z" /> + <glyph glyph-name="dochub" unicode="&#xf394;" horiz-adv-x="416" +d="M397.9 288h-141.9v140.4zM304 256h96v-126.1c0 -129.301 -70.2998 -193.9 -210.8 -193.9h-189.2v512h189.2c12.2002 0 23.7002 -1.09961 34.5996 -3.2998v-84c-10 1.7002 -21.0996 2.5 -33.0996 2.5h-94.7002v-337.3h94.7002c76.7998 0 113.3 33.2998 113.3 100.1v130z +" /> + <glyph glyph-name="docker" unicode="&#xf395;" horiz-adv-x="640" +d="M349.9 211.7h-66.1006v59.3994h66.1006v-59.3994zM349.9 416v-60.7002h-66.1006v60.7002h66.1006zM428.1 271.2v-59.4004h-66.0996v59.4004h66.0996zM271.8 343.3v-60.0996h-66.0996v60.0996h66.0996zM349.9 343.3v-60.0996h-66.1006v60.0996h66.1006zM626.7 243.3 +l13.2998 -8.89941c-1.90039 -3.90039 -7 -14.6006 -8.5 -17.1006c-23.7002 -45.2998 -69.9004 -45.5996 -91.2998 -45.2002c-54.5 -131.699 -171 -204.199 -328.4 -204.199c-72.7002 0 -128.3 22.2998 -165.399 66.1992c-38.2002 45.3008 -52.7002 111.301 -44 162.101 +h434.699c22.6006 -0.400391 39.7002 6 48.4004 10.7002c-19.7002 30.1992 -14.7002 76 3.7002 103.8l9.2998 14l14 -9.2998c24.4004 -18.8008 37.7998 -39.7002 41.0996 -63.7002c25.5 4.7998 58.7002 1.2998 73.1006 -8.40039zM115.6 271.2h0.100586v-59.4004h-66.1006 +v59.4004h66zM193.7 271.2v-59.4004h-66.1006v59.4004h66.1006zM271.8 271.2v-59.4004h-66.0996v59.4004h66.0996zM193.7 343.3v-60.0996h-66.1006v60.0996h66.1006z" /> + <glyph glyph-name="draft2digital" unicode="&#xf396;" horiz-adv-x="480" +d="M480 49.9004l-144 -81.9004v64.2002l-336 -0.100586c18.2998 19.1006 84.5 87.8008 161.1 174.801c32.6006 37.1992 78 83.2998 69.7002 127.6c-5.2998 28.2998 -42.2002 50.7998 -83.2998 33.5c-8.59961 -3.59961 -24.5 -17.4004 -26.2998 -24.7002 +c28.2998 -4.7002 48 -29.7002 48 -56.7998c0 -31.7002 -25.6006 -57.4004 -57.2998 -57.4004c-37.3008 0 -62.2002 34.1006 -56.7002 67.1006c1.2002 7.89941 5.09961 26.7998 18.2002 47.7002c14.8994 23.8994 45.1992 54.8994 104.3 67.2998 +c103.8 21.7002 161.6 -36.6006 166 -41.2002c28.8994 -29.9004 48 -90.7002 12.7998 -153.3c-30 -53.4004 -81 -114.3 -111.8 -149.3h91.2998v64.6992zM369.9 77v-54.4004l47.0996 27.2002zM134.2 286.6c0 12.3008 -10 22.4004 -22.4004 22.4004 +c-12.3994 0 -22.3994 -10 -22.3994 -22.4004c0 -12.3994 10 -22.3994 22.3994 -22.3994c12.4004 0 22.4004 10 22.4004 22.3994zM82.5 67.5h114.4c17.5996 19.2002 91.5 100.8 128.5 166.7c36.5996 65.0996 -5.80078 113.3 -5.80078 113.3 +c-14.1992 14.9004 -36.8994 36.2002 -82.1992 38.2998c6.7998 -5.5 16.8994 -16.8994 24.2998 -35.7002c11.8994 -30.2998 6.7002 -69.5996 -28.4004 -112.699c-53.0996 -65.2002 -125.2 -142.5 -150.8 -169.9z" /> + <glyph glyph-name="dribbble-square" unicode="&#xf397;" +d="M90.2002 219.8c8.89941 42.4004 37.3994 77.7002 75.7002 95.7002c3.59961 -4.90039 28 -38.7998 50.6992 -79c-64 -17 -120.3 -16.7998 -126.399 -16.7002zM314.6 294c-2.5 -3.5 -23 -31.0996 -71.5996 -49.4004c-22.4004 41.1006 -47.2002 74.9004 -51 80 +c43.2998 10.5 89 -0.799805 122.6 -30.5996zM140.1 84c14.3008 29.2002 53 66.7998 108.101 85.5996c19.2002 -49.7998 27.2002 -91.5996 29.2002 -103.6c-44 -18.7002 -96.8008 -13.5996 -137.301 18zM238.9 192.2c-49.4004 -13.9004 -94.3008 -53.9004 -116.5 -91.7998 +c-21.8008 24.2998 -35.1006 56.2998 -35.1006 91.3994c0 1.40039 0.100586 2.7998 0.100586 4.2002c6 -0.200195 72.1992 -1 140.399 19.4004c3.90039 -7.7002 7.7002 -15.4004 11.1006 -23.2002zM273.8 175.9c42.7998 6.89941 80.5 -4.30078 85.1006 -5.80078 +c-6.10059 -38 -27.9004 -70.8994 -58.6006 -91.5996c-1.39941 8.2998 -8.59961 48.2998 -26.5 97.4004zM253.5 224.3c50.5 20.7002 73.4004 50 76.2998 53.9004c19.1006 -23.2002 30.6006 -52.7998 30.9004 -85.1006c-4.5 1 -49.7002 10.1006 -95.2002 4.40039 +c-3.7002 9 -7.2002 17 -12 26.7998zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM384 192c0 88.2002 -71.7998 160 -160 160s-160 -71.7998 -160 -160s71.7998 -160 160 -160 +s160 71.7998 160 160z" /> + <glyph glyph-name="dyalog" unicode="&#xf399;" horiz-adv-x="416" +d="M0 416h171.2c74.5 0 137.7 -24 182.5 -69.5996c40.2002 -40.9004 62.2998 -95.6006 62.2998 -154.301c0 -111.399 -84.0996 -224.1 -244.8 -224.1h-171.2v64h171.2c122.2 0 180.8 84 180.8 160.1c0 79.7002 -67.4004 159.9 -180.8 159.9h-107.2v-55.2002h-64v119.2z" /> + <glyph glyph-name="earlybirds" unicode="&#xf39a;" horiz-adv-x="480" +d="M313.2 400.5c1.2002 13 21.2998 14 36.5996 8.7002c0.900391 -0.299805 26.2002 -9.7002 19 -15.2002c-27.8994 7.40039 -56.3994 -18.2002 -55.5996 6.5zM112.2 393.6c-7.7998 6.2002 19.8994 16.4004 20.8994 16.7002c16.8008 5.7002 38.9004 4.60059 40.2002 -9.59961 +c0.900391 -27.1006 -30.3994 1 -61.0996 -7.10059zM319.4 288c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16c-8.80078 0 -16 7.2002 -16 16s7.19922 16 16 16zM159.7 288c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16z +M478.2 124.8c-9.90039 -24 -40.7002 -11 -63.9004 1.2002c-13.5 -69.0996 -58.0996 -111.4 -126.3 -124.2c0.299805 -0.899414 -2 0.100586 24 -1c33.5996 -1.39941 63.7998 3.10059 97.4004 8c-19.8008 13.7998 -11.4004 37.1006 -9.80078 38.1006 +c1.40039 0.899414 14.7002 -1.7002 21.6006 -11.5c8.59961 12.5 28.3994 14.7998 30.2002 13.5996c1.59961 -1.09961 6.59961 -20.9004 -6.90039 -34.5996c4.7002 0.899414 8.2002 1.59961 9.7998 2.09961c2.60059 0.799805 17.7002 -11.2998 3.10059 -13.2998 +c-14.3008 -2.2998 -22.6006 -5.10059 -47.1006 -10.7998c-45.8994 -10.7002 -85.8994 -11.8008 -117.7 -12.8008l1 -11.5996c3.80078 -18.0996 -23.3994 -24.2998 -27.5996 -6.2002c0.799805 -17.8994 -27.0996 -21.7998 -28.4004 1l-0.5 -5.2998 +c-0.699219 -18.4004 -28.3994 -17.9004 -28.2998 0.599609c-7.5 -13.5 -28.0996 -6.7998 -26.3994 8.5l1.19922 12.4004c-36.6992 -0.900391 -59.6992 -3.09961 -61.7998 -3.09961c-20.8994 0 -20.8994 31.5996 0 31.5996c2.40039 0 27.7002 -1.2998 63.2002 -2.7998 +c-61.0996 15.5 -103.7 55 -114.9 118.2c-25 -12.8008 -57.5 -26.8008 -68.1992 -0.800781c-10.5 25.4004 21.5 42.6006 66.7998 73.4004c0.700195 6.59961 1.59961 13.2998 2.7002 19.7998c-14.4004 19.6006 -11.6006 36.2998 -16.1006 60.4004 +c-16.7998 -2.40039 -23.2002 9.09961 -23.5996 23.0996c0.299805 7.2998 2.09961 14.9004 2.39941 15.4004c1.10059 1.7998 10.1006 2 12.7002 2.59961c6 31.7002 50.6006 33.2002 90.9004 34.5c19.7002 21.7998 45.2002 41.5 80.8994 48.2998 +c-15.2998 19.4004 -3.39941 39.9004 -2.39941 40.4004c1.7002 0.799805 21.2002 -4.2998 26.2998 -23.2002c5.2002 8.7998 18.2998 11.4004 19.5996 10.7002c1.10059 -0.599609 6.40039 -15 -4.89941 -25.9004c40.2998 -3.5 72.2002 -24.6992 96 -50.6992 +c36.0996 -1.5 71.7998 -5.90039 77.0996 -34c2.7002 -0.600586 11.6006 -0.800781 12.7002 -2.60059c0.299805 -0.5 2.09961 -8.09961 2.40039 -15.3994c-0.5 -13.9004 -6.80078 -25.4004 -23.6006 -23.1006c-3.2002 -17.2998 -2.7002 -32.8994 -8.7002 -47.7002 +c2.40039 -11.6992 4 -23.7998 4.80078 -36.3994c37 -25.4004 70.2998 -42.5 60.2998 -66.9004zM207.4 288.1c0.899414 44 -37.9004 42.2002 -78.6006 40.3008c-21.7002 -1 -38.8994 -1.90039 -45.5 -13.9004c-11.3994 -20.9004 5.90039 -92.9004 23.2002 -101.2 +c9.7998 -4.7002 73.4004 -7.89941 86.2998 7.10059c8.2002 9.39941 15 49.3994 14.6006 67.6992zM259.4 229.8c-4.30078 12.4004 -6 30.1006 -15.3008 32.7002c-2 0.5 -9 0.5 -11 0c-10 -2.7998 -10.7998 -22.0996 -17 -37.2002c15.4004 0 19.3008 -9.7002 23.7002 -9.7002 +c4.2998 0 6.2998 11.3008 19.6006 14.2002zM395.1 314.5c-6.59961 12.0996 -24.7998 12.9004 -46.5 13.9004c-40.1992 1.89941 -78.1992 3.7998 -77.2998 -40.3008c-0.5 -18.2998 5 -58.2998 13.2002 -67.7998c13 -14.8994 76.5996 -11.7998 86.2998 -7.09961 +c15.7998 7.59961 36.5 78.8994 24.2998 101.3z" /> + <glyph glyph-name="erlang" unicode="&#xf39d;" horiz-adv-x="640" +d="M87.2002 394.5c-41.5 -50.2002 -65.6006 -116.2 -65.5 -192.9c-0.100586 -86.7998 29 -159.5 78.7002 -212.1h-100.4v405h87.2002zM325.4 384.8c46.1992 -0.0996094 79.5996 -33.5 80.6992 -83.2002h-169.899c4.09961 49.7002 43.2998 83.1006 89.2002 83.2002z +M556.1 394.4h0.300781l-0.100586 0.0996094zM556.4 394.4h83.5996v-405h-80.7998c21.3994 23 40.5 49.8994 57.8994 80.7998l-96.3994 48.2002c-33.9004 -55.1006 -83.4004 -105.801 -151.9 -106.101c-99.7002 0.400391 -138.8 85.6006 -138.6 195.3h372.399 +c0.5 12.4004 0.5 18.1006 0 24.1006c2.5 65.2002 -14.7998 120 -46.1992 162.7z" /> + <glyph glyph-name="facebook-f" unicode="&#xf39e;" horiz-adv-x="320" +d="M279.14 160h-74.6895v-224h-100.17v224h-81.3906v92.6602h81.3906v70.6201c0 80.3398 47.8594 124.72 121.08 124.72c35.0693 0 71.75 -6.25977 71.75 -6.25977v-78.8906h-40.4199c-39.8203 0 -52.2402 -24.71 -52.2402 -50.0596v-60.1299h88.9102z" /> + <glyph glyph-name="facebook-messenger" unicode="&#xf39f;" horiz-adv-x="512" +d="M256.55 440c140.04 0 247.45 -102.34 247.45 -240.57c0 -175.13 -166.15 -273.229 -319.44 -231.04c-8.96973 2.44043 -9.64941 0.600586 -62.5596 -22.6992c-2.10449 -0.918945 -5.67578 -1.66504 -7.97168 -1.66504c-10.624 0 -19.543 8.61719 -19.9082 19.2344 +c-1.41992 46.3701 0.299805 50.7207 -8.0498 58.2305c-48.3604 43.1602 -78.0703 105.64 -78.0703 177.939c0 138.23 108.52 240.57 248.55 240.57zM405.79 254.87c7.0498 11.0801 -6.65039 23.5996 -17.0898 15.6201l-78.4102 -59.3799 +c-2.20801 -1.65625 -6.24023 -3 -9 -3s-6.79199 1.34375 -9 3l-58.0596 43.46c-5.48926 4.09961 -15.5049 7.42676 -22.3564 7.42676c-11.3438 0 -25.4805 -7.77637 -31.5537 -17.3574l-73 -115.569c-7.05078 -11.0703 6.64941 -23.6006 17.1094 -15.6699l78.3701 59.4395 +c2.20801 1.65625 6.24023 3 9 3s6.79199 -1.34375 9 -3l58.0801 -43.4697c5.48926 -4.09766 15.5039 -7.42285 22.3535 -7.42285c11.3428 0 25.4805 7.77441 31.5566 17.3525z" /> + <glyph glyph-name="firstdraft" unicode="&#xf3a1;" horiz-adv-x="384" +d="M384 256h-64v-128h-128v-128h-192v25.5996h166.4v128h128v128h89.5996v-25.5996zM358.4 217.6h25.5996v-153.6h-128v-128h-192v25.5996h166.4v128h128v128zM384 25.5996v-25.5996h-64v-64h-25.5996v89.5996h89.5996zM0 448h384v-128h-128v-128h-128v-128h-128v384z" /> + <glyph glyph-name="fonticons-fi" unicode="&#xf3a2;" horiz-adv-x="384" +d="M114.4 224h92.3994l-15.2002 -51.2002h-76.3994v-157.8c0 -8 -2.7998 -9.2002 4.39941 -10l59.6006 -5.59961v-34.4004h-179.2v35.2002l29.2002 2.7998c7.2002 0.799805 9.2002 3.2002 9.2002 10.7998v155.8c0 3.2002 -4 3.2002 -8 3.2002h-30.4004v51.2002h38.4004 +v28.7998c0 68 36.3994 96 106 96c46.7998 0 88.7998 -11.2002 88.7998 -72.3994l-69.6006 -8.40039c0.400391 25.5996 -6 31.5996 -22.3994 31.5996c-25.2002 0 -26 -13.5996 -26 -37.5996v-32c0 -3.2002 -4.7998 -6 -0.799805 -6zM384 -35h-140.8v34.4004l28 3.59961 +c7.2002 0.799805 10.3994 2.40039 10.3994 10v148c0 5.59961 -4 9.2002 -9.19922 10.7998l-33.2002 8.7998l9.2002 40.4004h110v-208c0 -8 -3.60059 -8.7998 4 -10l21.5996 -3.59961v-34.4004zM354 312.2l12.4004 -45.6006l-10 -10l-42.8008 22.8008l-42.7998 -22.8008 +l-10 10l12.4004 45.6006l-30 36.3994l4.7998 10h38l21.2002 38.4004h12.7998l21.2002 -38.4004h38l4.7998 -13.1992z" /> + <glyph glyph-name="fort-awesome-alt" unicode="&#xf3a3;" horiz-adv-x="512" +d="M208 210.6c2.09961 0 3.7002 -1.59961 3.7002 -3.69922v-51.7002c0 -2.10059 -1.60059 -3.7002 -3.7002 -3.7002h-22.2002c-2.09961 0 -3.7002 1.59961 -3.7002 3.7002v51.7002c0 2.09961 1.60059 3.69922 3.7002 3.69922h22.2002zM326.2 210.6 +c2 0 3.59961 -1.59961 3.7002 -3.69922v-51.7002c0 -2.10059 -1.60059 -3.7002 -3.7002 -3.7002h-22.2002c-2.09961 0 -3.7002 1.59961 -3.7002 3.7002v51.7002c0 2.09961 1.60059 3.69922 3.7002 3.69922h22.2002zM458.2 335.7 +c28.8994 -40.7002 45.7998 -90.2002 45.7998 -143.7c0 -2 0 -4 -0.0996094 -6c0 -0.700195 0 -1.2998 -0.100586 -2c0 -1.2998 -0.0996094 -2.7002 -0.200195 -4c0 -0.799805 -0.0996094 -1.5 -0.0996094 -2.2998 +c-0.0996094 -1.2002 -0.0996094 -2.40039 -0.200195 -0.700195c-0.0996094 -0.799805 -0.0996094 -1.59961 -0.200195 -2.40039c-0.0996094 -1.19922 -0.199219 -2.39941 -0.299805 -3.5c-0.0996094 -0.799805 -0.200195 -1.59961 -0.200195 -2.39941 +c-0.0996094 -1.2002 -0.299805 -2.40039 -0.399414 -3.60059c-0.100586 -0.799805 -0.200195 -1.5 -0.299805 -2.2998c-0.200195 -1.2998 -0.400391 -2.59961 -0.5 -3.89941c-0.100586 -0.600586 -0.200195 -1.30078 -0.300781 -1.90039l-0.899414 -5.7002 +c-0.100586 -0.599609 -0.200195 -1.09961 -0.299805 -1.7002c-0.200195 -1.2998 -0.5 -2.69922 -0.800781 -4c-0.199219 -0.799805 -0.299805 -1.59961 -0.5 -2.39941c-0.199219 -1.10059 -0.5 -2.2002 -0.699219 -3.2002 +c-0.200195 -0.900391 -0.400391 -1.7002 -0.600586 -2.59961c-0.200195 -1 -0.5 -2 -0.700195 -3c-0.199219 -0.900391 -0.5 -1.80078 -0.699219 -2.7002c-0.300781 -1 -0.5 -1.90039 -0.800781 -2.90039c-0.199219 -0.899414 -0.5 -1.7998 -0.799805 -2.7002 +c-0.299805 -0.899414 -0.599609 -1.89941 -0.799805 -2.7998c-0.299805 -0.899414 -0.5 -1.7998 -0.799805 -2.7002c-0.299805 -0.899414 -0.600586 -1.7998 -0.900391 -2.7998c-0.5 -1.59961 -1.09961 -3.2998 -1.7002 -4.89941 +c-0.299805 -0.900391 -0.599609 -1.80078 -1 -2.80078c-0.399414 -1 -0.699219 -2 -1.09961 -3c-0.299805 -0.799805 -0.599609 -1.5 -0.900391 -2.2998l-1.19922 -3c-0.300781 -0.700195 -0.600586 -1.5 -0.900391 -2.2002c-0.400391 -1 -0.799805 -2 -1.2998 -3 +l-0.900391 -2.09961c-0.399414 -1 -0.899414 -2 -1.39941 -3c-0.300781 -0.700195 -0.600586 -1.2998 -0.900391 -2c-0.5 -1 -1 -2.09961 -1.5 -3.09961c-0.299805 -0.600586 -0.599609 -1.10059 -0.799805 -1.7002c-0.600586 -1.10059 -1.10059 -2.2002 -1.7002 -3.2998 +c-0.0996094 -0.200195 -0.200195 -0.300781 -0.299805 -0.5c-2.2002 -4.10059 -4.40039 -8.2002 -6.7998 -12.2002c-0.200195 -0.400391 -0.5 -0.799805 -0.700195 -1.2002c-0.700195 -1.09961 -1.2998 -2.2002 -2 -3.2998 +c-0.299805 -0.5 -0.600586 -0.900391 -0.900391 -1.40039c-0.700195 -1.09961 -1.39941 -2.09961 -2 -3.2002c-0.299805 -0.5 -0.599609 -0.899414 -0.899414 -1.39941c-0.700195 -1.10059 -1.40039 -2.10059 -2.10059 -3.2002 +c-0.299805 -0.400391 -0.599609 -0.799805 -0.799805 -1.2002c-0.799805 -1.09961 -1.5 -2.2002 -2.2998 -3.2998c-0.200195 -0.200195 -0.299805 -0.5 -0.5 -0.700195c-37.6006 -54.7002 -94.5 -91.3994 -160.101 -102.399 +c-0.899414 -0.100586 -1.69922 -0.300781 -2.59961 -0.400391c-1 -0.200195 -2.09961 -0.299805 -3.09961 -0.5c-0.900391 -0.0996094 -1.80078 -0.299805 -2.80078 -0.400391c-1 -0.0996094 -2 -0.299805 -3 -0.399414c-1 -0.100586 -2 -0.200195 -2.89941 -0.299805 +c-1 -0.100586 -1.90039 -0.200195 -2.90039 -0.300781c-1 -0.0996094 -2.09961 -0.199219 -3.09961 -0.299805c-0.900391 -0.0996094 -1.7998 -0.200195 -2.7002 -0.200195c-1.09961 -0.0996094 -2.2998 -0.0996094 -3.40039 -0.199219 +c-0.799805 0 -1.69922 -0.100586 -2.5 -0.100586c-1.2998 -0.0996094 -2.59961 -0.0996094 -3.89941 -0.0996094c-0.700195 0 -1.40039 -0.100586 -2.10059 -0.100586c-2 0 -4 -0.0996094 -6 -0.0996094s-4 0 -6 0.0996094c-0.699219 0 -1.39941 0 -2.09961 0.100586 +c-1.2998 0 -2.59961 0.0996094 -3.90039 0.0996094c-0.799805 0 -1.69922 0.100586 -2.5 0.100586c-1.09961 0.0996094 -2.2998 0.0996094 -3.39941 0.199219c-0.900391 0.100586 -1.7998 0.100586 -2.7002 0.200195c-1 0.100586 -2.09961 0.200195 -3.09961 0.299805 +c-1 0.100586 -1.90039 0.200195 -2.90039 0.300781c-1 0.0996094 -2 0.199219 -2.90039 0.299805c-1 0.0996094 -2 0.200195 -3 0.399414c-0.899414 0.100586 -1.7998 0.300781 -2.7998 0.400391s-2.09961 0.299805 -3.09961 0.5 +c-0.900391 0.0996094 -1.7002 0.299805 -2.60059 0.400391c-65.5996 10.8994 -122.5 47.6992 -160 99.3994c-0.199219 0.200195 -0.299805 0.5 -0.5 0.700195c-0.799805 1.09961 -1.59961 2.2002 -2.2998 3.2998c-0.299805 0.400391 -0.599609 0.799805 -0.799805 1.2002 +c-0.700195 1.09961 -1.40039 2.09961 -2.09961 3.2002c-0.300781 0.5 -0.600586 0.899414 -0.900391 1.39941c-0.700195 1.10059 -1.40039 2.10059 -2 3.2002c-0.299805 0.5 -0.599609 0.900391 -0.900391 1.40039c-0.699219 1.09961 -1.2998 2.2002 -2 3.2998 +c-0.199219 0.400391 -0.5 0.799805 -0.699219 1.2002c-2.40039 4 -4.60059 8.09961 -6.80078 12.2002c-0.0996094 0.199219 -0.199219 0.299805 -0.299805 0.5c-0.599609 1.09961 -1.09961 2.19922 -1.7002 3.2998c-0.299805 0.599609 -0.599609 1.09961 -0.799805 1.7002 +c-0.5 1 -1 2.09961 -1.5 3.09961c-0.299805 0.700195 -0.599609 1.2998 -0.899414 2c-0.5 1 -0.900391 2 -1.40039 3l-0.900391 2.09961c-0.399414 1 -0.899414 2 -1.2998 3c-0.299805 0.700195 -0.599609 1.5 -0.899414 2.2002l-1.2002 3 +c-0.299805 0.799805 -0.600586 1.5 -0.900391 2.2998c-0.399414 1 -0.799805 2 -1.09961 3c-0.299805 0.900391 -0.600586 1.80078 -1 2.80078c-0.600586 1.59961 -1.10059 3.2998 -1.7002 4.89941c-0.299805 0.900391 -0.599609 1.7998 -0.900391 2.7998 +c-0.299805 0.900391 -0.5 1.80078 -0.799805 2.7002c-0.299805 0.900391 -0.599609 1.90039 -0.799805 2.7998c-0.299805 0.900391 -0.5 1.80078 -0.799805 2.7002c-0.299805 1 -0.5 1.90039 -0.799805 2.90039c-0.200195 0.899414 -0.5 1.7998 -0.700195 2.7002 +c-0.299805 1 -0.5 2 -0.700195 3c-0.200195 0.899414 -0.400391 1.69922 -0.599609 2.59961c-0.200195 1.09961 -0.5 2.2002 -0.700195 3.2002c-0.200195 0.799805 -0.299805 1.59961 -0.5 2.39941c-0.299805 1.30078 -0.5 2.7002 -0.799805 4 +c-0.100586 0.600586 -0.200195 1.10059 -0.300781 1.7002l-0.899414 5.7002c-0.100586 0.599609 -0.200195 1.2998 -0.299805 1.90039c-0.200195 1.2998 -0.400391 2.59961 -0.5 3.89941c-0.100586 0.799805 -0.200195 1.5 -0.300781 2.2998 +c-0.0996094 1.2002 -0.299805 2.40039 -0.399414 3.60059c-0.100586 0.799805 -0.200195 1.59961 -0.200195 2.39941c-0.0996094 1.2002 -0.200195 2.40039 -0.299805 3.5c-0.100586 0.800781 -0.100586 1.60059 -0.200195 2.40039 +c-0.0996094 1.2002 -0.200195 2.40039 -0.200195 3.7002c0 0.799805 -0.0996094 1.5 -0.0996094 2.2998c-0.100586 1.2998 -0.100586 2.7002 -0.200195 4c0 0.700195 0 1.2998 -0.0996094 2c0 2 -0.100586 4 -0.100586 6c0 53.5 16.9004 103 45.7998 143.6 +c2.30078 3.2002 4.7002 6.40039 7.10059 9.5c4.89941 6.2002 10.0996 12.3008 15.5996 18c2.7002 2.90039 5.5 5.7002 8.40039 8.40039c2.89941 2.7002 5.7998 5.40039 8.7998 8c4.5 3.90039 9.09961 7.59961 13.9004 11.2002c1.59961 1.2002 3.19922 2.39941 4.7998 3.5 +c27.2998 19.5996 59 33.7002 93.2998 40.7998c16.0996 3.2998 32.9004 5 50 5s33.7998 -1.7002 50 -5c34.2998 -7 66 -21.0996 93.5996 -40.7002c1.60059 -1.2002 3.2002 -2.2998 4.80078 -3.5c4.7998 -3.59961 9.39941 -7.2998 13.8994 -11.2002 +c12 -10.3994 23 -21.8994 32.7998 -34.3994c2.5 -3.10059 4.80078 -6.2998 7.10059 -9.5zM448 76.5v71.2998c0 2.10059 -1.59961 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.69922 -1.59961 -3.69922 -3.7002v-25.7998h-29.5v144 +c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.1006c-2.09961 0 -3.69922 -1.60059 -3.69922 -3.7002v-25.9004h-29.5v25.9004c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-25.9004h-29.5v25.9004 +c0 4.7998 -6.5 3.7002 -9.5 3.7002v30.7002c6.7002 1.59961 13.7998 2.7998 20.7998 2.7998c8.80078 0 16.8008 -3.5 25.4004 -3.5c3.7002 0 22.4004 0.899414 22.4004 6.5v48.3994c0 2.10059 -1.60059 3.7002 -3.7002 3.7002c-4.2002 0 -12.2002 -3.5 -19.4004 -3.5 +c-7.89941 0 -16.8994 3.5 -26.2998 3.5c-6.5 0 -12.9004 -0.899414 -19.2002 -2.2998v3.90039c4.40039 2.09961 7.40039 6.69922 7.40039 11.5c0 16.7998 -25.4004 16.7998 -25.4004 0c0 -4.80078 3 -9.5 7.40039 -11.5v-90.2002c-3 0 -9.5 1.09961 -9.5 -3.7002v-25.9004 +h-29.5v25.9004c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-25.9004h-29.5v25.9004c0 2.09961 -1.59961 3.7002 -3.69922 3.7002h-22.1006c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-144h-29.5996v25.7998 +c0 2.10059 -1.59961 3.7002 -3.7002 3.7002h-22.0996c-2.10059 0 -3.7002 -1.59961 -3.7002 -3.7002v-71.2998c9.40039 -15.5 20.5996 -29.9004 33.5996 -42.9004c20.6006 -20.5996 44.5 -36.6992 71.2002 -48c13.9004 -5.89941 28.2002 -10.2998 42.9004 -13.1992v75.7998 +c0 58.5996 88.5996 58.5996 88.5996 0v-75.7998c14.7002 2.89941 29 7.39941 42.9004 13.1992c26.7002 11.3008 50.5996 27.4004 71.2002 48c13 13 24.1992 27.4004 33.5996 42.9004z" /> + <glyph glyph-name="freebsd" unicode="&#xf3a4;" +d="M303.7 351.8c11.0996 11.1006 115.5 77 139.2 53.2002c23.6992 -23.7002 -42.1006 -128.1 -53.2002 -139.2c-11.1006 -11.0996 -39.4004 -0.899414 -63.1006 22.9004c-23.7998 23.7002 -34.0996 52 -22.8994 63.0996zM109.9 379.9 +c-31.6006 -19.4004 -57.9004 -46.5 -76.4004 -78.7002c-20.7998 36.2998 -44.5 89.0996 -27.9004 105.7c16.4004 16.5 68 -6.40039 104.301 -27zM406.7 274c3.2998 5.5 7 11.7998 10.8994 18.7998c17.6006 -31.2998 27.7002 -67.3994 27.7002 -105.8 +c0 -119.1 -96.5 -215.6 -215.6 -215.6c-119.101 0 -215.601 96.5996 -215.601 215.6c0 119.1 96.5 215.6 215.601 215.6c35.8994 0 69.7002 -8.7998 99.5 -24.2998c-7.2998 -4 -13.9004 -8 -19.6006 -11.5996c-26 4.7002 -32.8994 -16.4004 -14.8994 -48.7002 +c21.7998 -43.0996 89 -90.4004 109.3 -70.0996c5.40039 5.39941 6 14.7998 2.7002 26.0996z" /> + <glyph glyph-name="gitkraken" unicode="&#xf3a6;" horiz-adv-x="592" +d="M565.7 329.9c11.7998 -31.6006 18.2998 -65.7002 18.2998 -101.4c0 -155.1 -122.6 -281.6 -276.3 -287.7v145.8c-8.40039 -0.5 -16.6006 -0.399414 -23.4004 0v-145.899c-153.7 6.2002 -276.3 132.7 -276.3 287.8c0 35.7002 6.5 69.7998 18.2998 101.3 +c2.2998 6.2002 9.2998 9.2002 15.2998 6.60059c5.7002 -2.40039 8.5 -8.80078 6.30078 -14.6006c-10.9004 -29 -16.9004 -60.5 -16.9004 -93.2998c0 -134.6 100.4 -245.7 230.2 -262.7v123.7c-7.90039 1.59961 -15.4004 3.7002 -23 6.2002v-104 +c-106.7 26 -185.9 122.1 -185.9 236.8c0 91.7998 50.7998 171.8 125.8 213.3c5.80078 3.2002 13 0.900391 15.9004 -5c2.7002 -5.5 0.700195 -12.0996 -4.7002 -15.0996c-67.8994 -37.7002 -113.899 -110.101 -113.899 -193.2c0 -93.4004 57.8994 -173.2 139.8 -205.4 +v92.2002c-14.2002 4.5 -24.7998 17.7002 -24.7998 33.5c0 13.1006 6.69922 24.4004 17.2998 30.5c-8.2002 79.6006 -44.5 58.6006 -44.5 83.9004v14.7998c0 38 87.8994 161.7 129.1 164.7c2.60059 0.200195 5.10059 0.200195 7.60059 0 +c41.0996 -2.90039 129 -126.7 129 -164.7v-14.7002c0 -25.2998 -36.2002 -4.39941 -44.5 -83.8994c10.5 -6.10059 17.2998 -17.4004 17.2998 -30.5c0 -15.8008 -10.7002 -29 -24.9004 -33.5v-92.2002c81.9004 32.2998 139.8 112.1 139.8 205.399 +c0 83.2002 -46 155.601 -113.899 193.2c-5.2998 2.90039 -7.40039 9.60059 -4.7002 15.1006c2.90039 5.89941 10.2002 8.19922 15.9004 5c75 -41.5 125.8 -121.5 125.8 -213.301c0 -114.699 -79.2002 -210.899 -185.9 -236.8v104 +c-7.5 -2.59961 -15.0996 -4.7002 -23 -6.2002v-123.699c129.9 17 230.2 128.1 230.2 262.699c0 32.8008 -6 64.3008 -16.9004 93.3008c-2.19922 5.69922 0.600586 12.1992 6.30078 14.5996c6 2.59961 13 -0.5 15.2998 -6.59961zM365.9 172.5 +c-13.1006 0 -23.7002 -10.5996 -23.7002 -23.7002c0 -13.2002 10.7002 -23.7002 23.7002 -23.7002c13.0996 0 23.6992 10.6006 23.6992 23.7002c0 13.2002 -10.6992 23.7002 -23.6992 23.7002zM226.1 125.2c13.2002 0 23.7002 10.7002 23.7002 23.7002 +c0 13.0996 -10.5996 23.6992 -23.7002 23.6992c-13.1992 0 -23.6992 -10.6992 -23.6992 -23.6992s10.5 -23.7002 23.6992 -23.7002z" /> + <glyph glyph-name="gofore" unicode="&#xf3a7;" horiz-adv-x="400" +d="M324 128.2c54.2998 0 65.7002 -50.1006 67.7002 -77.7002c-46.5 -56.2998 -107.8 -82.5 -171 -82.5c-123.7 0 -220.7 101.5 -220.7 224c0 123.4 98 224 220.7 224c59 0 114.3 -23.2998 156.1 -65.5996l-62.2998 -63.3008c-25 25.4004 -58.2998 39.4004 -93.5996 39.4004 +c-73.2002 0 -132.4 -60.2998 -132.4 -134.4c0 -74.1992 59.2002 -134.399 132.4 -134.399c33.5996 0 65.3994 12.7002 89.8994 35.7998v34.7002h13.2002zM311.9 240.7c47.6992 0 88.0996 -35 88.0996 -100.2v-30.5996c-15.5 26.6992 -42.5 41.7998 -76 41.7998h-118.4v89 +h106.301z" /> + <glyph glyph-name="goodreads" unicode="&#xf3a8;" +d="M299.9 256.8c5.09961 -37.2998 -4.7002 -79 -35.9004 -100.7c-22.2998 -15.5 -52.7998 -14.0996 -70.7998 -5.69922c-37.1006 17.2998 -49.5 58.5996 -46.7998 97.1992c4.2998 60.9004 40.8994 87.9004 75.2998 87.5c46.8994 0.200195 71.7998 -31.7998 78.2002 -78.2998 +zM448 360v-336c0 -30.9004 -25.0996 -56 -56 -56h-336c-30.9004 0 -56 25.0996 -56 56v336c0 30.9004 25.0996 56 56 56h336c30.9004 0 56 -25.0996 56 -56zM330 134.8c0 0 -0.0996094 34 -0.0996094 217.3h-29v-40.2998c-0.800781 -0.299805 -1.2002 0.5 -1.60059 1.2002 +c-9.59961 20.7002 -35.8994 46.2998 -76 46c-51.8994 -0.400391 -87.2002 -31.2002 -100.6 -77.7998c-4.2998 -14.9004 -5.7998 -30.1006 -5.5 -45.6006c1.7002 -77.8994 45.0996 -117.8 112.399 -115.199c28.9004 1.09961 54.5 17 69 45.1992 +c0.5 1 1.10059 1.90039 1.7002 2.90039c0.200195 -0.0996094 0.400391 -0.0996094 0.600586 -0.200195c0.299805 -3.7998 0.199219 -30.7002 0.0996094 -34.5c-0.200195 -14.7998 -2 -29.5 -7.2002 -43.5c-7.7998 -21 -22.2998 -34.7002 -44.5 -39.5 +c-17.7998 -3.89941 -35.5996 -3.7998 -53.2002 1.2002c-21.5 6.09961 -36.5 19 -41.0996 41.7998c-0.299805 1.60059 -1.2998 1.2998 -2.2998 1.2998h-26.7998c0.799805 -10.5996 3.19922 -20.2998 8.5 -29.1992c24.1992 -40.5 82.6992 -48.5 128.199 -37.4004 +c49.9004 12.2998 67.3008 54.9004 67.4004 106.3z" /> + <glyph glyph-name="goodreads-g" unicode="&#xf3a9;" horiz-adv-x="384" +d="M42.5996 44.7002h2.80078c12.6992 0 25.5 0 38.1992 -0.100586c1.60059 0 3.10059 0.400391 3.60059 -2.09961c7.09961 -34.9004 30 -54.5996 62.8994 -63.9004c26.9004 -7.59961 54.1006 -7.7998 81.3008 -1.7998c33.7998 7.40039 56 28.2998 68 60.4004 +c8 21.5 10.6992 43.7998 11 66.5c0.0996094 5.7998 0.299805 47 -0.200195 52.7998l-0.900391 0.299805c-0.799805 -1.5 -1.7002 -2.89941 -2.5 -4.39941c-22.0996 -43.1006 -61.2998 -67.4004 -105.399 -69.1006c-103 -4 -169.4 57 -172 176.2 +c-0.5 23.7002 1.7998 46.9004 8.2998 69.7002c20.5996 71.0996 74.5996 118.2 153.899 118.8c61.3008 0.400391 101.5 -38.7002 116.2 -70.2998c0.5 -1.10059 1.2998 -2.2998 2.40039 -1.90039v61.6006h44.2998c0 -280.301 0.0996094 -332.2 0.0996094 -332.2 +c-0.0996094 -78.5 -26.6992 -143.7 -103 -162.2c-69.5 -16.9004 -159 -4.7998 -196 57.2002c-8 13.5 -11.7998 28.2998 -13 44.5zM188.9 411.5c-52.5 0.5 -108.5 -40.7002 -115 -133.8c-4.10059 -59 14.7998 -122.2 71.5 -148.601 +c27.5996 -12.8994 74.2998 -15 108.3 8.7002c47.5996 33.2002 62.7002 97 54.7998 154c-9.7002 71.1006 -47.7998 120 -119.6 119.7z" /> + <glyph glyph-name="google-drive" unicode="&#xf3aa;" horiz-adv-x="512" +d="M339 133.1l-163.6 282.9h161.199l163.601 -282.9h-161.2zM201.5 109.5h310.5l-80.5996 -141.5h-310.5zM154.1 380.6l82.9004 -141.399l-156.4 -271.2l-80.5996 141.5z" /> + <glyph glyph-name="google-play" unicode="&#xf3ab;" horiz-adv-x="512" +d="M325.3 213.7l-220.7 221.3l280.801 -161.2zM47 448l256.6 -255.9l-256.6 -256c-13 6.80078 -21.7002 19.2002 -21.7002 35.3008v441.3c0 16.0996 8.7002 28.5 21.7002 35.2998zM472.2 222.4c19.2002 -14.3008 19.2002 -46.5 1.2002 -60.8008l-60.1006 -34.0996 +l-65.7002 64.5l65.7002 64.5zM104.6 -51l220.7 221.3l60.1006 -60.0996z" /> + <glyph glyph-name="gripfire" unicode="&#xf3ac;" horiz-adv-x="384" +d="M112.5 146.6c0 -26.8994 16.5996 -47.1992 32.5996 -69.5c22.5 -30.1992 44.2002 -56.8994 44.2002 -86.5c-0.0996094 -14.5 -4.39941 -29.6992 -17.5 -46.3994c0 5.2998 4.7998 12.2002 4.7998 22.2998c0 15.2002 -13 39.9004 -78.0996 86.5996 +c-34.2998 29.1006 -66.5 58.5 -66.5 108.301c0 114.699 147.1 176.5 147.1 268.6c0 3.2998 -0.199219 6.7002 -0.599609 10c5.09961 -2.40039 39.0996 -43.2998 39.0996 -90.4004c0 -80.5 -105.1 -129.199 -105.1 -203zM317.8 185.6 +c1.5 -8.39941 2.2002 -16.5996 2.2002 -24.5996c0 -51.7998 -29.4004 -97.5 -67.2998 -136.8c-1 -1 -2.2002 -2.40039 -3.2002 -2.40039c-3.59961 0 -35.5 41.6006 -35.5 53.2002c0 0 41.7998 55.7002 41.7998 96.9004c0 10.7998 -2.7002 21.6992 -9.09961 33.3994 +c-1.5 -32.2998 -55.7002 -87.7002 -58.1006 -87.7002c-2.69922 0 -17.8994 22 -17.8994 42.1006c0 5.2998 1 10.7002 3.2002 15.7998c2.39941 5.5 56.5996 72 56.5996 116.7c0 6.2002 -1 12 -3.40039 17.0996l-4 7.2002c16.7002 -6.5 82.6006 -64.0996 94.7002 -130.9z" /> + <glyph glyph-name="grunt" unicode="&#xf3ad;" horiz-adv-x="384" +d="M61.2998 258.7c0.5 4.89941 2.7998 10 7 12h0.100586c-4.60059 1.7002 -9.2002 3.09961 -13.5 4.09961c42.1992 10.2002 73.3994 -20.5996 83.0996 -31.7998c16.5996 -19.2002 35.5 -8.7998 35.5 -8.7998c0.299805 -11.1006 -10.2998 -19 -21.0996 -19.5 +c1.19922 -15.4004 -13.9004 -32.5 -13.9004 -32.5s5.59961 15 2.7002 25.2998c-0.900391 3.2002 -2 6.09961 -3 8.5c-19.2998 -17.2002 -48 -1.5 -54.9004 6.09961c-9.59961 10.6006 -12.3994 23.8008 -12.7998 34.1006c-1.7998 -3.7998 -3.2998 -9.10059 -4 -16.6006 +c0 0 -6.2998 9.10059 -5.2002 19.1006zM89.5996 260.5c-2.89941 -9.09961 -3.39941 -27.7002 6.90039 -35.2998c16.2998 -12.1006 32.2998 -5 38 -1.7002c-7.5 11.2998 -25.4004 26 -44.9004 37zM231.7 214.7c-10.7998 0.399414 -21.4004 8.39941 -21.2002 19.2998 +c0 0 18.7998 -10.4004 35.5 8.7998c9.7002 11.2002 40.7998 42 83.0996 31.7998c-4.2998 -0.899414 -8.89941 -2.2998 -13.5 -4.09961h0.100586c4.09961 -1.7998 6.39941 -6.7998 7 -11.7998c1.2002 -10 -5.2002 -19.1006 -5.2002 -19.1006 +c-0.599609 7.5 -2.2002 12.8008 -4 16.6006c-0.5 -10.2998 -3.2002 -23.5 -12.7998 -34.1006c-6.7998 -7.59961 -35.5 -23.3994 -54.7998 -6.09961c-1 -2.5 -2.10059 -5.2998 -3 -8.5c-2.90039 -10.2998 2.69922 -25.2998 2.69922 -25.2998s-15.0996 17 -13.8994 32.5z +M294.4 260.5c-19.5 -11 -37.4004 -25.5996 -44.9004 -37c5.7002 -3.40039 21.5996 -10.5 37.9004 1.59961c10.3994 7.7002 10 26.3008 7 35.4004zM160 29.5c4.09961 0 7 -0.900391 8.7998 -2.7002c2.2002 -2.2998 1.5 -5.2998 0.900391 -6.7998 +c-1.10059 -2.7002 -5.5 -11.5996 -13 -19.7998c-2.7002 -2.90039 -6.60059 -4.60059 -11 -4.60059c-4.2998 0 -8.7002 1.60059 -11.7998 4.30078c-2.30078 2.09961 -10.2002 9.5 -13.7002 18.5996c-1.2998 3.40039 -1 6.09961 0.899414 8.09961 +c1.30078 1.30078 4 2.90039 9.5 2.90039h29.4004zM349.2 130.7c0 0 29.2998 -22.5 21.0996 -70.9004c-5.2998 -29.5 -23.2002 -46 -47 -54.7002c-8.7998 -19.0996 -29.3994 -45.6992 -67.2998 -49.5996c-14.5 -11.7998 -34.5 -19.5 -63.5996 -19.5h-0.200195 +c-29.2002 0 -49.2002 7.7002 -63.6006 19.5c-37.8994 3.90039 -58.5 30.5 -67.2998 49.5996c-23.7998 8.60059 -41.7998 25.2002 -47 54.7002c-8.59961 48.2002 20.6006 70.7998 20.6006 70.7998c2.39941 -17.8994 13 -33.8994 24.5996 -43.7998 +c3.09961 22.7002 3.7002 55.5 3.7002 62.4004c0 14.7002 -9.5 24.5 -12.2002 26.0996c-2.5 1.5 -5.2998 3 -8.2998 4.60059c-18 9.59961 -40.4004 21.5996 -40.4004 43.6992c0 16.1006 9.2998 23.2002 15.4004 27.8008c0.799805 0.599609 1.5 1.19922 2.2002 1.69922 +c2.09961 1.7002 3.69922 3 4.2998 4.40039c4.39941 9.7998 3.59961 34.2002 1.7002 37.5996c-0.600586 0.700195 -16.8008 21 -11.8008 39.2002c2 7.40039 6.90039 13.2998 14.1006 17c5.2998 2.7002 11.7998 4.2002 19.5 4.5c0.0996094 2 0.5 4 0.899414 5.90039 +c0.5 2.59961 1.10059 5.2998 0.900391 8.09961c-0.400391 4.7002 -0.799805 9.10059 -2.2002 11.2998c-8.39941 13.3008 -28.7998 17.6006 -29 17.6006l-12.2998 2.39941l8.09961 9.40039c0.200195 0.200195 17.3008 17.5 46.3008 17.5c7.89941 0 16 -1.2998 23.8994 -3.5 +c24.2998 -7.7998 42.9004 -30.5 49.4004 -39.2998c2 0.599609 3.89941 1.2002 5.89941 1.7002c-1 26.3994 20.7002 47.3994 28.2002 48.2998c0.5 -4.5 -0.399414 -22.2002 7.2002 -27.6006c2.2002 14.4004 9.59961 30.3008 39.0996 40.7002 +c-6.2998 -16.7002 -0.799805 -30.7002 1.80078 -37.2002c20.0996 18.2002 33.6992 15.2002 33.6992 15.2002s-13.1992 -22.7002 -9 -38.5c3.30078 -0.799805 6.5 -1.7002 9.60059 -2.7002c6.5 8.80078 25.2002 31.5 49.3994 39.3008 +c8.10059 2.59961 16.2002 3.89941 24.1006 3.89941c29 0 46.2002 -17.2998 46.2998 -17.5l8.09961 -9.5l-12.2998 -2.39941c-0.200195 0 -20.5996 -4.30078 -29 -17.6006c-1.39941 -2.2998 -1.7998 -6.59961 -2.2002 -11.2998 +c-0.199219 -2.7998 0.300781 -5.5 0.900391 -8.09961c0.400391 -2 0.799805 -3.90039 0.900391 -5.90039c7.59961 -0.299805 14.1992 -1.7998 19.5 -4.5c7.19922 -3.7002 12.0996 -9.59961 14.0996 -17c4.90039 -18.2998 -11.2002 -38.5996 -11.7998 -39.2002 +c-1.90039 -3.39941 -2.7002 -27.7998 1.7002 -37.5996c0.599609 -1.40039 2.19922 -2.7002 4.2998 -4.40039c0.700195 -0.599609 1.39941 -1.09961 2.2002 -1.7002c6.09961 -4.59961 15.3994 -11.5996 15.3994 -27.7998c0 -22.0996 -22.3994 -34.0996 -40.3994 -43.7002 +c-2.90039 -1.59961 -5.80078 -3.09961 -8.30078 -4.59961c-2.69922 -1.59961 -12.1992 -11.4004 -12.1992 -26.0996c0 -6.90039 0.599609 -39.7002 3.69922 -62.4004c11.6006 9.90039 22.2002 25.7998 24.6006 43.7002zM305.7 410.3 +c-17.7998 -5.7002 -31.6006 -23.0996 -37.7002 -32.2002c1.59961 -0.699219 3.09961 -1.39941 4.7002 -2.19922c2.59961 -1.2002 4.89941 -2.40039 7.09961 -3.7002c2.7002 5.5 8.40039 13.7002 20.7002 22.3994c8.2002 5.80078 18.2002 8.90039 28.7002 8.90039 +c3.59961 0 6.7998 -0.400391 9.2002 -0.799805c3.2998 2.09961 6.59961 3.89941 9.69922 5.2998c-4.7998 2 -13.6992 5 -24.6992 5c-6.10059 0 -12.1006 -0.900391 -17.7002 -2.7002zM326.7 392.1c-7.40039 -0.299805 -14 -2.69922 -19.6006 -7 +c-8 -6.39941 -12.0996 -17.6992 -13.5 -22.5c4.90039 -4.19922 8.2002 -8.09961 10.5 -11.1992c3.40039 1 7.30078 1.89941 11.5 2.69922c3.30078 4.5 3.90039 10.6006 4.40039 17c0.5 6.2002 1.09961 12.6006 4.40039 17.8008c0.699219 1.09961 1.5 2.19922 2.2998 3.19922 +zM45.5996 402.7c2.40039 0.399414 5.60059 0.799805 9 0.899414c10.6006 0 20.5 -3.09961 28.8008 -8.89941c12.3994 -8.7002 18.0996 -17 20.6992 -22.4004c2.2002 1.2002 4.60059 2.5 7.10059 3.7002c1.59961 0.799805 3.2002 1.5 4.7998 2.2002 +c-6.09961 8.89941 -19.9004 26.2998 -37.7002 32.0996c-5.7002 1.7998 -11.5996 2.7002 -17.7002 2.7002c-11 0 -19.8994 -3 -24.6992 -5c3.09961 -1.2998 6.39941 -3.09961 9.69922 -5.2998zM90.2998 362.6c-1.39941 4.80078 -5.5 16.1006 -13.5 22.4004 +c-5.5 4.40039 -12.0996 6.7002 -19.5 7c0.799805 -1 1.60059 -2.09961 2.2998 -3.2002c3.30078 -5.2002 3.90039 -11.5996 4.40039 -17.7998c0.5 -6.40039 1 -12.5 4.2998 -16.9004c4.2002 -0.799805 8.10059 -1.7998 11.5 -2.69922c2.2002 3.19922 5.60059 7 10.5 11.1992z +M58.0996 188.1c8.7002 -5 18.1006 -16.7998 19 -34.1992c0.900391 -14.7002 -0.899414 -49.9004 -3.39941 -75.9004c12.5 -4.7998 26.7002 -6.40039 39.7002 -6.7998c2 4.09961 3.89941 8.5 5.5 13.0996c0.699219 1.90039 19.5996 51 26.3994 62.2002 +c-5.39941 -39 -17.5 -73.7002 -23.5 -89.5996c3.40039 0.399414 7.2998 0.699219 11.7002 0.699219h117c4.40039 0 8.2002 -0.199219 11.7002 -0.699219c-6 15.8994 -18 50.5996 -23.5 89.5996c6.7998 -11.0996 25.7002 -60.2002 26.3994 -62.2002 +c1.60059 -4.59961 3.5 -9 5.5 -13.0996c13 0.399414 27.3008 2 39.7002 6.7998c-2.5 26 -4.2998 61.2998 -3.39941 75.9004c1.09961 17.5 10.3994 29.1992 19.0996 34.1992c2.7002 1.5 5.5 3.10059 8.40039 4.60059c14.7998 8 30.1992 16.2998 30.1992 30.5 +c0 11.0996 -4.2998 14.5 -8.89941 18.2002l-0.5 0.399414c-0.700195 0.600586 -1.5 1.2002 -2.2002 1.7998c0.900391 -7.19922 1.90039 -13.2998 2.7002 -14.8994c0 0 -12.1006 15 -15.7002 44.2998c-1.40039 11.5 1.09961 34.2002 5.09961 43 +c-0.199219 -4.90039 0 -9.7998 0.300781 -14.4004c0.399414 0.900391 0.799805 1.60059 1.2998 2.2002c3.2998 4 11.8994 17.5 9.39941 26.6006c-1 3.39941 -3.19922 6 -6.69922 7.7998c-3.80078 1.89941 -8.80078 2.89941 -15.1006 2.89941 +c-12.2998 0 -25.8994 -3.7998 -32.8994 -6c-25.1006 -7.89941 -55.4004 -30.8994 -64.1006 -37.6992c-0.200195 -0.200195 -0.399414 -0.300781 -0.399414 -0.300781l-5.60059 -3.89941l3.5 5.7998c0.200195 0.299805 19.1006 31.4004 53.1006 46.5 +c-2 2.90039 -7.40039 8.2002 -21.6006 15.0996c-21.3994 10.5 -46.3994 15.8008 -74.2998 15.8008c-27.7998 0 -52.9004 -5.30078 -74.2998 -15.8008c-14.2002 -7 -19.6006 -12.1992 -21.6006 -15.0996c34.1006 -15.0996 53 -46.2002 53.2002 -46.5l3.5 -5.7998 +l-5.59961 3.89941s-0.200195 0.100586 -0.400391 0.300781c-8.7002 6.7998 -39 29.6992 -64.0996 37.6992c-7 2.30078 -20.6006 6 -32.9004 6c-6.2998 0 -11.2998 -1 -15.0996 -2.89941c-3.60059 -1.7998 -5.7998 -4.2998 -6.7002 -7.7998 +c-2.40039 -9.10059 6.2002 -22.6006 9.40039 -26.6006c0.5 -0.599609 0.899414 -1.39941 1.2998 -2.2002c0.299805 4.60059 0.5 9.5 0.299805 14.4004c4 -8.7002 6.5 -31.5 5.09961 -43c-3.59961 -29.2998 -15.6992 -44.2998 -15.6992 -44.2998 +c0.799805 1.59961 1.7998 7.7002 2.69922 14.8994c-0.799805 -0.599609 -1.5 -1.19922 -2.19922 -1.7998l-0.5 -0.399414c-4.60059 -3.60059 -8.90039 -7.10059 -8.90039 -18.2002c0 -14.2002 15.2998 -22.5 30.2002 -30.5c2.7998 -1.5 5.7002 -3 8.39941 -4.60059z +M34.7998 43.4004c11.9004 -19.7002 35.5 -29.4004 58.2002 -29.5c-4.5 13.2998 -3.09961 24 4.09961 31.7998l1.40039 1.39941c1.7998 2.40039 4.2998 5.80078 7 10c-27.2002 1.10059 -63.5 11 -74.4004 45.4004c-5 -5 -8.39941 -39.0996 3.7002 -59.0996zM80.5 -0.0996094 +c6.5 -9.5 16.5 -19.6006 30.9004 -25.5c-4.90039 7.19922 -8.80078 15.0996 -12.3008 23.0996c-6.39941 0.5 -12.5996 1.2998 -18.5996 2.40039zM192 -50.2002c60.5996 0.100586 78.2998 45.9004 84.9004 64.7002c3.59961 10.5 3.2998 18.2998 -0.900391 23.0996 +c-2.7998 3.30078 -9.5 7.2002 -24.5996 7.2002h-118.801c-15.0996 0 -21.6992 -3.89941 -24.5996 -7.2002c-4.2998 -4.89941 -4.59961 -12.5996 -0.900391 -23.0996c6.60059 -18.9004 24.3008 -64.5996 84.9004 -64.7002zM272.6 -25.5996 +c14.4004 5.89941 24.4004 16 30.9004 25.5c-6 -1.10059 -12.2002 -1.90039 -18.5996 -2.40039c-3.5 -8 -7.40039 -15.9004 -12.3008 -23.0996zM349.2 43.4004c12.2002 19.8994 8.7998 54 3.7998 59c-10.9004 -34.4004 -47.2002 -44.2002 -74.4004 -45.4004 +c2.7002 -4.2002 5.2002 -7.59961 7 -10c0.5 -0.5 1 -1 1.40039 -1.5c7.2002 -7.7002 8.59961 -18.5 4.09961 -31.7998c22.5 0.399414 46.1006 10 58.1006 29.7002zM191.9 260.3c-12.7002 0.200195 -27.2002 17.7998 -27.2002 17.7998 +c9.89941 -6 18.7998 -8.09961 27.2998 -8.2998c8.5 0.200195 17.4004 2.2998 27.2998 8.2998c0 0 -14.5 -17.6992 -27.2002 -17.7998h-0.199219zM253.6 29.5996c5.40039 -0.0996094 8.10059 -1.69922 9.40039 -3c1.90039 -1.89941 2.2002 -4.59961 0.900391 -7.89941 +c-3.5 -8.90039 -11.4004 -16.1006 -13.7002 -18.1006c-3.10059 -2.59961 -7.40039 -4.19922 -11.7998 -4.19922c-4.40039 0 -8.30078 1.59961 -11 4.5c-7.5 8 -12 16.6992 -13 19.2998c-0.600586 1.5 -1.30078 4.39941 0.899414 6.7002 +c1.7002 1.7998 4.7002 2.69922 8.90039 2.69922h29.3994z" /> + <glyph glyph-name="gulp" unicode="&#xf3ae;" horiz-adv-x="256" +d="M209.8 56.9004l-14.0996 -24.6006l-4.60059 -80.2002c0 -8.89941 -28.2998 -16.0996 -63.0996 -16.0996s-63.0996 7.2002 -63.0996 16.0996l-5.80078 79.4004l-14.8994 25.4004c41.2002 -17.3008 126 -16.7002 165.6 0zM13.7998 310.2 +c30.7002 -17 197.8 -16.9004 228.3 0.200195l-14.7998 -136.801c-4.7998 -4.19922 -11.5996 -10.1992 -16.5996 -14.0996c-1.60059 -1.2002 -6 -4.7002 -8 -4.7002c-1.2998 0 -2.2002 0.5 -2.2002 1.7998c0.0996094 1 3.40039 4.5 5 6.40039 +c4.90039 5.7002 13.7998 16 13.7998 23.4004c0 7 -10.7002 14.0996 -25.7002 0.199219c-1.59961 -1.5 -3.09961 -3 -4.5 -4.5c0.400391 1.10059 1.10059 5.10059 1.10059 6.2002c0 2.7998 -1.40039 4 -4.2002 4c-1 0 -1.90039 -0.599609 -2.7002 -1.59961 +c-2.59961 -3.10059 -3.89941 -7.5 -5.2998 -11.2998c-0.5 -1.80078 -1.09961 -3.60059 -1.7002 -5.5c-0.399414 -0.200195 -0.700195 -0.300781 -0.899414 -0.600586c-3.80078 -3.89941 -17.7002 -17 -23.1006 -17c-2.2998 0 -1.59961 3.60059 -1 5.7998 +c1 3.40039 6.7998 17.7002 8.7002 22.3008c4.59961 11.0996 8 19.7998 13.2002 31.8994c3.89941 9.2002 3.7998 8.60059 4.5 10.5c0.700195 2.10059 0.700195 4.90039 -1 6.2002c-1 0.700195 -2 1.09961 -3.2002 1.09961c-2.40039 0 -4.7998 -1.39941 -6.09961 -4.69922 +c-25.5 -64.4004 -25.2002 -63.3008 -26.4004 -68.2002c-2 -1.7002 -4.40039 -3.40039 -6.7998 -4.5c-3.10059 -1.40039 -6.7998 -2.2002 -6.7998 1.2002c0 3.69922 1.39941 8.19922 2.69922 11.6992c2.2002 6.10059 4.90039 11.1006 6.90039 16.7002 +c0.900391 2.40039 1.2998 4.7002 -0.400391 6.90039c-0.799805 1 -1.89941 1.5 -3.19922 1.5c-2.60059 0 -4.10059 -2.60059 -5.2002 -5.10059c-0.700195 -1.5 -1.2998 -3.09961 -1.7998 -4.7998c-1.2002 -4 -3.60059 -8.7002 -5.60059 -12.2998 +c-2.7998 -5 -6.5 -10.0996 -11.0996 -13.5c-2.2002 -1.59961 -4.5 -2.40039 -6.90039 -2.40039c-3.5 0 -2.39941 5.7002 -1.5 9c2.2002 7.80078 5.5 13.3008 9.2998 20.8008c1.30078 2.69922 2.30078 5.39941 -0.299805 7.19922c-0.5 0.300781 -1 0.5 -1.59961 0.700195 +c-3.40039 0.900391 -6 -1.09961 -7.60059 -4.5c-3.09961 -6.2998 -5.39941 -11.7002 -7.09961 -16.2002c-3.2998 -8.89941 -6.90039 -18.2998 -4.59961 -23.7998c1.5 -3.7002 4.5 -5.09961 8.59961 -5.09961c9.7998 0 17.7998 6.7002 22.4004 14.8994 +c-4.30078 -19.7998 8.19922 -17.2998 20 -8.09961c0.0996094 -0.400391 0.0996094 -0.799805 0.199219 -1.2002c1.5 -6.7002 8.7002 -6.7002 14.5 -4.09961c3.5 1.59961 8.2002 4.5 14.4004 10.5c0.200195 0.299805 0.799805 1.39941 -0.799805 -2.2998 +c-7.2002 -16.2002 -13.5 -28.2002 -15 -34.3008c-0.200195 -0.899414 -0.299805 -1.7998 -0.299805 -2.69922c0 -1.80078 0.399414 -3.10059 1.2998 -3.7002c1.59961 -1.2002 4.2002 -1.2998 6.09961 -0.299805c1.7998 1 3.10059 2.59961 4 4.5 +c1 2.19922 0.200195 0.699219 5.2002 14c5 13.3994 2.90039 7.7998 9.09961 22c1.90039 4.2998 4.2002 9.5 8.5 15.5c2.5 3.39941 5.5 7 8.7002 9.69922c5.7002 4.7002 11.7002 5.40039 11.7002 2.5c0 -2.19922 -3.2998 -6.39941 -4.7002 -8.09961 +c-5.2998 -6.7002 -14.3994 -16.2998 -14.3994 -21.5c0 -9.5 12 -8 17.3994 -5.7002c7.2998 3.2002 13.9004 9.60059 19.6006 14.7998l-10.9004 -94.5996c-1.90039 -4.90039 -39.0996 -17.0996 -88.2002 -17.0996c-49 0 -86.2002 12.0996 -88.2002 17.0996l-7.59961 79.5996 +c2.09961 -1.5 4.2998 -2.39941 7.7002 -2.39941c7.39941 0 16.0996 6.7002 21.5 11.7998c2.2998 2.2002 4.39941 4.40039 6.39941 6.59961c-1 -3 -7.09961 -22 -7.2998 -25.1992c-0.0996094 -1 -0.200195 -4.90039 0.799805 -6.30078 +c0.5 -0.799805 1.40039 -1.19922 2.60059 -1.19922c2.89941 0 5.59961 4.69922 6.2998 7.5c0 0 1.7998 6.2998 7.59961 25.7998c6.30078 21.0996 10 24.5 10 34.7002c0 5.59961 -7.2998 6.7998 -9.89941 0l-5.2002 -15.5c-2.2002 -4.5 -8 -11.5 -12.5 -16 +c-3.5 -3.5 -10.7998 -10.1006 -15.7998 -10.1006c-2.40039 0 -3.90039 1.40039 -4.90039 3.60059c-2.2998 5.2998 -0.899414 14.2998 0.600586 19.8994c2.59961 9.7002 6.89941 19.4004 12 28.2002c4.19922 7.2998 10.1992 15.7002 17.0996 20.7002 +c6.59961 4.7998 12.7998 4.5 16.9004 -2.7998c1.5 -2.7002 3.7998 -7.30078 6.7998 -7.30078c2.5 0 5.7002 2.60059 4.5 9.10059c-0.5 2.5 -4.90039 8.7998 -10.1006 11.7998c-6 3.59961 -12.3994 3.59961 -18.6992 0.900391 +c-19.2002 -8.2002 -34.1006 -35.2002 -40 -55.2002zM243.5 318.7c0 -21 -231.2 -21 -231.2 0c0 8.7998 51.7998 15.8994 115.601 15.8994c9 0 17.7998 -0.0996094 26.2998 -0.399414l12.5996 48.7002l61.2998 64.5c1.40039 1.39941 5.80078 0.199219 9.90039 -3.5 +c4.09961 -3.7002 6.59961 -7.90039 5.2998 -9.30078l-0.0996094 -0.0996094l-57.2998 -60.5l-10 -40.7002c39.8994 -2.59961 67.5996 -8.09961 67.5996 -14.5996zM174.1 314.1c0 0.800781 -0.899414 1.5 -2.5 2.10059l-0.199219 -0.799805 +c0 -1.30078 -5 -2.40039 -11.1006 -2.40039c-6.09961 0 -11.0996 1.09961 -11.0996 2.40039c0 0.0996094 0 0.199219 0.0996094 0.299805l0.200195 0.700195c-1.7998 -0.600586 -3 -1.40039 -3 -2.30078c0 -2.09961 6.2002 -3.69922 13.7002 -3.69922 +c7.7002 -0.100586 13.8994 1.59961 13.8994 3.69922z" /> + <glyph glyph-name="hacker-news-square" unicode="&#xf3af;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM21.2002 218.8h-0.200195c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.0996094 -0.400391z +M239.2 164.9l80.7998 155.1h-34.7998c-54.7998 -101.2 -48.2998 -98.5996 -60.6006 -125.6c-10.0996 24.3994 -6.7998 27.2998 -59.2998 125.6h-37.2998l79.7998 -153.3v-102.7h31.4004v100.9z" /> + <glyph glyph-name="hire-a-helper" unicode="&#xf3b0;" horiz-adv-x="512" +d="M443.1 448c3.90039 -36.4004 32.5 -65.7998 68.9004 -71.7002v-370.5c-35.4004 -4 -64.9004 -33.3994 -67.9004 -69.7998h-372.199c-5.90039 36.4004 -34.5 63.9004 -71.9004 68.7998v371.5c37.4004 3.90039 67.9004 34.4004 71.9004 71.7002h371.199zM406.1 43.0996 +c7.80078 0 5.80078 10.8008 0 10.8008c-10.2998 3.39941 -13.5 3.59961 -21.6992 13.7998c-7.80078 12.8994 -7.90039 44.3994 -7.90039 127.8v101.2c0 22.0996 12.2002 28.2998 28.5996 32.3994c8.90039 2.2002 3.90039 11.8008 -1 11.8008 +c-36.5 0 -20.5996 -2 -57.0996 -2c-32.7002 0 -16.5 2 -49.2002 2c-3.2998 0 -8.5 -8.30078 -1 -10.8008c4.90039 -1.59961 27.6006 -3.69922 27.6006 -39.2998c0 -45.5996 0.199219 -55.7998 -1 -68.7998c0 -1.2998 -2.30078 -12.7998 -12.8008 -12.7998h-109.199 +c-10.5 0 -12.8008 11.5 -12.8008 12.7998c-1.19922 13 -1 23.2002 -1 68.7998c0 35.6006 22.7002 37.7002 27.6006 39.2998c7.5 2.5 2.2998 10.8008 -1 10.8008c-32.7002 0 -16.5 -2 -49.2002 -2c-36.5 0 -20.5996 2 -57.0996 2c-5 0 -9.80078 -9.60059 -1 -11.8008 +c16.3994 -4.09961 28.5996 -10.1992 28.5996 -32.3994v-101.2c0 -83.4004 -0.200195 -114.9 -7.90039 -127.8c-8.19922 -10.2998 -11.5 -10.4004 -21.6992 -13.7998c-5.80078 0 -7.90039 -10.8008 0 -10.8008c36.2998 0 18.7998 2 55.0996 2c35.7998 0 21 -2 56.0996 -2 +c6 0 4.90039 8.2002 0 9.80078c-22.7998 7.59961 -22.8994 10.2998 -24.5996 12.7998c-10.4004 15.5996 -5.90039 83 -5.90039 113c0 5.2998 6.40039 12.7998 13.8008 12.7998h111.199c7.40039 0 13.8008 -7.5 13.8008 -12.7998c0 -30 4.5 -97.4004 -5.90039 -113 +c-1.7002 -2.60059 -1.7998 -5.2002 -24.5996 -12.7998c-4.90039 -1.60059 -5.90039 -9.80078 0 -9.80078c35.0996 0 20.2998 2 56.0996 2c36.2998 0 18.7998 -2 55.0996 -2z" /> + <glyph glyph-name="hotjar" unicode="&#xf3b1;" +d="M414.9 286.5c30 -53 41.7998 -121.6 26.2998 -180.9c-14.7002 -56.6992 -68.2998 -120.3 -148.8 -145.6c54.5 76.9004 43.8994 200.1 -27.1006 215.5c54.2002 -93.9004 -53.7002 -180.3 -110.8 -93.9004c-2.5 -7.19922 -25.0996 -74.5 4.09961 -129.6 +c-61.0996 9.09961 -117.8 33.5 -144.6 93.4004c-35 78.1992 -2.7002 149.8 79 204.899c129.2 87.2998 28.0996 197.7 28.0996 197.7s219.101 -29 293.801 -161.5z" /> + <glyph glyph-name="hubspot" unicode="&#xf3b2;" horiz-adv-x="512" +d="M267.4 236.4l-163.2 114.699c-7.90039 -4.69922 -17 -7.59961 -26.7998 -7.59961c-28.8008 0 -52.2002 23.4004 -52.2002 52.2998c0 28.7998 23.3994 52.2002 52.2002 52.2002c28.8994 0 52.3994 -23.4004 52.3994 -52.2002c0 -4.7998 -0.799805 -9.39941 -2 -13.7998 +c51.4004 -39.0996 141.3 -103.9 168.9 -124.8c13.0996 6.89941 27.5 11.5 42.7002 13.5996v61.2002c-17.5 7.40039 -28.2002 23.7998 -28.2002 42.9004c0 26.0996 20.5996 47.8994 46.7002 47.8994c26.0996 0 47 -21.7998 47 -47.8994 +c0 -19.1006 -10.7002 -35.5 -28.2002 -42.9004v-61.5996c62.5 -9.5 110.2 -63.5 110.2 -128.7c0 -71.9004 -58.1006 -130.2 -130 -130.2c-29.9004 0 -57.3008 10 -79.3008 26.9004l-50 -50.2002c1.30078 -3.90039 1.90039 -7.90039 1.90039 -12.1006 +c0 -10.6992 -4.2002 -20.8994 -11.7998 -28.5c-7.7002 -7.69922 -17.7998 -11.5996 -28.6006 -11.5996c-10.6992 0 -20.8994 4 -28.5 11.5996c-7.59961 7.60059 -11.7998 17.7002 -11.7998 28.5c0 10.8008 4.2002 21 11.7998 28.6006 +c7.60059 7.59961 17.7002 11.7998 28.5 11.7998c4.90039 0 9.60059 -0.900391 14 -2.5l49.5 49.7998c-16.2998 21.7002 -26 48.7002 -26 78c0 37.2998 15.7002 70.9004 40.8008 94.6006zM356.9 72.7998c38.0996 0 69 30.9004 69 69c0 38.1006 -30.9004 69 -69 69 +c-38.1006 0 -69 -30.8994 -69 -69c0 -38.0996 30.8994 -69 69 -69z" /> + <glyph glyph-name="itunes" unicode="&#xf3b4;" +d="M223.6 367.7c94.5 0 171.2 -76.7002 171.2 -171.3c0 -94.5 -76.5996 -171.2 -171.2 -171.2c-94.5996 0 -171.1 76.7998 -171.1 171.3s76.5 171.2 171.1 171.2zM303 127.7c1.40039 6.2002 0.900391 -3 1 167.6c0 5.7002 -3.2998 9.10059 -9 8.7002 +c-1.7998 0 -14.0996 -2.40039 -115.1 -21.4004c-0.900391 0 -4.60059 -1 -6.7002 -2.69922c-2 -1.60059 -3.10059 -3.80078 -3.5 -6.40039c-1.7002 -6.7002 2.39941 -128 -2.60059 -133.7c-2.09961 -2.5 -4.69922 -3.2002 -7.69922 -3.7002 +c-17.7002 -3.19922 -29.6006 -4.7998 -38 -12.7998c-14.5 -14.2002 -7 -38.8994 14.3994 -42.8994c8 -1.40039 23.1006 0.599609 31.4004 5.19922c7.2998 3.80078 12.7998 10.6006 14.8994 19.6006c1.7002 7.7002 1.2002 2.39941 1.2002 118.5 +c0 5.7002 1.7002 7.2002 6.7002 8.2998c0 0 87.9004 16.4004 91.9004 17.0996c5.69922 1 8.39941 -0.5 8.39941 -6.09961c0 -78.7998 1 -77.2002 -2.2002 -80.7998c-2.09961 -2.5 -4.69922 -3.2002 -7.69922 -3.7002c-17.7002 -3.2002 -29.6006 -4.7998 -38 -12.7998 +c-10.6006 -10.4004 -10.4004 -26.7998 1.39941 -36.7998c9.7002 -7.80078 19.7998 -7.2002 31.9004 -5c13.7998 2.59961 24.0996 10.1992 27.2998 23.7998zM345.2 416c56.8994 0 102.8 -45.9004 102.8 -102.8v-242.4c0 -56.8994 -45.7998 -102.8 -102.8 -102.8h-242.4 +c-56.8994 0 -102.8 45.9004 -102.8 102.8v242.4c0 56.8994 45.9004 102.8 102.8 102.8h242.4zM223.6 4c106.301 0 192.5 86.2002 192.5 192.5s-86.1992 192.5 -192.5 192.5c-106.3 0 -192.5 -86.2002 -192.5 -192.5s86.2002 -192.5 192.5 -192.5z" /> + <glyph glyph-name="itunes-note" unicode="&#xf3b5;" horiz-adv-x="384" +d="M381.9 59.7998c-6.40039 -27.3994 -27.2002 -42.7998 -55.1006 -48c-24.5 -4.5 -44.8994 -5.59961 -64.5 10.2002c-23.8994 20.0996 -24.2002 53.4004 -2.7002 74.4004c17 16.1992 40.9004 19.5 76.8008 25.7998c6 1.09961 11.1992 2.5 15.5996 7.39941 +c6.40039 7.2002 4.40039 4.10059 4.40039 163.2c0 11.2002 -5.5 14.2998 -17 12.2998c-8.2002 -1.39941 -185.7 -34.5996 -185.7 -34.5996c-10.2002 -2.2002 -13.4004 -5.2002 -13.4004 -16.7002c0 -234.7 1.10059 -223.899 -2.5 -239.5 +c-4.2002 -18.2002 -15.3994 -31.8994 -30.2002 -39.5c-16.7998 -9.2998 -47.1992 -13.3994 -63.3994 -10.3994c-43.2002 8.09961 -58.4004 58 -29.1006 86.5996c17 16.2002 40.9004 19.5 76.8008 25.7998c6 1.10059 11.1992 2.5 15.5996 7.40039 +c10.0996 11.5 1.7998 256.6 5.2002 270.2c0.799805 5.19922 3 9.59961 7.09961 12.8994c4.2002 3.5 11.7998 5.5 13.4004 5.5c204 38.2002 228.899 43.1006 232.399 43.1006c11.5 0.799805 18.1006 -6 18.1006 -17.6006c0.200195 -344.5 1.09961 -326 -1.7998 -338.5z" /> + <glyph glyph-name="jenkins" unicode="&#xf3b6;" horiz-adv-x="512" +d="M487.1 23c1.5 -11.9004 -5.2998 -28.2998 -8.69922 -39.7002c-4.90039 -16.2998 -9.7002 -31.8994 -14.6006 -47.2002h-422c-0.700195 1.90039 -1.39941 4 -2.09961 6c-4.60059 14.2002 -12.6006 31.7002 -14.7002 45.8008 +c-3.09961 20.8994 16.5996 22.0996 29.2002 31.0996c19.5 14 34.7998 21.7998 55.8994 34.2998c6.30078 3.7998 25.1006 13.2002 27.3008 17.6006c4.2998 8.69922 -7.30078 20.8994 -10.4004 27.6992c-4.90039 10.7002 -7.5 19.8008 -8.2002 30.4004 +c-17.7002 2.7998 -31.0996 13.2998 -39.2002 25.2002c-13.3994 19.7002 -22.6992 56 -11.0996 83.7002c0.900391 2.19922 5.40039 6.5 6.09961 9.7998c1.40039 6.59961 -2.5 15.3994 -2.69922 22.3994c-1.2002 36 6.09961 67 30.2998 77.8008 +c9.7998 39.0996 45 52.1992 78.0996 71.5996c12.2998 7.2998 26 11.9004 40.1006 17.0996c50.5 18.7002 128.1 15.1006 170.1 -16.5996c17.7998 -13.5 46.2002 -41.9004 56.4004 -62.5c26.8994 -54.2998 25 -145.1 6.19922 -211.2 +c-2.5 -8.89941 -6.19922 -21.8994 -11.2998 -32.5996c-3.59961 -7.40039 -14.7002 -22.2998 -13.2998 -28.9004c1.40039 -6.7998 25.2998 -24.8994 30.4004 -29.8994c9.19922 -8.80078 26.7998 -20.7002 28.1992 -31.9004zM205.9 414.3 +c-33.2002 -9.39941 -75.7002 -33.5 -89.3008 -63.3994c10.6006 1.5 17.9004 6.7998 28.3008 7.5c3.89941 0.299805 9.09961 -1.60059 13.5996 -0.5c9 2.2998 16.5996 22.5 23.4004 30c6.59961 7.39941 14.5996 10.5 20 17.1992c3.5 1.7002 8.69922 1.60059 8.89941 6.80078 +c-1.5 1.69922 -3.09961 2.89941 -4.89941 2.39941zM101.1 320.7c-14.6992 -16.1006 -11.5996 -46.2998 -9.7998 -67.7998c26.5 16.6992 61.6006 -1.30078 61.2998 -29.6006c12.6006 0.299805 4.7002 15.7998 2.40039 25.7002c-7.5 32.5996 12.5996 67.9004 0.900391 97.5996 +c-22.7002 -1.7998 -41.3008 -11 -54.8008 -25.8994zM137.8 120.5c4.90039 -20 15.7002 -46 26.2998 -61.4004c13.6006 -19.3994 40.1006 -22.2998 68.7002 -24.1992c5.10059 11 23.9004 10.0996 36.2002 7.19922c-14.7002 5.80078 -28.4004 19.9004 -39.7002 32.4004 +c-13 14.2998 -26.0996 29.7002 -26.7998 48.4004c24.5 -34 44.7998 -63.8008 89.5 -78.8008c33.7998 -11.2998 73.2002 5.2002 99.2002 23.4004c10.7998 7.59961 17.2002 19.5996 24.8994 30.5996c28.7002 41.2002 42 100.101 39.1006 157.101 +c-1.2002 23.5 -1.10059 47 -9 62.7998c-8.2998 16.5996 -36.2002 31.2998 -52.5 16.4004c-3 16.0996 13.5996 26.0996 33.0996 20.2998c-13.8994 18 -28.5996 39.5996 -48.2998 50.7002c-34.4004 19.5 -92.7002 34.0996 -129.3 15.7998 +c-29.6006 -14.7002 -69.5 -39.1006 -83.1006 -70c12.7002 -29.7998 -3.7998 -57.1006 -4.7998 -87.4004c-0.599609 -16.0996 7.60059 -30.2002 8.2002 -47.7002c-4.40039 -7.19922 -17.7002 -8.09961 -26.9004 -7.59961c-3.09961 15.5 -8.5 32.9004 -24.5 34.7002 +c-22.5 2.39941 -39.0996 -16.2998 -40.0996 -35.7998c-1.2002 -23 17.7002 -61 44.4004 -58.4004c10.2998 1.09961 12.7998 11.4004 24.0996 11.2998c6.09961 -12.2002 -9.40039 -16 -11 -24.7002c-0.400391 -2.19922 1.2998 -11 2.2998 -15.0996zM359.8 -3.59961 +c-1.59961 -4.40039 0.299805 -10.4004 -0.599609 -16.5c14.8994 -4.2002 31.8994 -6.40039 50.7002 -7c3.69922 4.7998 4.89941 13.7998 4.5 22.7998c-0.600586 10.7998 -3.40039 33.0996 -10.1006 37c-14.0996 8.2002 -39 -16.5 -49.5996 -20.2998 +c1.2002 -3.40039 3.09961 -6 3.2002 -10.2002c6.2998 1.5 13.8994 0.5 19.2998 -2.2002c-6.2998 -0.700195 -13.2998 -0.599609 -17.4004 -3.59961zM342.6 16.4004c7.60059 5.5 14.3008 12 22.2002 17.0996c-18.2002 -1.59961 -41 -12.9004 -59 -4.90039 +c-0.0996094 -0.899414 -1.2998 -0.599609 -1.5 -1.39941c12.2998 -9.60059 21.5 -11.6006 38.2998 -10.7998zM330.5 -16.7998c26.9004 -8.40039 22.2002 36.7998 -2.7998 20.2002c-0.700195 -8.2002 1.2002 -10.8008 2.7998 -20.2002zM226 9.40039 +c0 6.19922 3.59961 12 2.7998 16.3994c-13.7998 2.40039 -31.8994 0.799805 -41.2998 7.2998c-9.59961 -9.69922 26.9004 -23 38.5 -23.6992zM57.7002 -49.0996v-0.100586h180.7c-0.800781 2.5 -1.5 4.90039 -2.2002 7.2002c-4.7998 15.2998 -7.5 26.7002 -8.7002 35.5 +c-19.2002 9.2002 -39.7002 18.5 -56.2002 30.2002c-3 2.2002 -23.3994 28.7002 -26.2002 27.5996c-36.8994 -14.5996 -71.3994 -39.7002 -102.199 -63.5c5.59961 -11.7998 10.5 -24.2002 14.7998 -36.8994zM298.3 -54.7998h-0.799805 +c0.299805 0.200195 0.5 0.399414 0.799805 0.5v-0.5zM305.8 -49.0996h9.60059c-1 1.5 -2.10059 2.89941 -3.2002 4.2998c-2.10059 -1.5 -4.2998 -2.90039 -6.40039 -4.2998zM320.9 -24.4004c0.0996094 3.60059 0.299805 7.2002 0.399414 10.6006 +c-6.5 3.2002 -14 5.5 -23.5 5.89941c6.5 3.30078 15.9004 3.2002 21.7998 7.10059c0.100586 1.5 0.100586 2.89941 0.200195 4.2998c-10.7998 0.900391 -14.7998 5.59961 -21.8994 9.5c-11.6006 6.40039 -29 13.2002 -43.9004 16.0996 +c-18.5 3.60059 -16.7998 -25.1992 -16 -42.3994c0.700195 -13.6006 7.7002 -28 10.7998 -37c1.5 -4.2002 1.7998 -8.7002 5.40039 -9.5c6.39941 -1.5 27.3994 6.89941 33.3994 10.2002c12.7002 6.89941 22.5 17.8994 33.3008 25.1992zM374.3 -49.0996l0.600586 12.5996 +c-11.2002 -0.700195 -17.5 10.2002 -25.4004 11c-6.90039 0.700195 -12.7002 -7.90039 -21.7002 -4.2002c-2 -2.2002 -3.89941 -4.7002 -6 -6.89941c3.2002 -3.90039 6.10059 -8.10059 8.90039 -12.5h17.3994c0.200195 3.19922 2.80078 5.7998 6.10059 5.7998 +s6 -2.60059 6.09961 -5.7998h14zM383 -49.0996h36.2998c-6.7002 10.1992 -20.0996 18.7998 -35.7002 11.5c-0.199219 -3.7002 -0.399414 -7.5 -0.599609 -11.5zM466.4 -12.0996c1.19922 6.19922 4.59961 19.5996 3.7998 25.0996 +c-1.40039 9.7998 -14.6006 17.0996 -21.4004 23.0996c-12.3994 11.1006 -20.2002 21 -33.2002 31.4004c-5.19922 -7.7998 -16.5 -13 -20.7998 -19.2998c30.7002 14.8994 36.2998 -55.7998 24.2002 -78.5c1.90039 -6.7998 8.2998 -9.40039 10.9004 -15.5 +c-0.700195 -1.10059 -1.30078 -2.2002 -1.90039 -3.2998h27.9004c0.199219 0 0.399414 0 0.599609 -0.100586c4.09961 13.1006 7.59961 25.9004 9.90039 37.1006zM222.2 317.5c5.39941 14.9004 27.2002 34.7002 45 32c7.7002 -1.2002 18 -8.2002 12.2002 -17.7002 +c-30.2002 7 -45.2002 -12.5996 -54.4004 -33.0996c-8.09961 2 -4.90039 13.0996 -2.7998 18.7998zM406.3 254.4c8.2002 3.59961 22.4004 0.699219 29.6006 5.2998c-4.2002 11.5 -10.3008 21.3994 -9.30078 37.7002c0.5 0 1 0 1.40039 -0.100586 +c6.7998 -14.2002 12.7002 -29.2002 21.4004 -41.7002c-5.7002 -13.5 -43.6006 -25.3994 -43.1006 -1.19922zM309.5 251.7c-6.7998 10.8994 -19 32.5 -14.5 45.2998c6.5 -11.9004 8.59961 -24.4004 17.7998 -33.2998c4.10059 -4 12.2002 -9 8.2002 -20.2002 +c-0.900391 -2.7002 -7.7998 -8.59961 -11.7002 -9.7002c-14.3994 -4.2998 -47.8994 -0.899414 -36.5996 17.1006c11.8994 -0.700195 27.8994 -7.80078 36.7998 0.799805zM336.8 181.7c3.7998 -6.60059 1.40039 -18.7002 12.1006 -20.6006 +c20.1992 -3.39941 43.5996 12.3008 58.0996 17.8008c9 15.1992 -0.799805 20.6992 -8.90039 30.5c-16.5996 20 -38.7998 44.7998 -38 74.6992c6.7002 4.90039 7.30078 -7.39941 8.2002 -9.69922c8.7002 -20.3008 30.4004 -46.2002 46.2998 -63.5 +c3.90039 -4.30078 10.3008 -8.40039 11 -11.2002c2.10059 -8.2002 -5.39941 -18 -4.5 -23.5c-21.6992 -13.9004 -45.7998 -29.1006 -81.3994 -25.6006c-7.40039 6.7002 -10.2998 21.4004 -2.90039 31.1006zM135.5 190.9c-6.7998 3.89941 -8.40039 21 -16.4004 21.3994 +c-11.3994 0.700195 -9.2998 -22.2002 -9.2998 -35.5c-7.7998 7.10059 -9.2002 29.1006 -3.5 40.2998c-6.59961 3.2002 -9.5 -3.59961 -13.0996 -5.89941c4.7002 34.0996 49.7998 15.7998 42.2998 -20.2998zM435.1 162.1c-10.0996 -19.1992 -24.3994 -40.3994 -54 -41 +c-0.599609 6.2002 -1.09961 15.6006 0 19.4004c22.7002 2.2002 36.6006 13.7002 54 21.5996zM293.2 149.7c18.8994 -9.90039 53.5996 -11 79.2998 -10.2002c1.40039 -5.59961 1.2998 -12.5996 1.40039 -19.4004c-33 -1.7998 -72 6.40039 -80.7002 29.6006zM385.4 103 +c-1.7002 -4.2998 -5.30078 -9.2998 -9.80078 -11.0996c-12.0996 -4.90039 -45.5996 -8.7002 -62.3994 0.299805c-10.7002 5.7002 -17.5 18.5 -23.4004 26c-2.7998 3.59961 -16.8994 12.8994 -0.200195 12.8994c13.1006 -32.6992 58 -29 95.8008 -28.0996z" /> + <glyph glyph-name="joget" unicode="&#xf3b7;" horiz-adv-x="496" +d="M378.1 403c116.601 -71.7998 152.9 -224.6 81 -341.2c-71.8994 -116.5 -224.6 -152.8 -341.199 -80.8994c-116.601 71.8994 -152.9 224.6 -81 341.199c46.8994 76 128.1 117.9 211.3 117.9c44.3994 0 89.3994 -11.9004 129.899 -37zM429.9 79.7998 +c5.2998 8.7002 9.89941 17.6006 13.8994 26.6006c-32.0996 -1.10059 -157.1 1.5 -208.8 -17.6006c-58.4004 -21.5 -36.9004 -53.3994 -31.2002 -67.0996c3.7998 -9.10059 14.7002 -28.7998 23.7002 -42.4004c6.7998 -0.599609 13.5996 -1 20.4004 -1 +c71.5996 0 141.6 36 182 101.5zM229.1 166.1c51 -1.2998 205.4 -4.39941 230.301 -4.89941c11.8994 81.7998 -24.5 166.6 -99.3008 212.7c-100.5 61.8994 -232.1 30.6992 -294 -69.8008c-28.5996 -46.3994 -37.2998 -99.3994 -28.5 -149.1 +c11 40.9004 49.7002 131.5 178.301 140.2c50.8994 4 41.5 -19.2002 23.5996 -29.7002c-17.7998 -10.5 -45.7002 -23.7998 -68.9004 -51.2002c-23.1992 -27.3994 3 -46.7998 58.5 -48.2002zM412.9 220.9c22.6992 -6 19.0996 -15.5 19.0996 -15.5l-46.5 -23.4004 +l-169.5 -1.59961s33.7998 10.7998 65.2998 31.2998c26 16.8994 49.7002 35.5996 67.5 35.5996c3.7002 0 7.2002 -0.899414 10.4004 -2.7002c18.5 -10.5996 -2.90039 -18.1992 -13.4004 -24.5996s-50.7002 -34.5 -50.7002 -34.5s1.40039 -7.59961 31.1006 8.2002 +c29.7002 15.8994 64 33.2002 86.7002 27.2002z" /> + <glyph glyph-name="js" unicode="&#xf3b8;" +d="M0 416h448v-448h-448v448zM243.8 66.5996v143.7h-42.0996v-143.1c0 -21.1006 -8.7998 -26.5 -22.6006 -26.5c-14.5 0 -20.5 9.89941 -27.0996 21.5996l-34.2998 -20.7002c10 -21.0996 29.5 -38.5 63.2002 -38.5c37.2998 0 62.8994 19.9004 62.8994 63.5zM343.4 3.09961 +c39.8994 0 69.6992 20.8008 69.6992 58.6006c0 35.2002 -20.0996 50.8994 -55.8994 66.2002l-10.5 4.5c-18.1006 7.89941 -25.9004 13 -25.9004 25.5996c0 10.2002 7.7998 18 20.1006 18c12.0996 0 19.8994 -5.09961 27.0996 -18l32.7998 21 +c-13.7998 24.4004 -33 33.7002 -59.7998 33.7002c-37.5 0 -61.5996 -24 -61.5996 -55.6006c0 -34.2998 20.0996 -50.5996 50.5 -63.5l10.5 -4.5c19.2998 -8.5 30.6992 -13.5996 30.6992 -28c0 -12.0996 -11.1992 -20.7998 -28.5996 -20.7998 +c-20.7002 0 -32.5 10.9004 -41.5 25.6006l-34.2998 -19.8008c12.2998 -24.3994 37.5996 -43 76.7002 -43z" /> + <glyph glyph-name="js-square" unicode="&#xf3b9;" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM243.8 66.5996v143.7h-42.0996v-143.1c0 -21.1006 -8.7998 -26.5 -22.6006 -26.5c-14.5 0 -20.5 9.89941 -27.0996 21.5996 +l-34.2998 -20.7002c10 -21.0996 29.5 -38.5 63.2002 -38.5c37.2998 0 62.8994 19.9004 62.8994 63.5zM343.4 3.09961c39.8994 0 69.6992 20.8008 69.6992 58.6006c0 35.2002 -20.0996 50.8994 -55.8994 66.2002l-10.5 4.5c-18.1006 7.89941 -25.9004 13 -25.9004 25.5996 +c0 10.2002 7.7998 18 20.1006 18c12.0996 0 19.8994 -5.09961 27.0996 -18l32.7998 21c-13.7998 24.4004 -33 33.7002 -59.7998 33.7002c-37.5 0 -61.5996 -24 -61.5996 -55.6006c0 -34.2998 20.0996 -50.5996 50.5 -63.5l10.5 -4.5 +c19.2998 -8.5 30.6992 -13.5996 30.6992 -28c0 -12.0996 -11.1992 -20.7998 -28.5996 -20.7998c-20.7002 0 -32.5 10.9004 -41.5 25.6006l-34.2998 -19.8008c12.2998 -24.3994 37.5996 -43 76.7002 -43z" /> + <glyph glyph-name="keycdn" unicode="&#xf3ba;" horiz-adv-x="512" +d="M63.7998 38.7002l60.5 59c32.1006 -42.7998 71.1006 -66 126.601 -67.4004c30.5 -0.700195 60.2998 7 86.3994 22.4004c5.10059 -5.2998 18.5 -19.5 20.9004 -22c-32.2002 -20.7002 -69.6006 -31.1006 -108.101 -30.2002 +c-43.2998 1.09961 -84.5996 16.7002 -117.699 44.4004c0.299805 0.599609 -38.2002 -37.5 -38.6006 -37.9004c9.5 -29.7998 -13.0996 -62.4004 -46.2998 -62.4004c-26.7998 0.100586 -47.5 21.7002 -47.5 48.5c0 34.3008 33.0996 56.6006 63.7998 45.6006zM418.7 291.1 +c19.0996 -31.2998 29.5996 -67.3994 28.7002 -104c-1.10059 -44.7998 -19 -87.5 -48.6006 -121c0.299805 -0.299805 23.7998 -25.1992 24.1006 -25.5c9.59961 1.30078 19.1992 -2 25.8994 -9.09961c11.2998 -12 10.9004 -30.9004 -1.09961 -42.4004 +c-12 -11.2998 -30.9004 -10.8994 -42.4004 1.10059c-6.7002 7 -9.39941 16.7998 -7.59961 26.2998c-24.9004 26.5996 -44.4004 47.2002 -44.4004 47.2002c42.7002 34.0996 63.2998 79.5996 64.4004 124.2c0.700195 28.8994 -7.2002 57.1992 -21.1006 82.1992zM104 394.9 +c6.7002 -7 9.40039 -16.8008 7.59961 -26.3008l45.9004 -48.0996c-4.7002 -3.7998 -13.2998 -10.4004 -22.7998 -21.2998c-25.4004 -28.5 -39.6006 -64.7998 -40.7002 -102.9c-0.700195 -28.8994 6.09961 -57.2002 20 -82.3994l-22 -21.5 +c-19.2998 31.5996 -28.9004 67.6992 -27.7998 104.699c1 44.6006 18.2998 87.6006 47.5 121.101l-25.2998 26.3994c-9.60059 -1.2998 -19.2002 2 -25.9004 9.10059c-11.2998 12 -10.9004 30.8994 1.09961 42.3994c11.9004 11.2002 30.6006 10.9004 42.4004 -1.19922z +M464.9 440c26 0 47.0996 -22.4004 47.0996 -48.2998c0 -25.9004 -21.0996 -47.7002 -47.0996 -47.7002c-6.30078 -0.0996094 -14 1.09961 -15.9004 1.7998l-62.9004 -59.7002c-32.6992 43.6006 -76.6992 65.9004 -126.899 67.2002 +c-30.5 0.700195 -60.2998 -6.7998 -86.2002 -22.3994l-21.0996 22c32.1992 20.7998 69.5996 31.0996 108.1 30.1992c43.2998 -1.09961 84.5996 -16.6992 117.7 -44.5996l41.0996 38.5996c-1.5 4.7002 -2.2002 9.60059 -2.2002 14.5 +c-0.0996094 26.7002 22.3008 48.4004 48.3008 48.4004zM256.7 334.6c5.5 0 10.8994 -0.399414 16.3994 -1.09961c78.1006 -9.7998 133.4 -81.0996 123.801 -159.1c-9.80078 -78.1006 -81.1006 -133.4 -159.101 -123.801c-78.0996 9.80078 -133.399 81.1006 -123.8 159.2 +c9.2998 72.4004 70.0996 124.601 142.7 124.8zM197.7 215.2c0.599609 -22.7002 12.2002 -41.7998 32.3994 -52.2002l-11 -51.7002h73.7002l-11 51.7002c20.1006 10.9004 32.1006 29 32.4004 52.2002c-0.400391 32.7998 -25.7998 57.5 -58.2998 58.2998 +c-32.1006 -0.799805 -57.3008 -24.7998 -58.2002 -58.2998zM256 288z" /> + <glyph glyph-name="kickstarter" unicode="&#xf3bb;" +d="M400 -32h-352c-26.4004 0 -48 21.5996 -48 48v352c0 26.4004 21.5996 48 48 48h352c26.4004 0 48 -21.5996 48 -48v-352c0 -26.4004 -21.5996 -48 -48 -48zM199.6 269.5c0 30.7002 -17.5996 45.0996 -39.6992 45.0996c-25.8008 0 -40 -19.7998 -40 -44.5v-154.8 +c0 -25.7998 13.6992 -45.5996 40.5 -45.5996c21.5 0 39.1992 14 39.1992 45.5996v41.7998l60.6006 -75.6992c12.2998 -14.9004 39 -16.8008 55.7998 0c14.5996 15.0996 14.7998 36.7998 4 50.3994l-49.0996 62.7998l40.5 58.7002c9.39941 13.5 9.5 34.5 -5.60059 49.1006 +c-16.3994 15.8994 -44.5996 17.2998 -61.3994 -7l-44.8008 -64.7002v38.7998z" /> + <glyph glyph-name="kickstarter-k" unicode="&#xf3bc;" horiz-adv-x="384" +d="M147.3 333.6v-70.5996l82.7998 118.2c31.2002 44.3994 83.3008 41.7998 113.601 12.7998c27.8994 -26.7002 27.7998 -65.0996 10.3994 -89.7998l-74.8994 -107.4l90.7998 -114.8c19.9004 -24.7998 19.5996 -64.5996 -7.40039 -92.2002 +c-31.0996 -30.7002 -80.5 -27.2002 -103.199 0l-112.101 138.3v-76.5c0 -57.7998 -32.5996 -83.3994 -72.3994 -83.3994c-49.6006 0 -74.9004 36.0996 -74.9004 83.3994v283c0 45.2002 26.2002 81.4004 73.9004 81.4004c40.8994 0 73.3994 -26.2002 73.3994 -82.4004z" /> + <glyph glyph-name="laravel" unicode="&#xf3bd;" horiz-adv-x="640" +d="M637.5 206.4c4.2998 -4.80078 3.2002 -8.60059 -4.7002 -10.6006c-6.7002 -1.89941 -69.5996 -18.5996 -87.2998 -23.2998c25.7998 -34.5996 75.0996 -100.6 79.2998 -106.8c5.7002 -8.5 0.5 -10.9004 -7.89941 -14.4004c-8.40039 -3.39941 -195.2 -70.5996 -208 -74.5 +c-16.3008 -5 -23.7002 -7.5 -34.3008 7.40039c-8 11.0996 -51.0996 88.7002 -72.1992 127c-40 -10.5 -113.2 -29.6006 -134.301 -34.7002c-20.5996 -5 -29.3994 7.40039 -32.7998 15c-3.39941 7.59961 -124.8 269.2 -132.399 287.2c-7.60059 18 0.799805 21.3994 8.39941 22 +c7.60059 0.700195 114.5 9.59961 128.5 10.2002c14 0.699219 15.2998 -2.5 21.4004 -11.6006l154.2 -257.5l193.699 46.4004c-10.7998 15.2002 -59.5 84.2998 -64.1992 90.8994c-5.30078 7.40039 0.0996094 10.8008 8.69922 12.3008 +c8.60059 1.39941 82.7002 13.8994 89.1006 14.7998c6.2998 0.899414 11.3994 3.09961 21.7002 -9.2998c10.2998 -12.4004 68.8994 -85.7002 73.0996 -90.5zM285.3 134.4c2.2998 0.5 3.7998 1.7998 1.2002 6.09961c-2.40039 4.2998 -144.6 249.7 -144.6 249.7 +c-1.30078 2.2002 -0.900391 3 -4.5 2.7998c-3.5 -0.200195 -104.301 -9.2002 -106 -9.2002c-1.7002 0 -1.80078 -2.59961 0 -5.89941c1.7998 -3.30078 130.1 -268 130.8 -270s0.700195 -2.60059 6.5 -1.30078c5.7998 1.30078 114.3 27.3008 116.6 27.8008zM591.3 77 +c-1.7002 2.7002 -61.2002 83.4004 -64.0996 88.2002c-3 4.7002 -4.5 3.7002 -9.2002 2.2002l-188.8 -49.1006s58 -100.3 62.3994 -106.8c4.40039 -6.5 7.10059 -6 10.6006 -4.5c3.39941 1.5 181.7 61.5996 187.1 63.5996c5.5 1.90039 3.7002 3.7002 2 6.40039zM603.4 211.1 +c4.19922 1 7.39941 2.40039 5.59961 4.7002c-1.90039 2.40039 -50.9004 64.5 -54.5 69.4004c-3.59961 4.89941 -6.09961 4.09961 -9 3.39941c-2.90039 -0.599609 -67.2998 -12.2998 -71.2998 -12.7998s-2.7002 -2.7002 -1.10059 -5l56.7002 -77.7998 +s69.4004 17.2002 73.6006 18.0996z" /> + <glyph glyph-name="line" unicode="&#xf3c0;" +d="M272.1 243.8v-71.0996c0 -1.7998 -1.39941 -3.2002 -3.19922 -3.2002h-11.4004c-1.09961 0 -2.09961 0.599609 -2.59961 1.2998l-32.6006 44v-42.2002c0 -1.7998 -1.39941 -3.19922 -3.2002 -3.19922h-11.3994c-1.7998 0 -3.2002 1.39941 -3.2002 3.19922v71.1006 +c0 1.7998 1.40039 3.2002 3.2002 3.2002h11.2998c1 0 2.09961 -0.5 2.59961 -1.40039l32.6006 -44v42.2002c0 1.7998 1.39941 3.2002 3.2002 3.2002h11.3994c1.7998 0.0996094 3.2998 -1.40039 3.2998 -3.10059zM190.1 247c1.80078 0 3.2002 -1.5 3.2002 -3.2002v-71.0996 +c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-11.3994c-1.7998 0 -3.2002 1.40039 -3.2002 3.2002v71.0996c0 1.7998 1.40039 3.2002 3.2002 3.2002h11.3994zM162.6 187.4c1.7002 0 3.10059 -1.5 3.10059 -3.2002v-11.4004c0 -1.7998 -1.40039 -3.2002 -3.2002 -3.2002 +h-45.7002c-0.899414 0 -1.59961 0.400391 -2.2002 0.900391c-0.599609 0.599609 -0.899414 1.2998 -0.899414 2.2002v71.0996c0 1.7998 1.39941 3.2002 3.2002 3.2002h11.3994c1.7998 0 3.2002 -1.40039 3.2002 -3.2002v-56.3994h31.0996zM332.1 247 +c1.7002 0 3.10059 -1.5 3.2002 -3.2002v-11.3994c0 -1.80078 -1.39941 -3.2002 -3.2002 -3.2002h-31.0996v-12h31.0996c1.80078 0 3.2002 -1.40039 3.2002 -3.2002v-11.5c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-31.0996v-12h31.0996 +c1.80078 0 3.2002 -1.39941 3.2002 -3.2002v-11.3994c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-45.6992c-1.80078 0 -3.2002 1.5 -3.2002 3.2002v71.0996c0 1.7998 1.5 3.2002 3.2002 3.2002h45.6992zM448 334.3v-285.3 +c-0.0996094 -44.7998 -36.7998 -81.0996 -81.7002 -81h-285.3c-44.7998 0.0996094 -81.0996 36.9004 -81 81.7002v285.3c0.0996094 44.7998 36.9004 81.0996 81.7002 81h285.3c44.7998 -0.0996094 81.0996 -36.7998 81 -81.7002zM386.4 211.7 +c0 73 -73.2002 132.399 -163.101 132.399c-89.8994 0 -163.1 -59.3994 -163.1 -132.399c0 -65.4004 58 -120.2 136.399 -130.601c19.1006 -4.09961 16.9004 -11.0996 12.6006 -36.7998c-0.700195 -4.09961 -3.2998 -16.0996 14.0996 -8.7998 +c17.4004 7.2998 93.9004 55.2998 128.2 94.7002c23.5996 26 34.9004 52.2998 34.9004 81.5z" /> + <glyph glyph-name="lyft" unicode="&#xf3c3;" horiz-adv-x="512" +d="M0 366.9h77.7998v-208.7c0 -33.1006 15 -52.7998 27.2002 -61c-12.7002 -11.1006 -51.2002 -20.9004 -80.2002 2.7998c-17 14 -24.7998 37.2998 -24.7998 59v207.9zM485.9 193.4c0 -14.2002 11.5996 -25.9004 26.0996 -25.9004v-76.5 +c-56.7002 0 -102.7 46.0996 -102.7 102.7v77.0996c0 34.6006 -52.2002 34.6006 -52.2002 0v-23.2998h38.8008v-76.7998h-38.8008v-6.7002c0 -21.7998 -7.69922 -45 -24.7998 -59c-16.2998 -13.7002 -35.7002 -16.2998 -51.7002 -14v179.2 +c0 56.7002 46.1006 102.7 102.7 102.7c49.1006 0 90.2002 -34.4004 100.3 -80.7002h26.1006v-76.7998h-23.7998v-22zM191.6 292.4v0.5h77.1006v-178.2c0 -52.4004 -29.7002 -91.7002 -76.7998 -100.8c-26.1006 -5.10059 -52.5 -2.80078 -77.6006 4.69922v70.3008 +c9.7998 -4.2002 29.5 -9.40039 45 -7.80078c20.4004 2 32.7998 11.9004 34.9004 25.3008c0 0 -21.2002 -20.4004 -58.2002 -10.6006c-37 9.90039 -45 40.1006 -45 63.9004v132.7h76.7998v-113c0 -15.4004 23.7998 -15.4004 23.7998 0v113z" /> + <glyph glyph-name="magento" unicode="&#xf3c4;" +d="M445.7 320.1v-256.1l-63.4004 -36.5v255.8l-158.5 91.6006l-158.6 -91.6006l0.399414 -255.899l-63.2998 36.5996v255.9l221.9 128.1zM255.6 27.5v255.9l63.4004 -36.6006v-256l-95.0996 -54.8994l-94.9004 54.8994l-0.0996094 255.9l63.2998 36.5996v-256 +l31.7998 -18.2002z" /> + <glyph glyph-name="medapps" unicode="&#xf3c6;" horiz-adv-x="320" +d="M118.3 209.6c3.5 12.5 6.90039 33.6006 13.2002 33.6006c8.2998 -1.7998 9.59961 -23.4004 18.5996 -36.6006c4.60059 23.5 5.30078 85.1006 14.1006 86.7002c9 0.700195 19.7002 -66.5 22 -77.5c9.89941 -4.09961 48.8994 -6.59961 48.8994 -6.59961 +c1.90039 -7.2998 -24 -7.60059 -40 -7.7998c-4.59961 -14.8008 -5.39941 -27.7002 -11.3994 -28c-4.7002 -0.200195 -8.2002 28.7998 -17.5 49.5996l-9.40039 -65.5c-4.39941 -13 -15.5 22.5 -21.8994 39.2998c-3.30078 0.100586 -62.4004 1.60059 -47.6006 7.7998zM228 0 +h-136c-21.2002 0 -21.2002 32 0 32h136c21.2002 0 21.2002 -32 0 -32zM204 -64h-88c-21.2002 0 -21.2002 32 0 32h88c21.2002 0 21.2002 -32 0 -32zM238.2 77.5c-3.60059 -21.2998 -36 -15.5 -32.6006 5.09961c3.60059 21.2002 5.60059 40.6006 15.3008 58.6006 +c32.5996 60.2998 66.0996 95.5 66.0996 151.6c0 67.9004 -57 123.2 -127 123.2s-127 -55.2998 -127 -123.2c0 -56.0996 33.5 -91.2998 66.0996 -151.7c9.7002 -17.8994 11.7002 -36.8994 15.3008 -58.5996c3.5 -20.7998 -29.1006 -26.0996 -32.6006 -5.09961 +c-3.2002 19.0996 -5.2002 36.3994 -11.8994 48.8994c-8 14.7002 -16.1006 28.1006 -24 41c-24.6006 40.4004 -45.9004 75.2998 -45.9004 125.5c0 85.6006 71.7998 155.2 160 155.2s160 -69.5996 160 -155.2c0 -50.2998 -21.2998 -85.0996 -45.9004 -125.5 +c-7.89941 -12.8994 -16.0996 -26.2998 -24 -41c-6.69922 -12.3994 -8.69922 -29.8994 -11.8994 -48.7998z" /> + <glyph glyph-name="medium-m" unicode="&#xf3c7;" horiz-adv-x="512" +d="M71.5 305.7c0.599609 5.89941 -1.7002 11.7998 -6.09961 15.7998l-45.1006 54.4004v8.09961h140.2l108.4 -237.7l95.2998 237.7h133.7v-8.09961l-38.6006 -37c-3.2998 -2.5 -5 -6.7002 -4.2998 -10.8008v-272c-0.700195 -4.09961 1 -8.2998 4.2998 -10.7998l37.7002 -37 +v-8.09961h-189.7v8.09961l39.1006 37.9004c3.7998 3.7998 3.7998 5 3.7998 10.7998v219.8l-108.7 -275.899h-14.7002l-126.399 275.899v-184.899c-1.10059 -7.80078 1.5 -15.6006 7 -21.2002l50.7998 -61.6006v-8.09961h-144v8l50.7998 61.7002 +c5.40039 5.59961 7.90039 13.5 6.5 21.2002v213.8z" /> + <glyph glyph-name="medrt" unicode="&#xf3c8;" horiz-adv-x="544" +d="M113.7 192c0 -121.8 83.8994 -222.8 193.5 -241.1c-18.7002 -4.5 -38.2002 -6.90039 -58.2002 -6.90039c-137.6 0 -249 111 -249 248s111.4 248 248.9 248c20.0996 0 39.5996 -2.40039 58.1992 -6.90039c-109.6 -18.2998 -193.399 -119.3 -193.399 -241.1zM411.1 91.7002 +c77.7002 55.3994 104.4 155.1 67 233.899c11.2002 -9.89941 21.5 -21.2998 30.5 -34.1992c61.6006 -88.3008 40.8008 -210.301 -46.5 -272.601c-87.2998 -62.2998 -208.1 -41.2002 -269.699 47c-9 12.7998 -16.2002 26.4004 -21.7002 40.5 +c60.7998 -62.0996 162.7 -70 240.399 -14.5996zM192.3 335.7c72.5 54.5996 171.601 45.7002 221.601 -19.7998c45.2998 -59.7002 34.3994 -145.601 -22.3008 -201.801c18.5 51.4004 11.3008 111 -24.3994 158c-43 56.5 -114.601 78.3008 -178.9 60.5 +c1.2998 1 2.60059 2.10059 4 3.10059zM296 224h40c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-40c-4.40039 0 -8 -3.59961 -8 -8v-40c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v40c0 4.40039 -3.59961 8 -8 8h-40 +c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h40c4.40039 0 8 3.59961 8 8v40c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-40c0 -4.40039 3.59961 -8 8 -8z" /> + <glyph glyph-name="microsoft" unicode="&#xf3ca;" +d="M0 416h214.6v-214.6h-214.6v214.6zM233.4 416h214.6v-214.6h-214.6v214.6zM0 182.6h214.6v-214.6h-214.6v214.6zM233.4 182.6h214.6v-214.6h-214.6v214.6z" /> + <glyph glyph-name="mix" unicode="&#xf3cb;" +d="M0 384h448v-204.1c0 -56.6006 -88 -59.9004 -88 0v23.7998c0 56.7998 -82.7002 59 -88 4.2998v-116.1c0 -58 -96 -57.9004 -96 0v175.3c0 56.8994 -80.0996 59.3994 -88 6.5v-238.601c0 -58.0996 -88 -56.1992 -88 0v348.9z" /> + <glyph glyph-name="mizuni" unicode="&#xf3cc;" horiz-adv-x="496" +d="M248 440c137 0 248 -111.1 248 -248c0 -137 -111 -248 -248 -248s-248 111 -248 248c0 136.9 111 248 248 248zM168 88.0996v223.9c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-272.1c21.2002 20.8994 48.5996 37.5996 80 48.1992zM288 98v214 +c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-214c13 2 26.4004 3.09961 40.2002 3.09961c13.5996 0 26.8994 -1.09961 39.7998 -3.09961zM408 40.2998v271.7c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-223.7c31.4004 -10.5996 58.7998 -27.2002 80 -48z +" /> + <glyph glyph-name="monero" unicode="&#xf3d0;" horiz-adv-x="496" +d="M352 64h108.4c-43.4004 -71.9004 -122.301 -120 -212.4 -120s-169 48.0996 -212.4 120h108.4v127.8l104 -104.8l104 105v-128zM88 112h-74.7998c-8.60059 25.0996 -13.2002 52 -13.2002 80c0 137 111 248 248 248s248 -111 248 -248c0 -28 -4.7002 -54.9004 -13.2002 -80 +h-74.7998v208l-160.6 -159.4l-159.4 159.4v-208z" /> + <glyph glyph-name="napster" unicode="&#xf3d2;" horiz-adv-x="496" +d="M298.3 74.4004c-14.2002 -13.6006 -31.2998 -24.1006 -50.3994 -30.5c-19 6.39941 -36.2002 16.8994 -50.3008 30.5h100.7zM342.3 274c-56.3994 39.7998 -132.1 39.9004 -188.899 -0.0996094c-19.9004 16.7998 -43.6006 29.5 -69.5 36.3994v-161.6 +c0 -217.3 328 -219.101 328 0.299805v161.2c-26 -7 -49.6006 -19.2998 -69.6006 -36.2002zM133.5 332.5c6.5 -3.2002 14.0996 -7.40039 20.4004 -11.4004c58.6992 30.5 129.199 30.6006 187.899 0.100586c6.7002 4.2002 13.5 8 20.6006 11.5 +c-64.6006 59.8994 -164.5 59.7998 -228.9 -0.200195zM43.7998 354.8c17.5 -0.5 34.2998 -3.09961 50.6006 -7.5c82 91.6006 225.5 91.6006 307.5 0.100586c16.0996 4.39941 32.7998 6.89941 50.0996 7.39941v-69.2002c58.7002 -36.5 58.5 -121.899 -0.200195 -158.199 +l-0.299805 -1.7002c-25.9004 -238.8 -381.2 -243.601 -407.6 1.5c-58.5 37.2002 -58.5 121.8 -0.100586 158.3v69.2998zM259.2 96c13.0996 59.2998 33.5 56 113 55.4004c-0.799805 -8.2002 0.0996094 -32.3008 -26.2002 -47.4004c-4.40039 -2.5 -15.2998 -6 -25.5 -6.5 +c-25.2998 -1.2002 -61.2998 -1.5 -61.2998 -1.5zM123.7 151.3c79.2998 0.700195 99.7998 4 113 -55.3994c0 0 -36 0.399414 -61.2998 1.5c-10.3008 0.5 -21.1006 4 -25.5 6.5c-26.3008 15.0996 -25.4004 39.1992 -26.2002 47.3994zM292.8 27.9004 +c3 -4.90039 3.2002 -8.80078 3.2998 -8.90039c-29.0996 -17.5996 -67.0996 -17.5996 -96.1992 0c0 0 0.899414 5.5 3.69922 9.59961c3.5 5.10059 6.40039 6.60059 6.40039 6.60059c23.7002 -6.90039 51.0996 -7.2998 75.9004 0c0 0 3.69922 -2 6.89941 -7.2998z" /> + <glyph glyph-name="node-js" unicode="&#xf3d3;" +d="M224 -60c-6.7002 0 -13.5 1.7998 -19.4004 5.2002l-61.6992 36.5c-9.2002 5.2002 -4.7002 7 -1.7002 8c12.2998 4.2998 14.7998 5.2002 27.8994 12.7002c1.40039 0.799805 3.2002 0.5 4.60059 -0.400391l47.3994 -28.0996c1.7002 -1 4.10059 -1 5.7002 0l184.7 106.6 +c1.7002 1 2.7998 3 2.7998 5v213.2c0 2.09961 -1.09961 4 -2.89941 5.09961l-184.601 106.5c-1.7002 1 -4 1 -5.7002 0l-184.5 -106.6c-1.7998 -1 -2.89941 -3 -2.89941 -5.10059v-213.1c0 -2 1.09961 -4 2.89941 -4.90039l50.6006 -29.1992 +c27.5 -13.7002 44.2998 2.39941 44.2998 18.6992v210.4c0 3 2.40039 5.2998 5.40039 5.2998h23.3994c2.90039 0 5.40039 -2.2998 5.40039 -5.2998v-210.5c0 -36.5996 -20 -57.5996 -54.7002 -57.5996c-10.7002 0 -19.0996 0 -42.5 11.5996l-48.4004 27.9004 +c-12 6.89941 -19.3994 19.7998 -19.3994 33.6992v213.101c0 13.7998 7.39941 26.7998 19.3994 33.7002l184.5 106.6c11.7002 6.59961 27.2002 6.59961 38.8008 0l184.699 -106.7c12 -6.89941 19.4004 -19.7998 19.4004 -33.7002v-213.1 +c0 -13.7998 -7.40039 -26.7002 -19.4004 -33.7002l-184.699 -106.6c-5.90039 -3.40039 -12.6006 -5.2002 -19.4004 -5.2002zM373.1 150.1c0 -40.1992 -33.5996 -63.2998 -92 -63.3994c-80.8994 0 -97.7998 37.0996 -97.7998 68.2002c0 2.89941 2.2998 5.2998 5.2998 5.2998 +h23.9004c2.7002 0 4.90039 -1.90039 5.2998 -4.5c3.60059 -24.2998 14.2998 -36.6006 63.2002 -36.6006c38.9004 0 55.5 8.80078 55.5 29.4004c0 11.9004 -4.7002 20.7998 -65.2002 26.7002c-50.5 5 -81.7998 16.2002 -81.7998 56.5996c0 37.2998 31.4004 59.5 84.0996 59.5 +c59.2002 0 88.5 -20.5 92.2002 -64.5996c0.100586 -1.5 -0.399414 -3 -1.39941 -4.10059c-1 -1.09961 -2.40039 -1.69922 -3.90039 -1.69922h-24c-2.5 0 -4.7002 1.7998 -5.2002 4.19922c-5.7998 25.6006 -19.7998 33.8008 -57.7002 33.8008 +c-42.5 0 -47.3994 -14.8008 -47.3994 -25.9004c0 -13.4004 5.7998 -17.2998 63.2002 -24.9004c56.6992 -7.5 83.6992 -18.0996 83.6992 -58z" /> + <glyph glyph-name="npm" unicode="&#xf3d4;" horiz-adv-x="576" +d="M288 160h-32v64h32v-64zM576 288v-192h-288v-32h-128v32h-160v192h576zM160 256h-128v-128h64v96h32v-96h32v128zM320 256h-128v-160h64v32h64v128zM544 256h-192v-128h64v96h32v-96h32v96h32v-96h32v128z" /> + <glyph glyph-name="ns8" unicode="&#xf3d5;" horiz-adv-x="640" +d="M187.1 288.1h44.9004l-48.5 -160.1h-56.9004l-50.5996 106.5l-31.0996 -106.5h-44.9004l49 160.1h49.4004l54.5 -113.699zM639.6 289c4.60059 -28.5996 -36.0996 -44.7002 -65.6992 -50.5996h-0.100586c17.5 -29.3008 22.1006 -69.3008 3.40039 -105.5 +c-26.4004 -51.2002 -86.5 -79.9004 -135.101 -68c-29.3994 7.19922 -51.3994 29 -56.7998 59.5c-0.700195 3.5 -1 7.09961 -1.2002 10.7998c-5.5 -2.7998 -11.8994 -4.2002 -18.5 -4.90039c-15.5996 -1.7002 -21 -2.2998 -160.899 -2.2998l11.5996 39.5h126.8 +c9.10059 0 12.2002 3.2002 13.8008 7.40039c1.69922 4.59961 3.39941 10.1992 4.5 14.5996c1.09961 3.90039 0.0996094 6.59961 -7.7002 6.59961h-87.2998c-33.4004 0 -38.2002 9.2002 -32.8008 28.6006c3.2002 11.5 10.8008 37.2002 17.6006 47.0996 +c7.09961 10.2002 18.2998 13.7002 30.5996 15c15.6006 1.7002 20.4004 1.2002 160.101 1.2002l-9.7002 -31.5h-133.5c-5.5 0 -11.2002 -0.700195 -13.2998 -7.09961c-1.80078 -5.40039 -2.10059 -6.7002 -3.7002 -12.2002c-1.40039 -5.10059 2.2002 -7.40039 11.5 -7.40039 +h87.5996c20.4004 0 31 -6.7998 34 -16.5996c19.9004 21.3994 50.4004 39.5 94.2002 48.2002v0.0996094c-13.4004 42.5 43.9004 66.5996 88.5 58.7998c18.2002 -3.2002 39.2002 -13.2998 42.0996 -31.2998zM530.7 184.3c3.09961 15.7998 -0.5 33.7002 -7.2002 47.7998 +c-23.2998 -2.89941 -52.2998 -10.0996 -68.5 -26.8994c-24.4004 -25.2998 -16.7998 -60 14.0996 -64.7998c25 -3.90039 55.7002 14.3994 61.6006 43.8994zM552.5 267.4c10.5996 1.5 23.5 3.5 34.2002 9.59961c14.7998 8.5 10.3994 21 -4.90039 24.4004 +c-10.8994 2.39941 -25.0996 -0.5 -31.7998 -7.7002c-7.2998 -7.7998 -1.7002 -20.2998 2.5 -26.2998z" /> + <glyph glyph-name="nutritionix" unicode="&#xf3d6;" horiz-adv-x="400" +d="M88 439.9c0 0 133.4 8.19922 121 -104.4c0 0 19.0996 74.9004 103 40.5996c0 0 -17.7002 -74 -88 -56c0 0 14.5996 54.6006 66.0996 56.6006c0 0 -39.8994 10.2998 -82.0996 -48.7998c0 0 -19.7998 94.5 -93.5996 99.6992c0 0 75.1992 -19.3994 77.5996 -107.5 +c0 -0.0996094 -106.4 -7 -104 119.801zM400 124.3c0 -48.5 -9.7002 -95.2998 -32 -132.3c-42.2002 -30.9004 -105 -48 -168 -48c-62.9004 0 -125.8 17.0996 -168 48c-22.2998 37 -32 83.7998 -32 132.3c0 48.4004 17.7002 94.7002 40 131.7 +c42.2002 30.9004 97.0996 48.5996 160 48.5996c63 0 117.8 -17.5996 160 -48.5996c22.2998 -37 40 -83.2998 40 -131.7zM120 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM120 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28 +s12.5 -28 28 -28s28 12.5 28 28zM120 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM192 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM192 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28 +s12.5 -28 28 -28s28 12.5 28 28zM192 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM264 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM264 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28 +s12.5 -28 28 -28s28 12.5 28 28zM264 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM336 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM336 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28 +s12.5 -28 28 -28s28 12.5 28 28zM336 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM360 192c-4.7998 22.2998 -7.40039 36.9004 -16 56c-38.7998 19.9004 -90.5 32 -144 32s-105.2 -12.0996 -144 -32 +c-8.7998 -19.5 -11.2002 -33.9004 -16 -56c42.2002 7.90039 98.7002 14.7998 160 14.7998s117.8 -6.89941 160 -14.7998z" /> + <glyph glyph-name="page4" unicode="&#xf3d7;" horiz-adv-x="496" +d="M248 -56c-137 0 -248 111 -248 248s111 248 248 248c20.9004 0 41.2998 -2.59961 60.7002 -7.5l-266.4 -376.5h205.7v-112zM248 87.5996h-149.4l149.4 213.601v-213.601zM344 56h111.4c-26.9004 -41 -65.7002 -73.5 -111.4 -92.7002v92.7002zM401.4 194.2v-16.7002 +l-21.2002 8.2998zM381.1 139.7c5.90039 0 8.2002 -4.7002 8.2002 -10.6006v-10h-16.2002v7.7002c0 6.60059 1.30078 12.9004 8 12.9004zM496 192c0 -37.2998 -8.2002 -72.7002 -23 -104.4h-129v333.101c89.2998 -37.5 152 -125.8 152 -228.7zM360.4 304.4h68.1992v47.5996 +h-13.8994v-32.5996h-13.9004v29.5996h-13.8994v-29.5996h-12.7002v32.5996h-13.9004v-47.5996h0.100586zM428.5 119.1h-26.5v11c0 15.4004 -5.59961 25.2002 -20.9004 25.2002c-15.3994 0 -20.6992 -10.5996 -20.6992 -25.8994v-25.3008h68.1992v15h-0.0996094zM428.5 222.1 +l-68.2002 -29.6992v-12.4004l68.2002 -29.5v16.5996l-14.4004 5.7002v26.5l14.4004 5.90039v16.8994zM423.7 290.6h-35.6006v-26.5996h13.9004v12.2002h11c8.59961 -15.7998 1.2998 -35.2998 -18.5996 -35.2998c-22.5 0 -28.3008 25.2998 -15.5 37.6992l-11.6006 10.6006 +c-16.2002 -17.5 -12.2002 -63.9004 27.1006 -63.9004c34 0 44.6992 35.9004 29.2998 65.2998z" /> + <glyph glyph-name="palfed" unicode="&#xf3d8;" horiz-adv-x="576" +d="M384.9 254.1c0.0996094 -53.3994 -46.5 -96.1992 -83.3008 -96.1992c-12.5 0 -14.3994 3.39941 -15.0996 6.19922c0.5 39.1006 1.7002 80.4004 3 119.801c40.2002 14.3994 95.4004 17.5996 95.4004 -29.8008zM190.4 181.9 +c-0.200195 0.599609 -0.400391 2.09961 -0.600586 4.59961c0 25.5996 37 60.9004 58.5 75.9004c-1.2002 -36.4004 -5.5 -198.101 -1.39941 -242.5c3 -32.3008 26.7998 -32.9004 36.3994 -22.3008c5.90039 6.60059 5.5 15.7002 5.2998 19.1006v0.200195 +c-1.7998 25.5996 -2.7998 60.5996 -2.69922 100c60.7998 -14.4004 140.1 60.2998 140.1 138.199c0 71 -63 94.2002 -135.2 72c-2.89941 14.6006 -18.2998 20.1006 -29.5 11.1006c-7.5 -6.2002 -9.5 -15.7998 -10.5 -28.2002c-57.7998 -30.9004 -100.7 -84.5 -100.7 -126.5 +c0 -24.9004 15.6006 -43 37.1006 -43c35.0996 0 41 44.0996 14.3994 44.0996c-4.69922 0 -11 -2.69922 -11.1992 -2.69922zM8 266.9c0 38.5996 38.4004 37.3994 38.4004 37.3994h29c15.5 70.1006 120.5 74.2998 120.5 74.2998h28.0996v19.1006 +c0 18.3994 21.0996 18.3994 21.0996 18.3994h85.8008c18.3994 0 21.0996 -18.3994 21.0996 -18.3994v-19.1006h28c89.2002 0 112.1 -48.6992 119.4 -74.2998h30.0996c38.5 0 38.4004 -37.3994 38.4004 -37.3994c0 -38.6006 -38.4004 -37.4004 -38.4004 -37.4004h-30 +l-22.4004 -217.2c0 -43.8994 -44.6992 -44.2998 -44.6992 -44.2998h-288.9c-44.7002 0 -44.7002 44.2998 -44.7002 44.2998l-22.3994 217.2h-30c-38.5 0 -38.4004 37.4004 -38.4004 37.4004z" /> + <glyph glyph-name="patreon" unicode="&#xf3d9;" horiz-adv-x="512" +d="M512 253.2c0 -101.3 -82.4004 -183.8 -183.8 -183.8c-101.7 0 -184.4 82.3994 -184.4 183.8c0 101.6 82.7002 184.3 184.4 184.3c101.399 0 183.8 -82.7002 183.8 -184.3zM0 -53.5v491h90v-491h-90z" /> + <glyph glyph-name="periscope" unicode="&#xf3da;" +d="M370 384.4c38.4004 -40.7002 59.5 -94.3008 59.5 -150.801c0 -74.2998 -57.4004 -159.5 -82 -192.6c-8 -10.7998 -79.2998 -105 -120.9 -105c-34 0 -88.7998 56.5 -125.399 104.9c-24.9004 32.8994 -82.7002 117.6 -82.7002 192.699c0 118.2 93.4004 214.4 208.1 214.4 +c53.9004 0 104.801 -22.5996 143.4 -63.5996zM226.6 -45.9004c37.3008 0 184.801 167.301 184.7 279.4c0 107.3 -83.8994 196.3 -184.7 196.3c-106.1 0 -190 -88.8994 -190 -196.3c0 -112.1 147.5 -279.4 190 -279.4zM338 241.2c0 -59.1006 -51.0996 -109.7 -110.8 -109.7 +c-100.601 0 -150.7 108.2 -92.9004 181.8v-0.399414c0 -24.5 20.1006 -44.4004 44.7998 -44.4004c24.7002 0 44.8008 19.9004 44.8008 44.4004c0 18.1992 -11.1006 33.7998 -26.9004 40.6992c76.5996 19.2002 141 -39.2998 141 -112.399z" /> + <glyph glyph-name="phabricator" unicode="&#xf3db;" horiz-adv-x="496" +d="M323 185.9c0 0 21.5996 -19.6006 20.9004 -20.7002l-8.10059 -19.7998c-0.5 -1.40039 -29.7002 -0.5 -29.7002 -0.5l-9.09961 -9.10059s1.59961 -31.5 0.200195 -32.0996l-20 -7.5c-1.2998 -0.5 -21.7998 23.2998 -21.7998 23.2998l-13.1006 0.200195 +s-19.2998 -24.1006 -20.7002 -23.5l-20.0996 8.2998c-1.40039 0.5 -1.2002 32.2998 -1.2002 32.2998l-9.39941 9.2998s-28.9004 -0.899414 -29.5 0.5l-9.5 20c-0.600586 1.40039 21.0996 21.2002 21.0996 21.2002l-0.0996094 12.9004s-21.6006 19.5996 -21 21 +l8.09961 19.7998c0.5 1.2998 29.7002 0.400391 29.7002 0.400391l9.09961 9.09961s-1.59961 28.4004 -0.200195 28.9004l20 8.2998c1.40039 0.599609 21.9004 -20.7998 21.9004 -20.7998l13.0996 -0.200195s19.3008 21.5996 20.7002 21l20.1006 -9.2002 +c1.39941 -0.599609 1.19922 -29.0996 1.19922 -29.0996l9.40039 -9.30078s28.9004 0.900391 29.5 -0.5l9.5 -20c0.599609 -1.39941 -21.0996 -21.1992 -21.0996 -21.1992zM278.1 194.6c-0.699219 17 -15.5 30.3008 -32.7998 29.5 +c-17.2998 -0.699219 -30.7998 -15.1992 -30.0996 -32.2998c0.700195 -17.0996 15.5 -30.3994 32.7998 -29.5996s30.7998 15.2998 30.0996 32.3994zM479.3 232.5c22.2998 -22.2998 22.2998 -58.7002 0 -81c-67.3994 -67.4004 -44.2998 -44.4004 -95.2998 -95.2998 +c-74.4004 -74.5 -194.7 -74.9004 -269.8 -1.60059l-0.100586 -0.0996094c-51 51 -27.5 27.5996 -97.3994 97c-22.2998 22.2998 -22.2998 58.7002 0 81c67.8994 67.4004 44.7998 44.2998 95.7002 95.2998c74.3994 74.4004 194.699 74.9004 269.8 1.60059l0.0996094 0.0996094 +zM140.4 84.2002c59.5996 -59.5 156 -59.6006 215.6 -0.100586c59.5996 59.6006 59.5 156.101 0 215.601c-59.5996 59.5 -156.1 59.5996 -215.6 0c-59.6006 -59.5 -59.6006 -156 0 -215.5z" /> + <glyph glyph-name="phoenix-framework" unicode="&#xf3dc;" horiz-adv-x="640" +d="M212.9 103.7c-36.7002 -1.2002 -108.7 29.2998 -127.7 106.399c-8.7002 35.3008 -2.7002 51.8008 -8 86.1006c-8.2002 53.3994 -32.1006 72.2002 -55.9004 76.5c-6.2002 1.09961 -12.3994 1.2998 -18.7002 0.299805 +c-0.799805 -0.0996094 -1.59961 -0.200195 -2.39941 -0.200195c-0.100586 0.200195 -0.100586 0.299805 -0.200195 0.5c0.700195 0.600586 1.40039 1.2002 2.2002 1.7998c36.8994 26.9004 92 38.4004 136.3 35c123.6 -9.5 141.3 -156.6 252.5 -173.1 +c6.09961 -0.900391 12.2998 -1.09961 18.5 -1.7002c0.700195 -0.0996094 1.40039 -0.0996094 2.5 -0.200195c-2.09961 -2.19922 -21.5996 -11.7998 -36.5 -14.5c-18.4004 -3.39941 -35.7002 -0.0996094 -51.2998 10.3008c-14.5 9.7998 -24.5 23.5 -38.9004 27.3994 +c-13 3.60059 -34.0996 1.7002 -35.8994 -19.5996c-1.30078 -15.9004 14.1992 -51.7998 51.7998 -74.6006c40.3994 -24.5 101.399 -26.8994 134.7 -14.7998c0.299805 0.100586 0.699219 0.200195 1.09961 0.299805c0.200195 0.100586 0.400391 0 1 -0.0996094 +c-23.5996 -28.4004 -71.2002 -49.9004 -108.2 -45.4004c-50.3994 6.2002 -77.7002 75.9004 -113.7 97.5c-19.0996 11.5 -49.0996 7 -52 -18.5c-1.09961 -10 2.10059 -19 6.40039 -27.5996c24.4004 -48.5996 65.5996 -47 68 -49.5996 +c-2.7998 -0.800781 -21.7998 -2.10059 -25.5996 -2.2002zM75.2998 383.1c13.1006 -14.5 34.2002 -7.89941 35.2998 6.80078c-12.3994 -0.700195 -24.5 -2.2002 -36.5996 -4.80078c0.400391 -0.799805 0.400391 -1 1.2998 -2zM272.2 32.5996 +c-42.7998 -1.19922 -92 26.7002 -123.5 61.4004c-4.60059 5 -16.7998 20.2002 -18.6006 23.4004l0.400391 0.399414c6.59961 -4.09961 25.7002 -18.5996 54.7998 -27c24.2002 -7 48.1006 -6.2998 71.6006 3.2998c22.6992 9.30078 41 0.5 43.0996 -2.89941 +c-18.5 -3.7998 -20.0996 -4.40039 -24 -7.90039c-5.09961 -4.39941 -4.59961 -11.7002 7 -17.2002c26.2002 -12.3994 63 2.80078 97.2002 -25.3994c2.39941 -2 8.09961 -7.7998 10.0996 -10.7002c-0.0996094 -0.200195 -0.299805 -0.299805 -0.399414 -0.5 +c-4.80078 1.5 -16.4004 7.5 -40.2002 9.2998c-24.7002 2 -46.2998 -5.2998 -77.5 -6.2002zM447 284.6c16.4004 5.2002 41.2998 13.4004 66.5 3.30078c16.0996 -6.5 26.2002 -18.7002 32.0996 -34.6006c3.5 -9.39941 5.10059 -19.7002 5.10059 -28.7002 +c-0.200195 0 -0.400391 0 -0.600586 -0.0996094c-0.199219 0.400391 -0.399414 0.900391 -0.5 1.2998c-5 22 -29.8994 43.7998 -67.5996 29.9004c-50.2002 -18.6006 -130.4 -9.7002 -176.9 48c-0.699219 0.899414 -2.39941 1.7002 -1.2998 3.2002 +c0.100586 0.199219 2.10059 -0.600586 3 -1.30078c18.1006 -13.3994 38.2998 -21.8994 60.2998 -26.1992c30.5 -6.10059 54.6006 -2.90039 79.9004 5.19922zM549.7 167.1c-32.4004 -0.199219 -33.7998 -50.0996 -103.601 -64.3994 +c-18.1992 -3.7002 -38.6992 -4.60059 -44.8994 -4.2002v0.400391c2.7998 1.5 14.7002 2.59961 29.7002 16.5996c7.89941 7.2998 15.2998 15.0996 22.7998 22.9004c19.5 20.1992 41.3994 42.1992 81.8994 39c23.1006 -1.80078 29.3008 -8.2002 36.1006 -12.7002 +c0.299805 -0.200195 0.399414 -0.5 0.700195 -0.900391c-0.5 0 -0.700195 -0.0996094 -0.900391 0c-7 2.7002 -14.2998 3.2998 -21.7998 3.2998zM537.4 191.2c-0.100586 -0.200195 -0.100586 -0.400391 -0.200195 -0.600586c-28.9004 4.40039 -48 7.90039 -68.5 -4 +c-17 -9.89941 -31.4004 -20.5 -62 -24.3994c-27.1006 -3.40039 -45.1006 -2.40039 -66.1006 8c-0.299805 0.200195 -0.599609 0.399414 -1 0.599609c0 0.200195 0.100586 0.299805 0.100586 0.5c24.8994 -3.7998 36.3994 -5.09961 55.5 5.7998 +c22.2998 12.9004 40.0996 26.6006 71.2998 31c29.5996 4.10059 51.2998 -2.5 70.9004 -16.8994zM268.6 350.7c-0.599609 0.599609 -1.09961 1.2002 -2.09961 2.2998c7.59961 0 29.7002 1.2002 53.4004 -8.40039c19.6992 -8 32.1992 -21 50.1992 -32.8994 +c11.1006 -7.2998 23.4004 -9.2998 36.4004 -8.10059c4.2998 0.400391 8.5 1.2002 12.7998 1.7002c0.400391 0.100586 0.900391 0 1.5 -0.299805c-0.599609 -0.400391 -1.2002 -0.900391 -1.7998 -1.2002c-8.09961 -4 -16.7002 -6.2998 -25.5996 -7.09961 +c-26.1006 -2.60059 -50.3008 3.7002 -73.4004 15.3994c-19.2998 9.90039 -36.4004 22.9004 -51.4004 38.6006zM640 112.3c-3.5 -3.09961 -22.7002 -11.5996 -42.7002 -5.2998c-12.2998 3.90039 -19.5 14.9004 -31.5996 24.0996 +c-10 7.60059 -20.9004 7.90039 -28.1006 8.40039c0.600586 0.799805 0.900391 1.2002 1.2002 1.40039c14.7998 9.19922 30.5 12.1992 47.2998 6.5c12.5 -4.2002 19.2002 -13.5 30.4004 -24.2002c10.7998 -10.4004 21 -9.90039 23.0996 -10.5 +c0.100586 0.0996094 0.200195 0 0.400391 -0.400391zM427.5 -24.7002c2.2002 -1.2002 1.59961 -1.5 1.5 -2c-18.5 1.40039 -33.9004 7.60059 -46.7998 22.2002c-21.7998 24.7002 -41.7002 27.9004 -48.6006 29.7002c0.5 0.200195 0.800781 0.399414 1.10059 0.399414 +c13.0996 -0.0996094 26.0996 -0.699219 38.8994 -3.89941c25.3008 -6.40039 35 -25.4004 41.6006 -35.2998c3.2002 -4.80078 7.2998 -8.30078 12.2998 -11.1006z" /> + <glyph glyph-name="playstation" unicode="&#xf3df;" horiz-adv-x="576" +d="M570.9 75.7002c-11.3008 -14.2002 -38.8008 -24.2998 -38.8008 -24.2998l-205.1 -73.6006v54.2998l150.9 53.8008c17.0996 6.09961 19.7998 14.7998 5.7998 19.3994c-13.9004 4.60059 -39.1006 3.2998 -56.2002 -2.89941l-100.5 -35.5v56.3994 +c23.2002 7.7998 47.0996 13.6006 75.7002 16.7998c40.8994 4.5 90.8994 -0.599609 130.2 -15.5c44.1992 -14 49.1992 -34.6992 38 -48.8994zM346.5 168.2v139c0 16.2998 -3 31.2998 -18.2998 35.5996c-11.7002 3.7998 -19 -7.09961 -19 -23.3994v-347.9l-93.7998 29.7998 +v414.7c39.8994 -7.40039 98 -24.9004 129.199 -35.4004c79.5 -27.2998 106.4 -61.2998 106.4 -137.8c0 -74.5 -46 -102.8 -104.5 -74.5996zM43.2002 37.7998c-45.4004 12.7998 -53 39.5 -32.2998 54.7998c19.0996 14.2002 51.6992 24.9004 51.6992 24.9004l134.5 47.7998 +v-54.5l-96.7998 -34.5996c-17.0996 -6.10059 -19.7002 -14.7998 -5.7998 -19.4004c13.9004 -4.59961 39.0996 -3.2998 56.2002 2.90039l46.3994 16.8994v-48.7998c-51.5996 -9.2998 -101.399 -7.2998 -153.899 10z" /> + <glyph glyph-name="pushed" unicode="&#xf3e1;" horiz-adv-x="432" +d="M407 336.1c21.7002 -1.89941 33.7998 -28 17.4004 -44.7998l-235.2 -231.3l-35.2998 -80.7998c-11 -17.2002 -41.2002 -14.2998 -47.7002 7l-105.101 348.3c-4.59961 18.2998 6.30078 33.9004 21.4004 36.5996l271.3 44.4004c17.9004 3.40039 39.1006 -13.5 28.7002 -37 +l-14 -33.4004zM297.6 394.4l-189 -31l177.4 -16.3008l16.7998 39.9004c2.2998 4.90039 -0.0996094 8.09961 -5.2002 7.40039zM22.7002 340.1l157.899 -244.3l96.9004 230.7l-248.7 22.7002c-5.09961 0.899414 -9.2002 -4 -6.09961 -9.10059zM136 -8.40039 +c0 0 28.2002 64.1006 35.2002 79.1006l-127.7 197.6l83.0996 -275.5c1.5 -4.2998 6.80078 -5.2002 9.40039 -1.2002zM408.8 306.1c3.10059 3.30078 1.40039 7.5 -2.59961 8.60059l-106.4 9.7002l-89.7002 -213.7z" /> + <glyph glyph-name="python" unicode="&#xf3e2;" +d="M439.8 247.5c10.7002 -42.9004 11.2002 -75.0996 0 -108.6c-10.7998 -32.5 -22.2998 -54.2002 -53.3994 -54.2002h-160.2v-13.6006h106.7v-40.6992c0 -30.8008 -26.5 -46.5 -53.4004 -54.3008c-40.5 -11.6992 -73 -9.89941 -106.8 0 +c-28.2002 8.30078 -53.4004 25.3008 -53.4004 54.3008v101.8c0 29.2998 24.2002 54.2998 53.4004 54.2998h106.8c35.5996 0 66.7998 31 66.7998 67.7998v47.4004h40.1006c31.0996 0 45.6992 -23.2998 53.3994 -54.2002zM286.2 44c-11 0 -20 -9 -20.1006 -20.2998 +c0 -11.2002 9.10059 -20.4004 20.1006 -20.4004c11.0996 0 20.0996 9.10059 20.0996 20.4004c0 11.2002 -9 20.2998 -20.0996 20.2998zM167.8 199.9c-36.2998 0 -66.7998 -31.1006 -66.7998 -66.4004v-48.7998h-36.7002c-31.0996 0 -49.2002 22.5996 -56.7998 54.2002 +c-10.2002 42.5 -9.7998 67.8994 0 108.6c8.5 35.5 35.7002 54.2002 66.7998 54.2002h147v13.5996h-106.899v40.7002c0 30.9004 8.19922 47.5996 53.3994 55.5996c32.1006 5.7002 71 6 106.8 0.100586c29 -4.90039 53.4004 -26.6006 53.4004 -55.6006v-101.899 +c0 -29.7998 -23.7002 -54.2998 -53.4004 -54.2998h-106.8zM161.1 342.5c11.1006 0 20.1006 9.09961 20.1006 20.2998s-9.10059 20.4004 -20.1006 20.4004c-11.0996 0 -20 -9.10059 -20.0996 -20.4004c0 -11.2002 9 -20.2998 20.0996 -20.2998z" /> + <glyph glyph-name="red-river" unicode="&#xf3e3;" +d="M353.2 416c52.3994 0 94.7998 -42.4004 94.7998 -94.7998v-258.4c0 -52.3994 -42.4004 -94.7998 -94.7998 -94.7998h-258.4c-52.3994 0 -94.7998 42.4004 -94.7998 94.7998v258.4c0 52.3994 42.4004 94.7998 94.7998 94.7998h258.4zM144.9 247.1 +c-0.600586 12.4004 11.6992 24.6006 24 24h56.2998c27 0 48.8994 21.9004 48.8994 48.9004h-154.199c-13.2002 0 -23.9004 -10.7002 -23.9004 -23.9004v-154.199c27 0 48.9004 21.8994 48.9004 48.8994v56.2998zM321.2 175.1c27 0 48.8994 21.9004 48.8994 48.9004h-154.199 +c-13.2002 0 -23.9004 -10.7002 -23.9004 -23.9004v-154.199c27 0 48.9004 21.8994 48.9004 48.8994v56.2998c-0.600586 12.4004 11.6992 24.6006 24 24h56.2998z" /> + <glyph glyph-name="wpressr" unicode="&#xf3e4;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM419.33 281.4c2.41016 5.47949 0.459961 8.2793 -5.62012 8.26953c-104.8 0.00976562 -107.69 -0.0302734 -130.78 0.0302734 +c-4.31934 0.00976562 -7.10938 -1.82031 -8.83984 -5.78027c-5.70996 -13.0996 -11.5195 -26.1504 -17.2998 -39.21c-2.57031 -5.7998 -1 -8.26953 5.26953 -8.26953c25.2607 0 50.5205 -0.0107422 75.7803 0.0195312 +c10.0303 0.00976562 8.54004 -13.6602 -3.89941 -13.6396c-26.4307 0.0498047 -52.8604 0 -79.29 0.0498047c-4.91016 0.00976562 -8.33008 -1.88965 -10.3506 -6.5c-4.2998 -9.83008 -32.1494 -73.0801 -32.1895 -73.1602 +c-3.2002 -7.16016 -16.2607 -6.09961 -11.2803 5.33008c8.26953 18.9902 16.6504 37.9297 24.9795 56.8896c2.25 5.11035 -0.0996094 8.74023 -5.65918 8.75c-15.21 0.0205078 -30.4307 -0.0400391 -45.6406 0.0400391 +c-3.35938 0.0107422 -5.41016 -1.29004 -6.76953 -4.38965c-31.4307 -71.8701 -29.7803 -67.3203 -30.0098 -67.6904c-3.87012 -6.37012 -14.8604 -3.34961 -10.9502 5.60059c5.66992 13.0098 11.3701 26.0098 17.0898 39c13.5703 30.7793 27.1396 61.5596 40.7402 92.3301 +c2.54004 5.75 -0.419922 10.5801 -6.66016 10.5898c-14.2402 0.0302734 -28.4805 -0.0498047 -42.7197 0.0498047c-4.26074 0.0302734 -6.84082 -1.76953 -8.54004 -5.65039c-12.8604 -29.3896 -25.8203 -58.7295 -38.75 -88.0791 +c-8.62012 -19.5605 -17.2305 -39.1201 -25.8906 -58.6602c-1.58008 -3.55078 -1.47949 -6.78027 1.20996 -9.73047c11.2207 -12.3096 22.4707 -24.6094 33.6807 -36.9395c2.08984 -2.30078 4.58984 -3.4502 7.71973 -3.4502c45.9395 0.0195312 91.8701 0.00976562 137.81 0 +c3.86035 0 6.37988 1.78027 7.91992 5.29004c10.3203 23.5 20.7607 46.9395 30.9502 70.5c2.08984 4.83008 5.21973 6.75 10.3398 6.71973c23.0205 -0.110352 46.0303 -0.0400391 69.0508 -0.0498047c6.0791 0 10.5293 2.72949 12.9697 8.24023 +c15.2598 34.4795 30.4502 68.9893 45.6299 103.5z" /> + <glyph glyph-name="replyd" unicode="&#xf3e6;" +d="M320 -32h-192c-70.4004 0 -128 57.5996 -128 128v192c0 70.4004 57.5996 128 128 128h192c70.4004 0 128 -57.5996 128 -128v-192c0 -70.4004 -57.5996 -128 -128 -128zM193.4 174.8c-6.10059 2 -11.6006 3.10059 -16.4004 3.10059 +c-7.2002 0 -13.5 -1.90039 -18.9004 -5.60059c-5.39941 -3.7002 -9.59961 -9 -12.7998 -15.7998h-1.09961l-4.2002 18.2998h-28v-138.899h36.0996v89.6992c1.5 5.40039 4.40039 9.80078 8.7002 13.2002c4.2998 3.40039 9.7998 5.10059 16.2002 5.10059 +c4.59961 0 9.7998 -1 15.5996 -3.10059zM308.6 71.4004c-3.19922 -2.40039 -7.69922 -4.80078 -13.6992 -7.10059s-12.8008 -3.5 -20.4004 -3.5c-12.2002 0 -21.0996 3 -26.5 8.90039c-5.5 5.89941 -8.5 14.7002 -9 26.3994h83.2998 +c0.900391 4.80078 1.60059 9.40039 2.10059 13.9004c0.5 4.40039 0.699219 8.59961 0.699219 12.5c0 10.7002 -1.59961 19.7002 -4.69922 26.9004c-3.2002 7.19922 -7.30078 13 -12.5 17.1992c-5.2002 4.30078 -11.1006 7.30078 -17.8008 9.2002 +c-6.69922 1.7998 -13.5 2.7998 -20.5996 2.7998c-21.0996 0 -37.5 -6.09961 -49.2002 -18.2998s-17.5 -30.5 -17.5 -55c0 -22.7998 5.2002 -40.7002 15.6006 -53.7002c10.3994 -13.0996 26.7998 -19.5996 49.1992 -19.5996c10.7002 0 20.9004 1.5 30.4004 4.59961 +c9.5 3.10059 17.0996 6.80078 22.5996 11.2002zM286.8 141.7c3.7998 -5.40039 5.2998 -13.1006 4.60059 -23.1006h-51.7002c0.899414 9.40039 3.7002 17 8.2002 22.6006c4.5 5.59961 11.5 8.5 21 8.5c8.19922 0.0996094 14.0996 -2.60059 17.8994 -8zM366.7 139.2 +c4.09961 -3.90039 9.39941 -5.7998 16.0996 -5.7998c7 0 12.6006 1.89941 16.7002 5.7998c4.09961 3.89941 6.09961 9.09961 6.09961 15.5996s-2 11.6006 -6.09961 15.4004s-9.59961 5.7002 -16.7002 5.7002c-6.7002 0 -12 -1.90039 -16.0996 -5.7002 +c-4.10059 -3.7998 -6.10059 -8.90039 -6.10059 -15.4004s2 -11.7002 6.10059 -15.5996zM366.7 38.7002c4.09961 -3.90039 9.39941 -5.7998 16.0996 -5.7998c7 0 12.6006 1.89941 16.7002 5.7998c4.09961 3.89941 6.09961 9.09961 6.09961 15.5996 +s-2 11.6006 -6.09961 15.4004s-9.59961 5.7002 -16.7002 5.7002c-6.7002 0 -12 -1.90039 -16.0996 -5.7002c-4.10059 -3.7998 -6.10059 -8.90039 -6.10059 -15.4004c0 -6.59961 2 -11.7002 6.10059 -15.5996z" /> + <glyph glyph-name="resolving" unicode="&#xf3e7;" horiz-adv-x="496" +d="M281.2 169.8l-197.9 -57.2002l-28.5996 98.6006l188.2 54.0996c52.6992 15.2998 65 8.10059 71.0996 -12.7998l11.2002 -39.2998c5.59961 -19.9004 2 -30.1006 -44 -43.4004zM248.5 440c137 0 248.5 -111.4 247.5 -247.7c0 -136.899 -111.5 -248.3 -248.5 -248.3 +c-46 0 -89.5 12.7002 -126.3 34.7002l-23 80.2002l286.8 -37.3008l48.0996 13.3008l-9.69922 34.1992l-220.4 27.1006l92.5996 26.5996c30.2002 8.7002 42 15.7998 61.4004 33.2002c24.5 23 31.7002 45.5 23.5 73.5996l-10.7002 37.8008 +c-8.7002 30.1992 -25.0996 49.0996 -61.3994 55.1992c-25.1006 3.5 -44.5 2 -79.3008 -8.19922l-221.899 -63.9004c26 108.8 124.2 189.5 241.3 189.5zM38.2998 59.4004c-24 38.3994 -38.2998 83.2998 -38.2998 131.8z" /> + <glyph glyph-name="rocketchat" unicode="&#xf3e8;" horiz-adv-x="576" +d="M486.41 340.43c119.649 -76.54 119.26 -221 0 -297.14c-77.1201 -50.9199 -179.37 -62.3896 -264.12 -47.1602c-95.5205 -91.1895 -201.72 -49.1602 -222.29 -37c0 0 73.0801 62.1006 61.21 116.49c-45.3896 46.3701 -86.5195 144.57 0 232.77 +c11.8701 54.3906 -61.21 116.49 -61.21 116.49c20.7695 12.1201 127.26 54.2803 222.29 -37.3799c84.9404 15.3301 187.19 3.75977 264.12 -47.0703zM294.18 43.7803c126.67 0 229.409 66.2197 229.409 148.22s-102.74 148.43 -229.41 148.43 +s-229.41 -66.4297 -229.41 -148.43c0 -35.79 19.4707 -68.5195 52 -94.1299c9.11426 -29.127 3.78125 -62.0234 -15.999 -98.6904c-0.889648 -1.67969 -1.76953 -3.45996 -2.76953 -5.23926c15.0498 1.33594 38.2158 7.93555 51.71 14.7295 +c11.0684 6.26562 27.46 18.5361 36.5898 27.3896l19.7705 19.0908c23.6396 -6.27734 62.6758 -11.3721 87.1348 -11.3721c0.269531 0 0.706055 0.000976562 0.974609 0.00195312zM184.119 156.7c-0.133789 -0.00195312 -0.351562 -0.00390625 -0.485352 -0.00390625 +c-18.6182 0 -33.9912 15.1084 -34.3145 33.7236c-0.700195 45.3896 67.8301 46.3799 68.5195 1.08984v-0.509766c0.000976562 -0.0888672 0.00195312 -0.232422 0.00195312 -0.321289c0 -18.6152 -15.1074 -33.8467 -33.7217 -33.999v0.0205078zM257.889 190.42 +c-0.790039 45.3896 67.7402 46.4805 68.5303 1.19043v-0.610352c0.389648 -45.0801 -67.7402 -45.5703 -68.5303 -0.580078zM401.269 156.7c-0.133789 -0.00195312 -0.350586 -0.00390625 -0.485352 -0.00390625c-18.6182 0 -33.9951 15.1084 -34.3242 33.7236 +c-0.69043 45.3896 67.8398 46.3799 68.5303 1.08984v-0.509766c0.000976562 -0.119141 0.00292969 -0.311523 0.00292969 -0.430664c0 -18.6152 -15.1084 -33.7979 -33.7236 -33.8896v0.0205078z" /> + <glyph glyph-name="rockrms" unicode="&#xf3e9;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM405.4 20.5l-101.5 118.9s73.5996 0.199219 74.1992 0.199219c29.6006 -1.09961 46.6006 33.3008 27.6006 56.1006l-157.7 185.1c-13.2002 17.2998 -40.0996 18.4004 -54.5 0 +l-147.1 -172.5h90l84.2998 98.9004l84.5996 -99.2998h-75.2998c-30.5 0 -44.5 -35.7002 -26.5996 -56.1006l112 -131.3h90z" /> + <glyph glyph-name="schlix" unicode="&#xf3ea;" +d="M350.5 290.3l-54.2002 46.1006l73.4004 39l78.2998 -44.2002zM192 325.9l45.7002 28.1992l34.7002 -34.5996l-55.4004 -29zM126.9 319.3l31.8994 22.1006l17.2002 -28.4004l-36.7002 -22.5zM103.6 231.1l-8.7998 34.8008l29.6006 18.2998l13.0996 -35.2998z +M82.4004 314.8l23.8994 18.1006l8.90039 -24l-26.7002 -18.3008zM59 241.5l-3.59961 28.4004l22.2998 15.5l6.09961 -28.7002zM28.4004 224.9l20.7998 12.7998l3.2998 -33.4004l-22.9004 -12zM1.40039 180l19.1992 10.2002l0.400391 -38.2002l-21 -8.7998zM60.5 120.7 +l-28.2998 -8.2998l-1.60059 46.7998l25.1006 10.7002zM99 184.8l-31.0996 -13l-5.2002 40.7998l27.3994 14.4004zM123.2 71l-41.6006 -5.90039l-8.09961 63.5l35.2002 10.8008zM151.7 210.9l21.2002 -57.1006l-46.2002 -13.5996l-13.7002 54.0996zM237.4 -19.5996 +l-70.9004 3.2998l-24.2998 95.7998l55.2002 8.59961zM152.5 260.1l42.2002 22.4004l28 -45.9004l-50.7998 -21.2998zM193.5 165.2l61.2998 18.7002l52.7998 -86.6006l-79.7998 -11.2998zM244.9 250.8l67.2998 28.7998l65.5 -65.3994l-88.6006 -26.2002z" /> + <glyph glyph-name="searchengin" unicode="&#xf3eb;" horiz-adv-x="460" +d="M220.6 317.7l-67.1992 -209.3v130.3l-54.7002 -24.2002l54.7002 190.3v-115.3zM137.4 414.4l-1.30078 -4.7002l-15.1992 -52.9004c-40.3008 -15.5 -68.9004 -54.5996 -68.9004 -100.3c0 -52.2998 34.2998 -95.9004 83.4004 -105.5v-53.5996 +c-77.9004 10.5 -135.4 78.1992 -135.4 159c0 80.5 59.7998 147.199 137.4 158zM448.8 -32.7998c-11.2002 -11.2002 -23.0996 -12.2998 -28.5996 -10.5c-5.40039 1.7998 -27.1006 19.8994 -60.4004 44.3994c-33.2998 24.6006 -33.5996 35.7002 -43 56.7002 +c-9.39941 20.9004 -30.3994 42.6006 -57.5 52.4004l-9.7002 14.7002c-24.6992 -16.9004 -53 -26.9004 -81.2998 -28.7002l2.10059 6.59961l15.8994 49.5c46.5 11.9004 80.9004 54 80.9004 104.2c0 54.5 -38.4004 102.1 -96 107.1v52.1006 +c83.2002 -5.10059 148.8 -74.5 148.8 -159.3c0 -33.6006 -11.2002 -64.7002 -29 -90.4004l14.5996 -9.59961c9.80078 -27.1006 31.5 -48 52.4004 -57.4004s32.2002 -9.7002 56.7998 -43c24.6006 -33.2002 42.7002 -54.9004 44.5 -60.2998 +c1.7998 -5.40039 0.700195 -17.2998 -10.5 -28.5zM438.9 -14.9004c0 4.40039 -3.60059 8 -8 8c-4.40039 0 -8 -3.59961 -8 -8c0 -4.39941 3.59961 -8 8 -8c4.39941 0 8 3.60059 8 8z" /> + <glyph glyph-name="servicestack" unicode="&#xf3ec;" horiz-adv-x="496" +d="M88 232c81.7002 -10.2002 273.7 -102.3 304 -232h-392c99.5 8.09961 184.5 137 88 232zM120 384c102.8 -15.5 335.3 -167.9 376 -384h-96c-26.2998 126.7 -150.7 216.7 -233.6 250.4c1.2998 49.6992 -14.1006 98 -46.4004 133.6z" /> + <glyph glyph-name="sistrix" unicode="&#xf3ee;" +d="M448 -1l-30.5 -31l-146 148.1c-28.7002 -23.6992 -65.2002 -37.8994 -105 -37.8994c-91.7998 0 -166.5 75.7998 -166.5 168.899c0 93.1006 74.7002 168.9 166.6 168.801c91.8008 0 166.5 -75.8008 166.5 -168.9c0 -37 -11.8994 -71.2998 -31.8994 -99.2002zM166.5 117.2 +c70.7002 0 128.1 58.2998 128.1 129.899c0 71.6006 -57.5 129.9 -128.1 129.9s-128.1 -58.2998 -128.1 -129.9c0 -71.5996 57.5 -129.899 128.1 -129.899z" /> + <glyph glyph-name="slack-hash" unicode="&#xf3ef;" +d="M446.2 177.6c6.2002 -19 -3.90039 -39.6992 -22.9004 -45.6992l-45.3994 -15.1006l15.6992 -47c6.10059 -19.0996 -3.89941 -39.7002 -23 -45.8994c-21.2998 -6.10059 -40.0996 6 -46 22.8994l-15.6992 47l-93.6006 -31.2998l15.7002 -47 +c6.09961 -19.0996 -3.90039 -39.7002 -23 -45.9004c-21.2998 -6.09961 -40.0996 6 -46 22.9004l-15.7002 47c-45.7002 -15.2002 -50.8994 -17.7998 -57.7002 -16.7998c-14.5 0.599609 -28.5996 10.0996 -33.5996 24.5996c-6.09961 19 4 39.7002 23 45.9004l45.4004 15.0996 +l-30.3008 90c-45.6992 -15.2002 -50.8994 -17.7998 -57.6992 -16.7998c-14.5 0.599609 -28.6006 10.0996 -33.6006 24.5996c-6.09961 19.1006 3.90039 39.7002 23 45.9004l45.2998 15l-15.6992 47c-6.10059 19.0996 3.89941 39.7002 23 45.9004 +c19.0996 6.19922 39.7998 -3.90039 46 -22.9004l15.6992 -47l93.4004 31.2002l-15.7002 47c-6.09961 19.0996 3.90039 39.7002 23 45.8994c19.1006 6.2002 39.7998 -3.89941 46 -22.8994l15.7002 -47l45.4004 15.0996c19.0996 6.2002 39.7998 -3.89941 46 -22.8994 +c6.09961 -19.1006 -3.90039 -39.7002 -23 -45.9004l-45.4004 -15.0996l30.2998 -90l45.4004 15.0996c19.0996 6.2002 39.7998 -3.90039 46 -22.9004zM192.1 130.4l93.5 31.2998l-30.2998 90.2002l-93.5 -31.3008z" /> + <glyph glyph-name="speakap" unicode="&#xf3f3;" +d="M64 56.2197c-79.4102 88.1904 -72 224.36 16.6396 304.141c88.6406 79.7793 224.801 73 304.21 -15.2402c79.4102 -88.2402 72 -224.36 -16.6396 -304.14c-18.7402 -16.8701 64 -43.0908 42 -52.2607c-82.0596 -34.21 -253.91 -35 -346.229 67.5h0.0195312z +M277.31 267.82l38.5 40.8594c-9.60938 8.89062 -32 26.8301 -76.1699 27.6006c-52.3301 0.910156 -95.8594 -28.2998 -96.7695 -80c-0.200195 -11.3301 0.290039 -36.7207 29.4199 -54.8301c34.46 -21.4199 86.5195 -21.5098 86 -52.2598 +c-0.370117 -21.2803 -26.4199 -25.8105 -38.5898 -25.6006c-3 0.0498047 -30.2305 0.459961 -47.6104 24.6201l-40 -42.6104c28.1602 -27 59 -32.6191 83.4902 -33.0498c10.2295 -0.179688 96.4199 -0.330078 97.8398 81 +c0.280273 15.8105 -2.07031 39.7197 -28.8604 56.5898c-34.3594 21.6406 -85 19.4502 -84.4297 49.75c0.410156 23.25 31 25.3701 37.5303 25.2607c0.429688 0 26.6201 -0.260742 39.6201 -17.3701z" /> + <glyph glyph-name="staylinked" unicode="&#xf3f5;" horiz-adv-x="440" +d="M382.7 155.5l44.2998 -41.2998c3.7002 -3.5 3.2998 -9 -0.700195 -12.2002l-198 -163.9c-9.89941 -7.59961 -17.2998 -0.799805 -17.2998 -0.799805l-208.7 196.101c-3.5 3.5 -3 9 1.2002 12.1992l45.7998 34.9004c4.2002 3.2002 10.4004 3 13.9004 -0.5l151.899 -147.5 +c3.7002 -3.5 10 -3.7002 14.2002 -0.400391l93.2002 74c4.09961 3.2002 4.5 8.7002 0.900391 12.2002l-84 81.2998c-3.60059 3.5 -9.90039 3.7002 -14 0.5l-0.100586 -0.0996094c-4.09961 -3.2002 -10.3994 -3 -14 0.5l-68.0996 64.2998 +c-3.5 3.5 -3.10059 9 1.09961 12.2002l57.2998 43.5996c4.10059 3.2002 10.3008 3 13.8008 -0.5l170 -167.3zM437.2 238.9c3.7002 -3.5 3.39941 -9 -0.700195 -12.2002l-45.7998 -35.7998c-4.10059 -3.2002 -10.4004 -3 -14.1006 0.5l-160.399 159 +c-3.60059 3.5 -9.7998 3.69922 -13.9004 0.5l-92.2002 -71.5c-4.19922 -3.30078 -4.69922 -8.7002 -1.09961 -12.2002l94.5996 -91.7998c3.7002 -3.5 10 -3.60059 14.2002 -0.400391l0.100586 0.0996094c4.19922 3.2002 10.5996 3 14.1992 -0.5l57.1006 -54.3994 +c3.7002 -3.5 3.2998 -9 -0.900391 -12.2002l-7.7002 -6l0.300781 -0.299805l-50.2002 -38.7998c-4.2002 -3.30078 -10.6006 -3.10059 -14.2998 0.399414l-171.7 165.101l-42.2998 41.6992c-3.60059 3.5 -3 9 1.19922 12.2002l206.801 162.101 +c8.2998 6.59961 14.7998 2.2998 16.2998 1.09961z" /> + <glyph glyph-name="steam-symbol" unicode="&#xf3f6;" +d="M395.5 270.5c0 -33.7998 -27.5 -61 -61 -61c-33.7998 0 -61 27.2998 -61 61s27.2998 61 61 61c33.5 0 61 -27.2002 61 -61zM448 270.3c0 -63 -51 -113.8 -113.7 -113.8l-109.3 -79.7998c-4 -43 -40.5 -76.7998 -84.5 -76.7998c-40.5 0 -74.7002 28.7998 -83 67 +l-57.5 23.0996v107.3l97.2002 -39.2998c15.0996 9.2002 32.2002 13.2998 52 11.5l71 101.7c0.5 62.2998 51.5 112.8 114 112.8c62.7998 0 113.8 -51 113.8 -113.7zM203 85c0 34.7002 -27.7998 62.5 -62.5 62.5c-4.5 0 -9 -0.5 -13.5 -1.5l26 -10.5 +c25.5 -10.2002 38 -39 27.7002 -64.5c-10.2002 -25.5 -39.2002 -38 -64.7002 -27.5c-10.2002 4 -20.5 8.2998 -30.7002 12.2002c10.5 -19.7002 31.2002 -33.2002 55.2002 -33.2002c34.7002 0 62.5 27.7998 62.5 62.5zM410.5 270.3c0 42 -34.2998 76.2002 -76.2002 76.2002 +c-42.2998 0 -76.5 -34.2002 -76.5 -76.2002c0 -42.2002 34.2998 -76.2002 76.5 -76.2002c41.9004 -0.0996094 76.2002 33.9004 76.2002 76.2002z" /> + <glyph glyph-name="sticker-mule" unicode="&#xf3f7;" horiz-adv-x="576" +d="M561.7 248.4c-1.2998 -0.300781 0.299805 0 0 0zM555.5 325.8c20.2002 -50.0996 20.5996 -45.2002 20.5996 -52.8994c0 -7.5 -4.09961 -11 -7.19922 -16.5c-1.5 -3 -4.60059 -7.5 -7.2002 -8c-0.400391 0 -3 -0.5 -13.4004 -2.5c-7.2002 -1 -13.3994 4.5 -14.8994 9.5 +c-1.60059 4.69922 2.7998 10.0996 -11.8008 22.8994c-10.2998 10 -21.0996 11.2998 -31.8994 17c-9.7998 5.7002 -11.9004 -1 -18 -8c-18 -22.8994 -34 -46.8994 -52 -69.7998c-11.7998 -15 -24.2002 -30.4004 -33.5 -47.4004 +c-3.90039 -6.7998 -9.5 -28.0996 -10.2998 -29.8994c-6.2002 -17.7002 -5.5 -25.7998 -16.5 -68.2998c-3.10059 -10 -5.7002 -21.4004 -8.7002 -32.4004c-2.2002 -6.7998 -7.40039 -49.2998 -0.5 -59.4004c2.09961 -3.5 8.7002 -4.5 11.2998 -8 +c0.0996094 -0.0996094 9.59961 -18.1992 9.2998 -20c0 -6.09961 -9.39941 -5.59961 -11.2998 -6.5c-4.7998 -2.89941 -3.7998 -5.89941 -6.40039 -7.39941c-5.89941 -2.90039 -32.0996 -3.2002 -36.5 0.5c-4.09961 3 -2.19922 11.8994 -1.5 15 +c2.2002 15 -2.5 7.89941 -9.7998 11.5c-3.09961 1.5 -4.09961 5.5 -4.59961 10c-0.5 1.5 -1 2.5 -1.5 3.5c-1.7002 10.7002 6.7998 33.5996 8.2002 43.3994c4.89941 23.7002 -0.700195 37.2002 1.5 46.9004c3.69922 16.2002 4.09961 3.5 4.09961 29.9004 +c-1.40039 25.8994 3.2998 36.8994 0.5 38.8994c-14.7998 0 -64.2998 -10.7002 -112.2 -2c-46.0996 8.90039 -59.3994 29 -65.3994 30.9004c-10.3008 4.5 -23.2002 -0.5 -27.3008 -7c-0.0996094 -0.100586 -35 -70.6006 -39.5996 -87.7998 +c-6.2002 -20.5 -0.5 -47.4004 4.09961 -66.8008c0 -0.0996094 4.5 -14.5996 10.3008 -19.5c2.09961 -1.5 5.09961 -2.5 7.19922 -4.5c2.80078 -2.69922 9.40039 -15.1992 9.80078 -16c2.59961 -4.5 3.59961 -8 -1.5 -10.5c-3.60059 -2 -9.30078 -2.5 -14.4004 -2.5 +c-2.59961 -0.5 -1.5 -3.5 -3.09961 -5c-2.90039 -2.7998 -20.7002 -6.09961 -29.9004 -2.5c-2.59961 1 -5.7002 3 -6.2002 5c-1.5 4 2.10059 9 -1 12.5c-4.5 2.90039 -13.0996 2 -17 12c-2.2002 5.40039 -2.59961 7.60059 -2.59961 49.4004 +c0 9.7002 -5.90039 38.7002 -8.2002 46.9004c-1.5 5.5 -1.5 11.5 0 16c0.299805 0.899414 4.09961 4.59961 4.09961 13c-1 1.5 -4.59961 0.5 -5.09961 1.5c-10.4004 80.5996 -5.90039 79 -7.7002 98.2998c-1.5 16 -10.8994 43.8994 -6.7002 64.2998 +c0.5 2.40039 3.40039 21 24.2002 38.9004c31 26.6992 48.4004 38.2998 159 11.5c1.10059 -0.400391 66.2998 -21.1006 110.7 9c15.5 11.2998 28.7998 11.2998 35.5 16c0.0996094 0.0996094 61.7002 52.0996 87 65.2998c47.2002 29.3994 69.9004 16.7002 75.0996 18 +c4.7002 1 13.4004 25.7998 17 25.7998c5.5 0 1.60059 -20.2002 3.60059 -25.9004c0.5 -2 3.59961 -5 6.2002 -5c2.2998 0 1.69922 0.800781 10.2998 5c8.39941 5.40039 14.8994 17.6006 20.5996 17c11.7002 -1.59961 -19 -41.5996 -19 -46.8994 +c0 -2 0.200195 -0.799805 4.60059 -9.5c2.59961 -5.5 4.59961 -13.5 6.19922 -20c8.30078 -29.7002 5.7002 -14.6006 13.4004 -36.9004z" /> + <glyph glyph-name="studiovinari" unicode="&#xf3f8;" horiz-adv-x="512" +d="M480.3 260.3l4.2002 -28v-28l-25.0996 -44.0996l-39.8008 -78.4004l-56.0996 -67.5l-79.0996 -37.7998l-17.7002 -24.5l-7.7002 -12l-9.59961 -4s17.2998 63.5996 19.3994 63.5996c2.10059 0 20.2998 -0.699219 20.2998 -0.699219l66.7002 38.5996l-92.5 -26.0996 +l-55.8994 -36.8008l-22.8008 -28l-6.59961 -1.39941l20.7998 73.5996l6.90039 5.5l20.7002 -12.8994l88.2998 45.1992l56.7998 51.5l14.7998 68.4004l-125.399 -23.2998l15.1992 18.2002l-173.399 53.2998l81.8994 10.5l-166 122.899l114.9 -18.0996l-101.3 108 +l252.899 -126.6l-31.5 38l124.4 -74.4004l-143.3 99l18.7002 -38.4004l-49.6006 18.1006l-45.5 84.2998l194.601 -122l-42.9004 55.7998l108 -96.3994l12 8.89941l-21 16.4004l4.2002 37.7998l37.7998 10.4004l29.2002 -24.7002l11.5 -4.2002l-7 -6.2002l8.5 -12 +l-13.1006 -7.39941l-10.2998 -20.2002z" /> + <glyph glyph-name="supple" unicode="&#xf3f9;" horiz-adv-x="640" +d="M640 185.5c0 -64.0996 -109 -116.1 -243.5 -116.1c-24.7998 0 -48.5996 1.7998 -71.0996 5c7.69922 -0.400391 15.5 -0.600586 23.3994 -0.600586c134.5 0 243.5 56.9004 243.5 127.101c0 29.3994 -19.0996 56.3994 -51.2002 78 +c60 -21.1006 98.9004 -55.1006 98.9004 -93.4004zM47.7002 220.1c0.0996094 -29.3994 19.2998 -56.5 51.5996 -78c-60.2002 21 -99.2002 55 -99.2998 93.3008c-0.0996094 64.0996 108.8 116.3 243.3 116.699c24.7002 0 48.5 -1.69922 71 -4.89941 +c-7.7002 0.299805 -15.3994 0.5 -23.2998 0.5c-134.5 -0.299805 -243.4 -57.4004 -243.3 -127.601zM107.9 180.2l8.7998 10.8994s8.7998 -10.0996 20.7002 -10.0996c6.5 0 12.2998 3.5 12.2998 10.0996c0 14.5 -40.2002 13.3008 -40.2002 39.9004 +c0 13.9004 12 24.0996 28.5 24.0996c10 0 25.4004 -4.69922 25.4004 -16.7998v-7.89941h-14.2002v3.89941c0 4 -5.60059 6.60059 -11.2998 6.60059c-7.2002 0 -12.5 -3.7002 -12.5 -9.10059c0 -14.5996 40.1992 -11.7002 40.1992 -39.7002 +c0 -13.5996 -10.5 -25.0996 -28.3994 -25.0996c-18.7998 0 -29.2998 13.2002 -29.2998 13.2002zM228.7 253.8h15.7002v-55c0 -18.8994 -13.3008 -31.8994 -33.4004 -31.8994c-20.2998 0 -33.7002 13 -33.7002 31.8994v55h15.7998v-54.5 +c0 -11.2002 7.10059 -17.7002 17.8008 -17.7002c10.6992 0 17.7998 6.5 17.7998 17.8008v54.3994zM263.1 168.4v72h-7.7998v13.3994h39.1006c16 0 27.1992 -11.2002 27.1992 -27.7998s-11.1992 -28.0996 -27.1992 -28.0996h-15.5v-29.5h-15.8008zM278.9 211.4h12.5996 +c8.90039 0 14 5.7998 14 14.6992c0 8.7002 -5 14.4004 -13.7002 14.4004h-12.8994v-29.0996zM335.9 168.4v72h-7.80078v13.3994h39.1006c16 0 27.2002 -11.2002 27.2002 -27.7998s-11.2002 -28.0996 -27.2002 -28.0996h-15.5v-29.5h-15.7998zM351.6 211.4h12.6006 +c9 0 14 5.7998 14 14.6992c0 8.7002 -5 14.4004 -13.7002 14.4004h-12.9004v-29.0996zM408.7 176.6h0.0996094v61.2002c0 1.60059 -0.899414 2.60059 -2.59961 2.60059h-5.2002v13.3994h15.4004c5.7998 0 8.19922 -2.5 8.19922 -8.2002v-61.1992 +c0 -1.60059 0.900391 -2.60059 2.60059 -2.60059h18.5996c1.60059 0 2.60059 0.900391 2.60059 2.60059v5.19922h14.2998v-13c0 -5.7998 -2.40039 -8.19922 -8.2002 -8.19922h-37.5996c-5.80078 0 -8.2002 2.39941 -8.2002 8.19922zM472.1 176.6h-0.0996094v63.9004h-7.7998 +v13.4004h51.5996c5.7002 0 8.2002 -2.5 8.2002 -8.2002v-13h-14.2002v5.2002c0 1.59961 -0.899414 2.59961 -2.59961 2.59961h-19.2002v-22.4004h27.7002v-13.3994h-27.7002v-20.2998c0 -1.60059 0.900391 -2.60059 2.59961 -2.60059h19.7002 +c1.60059 0 2.60059 0.900391 2.60059 2.60059v5.19922h14.2998v-13c0 -5.7998 -2.5 -8.19922 -8.2002 -8.19922h-38.7002c-5.7998 0 -8.2002 2.39941 -8.2002 8.19922zM531 252.6h-2.7002v1.2002h7v-1.2002h-2.7002v-5.89941h-1.59961v5.89941zM536.7 253.8h2.39941 +l2.10059 -5.09961l2.09961 5.09961h2.2998v-7.09961h-1.5v5.7002l-2.2998 -5.7002h-1.2998l-2.2998 5.7002v-5.7002h-1.5v7.09961z" /> + <glyph glyph-name="telegram-plane" unicode="&#xf3fe;" +d="M446.7 349.4l-67.6006 -318.801c-5.09961 -22.5 -18.3994 -28.0996 -37.2998 -17.5l-103 75.9004l-49.7002 -47.7998c-5.5 -5.5 -10.0996 -10.1006 -20.6992 -10.1006l7.39941 104.9l190.9 172.5c8.2998 7.40039 -1.7998 11.5 -12.9004 4.09961l-236 -148.6 +l-101.6 31.7998c-22.1006 6.90039 -22.5 22.1006 4.59961 32.7002l397.4 153.1c18.3994 6.90039 34.5 -4.09961 28.5 -32.1992z" /> + <glyph glyph-name="uber" unicode="&#xf402;" +d="M414.1 416c18.7002 0 33.9004 -15.2002 33.8008 -33.9004v-380.199c0 -18.7002 -15.2002 -33.9004 -33.9004 -33.9004h-380.1c-18.7002 0 -33.9004 15.2002 -33.9004 34v380.1c0 18.7002 15.2002 33.9004 33.9004 33.9004h380.199zM237.6 56.9004 +c74.6006 7.5 129 74.0996 121.5 148.6c-7 69.4004 -65.3994 122.2 -135.1 122.2s-128.1 -52.7998 -135.1 -122.2h94.3994v20.4004c0 3.7998 3.10059 6.7998 6.7998 6.7998h67.9004c3.7998 0 6.7998 -3.10059 6.7998 -6.7998v-67.9004 +c0 -3.7998 -3.09961 -6.7998 -6.7998 -6.7998h-67.9004c-3.7998 0 -6.7998 3.09961 -6.7998 6.7998v20.4004h-94.3994c7.5 -74.6006 74.0996 -129 148.699 -121.5z" /> + <glyph glyph-name="uikit" unicode="&#xf403;" +d="M443.9 320v-256l-225.9 -128l-218 128v214.3l87.5996 -45.0996v-117l133.5 -75.5l135.801 75.5v151l-101.101 57.5996l87.6006 53.1006zM308.6 398.9l-87.3994 -53l-86 47.2998l88.5996 54.7998z" /> + <glyph glyph-name="uniregistry" unicode="&#xf404;" horiz-adv-x="384" +d="M192 -32c-39.5 0 -76.2002 11.7998 -106.7 32.2002h213.5c-30.5996 -20.4004 -67.2998 -32.2002 -106.8 -32.2002zM102.9 161.1c0 -2.5 0.0996094 -5 0.299805 -7.39941h-103.101c-0.0996094 2.39941 -0.0996094 4.89941 -0.0996094 7.39941v12.4004h102.9v-12.4004z +M123.4 104.1c8.89941 -10.5996 20.0996 -19.0996 33 -24.7998h-138.301c-3.7998 8 -7 16.2998 -9.59961 24.7998h114.9zM105.7 138.8c2 -7.89941 5.2002 -15.3994 9.2002 -22.2998h-109.7c-1.7002 7.2998 -3 14.7002 -3.90039 22.2998h104.4zM102.9 208.1v-17.2998h-102.9 +v17.2998h102.9zM102.9 381.3v-4.89941h-102.9v4.89941h102.9zM102.9 416v-2.5h-102.9v2.5h102.9zM102.9 346.7v-7.40039h-102.9v7.40039h102.9zM102.9 242.7v-14.7998h-102.9v14.7998h102.9zM102.9 312v-9.90039h-102.9v9.90039h102.9zM102.9 277.4v-12.4004h-102.9v12.4004 +h102.9zM269.1 116.5c4 6.90039 7.10059 14.4004 9.2002 22.2998h104.4c-0.799805 -7.59961 -2.10059 -15 -3.90039 -22.2998h-109.7zM281.1 302.2v9.7998h102.9v-9.7998h-102.9zM281.1 265v12.4004h102.9v-12.4004h-102.9zM281.1 339.3v7.40039h102.9v-7.40039h-102.9z +M281.1 416h102.9v-2.5h-102.9v2.5zM78.0996 5.09961c-11.7998 8.7002 -23.5996 18.7002 -33.1992 29.7002h293.1c-9.5 -11.0996 -20.4004 -21 -32.2002 -29.7002h-227.7zM281.1 376.4v4.89941h102.9v-4.89941h-102.9zM281.1 227.9v14.7998h102.9v-14.7998h-102.9z +M38.7998 42.2998c-6.59961 8.5 -10.5996 17.6006 -15.7998 27.2002h338.9c-5.2002 -9.59961 -11.1006 -18.7002 -17.8008 -27.2002h-305.3zM227.6 79.4004c12.8008 5.59961 24.1006 14.0996 32.9004 24.7998h115c-2.7002 -8.60059 -4.7998 -16.7998 -8.5 -24.7998h-139.4z +M281.1 161.1v12.4004h102.9v-12.4004c0 -2.5 -0.0996094 -4.89941 -0.200195 -7.39941h-103.1c0.299805 2.39941 0.399414 4.89941 0.399414 7.39941zM281.1 190.8v17.2998h102.9v-17.2998h-102.9z" /> + <glyph glyph-name="untappd" unicode="&#xf405;" horiz-adv-x="640" +d="M401.3 398.1c-79.7998 -160.1 -84.5996 -152.5 -87.8994 -173.199l-5.2002 -32.8008c-1.90039 -12 -6.60059 -23.5 -13.7002 -33.3994l-148.9 -207.8c-7.59961 -10.6006 -20.3994 -16.2002 -33.3994 -14.6006c-40.2998 5 -77.7998 32.2002 -95.2998 68.5 +c-5.7002 11.7998 -4.5 25.7998 3.09961 36.4004l148.9 207.899c7.09961 9.90039 16.3994 18 27.1992 23.7002l29.3008 15.5c18.5 9.7998 9.69922 11.9004 135.6 138.9c1 4.7998 1 7.2998 3.59961 8c3 0.700195 6.60059 1 6.30078 4.59961l-0.400391 4.60059 +c-0.200195 1.89941 1.2998 3.59961 3.2002 3.59961c4.5 0.0996094 13.2002 -1.2002 25.5996 -10c12.2998 -8.90039 16.4004 -16.7998 17.7002 -21.0996c0.599609 -1.80078 -0.599609 -3.7002 -2.40039 -4.2002l-4.5 -1.10059 +c-3.39941 -0.899414 -2.5 -4.39941 -2.2998 -7.39941c0.100586 -2.7998 -2.2998 -3.60059 -6.5 -6.10059zM230.1 411.6c-3.19922 0.800781 -8.19922 1.2002 -6.7998 5.40039c1.2998 4.2998 5.40039 12.2002 17.7002 21.0996c12.4004 8.90039 21.0996 10.1006 25.5996 10 +c4.2002 -0.0996094 3.10059 -4.89941 2.80078 -8.19922c-0.300781 -3.60059 3.2998 -3.80078 6.2998 -4.60059c2.59961 -0.700195 2.59961 -3.2998 3.59961 -8c9.10059 -9.2002 17.6006 -17.8994 25.6006 -26.0996c1.2998 -1.40039 1.19922 -3.5 -0.100586 -4.90039 +c-15.8994 -16.3994 -29.2998 -30.5996 -40.5 -42.5996c-1 -1 -2.59961 -0.799805 -3.2998 0.5c-6.90039 13.5 -14.2998 28.0996 -22.2002 44c-4.2998 2.5 -6.59961 3.2998 -6.39941 6c0.199219 3 1.09961 6.5 -2.30078 7.39941zM620 41.2998 +c7.7002 -10.7002 8.7998 -24.7002 3.40039 -36.5996c-17.7002 -36.6006 -55.4004 -63.7002 -95.7002 -68.6006c-12.9004 -1.5 -25.5 4.10059 -33.1006 14.7002l-148.899 207.9c-7.10059 9.89941 -11.7998 21.3994 -13.7002 33.3994 +c-1.59961 9.80078 -2 19.1006 -0.299805 29.8008c1.89941 12 2.7002 6 49 94.7998c0.700195 1.39941 2.59961 1.59961 3.59961 0.5c16.2998 -18 19.2998 -23 30.5 -28.9004c29.7998 -15.7002 43.2002 -20.5996 56.4004 -39.0996z" /> + <glyph glyph-name="ussunnah" unicode="&#xf407;" horiz-adv-x="512" +d="M156.8 162.9l5.7002 -14.4004h-8.2002c-1.2998 3.2002 -3.09961 7.7002 -3.7998 9.5c-2.5 6.2998 -1.09961 8.40039 0 10c1.90039 2.7002 3.2002 4.40039 3.59961 5.2002c0 -2.2002 0.800781 -5.7002 2.7002 -10.2998zM454.1 144.1 +c-2.09961 -13.7998 -5.69922 -27.0996 -10.5 -39.6992l43 -23.4004l-44.7998 18.7998c-5.2998 -13.2002 -12 -25.5996 -19.8994 -37.2002l34.1992 -30.1992l-36.7998 26.3994c-8.39941 -11.7998 -18 -22.5996 -28.7002 -32.2998l24.9004 -34.7002l-28.0996 31.7998 +c-11 -9.59961 -23.1006 -18 -36.1006 -25.0996l15.7002 -37.2002l-19.2998 35.2998c-13.1006 -6.7998 -27 -12.0996 -41.6006 -15.8994l6.7002 -38.4004l-10.5 37.4004c-14.2998 -3.40039 -29.2002 -5.2998 -44.5 -5.40039l-1.7998 -38.2998l-1.90039 38.4004 +c-15.2998 0.0996094 -30.1992 2 -44.5 5.2998l-10.5996 -37.2998l6.7002 38.1992c-14.6006 3.7002 -28.6006 9.10059 -41.7002 15.8008l-19.2002 -35.1006l15.6006 37c-13 7 -25.2002 15.4004 -36.2002 25.1006l-27.9004 -31.6006l24.7002 34.4004 +c-10.7002 9.7002 -20.4004 20.5 -28.7998 32.2998l-36.5 -26.2002l33.8994 29.9004c-7.89941 11.5996 -14.5996 24.0996 -20 37.2998l-44.3994 -18.7002l42.5996 23.2002c-4.7998 12.7002 -8.39941 26.0996 -10.5 39.9004l-51 -9l50.2998 14.1992 +c-1.09961 8.5 -1.69922 17.1006 -1.69922 25.9004c0 4.7002 0.199219 9.40039 0.5 14.0996l-55.4004 2.90039l56 2.7998c1.2998 13.1006 3.7998 25.7998 7.5 38.1006l-57.0996 16.0996l58.8994 -10.4004c4 12 9.10059 23.5 15.2002 34.4004l-55.0996 30l58.2998 -24.5996 +c6.2998 10.5996 13.5 20.3994 21.5996 29.5996l-49.5 43.5996l53.9004 -38.6992c8.09961 8.59961 17 16.5 26.5996 23.5996l-40 55.5996l45.6006 -51.5996c9.5 6.59961 19.6992 12.2998 30.2998 17.2002l-27.2998 64.8994l33.7998 -62.0996 +c10.5 4.40039 21.3994 7.90039 32.7002 10.4004l-12.4004 70.6992l19.5 -69.1992c11 2.09961 22.2998 3.19922 33.7998 3.39941l3.7002 72.2002l3.59961 -72.2002c11.5 -0.200195 22.8008 -1.39941 33.8008 -3.5l19.5996 69.2998l-12.4004 -70.6992 +c11.3008 -2.60059 22.2002 -6.10059 32.6006 -10.5l33.8994 62.1992l-27.3994 -65.0996c10.5996 -4.90039 20.7002 -10.7002 30.2002 -17.2002l45.7998 51.7998l-40.1006 -55.8994c9.5 -7.10059 18.4004 -15 26.5 -23.6006l54.2002 38.9004l-49.7002 -43.9004 +c8 -9.09961 15.2002 -18.8994 21.5 -29.3994l58.7002 24.7002l-55.5 -30.2002c6.10059 -10.9004 11.1006 -22.2998 15.1006 -34.2998l59.2998 10.3994l-57.5 -16.2002c3.7002 -12.1992 6.2002 -24.8994 7.5 -37.8994l56.2998 -2.7002l-56 -2.7998 +c0.299805 -4.60059 0.5 -9.2998 0.5 -14.1006c0 -8.69922 -0.599609 -17.2998 -1.59961 -25.7998l50.6992 -14.2998zM432.3 175.1c0 97.5 -79 176.5 -176.5 176.5s-176.5 -79 -176.5 -176.5s79 -176.5 176.5 -176.5s176.5 79 176.5 176.5zM408.3 175.1 +c0 -84.2998 -68.2998 -152.6 -152.6 -152.6s-152.601 68.2998 -152.601 152.6c0 84.3008 68.3008 152.601 152.601 152.601s152.6 -68.2998 152.6 -152.601zM195 207c0 -2.09961 1.2998 -3.7998 3.59961 -5.09961c3.30078 -1.90039 6.2002 -4.60059 8.2002 -8.2002 +c2.7998 5.7002 4.2998 9.5 4.2998 11.2002c0 2.19922 -1.09961 4.39941 -3.19922 7c-2.10059 2.5 -3.2002 5.19922 -3.30078 7.69922c-6.5 -6.7998 -9.59961 -10.8994 -9.59961 -12.5996zM154.3 226c0 -2.09961 1.2998 -3.7998 3.60059 -5.09961 +c3.5 -1.90039 6.19922 -4.60059 8.19922 -8.2002c2.80078 5.7002 4.30078 9.5 4.30078 11.2002c0 2.19922 -1.10059 4.39941 -3.2002 7c-2.10059 2.5 -3.2002 5.19922 -3.2998 7.69922c-6.5 -6.7998 -9.60059 -10.8994 -9.60059 -12.5996zM135.3 226 +c0 -2.09961 1.2998 -3.7998 3.60059 -5.09961c3.2998 -1.90039 6.19922 -4.60059 8.19922 -8.2002c2.80078 5.7002 4.30078 9.5 4.30078 11.2002c0 2.19922 -1.10059 4.39941 -3.2002 7c-2.10059 2.5 -3.2002 5.19922 -3.2998 7.69922 +c-6.40039 -6.7998 -9.60059 -10.8994 -9.60059 -12.5996zM340.2 138.1c-8.40039 3 -8.7002 6.80078 -8.7002 15.6006v112.3c-8.2002 -12.5 -14.2002 -18.5996 -18 -18.5996c6.2998 -14.4004 9.5 -23.9004 9.5 -28.3008v-64.2998c0 -2.2002 -2.2002 -6.5 -4.7002 -6.5h-18 +c-2.7998 7.5 -10.2002 26.9004 -15.2998 40.2998c-2 -2.5 -7.2002 -9.19922 -10.7002 -13.6992c2.40039 -1.60059 4.10059 -3.60059 5.2002 -6.30078c2.59961 -6.69922 6.40039 -16.5 7.90039 -20.1992h-9.2002c-3.90039 10.3994 -9.60059 25.3994 -11.7998 31.0996 +c-2 -2.5 -7.2002 -9.2002 -10.7002 -13.7002c2.39941 -1.59961 4.09961 -3.59961 5.2002 -6.2998c0.799805 -2 2.7998 -7.2998 4.2998 -10.9004h-9.2002c-1.5 4.10059 -5.59961 14.6006 -8.40039 22c-2 -2.5 -7.19922 -9.19922 -10.6992 -13.6992 +c2.5 -1.60059 4.2998 -3.60059 5.19922 -6.30078c0.200195 -0.599609 0.5 -1.39941 0.600586 -1.69922h-17.7002c-4.59961 13.8994 -11.4004 27.6992 -11.4004 34.0996c0 2.2002 0.300781 5.09961 1.10059 8.2002c-8.7998 -10.7998 -14 -15.9004 -14 -25 +c0 -7.5 10.3994 -28.2998 10.3994 -33.2998c0 -1.7002 -0.5 -3.30078 -1.39941 -4.90039c-9.60059 12.7002 -15.5 20.7002 -18.7998 20.7002h-12l-11.2002 28c-3.7998 9.59961 -5.7002 16 -5.7002 18.7998c0 3.7998 0.5 7.7002 1.7002 12.2002 +c-1 -1.2998 -3.7002 -4.7002 -5.5 -7.10059c-0.799805 2.10059 -3.10059 7.7002 -4.60059 11.5c-2.09961 -2.5 -7.5 -9.09961 -11.1992 -13.5996c0.899414 -2.2998 3.2998 -8.09961 4.89941 -12.2002c-2.5 -3.2998 -9.09961 -11.7998 -13.5996 -17.7002 +c-4 -5.2998 -5.7998 -13.2998 -2.7002 -21.7998c2.5 -6.7002 2 -7.89941 -1.7002 -14.0996h61.7002c5.5 0 14.2998 -14 15.5 -22c13.2002 16 15.4004 19.5996 16.7998 21.5996h107c3.90039 0 7.2002 1.90039 9.90039 5.7998zM360.3 164.7v101.6 +c-9 -12.5 -15.8994 -18.5996 -20.7002 -18.5996c7.10059 -14.4004 10.7002 -23.9004 10.7002 -28.2998v-66.3008c0 -17.5 8.60059 -20.3994 24 -20.3994c8.10059 0 12.5 0.799805 13.7002 2.7002c-4.2998 1.59961 -7.59961 2.5 -9.90039 3.2998 +c-8.09961 3.2002 -17.7998 7.39941 -17.7998 26z" /> + <glyph glyph-name="vaadin" unicode="&#xf408;" +d="M224.5 307.3c1.5 17.6006 4.90039 52.7002 49.7998 52.7002h98.6006c20.6992 0 32.0996 7.7998 32.0996 21.5996v12.3008c0 12.1992 9.2998 22.0996 21.5 22.0996s21.5 -9.90039 21.5 -22.0996v-36.5c0 -42.9004 -21.5 -62 -66.7998 -62h-100.5 +c-30.1006 0 -33 -14.7002 -33 -27.1006c0 -1.2998 -0.100586 -2.5 -0.200195 -3.7002c-0.700195 -12.2998 -10.9004 -22.1992 -23.4004 -22.1992s-22.6992 9.7998 -23.3994 22.1992c-0.100586 1.2002 -0.200195 2.40039 -0.200195 3.7002c0 12.2998 -3 27.1006 -33 27.1006 +h-100.7c-45.2998 0 -66.7998 19.0996 -66.7998 62v36.5c0 12.1992 9.40039 22.0996 21.5996 22.0996c12.2002 0 21.5 -9.90039 21.5 -22.0996v-12.3008c0 -13.7998 11.4004 -21.5996 32.1006 -21.5996h98.5996c44.7998 0 48.2998 -35.0996 49.7998 -52.7002h0.900391z +M224 -8c-11.5 0 -21.4004 7 -25.7002 16.2998c-1.09961 1.7998 -97.0996 169.5 -98.2002 171.4c-11.8994 19.7002 3.2002 44.2998 27.2002 44.2998c13.9004 0 23.4004 -6.40039 29.7998 -20.2998l66.9004 -117.7l66.9004 117.7c6.5 13.8994 15.8994 20.2998 29.7998 20.2998 +c24 0 39.0996 -24.7002 27.2002 -44.2998c-1.10059 -1.7998 -97.1006 -169.601 -98.2002 -171.4c-4.2998 -9.2998 -14.2002 -16.2998 -25.7002 -16.2998z" /> + <glyph glyph-name="viber" unicode="&#xf409;" horiz-adv-x="512" +d="M444 398.1c42.2002 -36.6992 65.5996 -117.899 49.7998 -246.5c-15.2002 -124.6 -109.1 -136.6 -125.7 -142c-7.19922 -2.2998 -70.2998 -18.0996 -152.5 -11.1992c-9.09961 -10.5 -21.0996 -24.3008 -29.7998 -33.7002 +c-15.8994 -17.1006 -25.7002 -33 -42.2998 -27.7998c-13.7998 4.19922 -13 25.0996 -13 25.0996l0.0996094 51.5996h-0.0996094c-120.1 33.8008 -118.4 158.4 -117 224.9s14.2998 120.2 50.9004 156.8c65.7998 60.4004 200.899 52.2998 200.899 52.2998 +c114.601 -0.5 166 -37.7998 178.7 -49.5zM457.9 161c13.2998 107.3 -4.90039 180.5 -40.6006 211.1c-10.7998 9.80078 -57.2002 39 -154.1 39.4004c0 0 -114.7 7.5 -170.4 -43c-31 -30.5996 -41.5 -76.0996 -42.5996 -131.6 +c-1.10059 -55.5 -7.10059 -161.601 94.7002 -189.801c-0.100586 0 -0.100586 0 0 0c0 0 -0.400391 -78.7998 -0.400391 -85.6992c-0.0996094 -10.5 5.7002 -11 11 -5.7002c16.2002 16.2998 68.2002 79 68.2002 79c69.7002 -4.5 125.2 9.2998 131.2 11.2002 +c14 4.5 90.0996 11.0996 103 115.1zM318.9 241.8c0.399414 -8.59961 -12.5 -9.2002 -12.9004 -0.599609c-1.09961 22 -11.4004 32.7002 -32.5996 33.8994c-8.60059 0.5 -7.80078 13.4004 0.699219 12.9004c27.9004 -1.5 43.4004 -17.5 44.8008 -46.2002zM339.2 230.5 +c1 42.4004 -25.5 75.5996 -75.7998 79.2998c-8.5 0.600586 -7.60059 13.5 0.899414 12.9004c58 -4.2002 88.9004 -44.1006 87.7998 -92.5c-0.0996094 -8.60059 -13.0996 -8.2002 -12.8994 0.299805zM386.2 217.1c0.0996094 -8.59961 -12.9004 -8.69922 -12.9004 -0.0996094 +c-0.599609 81.5 -54.8994 125.9 -120.8 126.4c-8.5 0.0996094 -8.5 12.8994 0 12.8994c73.7002 -0.5 133 -51.3994 133.7 -139.2zM374.9 119v-0.200195c-10.8008 -19 -31 -40 -51.8008 -33.2998l-0.199219 0.299805c-21.1006 5.90039 -70.8008 31.5 -102.2 56.5 +c-16.2002 12.7998 -31 27.9004 -42.4004 42.4004c-10.2998 12.8994 -20.7002 28.2002 -30.7998 46.5996c-21.2998 38.5 -26 55.7002 -26 55.7002c-6.7002 20.7998 14.2002 41 33.2998 51.7998h0.200195c9.2002 4.7998 18 3.2002 23.9004 -3.89941 +c0 0 12.3994 -14.8008 17.6992 -22.1006c5 -6.7998 11.7002 -17.7002 15.2002 -23.7998c6.10059 -10.9004 2.2998 -22 -3.7002 -26.5996l-12 -9.60059c-6.09961 -4.89941 -5.2998 -14 -5.2998 -14s17.7998 -67.2998 84.2998 -84.2998c0 0 9.10059 -0.799805 14 5.2998 +l9.60059 12c4.59961 6 15.7002 9.7998 26.5996 3.7002c14.7002 -8.2998 33.4004 -21.2002 45.7998 -32.9004c7 -5.69922 8.60059 -14.3994 3.80078 -23.5996z" /> + <glyph glyph-name="vimeo" unicode="&#xf40a;" +d="M403.2 416c24.7002 0 44.7998 -20.0996 44.7998 -44.7998v-358.4c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v358.4c0 24.7002 20.0996 44.7998 44.7998 44.7998h358.4zM377 267.2 +c1.90039 42.2002 -13.7998 63.7998 -47.0996 64.7002c-44.9004 1.39941 -75.3008 -23.9004 -91.2002 -76c19.8994 8.5 49.2998 10.7998 45.7998 -22.4004c-1 -11.2002 -8.2998 -27.5 -21.7998 -48.9004c-37.7002 -59.3994 -46.9004 -39.5996 -67.6006 91.6006 +c-5.7998 36.8994 -21.2998 54.0996 -46.5 51.7002c-22.2998 -2 -57.8994 -38.4004 -95.1992 -71.2002l15.1992 -19.6006c14.5 10.1006 23 15.2002 25.4004 15.2002c21 0 31.9004 -54.7002 57.4004 -148c13.0996 -34.8994 29 -52.2998 47.8994 -52.2998 +c30.4004 0 67.7002 28.5996 111.7 85.7998c42.5996 54.7002 64.5996 97.9004 66 129.4z" /> + <glyph glyph-name="vnv" unicode="&#xf40b;" horiz-adv-x="640" +d="M104.9 96c-34.1006 0 -46.4004 30.4004 -46.4004 30.4004l-55.9004 111.5s-10.3994 18.0996 10.4004 18.0996h32.7998c10.4004 0 13.2002 -8.7002 18.7998 -18.0996l36.7002 -74.5s5.2002 -13.1006 21.1006 -13.1006c15.8994 0 21.0996 13.1006 21.0996 13.1006 +l36.7002 74.5c5.59961 9.5 8.39941 18.0996 18.7998 18.0996h32.7998c20.7998 0 10.4004 -18.0996 10.4004 -18.0996l-55.7998 -111.5s-12.2002 -30.4004 -46.4004 -30.4004h-35.0996zM499.9 96c-34.1006 0 -46.4004 30.4004 -46.4004 30.4004l-55.9004 111.5 +s-10.3994 18.0996 10.4004 18.0996h32.7998c10.4004 0 13.2002 -8.7002 18.7998 -18.0996l36.7002 -74.5s5.2002 -13.1006 21.1006 -13.1006c15.8994 0 21.0996 13.1006 21.0996 13.1006l36.7998 74.5c5.60059 9.5 8.40039 18.0996 18.7998 18.0996h32.9004 +c20.7998 0 10.4004 -18.0996 10.4004 -18.0996l-55.9004 -111.5s-12.2002 -30.4004 -46.4004 -30.4004h-35.1992zM337.6 256c34.1006 0 46.4004 -30.4004 46.4004 -30.4004l55.9004 -111.5s10.3994 -18.0996 -10.4004 -18.0996h-32.7998 +c-10.4004 0 -13.2002 8.7002 -18.7998 18.0996l-36.7002 74.5s-5.2002 13.1006 -21.1006 13.1006c-15.8994 0 -21.0996 -13.1006 -21.0996 -13.1006l-36.7002 -74.5c-5.59961 -9.39941 -8.39941 -18.0996 -18.7998 -18.0996h-32.9004 +c-20.7998 0 -10.3994 18.0996 -10.3994 18.0996l55.8994 111.5s12.2002 30.4004 46.4004 30.4004h35.0996z" /> + <glyph glyph-name="whatsapp-square" unicode="&#xf40c;" +d="M224 325.2c35.2002 0 68.2002 -13.7002 93.2002 -38.7002c24.8994 -24.9004 40.0996 -58 40.0996 -93.2002c0 -72.7002 -60.7002 -131.8 -133.3 -131.8h-0.0996094c-23.7002 0 -46.9004 6.40039 -67.1006 18.4004l-4.7998 2.89941l-49.9004 -13.0996l13.3008 48.5996 +l-3.10059 5c-13.2002 20.9004 -20.2002 45.2002 -20.2002 70.1006c0.100586 72.6992 59.2002 131.8 131.9 131.8zM301.5 136.8c3.2998 9.2002 3.2998 17.2002 2.40039 19.1006c-1 1.59961 -3.60059 2.59961 -7.60059 4.59961s-23.5 11.5996 -27.0996 12.9004 +c-3.60059 1.2998 -6.2998 2 -8.90039 -2c-2.59961 -3.90039 -10.2002 -12.9004 -12.5 -15.5c-2.2998 -2.7002 -4.59961 -3 -8.59961 -1c-23.2998 11.6992 -38.6006 20.7998 -53.9004 47.0996c-4.09961 7 4 6.40039 11.6006 21.5996 +c1.39941 2.60059 0.699219 4.90039 -0.300781 6.90039s-8.89941 21.5 -12.1992 29.4004c-3.2002 7.69922 -6.5 6.69922 -8.90039 6.7998c-2.2998 0.0996094 -5 0.0996094 -7.59961 0.0996094c-2.7002 0 -7 -1 -10.6006 -5c-3.7002 -4 -13.8994 -13.5996 -13.8994 -33.0996 +s14.1992 -38.4004 16.1992 -41c2 -2.60059 28 -42.6006 67.7002 -59.7998c25.1006 -10.8008 34.9004 -11.8008 47.5 -9.90039c7.60059 1.09961 23.4004 9.5 26.7002 18.7998zM400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48 +v352c0 26.5 21.5 48 48 48h352zM223.9 34.7998c87.3994 0 160.1 71.1006 160.1 158.5c0 42.4004 -18 82.2002 -47.9004 112.2c-30 30 -69.7998 46.5 -112.199 46.5c-87.4004 0 -158.5 -71.0996 -158.601 -158.5c0 -28 7.2998 -55.2998 21.2002 -79.2998l-22.5 -82.2002 +l84.0996 22.0996c23.1006 -12.5996 49.2002 -19.2998 75.8008 -19.2998z" /> + <glyph glyph-name="whmcs" unicode="&#xf40d;" +d="M448 287l-29.0996 -7l-2.2002 -12.0996l20.8994 -18.8008l-10.2998 -20.0996l-28.7998 8.7998l-7.7998 -8.09961l8.7998 -28l-20.4004 -12.1006l-20.6992 21.6006l-11.6006 -3.5l-6.7002 -28.7998l-22.5996 0.299805l-6.7002 28.5l-11.5996 2.89941l-19.4004 -20.3994 +l-19.8994 11.5996l8.09961 26.9004l-7.2002 8.59961l-29.5996 -7.5l-10.4004 18.5l20.1006 19.9004l-2.40039 12.0996l-28.7998 7.5l0.299805 21.7002l28.5 7.7998l2.90039 10.4004l-20.7002 21l11 19.0996l28.5 -7.5l8.09961 8.40039l-8.09961 27.7002l19.3994 11 +l19.7002 -21l12.1006 3.19922l6.19922 26.4004h22.6006l7 -26.4004l10.7002 -3.19922l21.2998 21l19.0996 -11.6006l-7.5 -28.2002l7.2002 -7.5l29 7.5l10.4004 -19.3994l-20.1006 -20.7002l2.2002 -10.4004l28.5 -8.7998v-21.2998zM328.8 241.8 +c31.4004 0 56.7998 25.2998 56.7998 56.7998c0 31.4004 -25.3994 56.8008 -56.7998 56.8008c-31.3994 0 -56.7998 -25.4004 -56.7998 -56.8008c0 -31.3994 25.5 -56.7998 56.7998 -56.7998zM401.1 225.4l46.9004 -14.5v-39.9004l-55.0996 -13.4004l-4.10059 -22.6992 +l38.9004 -35.3008l-19.2002 -37.8994l-54 16.7002l-14.5996 -15.2002l16.6992 -52.5l-38.2998 -22.7002l-38.8994 40.5l-21.7002 -6.59961l-12.6006 -54l-42.3994 0.5l-12.6006 53.5996l-21.6992 5.59961l-36.4004 -38.3994l-37.4004 21.7002l15.2002 50.5l-13.7002 16.0996 +l-55.5 -14.0996l-19.6992 34.7998l37.8994 37.3994l-4.7998 22.8008l-54 14.0996l0.5 40.9004l53.5 14.6992l5.7002 19.7002l-38.9004 39.4004l20.7002 35.7998l53.5996 -14.0996l15.2002 15.6992l-15.2002 52l36.4004 20.7002l36.7998 -39.3994l22.7002 6.09961l11.5996 52 +h42.4004l11.5996 -45.9004l-22.5996 5.90039l-6.2998 1.7002l-3.2998 -5.7002l-11 -19.0996l-3.30078 -5.60059l4.60059 -4.59961l17.2002 -17.4004l-0.300781 -1l-23.7998 -6.5l-6.2002 -1.7002l-0.0996094 -6.39941l-0.200195 -12.9004 +c-47.5 -10.3994 -83.2998 -52.7998 -83.2998 -103.5c0 -58.2998 47.2998 -105.7 105.7 -105.7c50.5 0 92.7002 35.4004 103.2 82.8008l13.1992 -0.200195l6.90039 -0.100586l1.59961 6.7002l5.60059 24l1.89941 0.600586l17.1006 -17.8008l4.7002 -4.89941l5.7998 3.39941 +l20.3994 12.1006l5.80078 3.5l-2 6.5z" /> + <glyph glyph-name="wordpress-simple" unicode="&#xf411;" horiz-adv-x="512" +d="M256 440c136.7 0 248 -111.2 248 -248c0 -136.7 -111.3 -248 -248 -248s-248 111.3 -248 248c0 136.8 111.3 248 248 248zM33 192c0 -88.2002 51.2998 -164.5 125.7 -200.7l-106.4 291.4c-12.3994 -27.7002 -19.2998 -58.4004 -19.2998 -90.7002zM256 -31 +c26 0 50.9004 4.5 74 12.5996c-0.599609 1 -1.09961 2 -1.59961 3.10059l-68.5 187.8l-66.9004 -194.4c20 -5.89941 41.0996 -9.09961 63 -9.09961zM286.7 296.5l80.7002 -239.6l22.1992 74.2998c9.7002 30.8994 17 53 17 72.0996c0 27.6006 -9.89941 46.7002 -18.3994 61.5 +c-11.2998 18.4004 -21.9004 33.9004 -21.9004 52.2998c0 20.5 15.5 39.6006 37.4004 39.6006c1 0 1.89941 -0.100586 2.89941 -0.200195c-39.6992 36.2998 -92.5996 58.5 -150.6 58.5c-77.9004 0 -146.4 -40 -186.3 -100.5 +c5.2998 -0.200195 10.2002 -0.299805 14.3994 -0.299805c23.3008 0 59.4004 2.7998 59.4004 2.7998c12 0.700195 13.4004 -17 1.40039 -18.4004c0 0 -12.1006 -1.39941 -25.5 -2.09961l81.1992 -241.5l48.8008 146.3l-34.7002 95.2002 +c-12 0.700195 -23.4004 2.09961 -23.4004 2.09961c-12 0.700195 -10.5996 19.1006 1.40039 18.4004c0 0 36.7998 -2.7998 58.7002 -2.7998c23.2998 0 59.3994 2.7998 59.3994 2.7998c12 0.700195 13.4004 -17 1.40039 -18.4004c0 0 -12.1006 -1.39941 -25.5 -2.09961z +M368.1 -0.700195c66.3008 38.6006 110.9 110.4 110.9 192.7c0 38.7998 -9.90039 75.2002 -27.2998 107c1 -7.09961 1.5 -14.7002 1.5 -22.9004c0 -22.6992 -4.2998 -48.0996 -17 -79.8994z" /> + <glyph glyph-name="xbox" unicode="&#xf412;" horiz-adv-x="512" +d="M369.9 129.8c44.2998 -54.2998 64.6992 -98.7998 54.3994 -118.7c-7.89941 -15.0996 -56.7002 -44.5996 -92.5996 -55.8994c-29.6006 -9.2998 -68.4004 -13.2998 -100.4 -10.2002c-38.2002 3.7002 -76.8994 17.4004 -110.1 39 +c-27.9004 18.2002 -34.2002 25.7002 -34.2002 40.5996c0 29.9004 32.9004 82.3008 89.2002 142.101c32 33.8994 76.5 73.7002 81.3994 72.5996c9.40039 -2.09961 84.3008 -75.0996 112.301 -109.5zM188.6 304.2c-66.3994 -81.5 -106 -155.4 -120.3 -194.4 +c-9.7998 -26.5 -13.7002 -53 -9.5 -64c2.7998 -7.39941 0.200195 -4.7002 -9.2998 9.90039c-23.2002 35.5 -34.9004 70.3994 -40.5 120.899c-1.90039 16.7002 -1.2002 26.3008 4.2002 60.5c6.7998 42.7002 31.0996 92 60.2998 122.4 +c12.4004 12.9004 13.5 13.2002 28.7002 8.09961c28.2998 -9.5 56.7002 -36.5 86.3994 -63.3994zM500.2 240.7c4.7002 -22.6006 5.09961 -70.9004 0.799805 -93.4004c-3.59961 -18.5 -11.2002 -42.5 -18.5996 -58.7002c-5.5 -12.1992 -19.3008 -35.7998 -25.4004 -43.5 +c-3.09961 -3.89941 -3.09961 -3.89941 -1.40039 4.60059c2.30078 11.2002 -0.599609 31.5996 -7.39941 52.2998c-20.7002 62.9004 -80.5 149 -122.9 202.3c23.2998 21.4004 41 38.2998 64.2998 52.7998c11.8008 7.40039 28.7002 13.9004 36 13.9004 +c7.10059 0 57.7002 -50.2998 74.6006 -130.3zM141.3 405c-14.5996 -0.700195 -14 0.0996094 9.40039 11.2002c81.2002 38.2998 170 27.5996 233.899 -11.7002c-13.3994 0.599609 -43.5 5.90039 -107.399 -25.2002c-11.2002 -5.5 -20.9004 -9.7998 -21.6006 -9.7002 +c-4.59961 0.900391 -66.5996 37.9004 -114.3 35.4004z" /> + <glyph glyph-name="yandex" unicode="&#xf413;" horiz-adv-x="256" +d="M153.1 132.2l-87.3994 -196.2h-63.7002l96 209.8c-45.0996 22.9004 -75.2002 64.4004 -75.2002 141.101c-0.0996094 107.399 68 161.1 148.9 161.1h82.2998v-512h-55.0996v196.2h-45.8008zM198.9 401.5h-29.4004c-44.4004 0 -87.4004 -29.4004 -87.4004 -114.6 +c0 -82.3008 39.4004 -108.801 87.4004 -108.801h29.4004v223.4z" /> + <glyph glyph-name="yandex-international" unicode="&#xf414;" horiz-adv-x="320" +d="M129.5 -64v166.1l-111 297.9h55.7998l81.7998 -229.7l94.1006 277.7h51.2998l-120.7 -347.8v-164.2h-51.2998z" /> + <glyph glyph-name="apple-pay" unicode="&#xf415;" horiz-adv-x="640" +d="M116.9 289.5c-7.5 -8.90039 -19.5 -15.9004 -31.5 -14.9004c-1.5 12 4.39941 24.8008 11.2998 32.6006c7.5 9.09961 20.5996 15.5996 31.2998 16.0996c1.2002 -12.3994 -3.7002 -24.7002 -11.0996 -33.7998zM127.8 272.3c6.7998 -0.5 26.2998 -2.5 38.7998 -21.0996 +c-1 -0.799805 -23.1992 -13.5 -22.8994 -40.2998c0.299805 -32 28 -42.6006 28.2998 -42.9004c-0.200195 -0.799805 -4.40039 -15.0996 -14.5 -29.9004c-8.90039 -13 -18 -25.6992 -32.5 -26c-14 -0.199219 -18.7002 8.40039 -34.7998 8.40039 +c-16 0 -21.2002 -8.09961 -34.5 -8.59961c-14 -0.5 -24.6006 13.7998 -33.5 26.7998c-18.2002 26.2998 -32.1006 74 -13.2998 106.3c9.09961 16.0996 25.6992 26.2002 43.5996 26.5c13.7998 0.299805 26.4004 -9.09961 34.7998 -9.09961 +c8.2002 0 23.1006 10.8994 40.5 9.89941zM228.2 308.5h73.2002c37.6992 0 64.0996 -26 64.0996 -64s-26.7998 -64.2998 -65.0996 -64.2998h-41.9004v-66.6006h-30.2998v194.9zM258.5 283v-77.4004h34.7998c26.4004 0 41.4004 14.2002 41.4004 38.8008 +c0 24.5996 -15 38.5996 -41.2998 38.5996h-34.9004zM420.7 112.1c-28.1006 0 -47.7002 16.8008 -47.7998 42c0 25 19 39.4004 54.0996 41.5l37.7998 2.30078v10.7998c0 15.8994 -10.3994 24.5 -28.8994 24.5c-15.2002 0 -26.3008 -7.90039 -28.6006 -19.9004h-27.2998 +c0.900391 25.2002 24.7002 43.6006 56.7998 43.6006c34.6006 0 57.1006 -18.2002 57.1006 -46.3008v-97h-28v23.4004h-0.600586c-8 -15.2998 -25.5996 -24.9004 -44.5996 -24.9004zM428.9 135.2c20.5 0 36 13 36 31.2002v11l-33.6006 -2.10059 +c-18.8994 -1.09961 -28.7998 -8.2002 -28.7998 -20.5c0 -11.7998 10.2998 -19.5996 26.4004 -19.5996zM531.4 60.5996c-2.30078 0 -9.80078 0.300781 -11.6006 0.700195v23.4004c1.90039 -0.200195 6.5 -0.5 8.90039 -0.5c13.3994 0 20.8994 5.7002 25.5 20.2998 +l2.7998 8.59961l-51.2002 141.9h31.6006l35.5996 -115.1h0.599609l35.6006 115.1h30.7998l-53.0996 -149c-12.1006 -34.0996 -26 -45.4004 -55.5 -45.4004z" /> + <glyph glyph-name="cc-apple-pay" unicode="&#xf416;" horiz-adv-x="576" +d="M302.2 229.6c0 -17.1992 -10.5 -27.0996 -29 -27.0996h-24.2998v54.2002h24.3994c18.4004 0 28.9004 -9.7998 28.9004 -27.1006zM349.7 167c0 8.59961 6.89941 13.5 20.2002 14.4004l23.5 1.5v-7.7002c0 -12.7998 -10.8008 -21.9004 -25.2002 -21.9004 +c-11.2998 0 -18.5 5.40039 -18.5 13.7002zM576 369v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM127.8 250.8c8.40039 -0.700195 16.7998 4.2002 22.1006 10.4004 +c5.19922 6.39941 8.59961 15 7.69922 23.7002c-7.39941 -0.300781 -16.5996 -4.90039 -21.8994 -11.3008c-4.7998 -5.5 -8.90039 -14.3994 -7.90039 -22.7998zM188.4 176.3c-0.200195 0.200195 -19.6006 7.60059 -19.8008 30c-0.199219 18.7002 15.3008 27.7002 16 28.2002 +c-8.7998 13 -22.3994 14.4004 -27.0996 14.7002c-12.2002 0.700195 -22.5996 -6.90039 -28.4004 -6.90039c-5.89941 0 -14.6992 6.60059 -24.2998 6.40039c-12.5 -0.200195 -24.2002 -7.2998 -30.5 -18.6006c-13.0996 -22.5996 -3.39941 -56 9.2998 -74.3994 +c6.2002 -9.10059 13.7002 -19.1006 23.5 -18.7002c9.30078 0.400391 13 6 24.2002 6c11.2998 0 14.5 -6 24.2998 -5.90039c10.2002 0.200195 16.5 9.10059 22.8008 18.2002c6.89941 10.4004 9.7998 20.4004 10 21zM323.8 229.7c0 26.5996 -18.5 44.7998 -44.8994 44.7998 +h-51.2002v-136.4h21.2002v46.6006h29.2998c26.7998 0 45.5996 18.3994 45.5996 45zM413.8 206c0 19.7002 -15.7998 32.4004 -40 32.4004c-22.5 0 -39.0996 -12.9004 -39.7002 -30.5h19.1006c1.59961 8.39941 9.39941 13.8994 20 13.8994c13 0 20.2002 -6 20.2002 -17.2002 +v-7.5l-26.4004 -1.59961c-24.5996 -1.5 -37.9004 -11.5996 -37.9004 -29.0996c0 -17.7002 13.7002 -29.4004 33.4004 -29.4004c13.2998 0 25.5996 6.7002 31.2002 17.4004h0.399414v-16.4004h19.6006v68h0.0996094zM516 237.1h-21.5l-24.9004 -80.5996h-0.399414 +l-24.9004 80.5996h-22.2998l35.9004 -99.2998l-1.90039 -6c-3.2002 -10.2002 -8.5 -14.2002 -17.9004 -14.2002c-1.69922 0 -4.89941 0.200195 -6.19922 0.300781v-16.4004c1.19922 -0.400391 6.5 -0.5 8.09961 -0.5c20.7002 0 30.4004 7.90039 38.9004 31.7998z" /> + <glyph glyph-name="fly" unicode="&#xf417;" horiz-adv-x="384" +d="M197.8 20.2002c12.9004 -11.7002 33.7002 -33.2998 33.2002 -50.7002c0 -0.799805 -0.0996094 -1.59961 -0.0996094 -2.5c-1.80078 -19.7998 -18.8008 -31.0996 -39.1006 -31c-25 0.0996094 -39.8994 16.7998 -38.7002 35.7998c1 16.2002 20.5 36.7002 32.4004 47.6006 +c2.2998 2.09961 2.7002 2.69922 5.59961 3.59961c3.40039 0 3.90039 -0.299805 6.7002 -2.7998zM331.9 380.7c23.8994 -40 27.7998 -73.2998 20.7998 -112.5c-15.2002 -69.9004 -103.601 -166.5 -155.9 -215.7c-1.7002 -1.59961 -1.39941 -1.40039 -3.5 -2.09961 +l-3.2998 0.0996094c-1.7002 0.599609 -4.5 3.5 -6.2002 5.09961c-58.7998 57.8008 -148.7 151.601 -155.8 233.801c-1.5 71.3994 29.2998 113.399 82.9004 141.3c9.89941 4.09961 37 17.2998 81.0996 17.2998c22 0.200195 51.0996 -4.5 76.5996 -15.2002 +c24.7002 -11.5 47 -26.3994 63.3008 -52.0996zM186.8 96.0996v325.7c-57.8994 -5.5 -72.7002 -89.2002 -69.2998 -136.7c4.09961 -58.2998 41.2998 -137.899 69.2998 -189zM328.7 268c15.7998 54.9004 -10.9004 134.7 -99.7002 153 +c38.2002 -25.5996 49.5996 -85.5 48 -131.4c-2 -58.5996 -39.4004 -140 -67.2002 -191.899c41.6006 42.2998 102.5 113.5 118.9 170.3z" /> + <glyph glyph-name="node" unicode="&#xf419;" horiz-adv-x="640" +d="M316.3 -4c-2.09961 0 -4.2002 0.599609 -6.09961 1.59961l-19.2002 11.4004c-2.90039 1.59961 -1.5 2.2002 -0.5 2.5c3.7998 1.2998 4.59961 1.59961 8.7002 4c0.399414 0.200195 1 0.0996094 1.39941 -0.0996094l14.8008 -8.80078 +c0.5 -0.299805 1.2998 -0.299805 1.7998 0l57.7998 33.4004c0.5 0.299805 0.900391 0.900391 0.900391 1.59961v66.7002c0 0.700195 -0.300781 1.2998 -0.900391 1.60059l-57.7998 33.2998c-0.5 0.299805 -1.2002 0.299805 -1.7998 0l-57.8008 -33.2998 +c-0.599609 -0.300781 -0.899414 -1 -0.899414 -1.60059v-66.7002c0 -0.599609 0.399414 -1.19922 0.899414 -1.5l15.8008 -9.09961c8.59961 -4.2998 13.8994 0.799805 13.8994 5.7998v65.9004c0 0.899414 0.700195 1.7002 1.7002 1.7002h7.2998 +c0.900391 0 1.7002 -0.700195 1.7002 -1.7002v-65.9004c0 -11.5 -6.2002 -18 -17.0996 -18c-3.30078 0 -6 0 -13.3008 3.60059l-15.1992 8.69922c-3.7002 2.2002 -6.10059 6.2002 -6.10059 10.5v66.7002c0 4.2998 2.2998 8.40039 6.10059 10.5l57.7998 33.4004 +c3.7002 2.09961 8.5 2.09961 12.0996 0l57.7998 -33.4004c3.7002 -2.2002 6.10059 -6.2002 6.10059 -10.5v-66.7002c0 -4.2998 -2.2998 -8.39941 -6.10059 -10.5l-57.7998 -33.3994c-1.7002 -1.10059 -3.7998 -1.7002 -6 -1.7002zM363 61.7998 +c0 -12.5996 -10.5 -19.7998 -29 -19.7998c-25.2998 0 -30.5996 11.5996 -30.5996 21.2998c0 1 0.799805 1.7002 1.69922 1.7002h7.5c0.900391 0 1.60059 -0.599609 1.7002 -1.40039c1.10059 -7.59961 4.5 -11.3994 19.7998 -11.3994 +c12.2002 0 17.4004 2.7002 17.4004 9.2002c0 3.69922 -1.5 6.39941 -20.4004 8.2998c-15.7998 1.59961 -25.5996 5 -25.5996 17.7002c0 11.5996 9.7998 18.5996 26.2998 18.5996c18.5 0 27.6006 -6.40039 28.7998 -20.2002 +c0.100586 -0.5 -0.0996094 -0.899414 -0.399414 -1.2998c-0.299805 -0.299805 -0.700195 -0.5 -1.2002 -0.5h-7.5c-0.799805 0 -1.40039 0.5 -1.59961 1.2998c-1.80078 8 -6.2002 10.6006 -18.1006 10.6006c-13.2998 0 -14.7998 -4.60059 -14.7998 -8.10059 +c0 -4.2002 1.7998 -5.39941 19.7998 -7.7998c17.7998 -2.40039 26.2002 -5.7002 26.2002 -18.2002zM417.5 111.9c0 -6.10059 -5 -11.1006 -11.0996 -11.1006c-6.10059 0 -11.1006 5 -11.1006 11.1006c0 6.2998 5.2002 11.0996 11.1006 11.0996 +c6 0.0996094 11.0996 -4.7998 11.0996 -11.0996zM415.7 111.9c0 5.19922 -4.2002 9.2998 -9.40039 9.2998c-5.09961 0 -9.2998 -4.10059 -9.2998 -9.2998c0 -5.2002 4.2002 -9.40039 9.2998 -9.40039c5.2002 0.0996094 9.40039 4.2998 9.40039 9.40039zM411.2 105.7 +h-2.60059c-0.0996094 0.599609 -0.5 3.7998 -0.5 3.89941c-0.199219 0.700195 -0.399414 1.10059 -1.2998 1.10059h-2.2002v-5h-2.39941v12.5h4.2998c1.5 0 4.40039 0 4.40039 -3.2998c0 -2.30078 -1.5 -2.80078 -2.40039 -3.10059 +c1.7002 -0.0996094 1.7998 -1.2002 2.09961 -2.7998c0.100586 -1 0.300781 -2.7002 0.600586 -3.2998zM408.4 114.5c0 1.7002 -1.2002 1.7002 -1.80078 1.7002h-2v-3.5h1.90039c1.59961 0 1.90039 1.09961 1.90039 1.7998zM137.3 257l-0.200195 -95 +c0 -1.2998 -0.699219 -2.59961 -1.7998 -3.2002c-1.09961 -0.700195 -2.59961 -0.700195 -3.7002 0l-36.3994 20.9004c-2.2998 1.2998 -3.7002 3.7998 -3.7002 6.39941v44.4004c0 2.59961 -1.40039 5.09961 -3.7002 6.40039l-15.5 8.89941 +c-1.09961 0.700195 -2.39941 1 -3.7002 1c-1.2998 0 -2.5 -0.299805 -3.69922 -1l-15.5 -8.89941c-2.30078 -1.30078 -3.7002 -3.80078 -3.7002 -6.40039v-44.4004c0 -2.59961 -1.40039 -5 -3.7002 -6.39941l-36.4004 -20.9004 +c-1.19922 -0.700195 -2.59961 -0.700195 -3.69922 0c-1.10059 0.700195 -1.80078 1.90039 -1.80078 3.2002l-0.0996094 95c0 2.59961 1.40039 5.09961 3.7002 6.40039l61.2002 35.2998c1.09961 0.599609 2.19922 1 3.39941 1h0.600586 +c1.19922 -0.100586 2.39941 -0.400391 3.39941 -1l61.2998 -35.2998c2.30078 -1.30078 3.7002 -3.7002 3.7002 -6.40039zM472.5 360.7v-176.4c0 -2.59961 -1.40039 -5.09961 -3.7002 -6.39941l-61.2998 -35.4004c-2.2998 -1.2998 -5.09961 -1.2998 -7.40039 0 +l-61.2998 35.4004c-2.2998 1.2998 -3.7002 3.7998 -3.7002 6.39941v70.7998c0 2.60059 1.40039 5.10059 3.7002 6.40039l61.2998 35.4004c2.30078 1.2998 5.10059 1.2998 7.40039 0l15.2998 -8.80078c1.7002 -1 3.90039 0.300781 3.90039 2.2002v94 +c0 2.7998 3 4.60059 5.5 3.2002l36.5 -20.4004c2.2998 -1.19922 3.7998 -3.69922 3.7998 -6.39941zM426.5 231.8c0 0.700195 -0.400391 1.2998 -0.900391 1.60059l-21 12.1992c-0.599609 0.300781 -1.2998 0.300781 -1.89941 0l-21 -12.1992 +c-0.600586 -0.300781 -0.900391 -0.900391 -0.900391 -1.60059v-24.2998c0 -0.700195 0.400391 -1.2998 0.900391 -1.59961l21 -12.1006c0.599609 -0.299805 1.2998 -0.299805 1.7998 0l21 12.1006c0.599609 0.299805 0.900391 0.899414 0.900391 1.59961v24.2998h0.0996094 +zM636.3 232.5l-36.7002 -21.2998c-2.5 -1.40039 -5.59961 0.399414 -5.59961 3.2002v17.3994c0 1.2998 -0.799805 2.5 -1.90039 3.2002l-19.1992 11.0996c-1.10059 0.700195 -2.60059 0.700195 -3.7002 0l-19.2002 -11.0996 +c-1.2002 -0.700195 -1.90039 -1.90039 -1.90039 -3.2002v-22.2002c0 -1.2998 0.700195 -2.5 1.90039 -3.19922l61.7002 -35.4004c2.5 -1.40039 2.5 -5 0 -6.40039l-36.7998 -20.5c-2.30078 -1.2998 -5.10059 -1.2998 -7.30078 0l-60.8994 34.7002 +c-2.2998 1.2998 -3.7002 3.7002 -3.7002 6.40039v70.7998c0 2.59961 1.40039 5.09961 3.7002 6.40039l61.2998 35.3994c2.2998 1.2998 5.09961 1.2998 7.40039 0l60.8994 -35.3994c2.2998 -1.30078 3.7002 -3.80078 3.7002 -6.40039v-17.0996 +c0 -2.60059 -1.40039 -5.10059 -3.7002 -6.40039zM559 229l11.7998 6.7998c0.400391 0.299805 1 0.299805 1.40039 0l11.7998 -6.7998c0.400391 -0.200195 0.700195 -0.700195 0.700195 -1.2002v-13.5996c0 -0.5 -0.299805 -0.900391 -0.700195 -1.2002l-11.7998 -6.7998 +c-0.400391 -0.299805 -1 -0.299805 -1.40039 0l-11.7998 6.7998c-0.400391 0.200195 -0.700195 0.700195 -0.700195 1.2002v13.5996c0 0.5 0.299805 0.900391 0.700195 1.2002zM304.8 185.5c0 -0.599609 -0.0996094 -1.2002 -0.200195 -1.7002 +c-0.5 -2 -1.7998 -3.7002 -3.59961 -4.7002l-61 -35.1992c-2.2002 -1.30078 -5 -1.40039 -7.40039 0l-61.1992 35.1992c-2.10059 1.2002 -4 3.60059 -4 6.40039v70.4004c0 2.69922 1.59961 5.09961 3.89941 6.39941l61.1006 35.2002 +c2.39941 1.40039 5.2998 1.2002 7.39941 0l61.1006 -35.2002c2.2998 -1.2998 3.89941 -3.7998 3.89941 -6.39941v-70.4004zM230.5 310.4l-0.799805 -0.5h1.09961zM306.7 180.2l-0.400391 0.700195v-0.900391z" /> + <glyph glyph-name="osi" unicode="&#xf41a;" horiz-adv-x="512" +d="M8 181.56c2.2998 135.801 97.3994 232.441 213.799 248.102c138.8 18.5996 255.601 -75.7998 278 -201.101c21.2998 -118.8 -44 -230 -151.6 -274c-9.2998 -3.7998 -14.4004 -1.69922 -18 7.7002c-17.7998 46.2998 -35.5996 92.6328 -53.3994 138.999 +c-3.09961 8.10059 -1 13.2002 7 16.7998c24.2002 11 39.2998 29.4004 43.2998 55.8008c0.469727 3.01562 0.850586 7.94043 0.850586 10.9922c0 36.2061 -29.2764 68.1074 -65.3506 71.207c-39 3.40039 -71.7998 -23.6992 -77.5 -59.6992 +c-5.19922 -33 11.1006 -63.7002 41.9004 -77.7002c9.59961 -4.40039 11.5 -8.60059 7.7998 -18.4004c-17.8994 -46.5996 -35.7998 -93.2324 -53.7002 -139.899c-2.59961 -6.90039 -8.2998 -9.30078 -15.5 -6.5c-52.5996 20.2998 -101.399 61 -130.8 119 +c-24.8994 49.1992 -25.2002 87.6992 -26.7998 108.699zM28.8994 183.461c0.399414 -6.59961 0.599609 -14.3008 1.2998 -22.1006c6.2998 -71.9004 49.5996 -143.5 131 -183.101c3.2002 -1.5 4.39941 -0.799805 5.59961 2.2998c14.9004 39.1006 29.9004 78.2012 45 117.302 +c1.2998 3.2998 0.600586 4.7998 -2.39941 6.69922c-31.6006 19.9004 -47.3008 48.5 -45.6006 86c1 21.6006 9.2998 40.5 23.7998 56.3008c30 32.6992 77 39.7998 115.5 17.5996c25.3174 -14.5977 45.8643 -50.1641 45.8643 -79.3877 +c0 -3.05078 -0.296875 -7.98438 -0.664062 -11.0127c-3.59961 -30.5996 -19.2998 -53.8994 -45.7002 -69.7998c-2.69922 -1.59961 -3.5 -2.89941 -2.2998 -6c15.2002 -39.2002 30.2666 -78.4336 45.2002 -117.7c1.2002 -3.09961 2.40039 -3.7998 5.59961 -2.2998 +c35.5 16.6006 65.2002 40.2998 88.1006 72c34.7998 48.2002 49.0996 101.9 42.2998 161c-13.7002 117.5 -119.4 214.8 -255.5 198c-106.1 -13 -195.3 -102.5 -197.1 -225.8z" /> + <glyph glyph-name="react" unicode="&#xf41b;" horiz-adv-x="512" +d="M418.2 270.8c54.3994 -18.7002 93.7998 -48.0996 93.7998 -78.3994c0 -31.7002 -41.7998 -62.6006 -99.5 -81.7002c-3.09961 -1 -6.2002 -2 -9.40039 -2.90039c1.10059 -4.59961 2.10059 -9.09961 3 -13.5c11.4004 -57.5996 2.60059 -104.899 -24.3994 -120.5 +c-26.1006 -15.0996 -68.4004 -0.200195 -111.2 36.6006c-4.59961 4 -9.2002 8.09961 -13.5996 12.3994c-3.5 -3.39941 -7 -6.59961 -10.5 -9.7002c-44.2002 -38.6992 -89.6006 -54.6992 -116.601 -39.0996c-26.2002 15.0996 -34.3994 59.0996 -23.8994 114.6 +c1.19922 6.10059 2.5 12 4 18c-4.60059 1.30078 -9.10059 2.80078 -13.6006 4.30078c-55.5 19 -96.2998 50.2998 -96.2998 81.5c0 30.1992 38.2998 59.3994 91.7002 77.8994c5.89941 2.10059 12.2002 4.10059 18.5996 5.90039 +c-1.39941 5.59961 -2.59961 11.0996 -3.7002 16.7002c-11 56.3994 -3.19922 101.5 23 116.699c27.3008 15.9004 72.9004 -1.09961 118.4 -41.5c2.7998 -2.5 5.59961 -5.09961 8.2998 -7.69922c4 3.89941 8.2002 7.7998 12.5 11.5 +c43.4004 37.7998 86.2998 53.5 112.601 38.3994c27.2998 -15.7998 35.3994 -63.7002 23.0996 -123.3c-0.799805 -3.7002 -1.59961 -7.40039 -2.5 -11.0996c5.40039 -1.60059 10.7998 -3.30078 16.2002 -5.10059zM282.9 355.7c-4 -3.5 -7.80078 -7 -11.7002 -10.7002 +c15.3994 -16.7002 29.5996 -34.5 42.5996 -53.0996c22.6006 -2 45.1006 -5.60059 67.2998 -10.6006c0.900391 3.2998 1.60059 6.60059 2.30078 10c10.5996 51.5 4.09961 90.7002 -12.8008 100.4c-15.7998 9.09961 -50.5 -3.60059 -87.6992 -36zM167.2 140.5 +c-5 8.59961 -9.7002 17.2998 -14.2998 26.0996c-6.40039 -15.1992 -11.9004 -30.0996 -16.3008 -44.5c15.3008 -3.2998 30.8008 -5.7998 46.4004 -7.5c-5.5 8.5 -10.7002 17.2002 -15.7998 25.9004zM136.9 260.8c4.39941 -14.0996 9.69922 -28.7002 16 -43.5996 +c4.5 8.7998 9.2998 17.5 14.1992 26c4.90039 8.59961 10.1006 17.0996 15.4004 25.3994c-15.9004 -2 -31.2002 -4.59961 -45.5996 -7.7998zM164.3 191.9c6.7002 -13.8008 13.7998 -27.3008 21.5 -40.6006s15.9004 -26.2998 24.6006 -39 +c14.6992 -0.899414 29.8994 -1.39941 45.5996 -1.39941s31.2002 0.5 46.0996 1.59961c8.5 12.7998 16.6006 25.7002 24.2002 39c7.7002 13.4004 14.9004 27 21.6006 40.7998c-6.80078 13.7002 -14 27.2002 -21.7002 40.4004s-15.7998 26.0996 -24.2998 38.7002 +c-14.9004 1.09961 -30.3008 1.69922 -45.9004 1.69922s-30.9004 -0.599609 -45.9004 -1.69922c-8.59961 -12.7002 -16.7998 -25.6006 -24.3994 -38.9004c-7.60059 -13.2998 -14.7998 -26.7998 -21.4004 -40.5996zM344.9 140.7c-5 -8.60059 -10.1006 -17.2002 -15.5 -25.6006 +c15.7998 1.80078 31.5 4.5 47 8c-4.90039 15.1006 -10.5 29.8008 -16.9004 44.3008c-4.7002 -9 -9.5 -17.9004 -14.5996 -26.7002zM359.3 217.2c6.10059 14.2002 11.5 28.5996 16.1006 43.3994c-14.4004 3.30078 -29.8008 6 -45.9004 8 +c5.2998 -8.2998 10.4004 -16.6992 15.2998 -25.1992c5 -8.60059 9.7998 -17.4004 14.5 -26.2002zM256.2 329.7c-10 -10.9004 -20.1006 -22.9004 -29.9004 -35.7998c19.7998 0.899414 39.7002 0.899414 59.5 0c-9.2002 12.3994 -19.0996 24.3994 -29.5996 35.7998zM140.2 391 +c-15.7998 -9.09961 -22 -45.5996 -12.6006 -94c1.10059 -5.2002 2.2002 -10.4004 3.5 -15.5c22.2002 4.90039 44.6006 8.40039 67.2002 10.4004c13.1006 18.5996 27.4004 36.3994 42.9004 53.0996c-2.60059 2.40039 -5.10059 4.7998 -7.60059 7 +c-39.2998 34.7998 -76.5996 48.7998 -93.3994 39zM115.7 127.4c6.89941 22 15.2002 43.5996 24.7998 64.5c-9.5 20.5996 -17.7002 41.8994 -24.5 63.5996c-5.7998 -1.7002 -11.5996 -3.5 -17.2998 -5.5c-45.6006 -15.9004 -77.2002 -39.2998 -77.2002 -57.5996 +c1.90039 -12.1006 8.7002 -22.9004 18.7998 -29.9004c17.5 -13.9004 41.7002 -24.5 63 -31.2002c4.10059 -1.39941 8.2002 -2.7002 12.4004 -3.89941zM232.3 29.4004c3.2002 2.7998 6.40039 5.7998 9.60059 8.89941c-15.5 16.7998 -30 34.7002 -43.2002 53.4004 +c-22.9004 1.7002 -45.5 5 -67.9004 9.7998c-1.39941 -5.5 -2.59961 -11.0996 -3.7002 -16.7002c-9 -47.5 -2.39941 -82.7998 13.5 -92c11.4004 -4.5 24.2002 -4 35.3008 1.2998c20.7998 8.2002 39.8994 20.2002 56.3994 35.3008zM256.8 53.7002 +c10.5 11.5996 20.4004 23.7002 29.6006 36.3994c-10 -0.5 -20.1006 -0.699219 -30.4004 -0.699219c-10 0 -19.9004 0.199219 -29.5 0.599609c9.90039 -13.0996 20.0996 -25.2998 30.2998 -36.2998zM387.5 23.7002c3.2002 22.2002 2.40039 44.7002 -2.5 66.2998 +c-0.799805 4 -1.7002 8.09961 -2.7002 12.2002c-22.5 -5.10059 -45.2998 -8.60059 -68.2002 -10.5c-12.7998 -18.7998 -26.8994 -36.7002 -42.1992 -53.6006c4.2998 -4 8.5 -7.89941 12.6992 -11.5c36.6006 -31.3994 70.5 -43.3994 86.4004 -34.1992 +c9.59961 7.69922 15.5996 19.0996 16.5 31.2998zM405.7 131.2c49.8994 16.5 84.7998 41.7998 84.7998 61.3994c0 18.2002 -32.7002 42 -79.2998 58c-4.7998 1.60059 -9.7998 3.2002 -15 4.7002c-6.7998 -21.5 -14.9004 -42.5 -24.5 -62.8994 +c9.89941 -20.7002 18.5 -42 25.5 -63.8008c2.89941 0.800781 5.7002 1.7002 8.5 2.60059zM256 146.2c-25.2998 0 -45.7998 20.5 -45.7998 45.7998s20.5 45.7998 45.7998 45.7998s45.7998 -20.5 45.7998 -45.7998s-20.5 -45.7998 -45.7998 -45.7998z" /> + <glyph glyph-name="autoprefixer" unicode="&#xf41c;" horiz-adv-x="640" +d="M318.4 432l164.1 -480h-77.5l-25.2002 81.4004h-119.5l-25.3994 -81.4004h-77.5zM278.1 90.0996h83.6006l-40.9004 130.4h-1.5zM640 43l-158.5 -9.5l-19.4004 56.5l167.9 -15.5996zM177.9 90l-19.4004 -56.4004l-158.5 9.40039l10 31.2998z" /> + <glyph glyph-name="less" unicode="&#xf41d;" horiz-adv-x="640" +d="M612.7 229c0 -11 6.7998 -22.5996 27.2998 -23.2998v-27.2998c-20.5 -1 -27.2998 -12.6006 -27.2998 -23.6006c0 -20.3994 3.2002 -32 3.2002 -54.5996c0 -34.2002 -12.7002 -45.2002 -40.5 -45.2002h-20.5v25.2002h6.2998v0.5c13.5996 0 17.2998 4.7002 17.2998 22.5996 +c0 17.2998 -1.59961 32.6006 -1.59961 51.5c0 24.2002 7.7998 33.6006 23.5996 37.2998v1.60059c-15.7002 3.7002 -23.5996 13.0996 -23.5996 37.2998c0 18.9004 1.59961 35.2002 1.59961 51.5c0 17.4004 -3.09961 22.0996 -17.2998 22.0996h-6.2998v24.2002h20.5 +c27.8994 0 40.5 -11 40.5 -45.2002c0 -22 -3.2002 -34.0996 -3.2002 -54.5996zM507.1 197c20.5 -6.7998 43 -18.9004 43 -47.7998c0 -28.9004 -22.5996 -51 -64.5996 -51c-20 0 -44.0996 9 -59.9004 22.0996l21 30.5c14.2002 -11 27.4004 -16.2998 40.5 -16.2998 +c14.2002 0 20.5 5.2002 20.5 13.0996c0 10.5 -15.7998 15.8008 -32.0996 22.1006c-18.9004 7.2998 -41.5 20.5 -41.5 46.2002c0 28.8994 24.2002 49.3994 59.9004 49.3994c24.1992 0 42.0996 -10.5 55.1992 -20.5l-21 -27.7998c-11.5 8.40039 -22 13.0996 -33.5996 13.0996 +s-17.9004 -4.69922 -17.9004 -12.5996c0 -10.5 14.7002 -14.2002 30.5 -20.5zM148.2 137.6c1.59961 0 3.09961 0 6.2002 0.800781l5.2998 -34.2002c-5.7002 -2.10059 -13.6006 -3.7002 -23.6006 -3.7002c-32.0996 0 -43.0996 21 -43.0996 53.0996v150.801h-14.0996 +c-13.6006 0 -17.3008 -4.80078 -17.3008 -22.1006s1.60059 -32.5996 1.60059 -51.5c0 -24.2002 -7.7998 -33.5996 -23.6006 -37.2998v-1.59961c15.7002 -3.7002 23.6006 -13.1006 23.6006 -37.3008c0 -19.3994 -1.60059 -34.1992 -1.60059 -51.5 +c0 -17.2998 4.2002 -22.5996 17.3008 -22.5996h6.2998v-24.2002h-20.5c-27.9004 0 -40.5 11 -40.5 45.2002c0 22.5996 3.2002 34.2002 3.2002 53.5996c0 11 -6.80078 22.6006 -27.3008 23.1006v27.2998c20.5 1 27.3008 12.5996 27.3008 23.5996 +c0 19.4004 -3.2002 32 -3.2002 54.6006c0 34.2002 12.5996 45.2002 41 45.2002h74.5996v-178.2c0 -9.90039 4.7002 -13.1006 8.40039 -13.1006zM379.9 197c20.5 -6.7998 43.0996 -18.9004 43 -47.7998c0 -28.9004 -22.6006 -51 -64.6006 -51 +c-20 0 -44.0996 9 -59.8994 22.0996l20.5 30.5c14.1992 -11 27.3994 -16.2998 40.5 -16.2998c14.1992 0 20.5 5.2002 20.5 13.0996c0 10.5 -15.8008 15.8008 -32.1006 22.1006c-18.8994 7.2998 -41.5 20.5 -41.5 46.2002c0 28.8994 24.2002 49.3994 59.9004 49.3994 +c24.2002 0 42.0996 -10.5 55.2002 -20.5l-21 -27.7998c-11.5 8.40039 -22 13.0996 -33.6006 13.0996c-11.5996 0 -17.8994 -4.69922 -17.8994 -12.5996c0 -10.5 14.6992 -14.2002 31 -20.5zM224.9 265.8c44.0996 0 67.2998 -33.0996 66.6992 -75.7002 +c0 -8.39941 -1.09961 -15.6992 -1.59961 -19.3994h-95.2002c4.2002 -24.2002 20.5 -34.2002 41.5 -34.2002c11.6006 0 22.6006 3.2002 34.2002 10l15.7998 -27.7998c-16.2998 -11.1006 -37.2998 -17.9004 -56.2002 -17.9004c-45.0996 0 -79.2998 30.5 -79.2998 82.5 +c-1 50.4004 35.7002 82.5 74.1006 82.5zM194.9 199.6h56.7998c0 17.9004 -7.40039 31 -26.2998 31c-14.7002 0 -27.3008 -10 -30.5 -31z" /> + <glyph glyph-name="sass" unicode="&#xf41e;" horiz-adv-x="640" +d="M301.84 69.0801c-0.299805 -0.599609 -0.599609 -1.08008 0 0zM550.97 156.08c57.9092 0.300781 90.5703 -37.0801 88.9707 -71.0801c-1.10059 -26.9004 -25.6904 -37.9004 -30.29 -38.7002c-3.30078 -0.599609 -5.10059 -0.700195 -5.60059 1.90039 +c-0.299805 1.7998 0.900391 2.7002 4.7998 5.09961c3.90039 2.40039 15.6006 10.5 17.7002 25c2.10059 14.5 -8.7998 49.2998 -64.4795 55.7998c-26 3 -46.3906 -0.599609 -62.0898 -7.19922c2.89941 -7.60059 5.09961 -15.5 5.39941 -23.4004 +c0.799805 -17.5 -11.29 -30.4004 -23.79 -39.5996c-5.48535 -3.98535 -15.1572 -8.95801 -21.5898 -11.1006c-5.2002 -2.2002 -12.2002 -4.5 -17.0996 -3.5c-10.9004 2.2002 -16.7002 11.7998 -9.30078 33.1006c4 11.5 15.5 29 34.0908 44.0996 +c-4.30078 8.7002 -8.99023 17.5996 -11.3906 25.7002c-2.18164 7.00781 -4.95898 18.5664 -6.2002 25.7998c0 0 -15.2998 -31.7197 -35.0898 -60.6201c-1.09961 -1.7002 -2.2998 -3.39941 -3.39941 -5c3.7998 -9 6.89941 -18.5996 7.2998 -28.2002 +c0.700195 -17.3994 -6.90039 -30.5996 -19.4004 -39.7998c-5.16211 -3.70605 -14.208 -8.45508 -20.1895 -10.5996c-3.90039 -1.7998 -12 -4.60059 -23.5 -5.40039c-6.29004 -0.5 -12.29 -0.0996094 -15.6904 2.5c-4.59961 3.40039 -5.2002 7.7998 -2.7998 13.7002 +c2 5 17.21 22.4004 30 37.5996c3.5 4.2002 6.90039 8.5 9.90039 12.5c-0.0498047 0.0449219 -0.09375 0.134766 -0.100586 0.200195c0 0 2.2998 3 6.10059 8.2002c-4.7002 10.0996 -10.6006 20.5 -13.4004 30c-2.18164 7.00781 -4.95898 18.5664 -6.2002 25.7998 +c0 0 -15.4902 -39.7002 -31.6895 -71.5c-12.4902 -24.5996 -20.79 -39.5 -24.5908 -46v-0.299805s-0.5 -0.900391 -1.5 -2.40039c-0.5 -0.799805 -0.699219 -1.19922 -0.699219 -1.19922v0.0996094c-4.20996 -6.2002 -13.6104 -18.2998 -23 -18.2998 +c-25.7002 0 -16.3008 52.2002 -16.3008 52.2002s-7.5 -19.3008 -16 -35.9004c-6.88965 -13.5996 -13.0898 -25 -26.8896 -25c-3.90039 0 -10.1904 0.0996094 -15.3896 5c-11.8008 11.2002 -20.9004 39.7002 -19.1006 61.7002c1.5 18.7998 4.40039 31.7998 8.40039 42.5996 +c-7.10059 -3.89941 -15.2002 -8.39941 -23.4902 -13.2998c-4.2998 -2.5 -8.59961 -5 -12.7998 -7.5c0.0996094 -0.299805 0.299805 -0.5 0.400391 -0.799805c10.5996 -20.4004 13.3896 -65.2002 -9.60059 -99.5s-65.7803 -55.2002 -107.57 -43.6006 +c-13.3896 3.80078 -33.79 31.6006 -16.29 70.4004c15.4902 34.2002 77.3809 66.5996 93.6709 74.7002c1.39941 0.799805 2.89941 1.59961 4.5 2.5c-32.4902 28.3994 -113.671 66.7998 -125.061 125.7c-3.2002 16.5996 4.58984 56.2998 53.2803 101.899 +c40.9902 38.2998 97.9697 67.7002 150.66 86.4004c88.4297 31.3994 181.949 12.8994 196.31 -43.5c14.1006 -55.5 -33.9902 -121.8 -95.7695 -145.601c-54.9902 -21.2998 -100.471 -17.8994 -119.17 -11.7998c-21.29 7 -33.79 21 -36.79 28.9004 +c-1.2002 3.09961 -3.30078 8.2998 0 10.0996c2 1.10059 2.7998 0.799805 8.09961 -5.09961c5.09961 -5.60059 25.4902 -20.6006 64.2803 -16.2998c101.77 11.3994 163.06 90.5 143.66 133c-13.4902 29.7998 -91.8408 43.1992 -189.841 -5.60059 +c-119.569 -59.5996 -126.069 -108.7 -127.069 -127.399c-2.7998 -51.3008 63.2793 -78.3008 99.0693 -116.5c0.5 -0.5 0.900391 -1 1.40039 -1.5c6.7002 3.69922 13.7998 7.59961 20.7002 11.3994c18 9.90039 35.0996 19.2002 43 23.5 +c12.5801 18.2998 38.1797 38.5 56.5801 38.5c29.4893 0 19.3896 -42.3994 19.3896 -42.3994s0.599609 2 1.40039 2c0.799805 0 4.09961 5.5 13.1992 2.19922c9.40039 -3.5 7.2002 -10 7.30078 -10.6992c0.0996094 -1.30078 -11 -38.9004 -15.7002 -63.1006 +c-2.2002 -11.5 -0.900391 -19.8994 -0.299805 -19.8994c0.899414 0 2.7998 2.89941 4.5 6.09961v0.0996094s1.2998 2.40039 3.5 6.7002c0 0.200195 -0.200195 -0.299805 -0.5 -0.799805c0.199219 0.400391 0.5 0.900391 0.899414 1.7002 +c2.60059 5 6.2002 12.3994 10.4004 21.5996c8.18945 18.1006 39.4795 87.7002 42.0801 95.4004c2.59961 7.7002 4 15.7002 5.2998 19.0996c1.2998 3.40039 12.4102 6 25.2998 5.90039c12.8906 -0.100586 14.1904 -5.60059 14.29 -6.7002 +c0.100586 -1.09961 -6.2002 -16.4004 -7.59961 -27.2002c-1.40039 -10.7998 -0.100586 -16.2002 1.09961 -25.2998c0.799805 -6 4.5 -13.5 8.90039 -22c13.2998 21.7998 36.79 63.5996 39.0898 75.2998c1.03613 5.38965 3.41016 13.9473 5.2998 19.1006 +c1.29004 3.39941 12.3896 6 25.29 5.89941c12.9004 -0.0996094 14.2002 -5.59961 14.2998 -6.7002c0.100586 -1.09961 -6.2002 -16.3994 -7.59961 -27.1992c-1.40039 -10.8008 -0.100586 -16.2002 1.09961 -25.3008c1 -7.7998 7.10059 -18.1992 13 -30.0996 +c15.1289 7.45215 41.0938 13.5 57.958 13.5h0.0419922zM121.79 11.3799c19.4004 21.0996 27.3896 47.9199 19.0996 78.3203c-1 -0.600586 -2 -1.10059 -2.89941 -1.7002c0 0 -0.400391 -0.200195 -1.2002 -0.700195c-4.7998 -2.89941 -8.7002 -5.2998 -11.4004 -6.89941 +c-11.7998 -7.40039 -29.5898 -19.4004 -43.3896 -32.4004c-22.6904 -21.4199 -27.3896 -51 -15.4902 -57.9199c11.0898 -6.40039 36.8906 1.2002 55.2803 21.2998zM256.15 102.78c4 9.7998 19.6992 53.2998 16.1992 59.2002c-2.59961 4.5 -13.6992 0.899414 -23.79 -10.4004 +c-6.2998 -7 -16.8994 -25 -21.8994 -40.0996c-9.90039 -30 -5.60059 -60.5 1.39941 -62.3008c8.2002 -2.09961 21.6904 37.9004 28.0908 53.6006zM367.15 49.7803c7.7998 4.7998 24.96 16.8994 25.0898 34.7998c0 0.599609 -0.100586 1.09961 -0.100586 1.59961 +c-3.98926 -5.19922 -7.68945 -9.89941 -10.8896 -13.8994c-5.5 -6.7998 -19.4004 -21.7002 -19.4004 -21.7002s-2 -1.90039 -1.09961 -2.40039c1.2002 -0.699219 3.7002 0.200195 6.40039 1.60059zM452.73 69.2803c9.68945 3.5 25.7998 11.8994 25.8994 34.3994 +c-0.0673828 3.06152 -0.918945 7.90039 -1.89941 10.8008c-10.4102 -9.2002 -16.4004 -18.8008 -19 -24.5c-6.7002 -14.6006 -7 -19.3008 -5 -20.7002z" /> + <glyph glyph-name="vuejs" unicode="&#xf41f;" +d="M356.9 383.7h91.0996l-224 -383.7l-224 383.7h176l48 -88.6006l56 88.6006h76.9004zM55.7002 351.7l168.3 -288.2l168.2 288.2h-53.7998l-114.4 -198.2l-114.5 198.2h-53.7998z" /> + <glyph glyph-name="angular" unicode="&#xf420;" +d="M185.7 179.9l38.0996 91.5996l38.1006 -91.5996h-76.2002zM223.8 416l207.8 -74.4004l-31.7998 -275.699l-176 -97.9004l-176 97.9004l-31.7998 275.699zM354 74.2002l-130.2 292.3l-130.1 -292.3h48.7002l26.1992 65.3994h110.601l26.2002 -65.3994h48.5996z" /> + <glyph glyph-name="aviato" unicode="&#xf421;" horiz-adv-x="640" +d="M107.2 164.5l-19 41.7998h-52.1006l-19 -41.7998h-17.0996l62.2002 131.4l62.2002 -131.4h-17.2002zM62.2002 262.6l-19.6006 -42.5h39.2002zM174.9 160.2l-62.2002 131.399h17.0996l45.1006 -96l45.0996 96h17zM255.5 164.5v127.1h15.5v-127.1h-15.5zM464.6 280.1 +v-115.6h-17.2998v115.6h-41.2002v11.5h99.6006v-11.5h-41.1006zM640 229.2c0 -9.2002 -1.7002 -17.7998 -5.09961 -25.7998c-3.40039 -8 -8.2002 -15.1006 -14.2002 -21.1006s-13.1006 -10.7998 -21.1006 -14.2002c-8 -3.39941 -16.5996 -5.09961 -25.7998 -5.09961 +s-17.7998 1.7002 -25.7998 5.09961c-8 3.40039 -15.0996 8.2002 -21.0996 14.2002s-10.8008 13 -14.2002 21.1006c-3.40039 8 -5.10059 16.5996 -5.10059 25.7998s1.7002 17.7998 5.10059 25.7998c3.39941 8 8.2002 15.0996 14.2002 21.0996s13 8.40039 21.0996 11.9004 +c8 3.40039 16.5996 5.09961 25.7998 5.09961s17.7998 -1.69922 25.7998 -5.09961s15.1006 -5.7998 21.1006 -11.9004c6 -6 10.7002 -13.0996 14.2002 -21.0996c3.39941 -8 5.09961 -16.5996 5.09961 -25.7998zM624.5 229.2c0 7.2998 -1.2998 14 -3.90039 20.2998 +c-2.59961 6.2998 -6.19922 11.7002 -10.7998 16.2998c-4.59961 4.60059 -10 8.2002 -16.2002 10.9004c-6.19922 2.7002 -12.7998 4 -19.7998 4s-13.5996 -1.2998 -19.7998 -4s-11.5996 -6.2998 -16.2002 -10.9004c-4.59961 -4.59961 -8.2002 -10 -10.7998 -16.2998 +s-3.90039 -13.0996 -3.90039 -20.2998c0 -7.2998 1.30078 -14 3.90039 -20.2998c2.59961 -6.30078 6.2002 -11.7002 10.7998 -16.3008c4.60059 -4.59961 10 -8.19922 16.2002 -10.8994s12.7998 -4 19.7998 -4s13.6006 1.2998 19.7998 4 +c6.2002 2.7002 11.6006 6.2998 16.2002 10.8994c4.60059 4.60059 8.2002 10 10.7998 16.3008c2.60059 6.2998 3.90039 13.0996 3.90039 20.2998zM529.7 132.5c6 -0.900391 10.5 -6 10.7002 -12.2998c0 -6.7998 -5.60059 -12.4004 -12.4004 -12.4004 +s-12.4004 5.60059 -12.4004 12.4004c0 6.2002 4.60059 11.2998 10.5 12.2002v5.7998l-80.2998 -9v-5.40039c5.60059 -1.09961 9.90039 -6.09961 9.90039 -12.0996c0 -6.7998 -5.60059 -10.2002 -12.4004 -10.2002s-12.3994 3.40039 -12.3994 10.2002 +c0 5.89941 4.19922 11 9.89941 12.0996v4.90039l-28.3994 -3.2002v-23.7002h5.89941v-13.7998h-5.89941v6.59961h-5v-6.59961h-5.90039v13.7998h5.90039v23.2002l-38.3008 -4.2998c-8.09961 -11.5 -19 -13.6006 -19 -13.6006l0.100586 -6.69922l5.09961 -0.200195 +l0.100586 -12.1006h-4.10059l-0.0996094 5h-5.2002l-0.0996094 -5h-4.10059l0.100586 12.1006l5.09961 0.200195l0.0996094 6.69922s-10.8994 2.2002 -19 13.6006l-38.2998 4.2998v-23.2002h5.90039v-13.7998h-5.90039v6.59961h-5v-6.59961h-5.89941v13.9004h5.89941 +v23.6992l-28.3994 3.2002v-4.89941c5.59961 -1.10059 9.89941 -6.10059 9.89941 -12.1006c0 -6.7998 -5.59961 -10.2002 -12.3994 -10.2002c-6.80078 0 -12.4004 3.40039 -12.4004 10.2002c0 5.90039 4.2002 11 9.90039 12.1006v5.39941l-80.3008 9v-5.7998 +c5.90039 -0.900391 10.5 -6 10.5 -12.2002c0 -6.7998 -5.59961 -12.3994 -12.3994 -12.3994s-12.4004 5.59961 -12.4004 12.3994c0 6.2002 4.60059 11.2998 10.5 12.2002v6.2998l-88.8994 10l242.899 -13.5c-0.599609 2.2002 -1.09961 4.60059 -1.39941 7.2002 +c-0.300781 2.09961 -0.5 4.2002 -0.600586 6.5l-64.7998 8.09961l64.9004 -1.89941c0 0.399414 0 0.799805 0.0996094 1.09961c2.7998 17.2002 25.5 23.7002 25.5 23.7002l1.09961 26.4004h-23.5996l-19 -41.8008h-17.0996l62.1992 131.4l62.2002 -131.4h-17.0996 +l-19 41.8008h-23.7998l1.09961 -26.3008s22.7002 -6.5 25.5 -23.6992c0 -0.400391 0.0996094 -0.700195 0.0996094 -1.10059l64.9004 1.90039l-64.7998 -8.10059c-0.100586 -2.2998 -0.299805 -4.5 -0.600586 -6.5c-0.299805 -2.59961 -0.799805 -5 -1.39941 -7.19922 +l242.899 13.3994l-88.8994 -10v-6.2998zM328.9 220.1h17.8994l1.7002 40.3008l1.7002 -40.3008h17.8994l-19.5996 42.5z" /> + <glyph glyph-name="ember" unicode="&#xf423;" horiz-adv-x="640" +d="M639.9 193.4c1.09961 -10.8008 -5.30078 -14.3008 -5.30078 -14.3008s-26.5996 -19.5996 -47 -13.6992c-20.3994 5.89941 -21.5 43.1992 -21.5 43.1992h-1.89941l-20.7002 -57.1992s-8.2998 -27.9004 -20.7002 -22.8008 +c-12.3994 5.10059 -12.0996 18.6006 -12.0996 18.6006s-19.2998 -21.2998 -54.7998 -18.6006c-31.1006 2.30078 -41.1006 26.7002 -41.1006 26.7002s-20.7998 -14.3994 -79.0996 -25.8994c-26.1006 -2.90039 -44.6006 12.8994 -44.6006 12.8994 +c-2.39941 -2.39941 -18 -10.2002 -18 -10.2002s-22.2998 -10.2998 -30.8994 5.30078c-8.60059 15.5996 -3 63.6992 -3 63.6992h-1.60059s-12.8994 -26.2998 -19.5996 -49.8994c-6.7002 -23.6006 -15 -21.2002 -15 -21.2002s-15.2998 -1.40039 -18.7998 11.4004 +c-3.5 12.8994 5.59961 59.6992 5.59961 59.6992l-1.2998 -0.299805s-0.799805 1.40039 -12.5996 -23.5996c-20.1006 -48.9004 -24.9004 -50 -36.5 -47.9004c-11.6006 2.10059 -12.1006 16.7002 -12.1006 16.7002l-15.8994 -8.7998s-38.6006 -16.6006 -58.8008 -1.2998 +c-13.3994 10.1992 -18 22.1992 -19.5996 29.6992c0 0 -17 1.80078 -28.0996 6.10059c-11.1006 4.2998 0.0996094 18.2998 0.0996094 18.2998s3.5 5.2998 10 0s18.7998 -2.90039 18.7998 -2.90039c1 8.5 2.5 19.7002 7.7998 31.5c11 24.7002 27.6006 33 41.3008 33.3008 +c13.6992 0.199219 23.3994 -3.5 31.6992 -15.3008c18.6006 -45.8994 -49.3994 -69.1992 -49.3994 -69.1992s-1.7998 -12.1006 16.7002 -11.8008c18.5996 0.200195 46.7998 20.4004 46.7998 20.4004c1.2998 15.4004 12.0996 63.5 15 70.7002 +c2.89941 7.2002 14.2002 5.89941 14.2002 5.89941s8.89941 1.90039 10.5 -7.5c1.69922 -9.39941 -6.40039 -47.5996 -6.40039 -47.5996l1.2998 -1.59961c0.799805 3.69922 20.4004 36.5 20.4004 36.5s11.2998 19.5996 28.5 18.7998s-0.799805 -53.5 -0.799805 -53.5 +l1.2998 -1.60059l1.2998 2.40039c2.2002 5.90039 27.7002 44.5996 27.7002 44.5996s9.59961 11.3008 18.5 8.60059c8.7998 -2.60059 9.39941 -6.7002 9.89941 -14.2002s-7 -52.0996 -7 -52.0996s-4.2998 -29.2002 5.40039 -28.7002s20.2002 10.7002 20.2002 10.7002 +s7.5 57.5996 12.5996 105.1c5.10059 47.5 27.1006 79.5 27.1006 79.5s6.5 10 23.5 16.7002c11.1992 4 23.3994 1.2998 29.1992 -23.1006c9.5 -41 -23.2998 -87.8994 -36.8994 -105.199c5.89941 5.7998 15.7998 12.0996 27.2002 5.2998 +c40.2998 -25.2998 7.2998 -80.9004 7.2998 -80.9004c11.7998 3.7998 33 18 33 18s0.5 6.10059 0.700195 7.5c7.19922 41.2998 32 56.2002 36.5996 59.7002c4.7998 3.59961 47.0996 19.7998 49 -24s-52.9004 -59.0996 -52.9004 -59.0996s4.80078 -12.6006 25 -9.40039 +c20.2002 3.2002 43.3008 22.7998 43.3008 22.7998c0.799805 18 12.5996 61 15 67.2002c2.39941 6.2002 17.1992 6.5 18.7998 3c2.2002 -7 0.299805 -37.5996 0.299805 -37.5996l1.59961 0.5c5.90039 17.5 18.3008 31.1992 18.3008 31.1992s9.89941 9.7002 18 7.30078 +c8.09961 -2.30078 5.09961 -30.4004 5.09961 -30.4004s-4.2998 -30.7002 9.40039 -32c13.6992 -1.40039 29.2998 10.7002 29.2998 10.7002s9.59961 3.89941 10.7002 -6.7998zM61.9004 188.1c0 0 6.19922 -1.89941 19.8994 7.60059 +c13.7002 9.39941 16.4004 24.3994 9.10059 31.3994c-7.2002 6.90039 -28.2002 -7 -29 -39zM334.7 311.9c0 0 -15.9004 -54.5 -16.4004 -70.7002c0 0 44.5 72 40 96.2002c-4.5 24.1992 -23.5996 -25.5 -23.5996 -25.5zM357.5 173.5 +c12.5996 33.0996 -3.59961 45.5 -3.59961 45.5s-23.4004 12.9004 -33.3008 -20.2002c-9.89941 -33.0996 -6.39941 -44.8994 -6.39941 -44.8994s30.7002 -13.4004 43.2998 19.5996zM442.1 188.1c0 0 15.7002 -1.09961 26.4004 14.2002s1.2998 25.5 1.2998 25.5 +s-8.59961 11.1006 -19.5996 -9.09961c-11.1006 -20.1006 -8.10059 -30.6006 -8.10059 -30.6006z" /> + <glyph glyph-name="font-awesome-flag" unicode="&#xf425;" +d="M444.373 88.5762c0 -7.16797 -6.14453 -10.2402 -13.3125 -13.3125c-28.6719 -12.2881 -59.3916 -23.5518 -92.1592 -23.5518c-46.0801 0 -67.584 28.6719 -122.88 28.6719c-39.9365 0 -81.9209 -14.3359 -115.713 -29.6953 +c-2.04785 -1.02441 -4.0957 -1.02441 -6.14355 -2.04883v-77.8232c0 -21.4053 -16.1221 -34.8164 -33.792 -34.8164c-19.4561 0 -34.8164 15.3604 -34.8164 34.8164v374.783c-13.3115 10.2402 -22.5273 26.624 -22.5273 45.0566c0 31.7441 25.5996 57.3438 57.3438 57.3438 +s57.3438 -25.5996 57.3438 -57.3438c0 -18.4326 -8.19141 -34.8164 -22.5273 -45.0566v-31.7432c4.12402 1.37402 58.7676 28.6719 114.688 28.6719c65.2705 0 97.6758 -27.6484 126.976 -27.6484c38.9121 0 81.9209 27.6484 92.1602 27.6484 +c8.19238 0 15.3604 -6.14453 15.3604 -13.3125v-240.64z" /> + <glyph glyph-name="gitter" unicode="&#xf426;" horiz-adv-x="384" +d="M66.4004 125.5h-50.4004v322.5h50.4004v-322.5zM166.9 371.9v-435.9h-50.4004v435.9h50.4004zM267.5 371.9v-435.9h-50.4004v435.9h50.4004zM368 372v-247h-50.4004v247h50.4004z" /> + <glyph glyph-name="hooli" unicode="&#xf427;" horiz-adv-x="640" +d="M144.5 96v16c12.2998 -6.59961 25.0996 -12.2002 38.2998 -16.7998zM202.2 101.3c29.5 -10.7002 55.3994 -13.5 75.2998 -13.2998c-24.7998 -7 -58.2002 -5.2998 -94.7002 7.2002l19.4004 0.799805v5.2998zM611.1 216.5c-16 0 -28.8994 13 -28.8994 28.9004 +c0 15.8994 13 24.5 28.8994 24.5c16 0 28.9004 -8.5 28.9004 -24.5s-13 -28.9004 -28.9004 -28.9004zM582.1 96v110.5h57.9004v-110.5h-57.9004zM508.4 96v168l57.8994 27.2998v-195.3h-57.8994zM477.4 215.4c18.0996 -18.1006 16.6992 -33.8008 16.7998 -52.6006 +c0 -18.7002 1.39941 -34.2998 -16.7998 -52.5c-18.1006 -18.2002 -50.4004 -17.0996 -50.4004 -17.0996s-32.2002 -1.10059 -50.4004 17.0996c-18.1992 18.2002 -16.7998 33.7998 -16.7998 52.5s-1.39941 34.4004 16.7998 52.6006 +c18.1006 18.1992 50.4004 17.0996 50.4004 17.0996s32.2002 1.09961 50.4004 -17.0996zM437.6 143.5v40.4004c0 8.7998 -7.2998 10.8994 -10.6992 10.8994c-3.40039 0 -10.7002 -2.2002 -10.7002 -10.8994v-40.4004c0 -3.59961 1.7998 -12.5 10.7002 -12.5 +c8.89941 0 10.6992 8.90039 10.6992 12.5zM331.4 215.4c18.1992 -18.1006 16.6992 -33.8008 16.6992 -52.3008c0 -18.6992 1.5 -34.2998 -16.6992 -52.5c-18.1006 -18.1992 -50.4004 -17.0996 -50.4004 -17.0996s-32.2002 -1.09961 -50.4004 17.0996 +c-18.1992 18.2002 -16.7998 33.8008 -16.7998 52.5c0 15.6006 -0.899414 29.1006 9.2998 43.7002c-16 11.7998 -58 37.4004 -99.8994 58.2998v-54.2998c8 13.7002 22.7002 22 38.5 21.9004c27.2002 0 40.5996 -18.7002 40.5996 -37.4004v-93.8994 +c-20.3994 7.5 -39.7002 17.3994 -57.7002 29.5996v48.7002c0 8.09961 -1.5 15 -10.5996 15s-10.7998 -11.2998 -10.7998 -18.2002v-29.7998l-4.5 3.59961c-22.9004 18.9004 -40.2998 35.6006 -53.4004 50.2998v-31c11 -9.7998 23.6006 -20.1992 38.4004 -31.3994 +c6.39941 -4.90039 12.8994 -9.40039 19.3994 -13.6006v-28.5996h-57.8994v73.7002c-86.7002 78 -61.7998 110.8 -61.7998 110.8c8.2998 18.2998 42.8994 22.2002 97.2998 0.0996094l22.5 10.6006v-20.7002c29.5996 -14.5996 63.8994 -31.5 102.1 -61.0996 +c1.60059 2.09961 3.40039 4.09961 5.2998 6c18.2002 18.1992 50.4004 17.0996 50.4004 17.0996s32.2002 1.09961 50.4004 -17.0996zM65.2002 264l29.2002 13.7002c-26.9004 10.0996 -50.9004 13.5 -64.4004 2.09961c-3.7002 -3.09961 -13.5 -24.5996 35.2002 -79.0996 +v63.2998zM291.7 143.5v40.4004c0 8.7998 -7.2998 10.8994 -10.7002 10.8994s-10.7002 -2.2002 -10.7002 -10.8994v-40.4004c0 -3.59961 1.7998 -12.5 10.7002 -12.5s10.7002 8.90039 10.7002 12.5z" /> + <glyph glyph-name="strava" unicode="&#xf428;" horiz-adv-x="384" +d="M158.4 448l150.199 -292h-88.5l-61.6992 116.1l-62.2002 -116.1h-89.2002zM308.6 156h67.6006l-111.5 -220l-112.2 220h67.5996l44.6006 -88.2002z" /> + <glyph glyph-name="stripe" unicode="&#xf429;" horiz-adv-x="640" +d="M165 303.3l0.0996094 -38.5h33.7002v-37.7998h-33.7002v-63.2002c0 -26.2002 28 -18 33.7002 -15.7002v-33.7998c-5.89941 -3.2002 -16.5996 -5.89941 -31.2002 -5.89941c-26.2998 0 -46.0996 17 -46.0996 43.2998l0.200195 142.399zM254.1 251.7 +c10.4004 19.0996 31.1006 15.2002 37.1006 13.0996v-40.7998c-5.7002 1.7998 -23.4004 4.5 -33.9004 -9.2998v-103.101h-44.2998v153.2h38.4004zM346.4 324v-36.2002l-44.6006 -9.5v36.2002zM44.9004 219.7c0 -20 67.8994 -10.5 67.8994 -63.4004 +c0 -32 -25.3994 -47.7998 -62.2998 -47.7998c-15.2998 0 -32 3 -48.5 10.0996v40c14.9004 -8.09961 33.9004 -14.1992 48.5996 -14.1992c9.90039 0 17 2.69922 17 10.8994c0 21.2002 -67.5 13.2002 -67.5 62.4004c0 31.3994 24 50.2002 60 50.2002 +c14.7002 0 29.4004 -2.30078 44.1006 -8.10059v-41.7998c-13.5 7.2998 -30.7002 11.4004 -44.2002 11.4004c-9.2998 -0.100586 -15.0996 -2.80078 -15.0996 -9.7002zM640 186.4c0 -4.30078 -0.400391 -13.6006 -0.599609 -15.9004h-86.9004 +c2 -20.7998 17.2002 -26.9004 34.5 -26.9004c17.5996 0 31.5 3.7002 43.5996 9.80078v-33.4004c-12.0996 -6.7002 -28 -11.5 -49.1992 -11.5c-43.2002 0 -73.5 24.7002 -73.5 78.2002c0 45.2002 25.6992 81.0996 67.8994 81.0996s64.2002 -35.8994 64.2002 -81.3994z +M552.1 203.2h45.9004c0 20 -11.5996 28.3994 -22.5 28.3994c-11.0996 0 -23.4004 -8.39941 -23.4004 -28.3994zM439.2 267.8c31.2002 0 60.5996 -28.0996 60.5 -79.7002c0 -56.3994 -29 -79.5996 -60.7998 -79.5996c-15.5 0 -25 6.5 -31.4004 11.2002l-0.0996094 -50.2002 +l-44.4004 -9.40039v204.801h39.0996l2.30078 -11c6.19922 5.69922 17.3994 13.8994 34.7998 13.8994zM428.6 145.3c16.5 0 27.5 17.9004 27.4004 41.7998c0 23.2002 -11.2002 41.4004 -27.4004 41.4004c-10.1992 0 -16.5996 -3.7002 -21.1992 -8.7998l0.299805 -66 +c4.2998 -4.60059 10.5 -8.40039 20.8994 -8.40039zM301.9 111.6v153.2h44.5996v-153.2h-44.5996z" /> + <glyph glyph-name="stripe-s" unicode="&#xf42a;" horiz-adv-x="384" +d="M155.3 293.4c0 -64.2002 218 -33.7002 218 -203.9c0 -102.6 -81.7002 -153.6 -200.3 -153.6c-44.8916 0.101562 -114.78 14.6172 -156 32.3994v128.5c47.9004 -26 108.9 -45.5 156.1 -45.5c31.8008 0 54.7002 8.5 54.7002 34.9004c0 68.0996 -216.8 42.5 -216.8 200.399 +c0 101 77.0996 161.4 192.8 161.4c47.2998 0 94.5 -7.2002 141.8 -26.0996v-134.301c-43.3994 23.4004 -98.5 36.7002 -141.899 36.7002c-29.7998 0 -48.4004 -8.59961 -48.4004 -30.8994z" /> + <glyph glyph-name="typo3" unicode="&#xf42b;" +d="M178.7 369.6c0 -66.3994 83.3994 -264.899 140.6 -264.899c6.90039 0 11.5 0 18.5 2.2998c-49.3994 -79.5 -110.399 -139 -146.7 -139c-77.2998 0 -184.1 234 -184.1 337.5c0 16.2998 3.90039 29.4004 9.2998 37.0996c27 32.4004 106.8 57.9004 176.3 66.4004 +c-8.5 -7 -13.8994 -14.7002 -13.8994 -39.4004zM301.5 416c71.7998 0 138.8 -11.5996 138.8 -52.5c0 -82.5996 -52.5 -182.3 -78.7998 -182.3c-47.9004 0 -101.7 132.1 -101.7 198.5c0 30.8994 11.6006 36.2998 41.7002 36.2998z" /> + <glyph glyph-name="amazon-pay" unicode="&#xf42c;" horiz-adv-x="640" +d="M14 122.7c2.2998 4.2002 5.2002 4.89941 9.7002 2.5c10.3994 -5.60059 20.5996 -11.4004 31.2002 -16.7002c33.6992 -16.8047 90.7744 -37.5469 127.399 -46.2998c17.2734 -4.16797 45.5869 -9.4541 63.2002 -11.7998c22.083 -2.96875 58.0898 -5.37793 80.3721 -5.37793 +c4.03809 0 10.5908 0.0800781 14.6279 0.177734c17.4004 0.399414 34.7998 1.7998 52.0996 3.7998c46.7393 5.44824 119.897 24.623 163.301 42.7998c2.89941 1.2002 5.89941 2 9.09961 1.2002c6.7002 -1.7998 9 -9 4.09961 -13.9004 +c-2.47168 -2.27246 -6.77246 -5.58789 -9.59961 -7.39941c-30.7002 -21.1006 -64.2002 -36.4004 -99.5996 -47.9004c-20.3311 -6.55176 -53.9756 -14.4365 -75.1006 -17.5996c-14.6006 -2.23633 -38.4346 -4.38672 -53.2002 -4.7998 +c-0.694336 -0.0419922 -1.81445 -0.176758 -2.5 -0.300781h-21.0996c-0.685547 0.124023 -1.80469 0.258789 -2.5 0.300781c-3.59961 0.199219 -7.2002 0.299805 -10.7002 0.399414c-13.9971 0.634766 -36.5762 3.00879 -50.3994 5.2998 +c-22.7275 3.7041 -58.7471 13.0674 -80.4004 20.9004c-44.8652 16.1797 -110.094 55.1562 -145.6 87c-1.80078 1.59961 -3 3.7998 -4.40039 5.7002v2zM172 382.9c2.7998 0 5.5 0 8.2998 -0.100586c3.2998 -0.5 6.60059 -0.799805 9.7998 -1.5 +c21.3008 -4.39941 35.4004 -17.2998 43.9004 -36.8994c6.90039 -15.9004 8.59961 -32.7002 8.09961 -49.8008c-0.399414 -15.3994 -3.2998 -30.1992 -10.2998 -44.0996c-9.2002 -18.4004 -23.3994 -30.9004 -43.7998 -34.9004c-22.5 -4.39941 -43.0996 0.5 -61 15.4004 +c-0.5 0.5 -1.09961 1 -2.2002 1.90039v-72.4004c0 -1 0 -2 -0.0996094 -3c-0.299805 -3 -2.10059 -5 -5 -5c-7 -0.0996094 -14.1006 -0.0996094 -21.1006 0c-2.89941 0.0996094 -4.69922 2 -4.89941 5c-0.100586 1 -0.100586 2 -0.100586 3v209.3 +c0 6.90039 1.30078 8.2002 8.2002 8.2002h11.5c4.60059 0 6.90039 -2 7.60059 -6.59961c0.5 -2.7002 0.899414 -5.5 1.2998 -8.2002c0.0439453 -0.405273 0.222656 -1.0332 0.399414 -1.40039c2.5 1.90039 4.7002 3.7002 7.10059 5.40039 +c9.39941 6.90625 26.4238 13.6709 38 15.0996zM124.6 341c0.100586 -14.0996 0 -28 0 -42.0996c0 -14.1006 0.100586 -28.1006 0 -42.2002c-0.00488281 -0.0703125 -0.00878906 -0.183594 -0.00878906 -0.253906c0 -1.10547 0.765625 -2.46973 1.70898 -3.0459 +c11.2002 -7.90039 23.4004 -13.3008 37.4004 -13.9004c20.2002 -0.900391 35.7998 7.2002 42.5996 28.5c3.2002 10 4 20.2002 4 30.5996c0 11.2002 -1 22.3008 -4.89941 33c-6.40039 17.5 -18.6006 24.8008 -33.5 25.9004 +c-16.8008 1.2998 -31.9004 -3.7002 -45.6006 -13.2002c-0.945312 -0.556641 -1.71289 -1.90039 -1.71289 -2.99805c0 -0.0830078 0.00585938 -0.21875 0.0126953 -0.301758zM330.3 382.9c4 0 8 0 11.9004 0.0996094c3.59961 -0.5 7.2002 -0.799805 10.7998 -1.2998 +c7.7002 -1.10059 15.0996 -3.10059 21.7998 -7.10059c11.6006 -6.89941 17.1006 -17.5 19 -30.3994c0.5 -3.29297 0.905273 -8.66895 0.905273 -12c0 -0.248047 -0.00195312 -0.651367 -0.00488281 -0.900391v-106 +c0.00195312 -0.128906 0.00390625 -0.336914 0.00390625 -0.46582c0 -0.645508 -0.046875 -1.69141 -0.104492 -2.33398c-0.0742188 -2.57422 -2.22461 -4.67969 -4.7998 -4.7002c-5.39941 -0.0996094 -10.8994 -0.0996094 -16.2998 0 +c-2.90039 0.100586 -4.7998 2.10059 -5.40039 5.2002c-0.699219 3.59961 -1.19922 7.2002 -1.7998 11c-0.481445 -0.245117 -1.19824 -0.737305 -1.59961 -1.09961c-11.7998 -9.7002 -25.2002 -16.1006 -40.2998 -18.4004c-13.1006 -2 -26 -1.2002 -37.9004 5.40039 +c-12.4004 6.89941 -19.4004 17.6992 -21.4004 31.6992c-1.5 10.5 -0.799805 20.9004 3.90039 30.7002c6.09961 12.6006 16.5 20.4004 29.4004 24.9004c10.7998 3.7998 22 4.5 33.2998 3.89941c8.95312 -0.556641 23.2891 -2.75195 32 -4.89941 +c0.399414 -0.100586 0.799805 0 1.2998 -0.100586c0.0898438 0.381836 0.179688 1.00879 0.200195 1.40039c-0.100586 8.2998 0 16.5996 -0.299805 24.9004c-0.200195 5.89941 -1.60059 11.5996 -5.30078 16.3994c-4.19922 5.5 -10.2998 7.40039 -16.7998 8.40039 +c-12.5 1.89941 -24.8994 0.899414 -37.2002 -1.40039c-7.89941 -1.5 -15.6992 -3.7002 -23.5 -5.7002c-4.69922 -1.19922 -6.69922 0.100586 -6.7998 4.90039c-0.0996094 3.2998 0.100586 6.59961 0 9.90039c-0.0996094 3.89941 1.7002 6.5 5.2998 7.69922 +c5.90039 2 11.8008 4.2002 17.9004 5.80078c7.86426 1.92188 20.8115 3.75879 28.9004 4.09961c0.899414 0.0996094 1.89941 0.299805 2.89941 0.400391zM365.3 255.2c-0.0996094 4.7002 0.100586 9.2998 0.100586 14.0996s-0.100586 9.5 0 14.2998 +c0 1.60059 -0.5 2.40039 -2.10059 2.60059c-8.39941 1.09961 -16.5996 2.7002 -25 3.39941c-1.95117 0.227539 -5.12891 0.412109 -7.09375 0.412109c-4.99316 0 -12.9258 -1.16992 -17.7061 -2.61133c-8 -2.60059 -13.9004 -7.30078 -16.4004 -15.6006 +c-0.779297 -2.57422 -1.41211 -6.84766 -1.41211 -9.53809c0 -2.78613 0.677734 -7.2041 1.5127 -9.86133c1.55762 -5.40918 7.11328 -11.3672 12.3994 -13.3008c5.40039 -2.19922 11.1006 -2.39941 16.8008 -1.7998c13.8994 1.40039 26.1992 6.7998 37.3994 14.9004 +c0.832031 0.543945 1.50684 1.79199 1.50684 2.78613c0 0.0595703 -0.00292969 0.155273 -0.00683594 0.213867zM625.2 125.8v-17.2998c-0.700195 -3.59961 -1.2998 -7.2998 -2.10059 -10.9004c-4.39941 -20.2998 -11.8994 -39.1992 -24.6992 -55.5996 +c-3.27148 -3.9209 -8.96094 -9.92383 -12.7002 -13.4004c-1.1416 -1.04102 -3.29199 -2.16113 -4.7998 -2.5c-2.90039 -0.699219 -4.60059 1.2002 -4.10059 4.10059c0.201172 0.852539 0.649414 2.19629 1 3c5.7998 14.7998 11.7002 29.7002 15.7998 45.0996 +c2.10059 7.60059 3.90039 15.2998 3.5 23.2998c-0.199219 5.2002 -2.5 9 -7.59961 10.4004c-3.89746 1.15332 -10.3486 2.36328 -14.4004 2.7002c-11.3994 0.899414 -22.8994 0.200195 -34.2998 -0.900391c-7.7998 -0.799805 -15.5 -1.7002 -23.2998 -2.5 +c-0.504883 -0.0576172 -1.32617 -0.103516 -1.83398 -0.103516c-0.100586 0 -0.264648 0.000976562 -0.366211 0.00390625c-1.5 -0.100586 -3.2002 0.299805 -3.59961 1.7998c-0.111328 0.383789 -0.201172 1.01855 -0.201172 1.41797 +c0 0.764648 0.314453 1.92188 0.701172 2.58203c0.838867 1.1582 2.49609 2.72656 3.7002 3.5c12.0996 8.2998 25.6992 12.9004 40 15.5996c7.29883 1.34375 19.2461 2.43457 26.668 2.43457c3.46484 0 9.0791 -0.239258 12.5312 -0.53418 +c5.92773 -0.371094 15.335 -2.11816 21 -3.90039c4.30078 -1.39941 8.10059 -3.2998 9.10059 -8.2998zM493.1 249c0.300781 -0.700195 0.501953 -1.2998 0.902344 -2.40039c2.59961 7.7002 5.2002 15 7.7002 22.2002l34.7998 100 +c0.5 1.40039 1.09961 2.7002 1.59961 4.10059c0.932617 2.87988 4.14648 5.21777 7.17383 5.21777c0.145508 0 0.381836 -0.0078125 0.526367 -0.0185547c6.60059 0 13.2998 0.100586 19.9004 0c2.7998 0 4.09961 -1.59961 3.7002 -4.39941 +c-0.277344 -1.56641 -0.994141 -4.03027 -1.60059 -5.5c-23.3662 -59.9336 -46.8994 -119.801 -70.5996 -179.601c-2.1416 -5.27734 -6.2627 -13.5205 -9.2002 -18.3994c-8.7998 -14.9004 -22.4004 -21.7998 -39.5 -21.4004c-4.70801 0.18457 -12.2793 1.08008 -16.9004 2 +c-5.39941 0.900391 -7.2998 3.40039 -7.39941 8.90039c-0.100586 3.2666 -0.100586 6.56641 0 9.89941c0.0996094 3.5 1.7998 5 5.2002 4.80078c2.5 -0.200195 5 -0.800781 7.5 -1c1.30664 -0.148438 3.43359 -0.268555 4.74902 -0.268555 +c2.98828 0 7.75977 0.612305 10.6504 1.36816c7.2002 1.90039 12.2002 6.7998 15.2002 13.2998c3.40039 7.2998 6 15 9.2998 22.2998c1.90039 4.2002 1.5 7.7002 -0.200195 11.8008c-19.7998 48.5 -39.5 97 -59.1006 145.5 +c-0.649414 1.64453 -1.50098 4.37695 -1.90039 6.09961c-0.5 2.5 0.700195 4.5 3.2002 4.5c7.7002 0.0996094 15.2998 0 22.9004 -0.0996094c3.2002 0 5.2998 -1.90039 6.39941 -4.80078c2.10059 -5.59961 4.30078 -11.1992 6.30078 -16.8994 +c12.8994 -35.7666 25.7988 -71.5 38.6982 -107.2z" /> + <glyph glyph-name="cc-amazon-pay" unicode="&#xf42d;" horiz-adv-x="576" +d="M124.7 246.2c0.0996094 11.7998 0 23.5 0 35.2998v35.2998c0 1.2998 0.399414 2 1.39941 2.7002c11.5 8 24.1006 12.0996 38.2002 11.0996c12.5 -0.899414 22.7002 -7 28.1006 -21.6992c3.2998 -8.90039 4.09961 -18.2002 4.09961 -27.7002 +c0 -8.7002 -0.700195 -17.2998 -3.40039 -25.6006c-5.69922 -17.7998 -18.6992 -24.6992 -35.6992 -23.8994c-11.7002 0.5 -21.9004 5 -31.4004 11.7002c-0.900391 0.799805 -1.40039 1.59961 -1.2998 2.7998zM279.6 231.6c-5.19922 2 -8.7998 5.7002 -10.3994 11.2002 +c-1.7002 5.40039 -1.7002 10.7998 -0.100586 16.2002c2 6.90039 7 10.9004 13.7002 13.0996c6.7998 2.2002 13.7998 2.5 20.7998 1.90039c7 -0.700195 13.9004 -2 20.9004 -2.90039c1.40039 -0.199219 1.7998 -0.799805 1.7998 -2.19922c-0.0996094 -4 0 -8 0 -12 +c0 -3.90039 -0.0996094 -7.90039 0 -11.8008c0 -1.19922 -0.399414 -1.89941 -1.2998 -2.5c-9.40039 -6.7998 -19.7002 -11.2998 -31.2998 -12.5c-4.7998 -0.5 -9.5 -0.299805 -14.1006 1.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352 +c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM368.5 344.1c0.400391 -1.69922 0.900391 -3.39941 1.59961 -5.09961c16.5 -40.5996 32.9004 -81.2998 49.5 -121.9c1.40039 -3.5 1.7002 -6.39941 0.200195 -9.89941 +c-2.7998 -6.2002 -4.89941 -12.6006 -7.7998 -18.7002c-2.59961 -5.5 -6.7002 -9.5 -12.7002 -11.2002c-4.2002 -1.09961 -8.5 -1.2998 -12.8994 -0.899414c-2.10059 0.199219 -4.2002 0.699219 -6.30078 0.799805c-2.7998 0.200195 -4.19922 -1.10059 -4.2998 -4 +c-0.0996094 -2.7998 -0.0996094 -5.60059 0 -8.2998c0.100586 -4.60059 1.60059 -6.7002 6.2002 -7.5c4.7002 -0.800781 9.40039 -1.60059 14.2002 -1.7002c14.2998 -0.299805 25.7002 5.39941 33.0996 17.8994c2.90039 4.90039 5.60059 10.1006 7.7002 15.4004 +c19.7998 50.0996 39.5 100.3 59.2002 150.5c0.599609 1.5 1.09961 3 1.2998 4.59961c0.400391 2.40039 -0.700195 3.60059 -3.09961 3.7002c-5.60059 0.100586 -11.1006 0 -16.7002 0c-3.10059 0 -5.2998 -1.39941 -6.40039 -4.2998 +c-0.399414 -1.09961 -0.899414 -2.2998 -1.2998 -3.40039l-29.0996 -83.6992c-2.10059 -6.10059 -4.2002 -12.1006 -6.5 -18.6006c-0.400391 0.900391 -0.600586 1.40039 -0.800781 1.90039c-10.7998 29.8994 -21.5996 59.8994 -32.3994 89.7998 +c-1.7002 4.7002 -3.5 9.5 -5.2998 14.2002c-0.900391 2.5 -2.7002 4 -5.40039 4c-6.40039 0.0996094 -12.7998 0.200195 -19.2002 0.0996094c-2.2002 0 -3.2998 -1.59961 -2.7998 -3.7002zM242.4 242c1.69922 -11.7002 7.59961 -20.7998 18 -26.5996 +c9.89941 -5.5 20.6992 -6.2002 31.6992 -4.60059c12.7002 1.90039 23.9004 7.2998 33.8008 15.5c0.399414 0.299805 0.799805 0.600586 1.39941 1c0.5 -3.2002 0.900391 -6.2002 1.5 -9.2002c0.5 -2.59961 2.10059 -4.2998 4.5 -4.39941 +c4.60059 -0.100586 9.10059 -0.100586 13.7002 0c2.2998 0.0996094 3.7998 1.59961 4 3.89941c0.0996094 0.800781 0.0996094 1.60059 0.0996094 2.30078v88.7998c0 3.59961 -0.199219 7.2002 -0.699219 10.7998c-1.60059 10.7998 -6.2002 19.7002 -15.9004 25.4004 +c-5.59961 3.2998 -11.7998 5 -18.2002 5.89941c-3 0.400391 -6 0.700195 -9.09961 1.10059h-10c-0.799805 -0.100586 -1.60059 -0.300781 -2.5 -0.300781c-8.2002 -0.399414 -16.2998 -1.39941 -24.2002 -3.5c-5.09961 -1.2998 -10 -3.19922 -15 -4.89941 +c-3 -1 -4.5 -3.2002 -4.40039 -6.5c0.100586 -2.7998 -0.0996094 -5.60059 0 -8.2998c0.100586 -4.10059 1.80078 -5.2002 5.7002 -4.10059c6.5 1.7002 13.1006 3.5 19.7002 4.7998c10.2998 1.90039 20.7002 2.7002 31.0996 1.2002 +c5.40039 -0.799805 10.5 -2.39941 14.1006 -7c3.09961 -4 4.2002 -8.7998 4.39941 -13.7002c0.300781 -6.89941 0.200195 -13.8994 0.300781 -20.7998c0 -0.399414 -0.100586 -0.700195 -0.200195 -1.2002c-0.400391 0 -0.799805 0 -1.10059 0.100586 +c-8.7998 2.09961 -17.6992 3.59961 -26.7998 4.09961c-9.5 0.5 -18.8994 -0.0996094 -27.8994 -3.2002c-10.8008 -3.7998 -19.5 -10.2998 -24.6006 -20.7998c-4.09961 -8.2998 -4.59961 -17 -3.39941 -25.7998zM98.7002 341.1v-175.3c0 -0.799805 0 -1.7002 0.0996094 -2.5 +c0.200195 -2.5 1.7002 -4.09961 4.10059 -4.2002c5.89941 -0.0996094 11.7998 -0.0996094 17.6992 0c2.5 0 4 1.7002 4.10059 4.10059c0.0996094 0.799805 0.0996094 1.7002 0.0996094 2.5v60.7002c0.900391 -0.700195 1.40039 -1.2002 1.90039 -1.60059 +c15 -12.5 32.2002 -16.5996 51.0996 -12.8994c17.1006 3.39941 28.9004 13.8994 36.7002 29.1992c5.7998 11.6006 8.2998 24.1006 8.7002 37c0.5 14.3008 -1 28.4004 -6.7998 41.7002c-7.10059 16.4004 -18.9004 27.2998 -36.7002 30.9004 +c-2.7002 0.599609 -5.5 0.799805 -8.2002 1.2002h-7c-1.2002 -0.200195 -2.40039 -0.300781 -3.59961 -0.5c-11.7002 -1.40039 -22.3008 -5.80078 -31.8008 -12.7002c-2 -1.40039 -3.89941 -3 -5.89941 -4.5c-0.100586 0.5 -0.299805 0.799805 -0.400391 1.2002 +c-0.399414 2.2998 -0.700195 4.59961 -1.09961 6.89941c-0.600586 3.90039 -2.5 5.5 -6.40039 5.60059h-9.7002c-5.89941 0.0996094 -6.89941 -1 -6.89941 -6.80078zM493.6 109c-2.69922 0.700195 -5.09961 0 -7.59961 -1c-43.9004 -18.4004 -89.5 -30.2002 -136.8 -35.7998 +c-14.5 -1.7002 -29.1006 -2.7998 -43.7002 -3.2002c-26.5996 -0.700195 -53.2002 0.799805 -79.5996 4.2998c-17.8008 2.40039 -35.5 5.7002 -53 9.90039c-37 8.89941 -72.7002 21.7002 -106.7 38.7998c-8.7998 4.40039 -17.4004 9.2998 -26.1006 14 +c-3.7998 2.09961 -6.19922 1.5 -8.19922 -2.09961v-1.7002c1.19922 -1.60059 2.19922 -3.40039 3.69922 -4.7998c36 -32.2002 76.6006 -56.5 122 -72.9004c21.9004 -7.90039 44.4004 -13.7002 67.3008 -17.5c14 -2.2998 28 -3.7998 42.1992 -4.5 +c3 -0.0996094 6 -0.200195 9 -0.400391c0.700195 0 1.40039 -0.199219 2.10059 -0.299805h17.7002c0.699219 0.100586 1.39941 0.299805 2.09961 0.299805c14.9004 0.400391 29.7998 1.80078 44.5996 4c21.4004 3.2002 42.4004 8.10059 62.9004 14.7002 +c29.5996 9.60059 57.7002 22.4004 83.4004 40.1006c2.7998 1.89941 5.69922 3.7998 8 6.19922c4.2998 4.40039 2.2998 10.4004 -3.30078 11.9004zM544 136.7c-0.799805 4.2002 -4 5.7998 -7.59961 7c-5.7002 1.89941 -11.6006 2.7998 -17.6006 3.2998 +c-11 0.900391 -22 0.400391 -32.7998 -1.59961c-12 -2.2002 -23.4004 -6.10059 -33.5 -13.1006c-1.2002 -0.799805 -2.40039 -1.7998 -3.09961 -3c-0.600586 -0.899414 -0.700195 -2.2998 -0.5 -3.39941c0.299805 -1.30078 1.69922 -1.60059 3 -1.5 +c0.599609 0 1.19922 0 1.7998 0.0996094l19.5 2.09961c9.59961 0.900391 19.2002 1.5 28.7998 0.800781c4.09961 -0.300781 8.09961 -1.2002 12 -2.2002c4.2998 -1.10059 6.2002 -4.40039 6.40039 -8.7002c0.299805 -6.7002 -1.2002 -13.0996 -2.90039 -19.5 +c-3.5 -12.9004 -8.2998 -25.4004 -13.2998 -37.7998c-0.299805 -0.799805 -0.700195 -1.7002 -0.799805 -2.5c-0.400391 -2.5 1 -4 3.39941 -3.5c1.40039 0.299805 3 1.09961 4 2.09961c3.7002 3.60059 7.5 7.2002 10.6006 11.2002 +c10.6992 13.7998 17 29.5996 20.6992 46.5996c0.700195 3 1.2002 6.10059 1.7002 9.10059c0.200195 4.7002 0.200195 9.59961 0.200195 14.5z" /> + <glyph glyph-name="ethereum" unicode="&#xf42e;" horiz-adv-x="320" +d="M311.9 187.2l-151.9 -92.7998l-152 92.7998l152 260.8zM160 64.5996l152 92.8008l-152 -221.4l-152 221.4z" /> + <glyph glyph-name="korvue" unicode="&#xf42f;" horiz-adv-x="446" +d="M386.5 414c32.7002 0 59.5 -26.7998 59.5996 -59.5v-327c0 -32.7002 -26.5 -59.5 -59.5 -59.5h-327.1c-32.7002 0 -59.5 26.7998 -59.5 59.4004v327.1c0 32.7002 26.7998 59.5 59.5 59.5h327zM87.0996 327.2v-132h187.5l81.2002 132h-110.899l-61.8008 -116v116h-96z +M248.9 55.0996h118.399l-88.5996 130.801h-191.5v-130.801h96v113.601z" /> + <glyph glyph-name="elementor" unicode="&#xf430;" +d="M425.6 416c12.4004 0 22.4004 -10 22.4004 -22.4004v-403.199c0 -12.4004 -10 -22.4004 -22.4004 -22.4004h-403.199c-12.4004 0 -22.4004 10 -22.4004 22.4004v403.199c0 12.4004 10 22.4004 22.4004 22.4004h403.199zM164.3 92.5v199h-39.7998v-199h39.7998z +M323.6 92.5v39.7998h-119.5v-39.7998h119.5zM323.6 172.1v39.8008h-119.5v-39.8008h119.5zM323.6 251.8v39.7998h-119.5v-39.7998h119.5z" /> + <glyph glyph-name="youtube-square" unicode="&#xf431;" +d="M186.8 245.9l95.2002 -54.1006l-95.2002 -54.0996v108.2zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM406 191.7c0 0 0 59.5996 -7.59961 88.2002 +c-4.2002 15.7998 -16.5 28.1992 -32.2002 32.3994c-28.2998 7.7002 -142.2 7.7002 -142.2 7.7002s-113.9 0 -142.2 -7.7002c-15.7002 -4.2002 -28 -16.5996 -32.2002 -32.3994c-7.59961 -28.5 -7.59961 -88.2002 -7.59961 -88.2002s0 -59.6006 7.59961 -88.2002 +c4.2002 -15.7998 16.5 -27.7002 32.2002 -31.9004c28.2998 -7.59961 142.2 -7.59961 142.2 -7.59961s113.9 0 142.2 7.7002c15.7002 4.2002 28 16.0996 32.2002 31.8994c7.59961 28.5 7.59961 88.1006 7.59961 88.1006z" /> + <glyph glyph-name="flipboard" unicode="&#xf44d;" +d="M0 416h448v-448h-448v448zM358.4 236.8v89.6006h-268.801v-268.801h89.6006v89.6006h89.5996v89.5996h89.6006z" /> + <glyph glyph-name="hips" unicode="&#xf452;" horiz-adv-x="640" +d="M251.6 290.4v-201.801c0 -1.89941 -0.899414 -2.7998 -2.7998 -2.7998h-40.8994c-1.60059 0 -2.7002 1.40039 -2.7002 2.7998v201.801c0 1.39941 1.09961 2.7998 2.7002 2.7998h40.8994c1.90039 0 2.7998 -0.900391 2.7998 -2.7998zM156.5 280 +c18.7002 -13.5 28 -31.9004 28 -55.2998v-136.101c0 -1.89941 -0.900391 -2.7998 -2.7002 -2.7998h-27.2998c-9.09961 0 -16.4004 7.2998 -16.4004 16.2998v122.601c0 0.899414 2.7002 27 -45.7998 27c-48.5996 0 -45.7998 -26.2002 -45.7998 -27v-136.101 +c0 -1.89941 -0.900391 -2.7998 -2.7998 -2.7998h-41c-1.7998 0 -2.7002 0.900391 -2.7002 2.7998v279.2c0 1.7998 0.900391 2.7002 2.7002 2.7002h40.8994c1.90039 0 2.80078 -0.900391 2.80078 -2.7002v-81.2002c15.1992 7.7002 31.6992 11.5 49.7998 11.4004 +c24 -0.0996094 44.2002 -6.2002 60.2998 -18zM634.9 169.9c5.5 -12.6006 6.59961 -25.6006 3.09961 -39.1006c-9.59961 -36.8994 -44.9004 -45.5 -45.5996 -45.7998c-10.5 -3.09961 -23.6006 -4.2998 -36.3008 -4.2998c-16.5996 0 -32.5996 2.7002 -48.1992 8.2002 +c-9.7002 3.39941 -14.6006 10.2998 -14.6006 20.6992v34.4004c0 2.09961 2.2998 3.7002 4.40039 2.2998c13.7002 -10.2002 34.0996 -19.0996 58.3994 -19.0996c23.3008 0 32.8008 4.5 36.5 13.5996c3 7.90039 -0.599609 16.1006 -12.1992 21.2002l-53.6006 23.5 +c-21.3994 9.40039 -33.7998 24 -37.2002 43.5996c-5.69922 33.7002 22.2002 53.3008 22.7002 53.7002c13.2002 9.60059 32 15.4004 58.5 15.4004c19 0 37.4004 -3.2998 55.1006 -9.90039c1.2998 -0.5 1.89941 -1.2998 1.89941 -2.59961v-44.7002 +c0 -2.09961 -2.2998 -3.40039 -4 -2.40039c-39.7002 20.7002 -76.5996 12.3008 -84 6.80078c-6.59961 -4.90039 -6 -12.5 2.60059 -16.1006l57.5996 -25.2998c16.5 -7.09961 28.0996 -18.4004 34.9004 -34.0996zM376.2 298.2c60.3994 0 108.7 -48.2998 108.6 -108.601 +c0 -60.1992 -48.2002 -108.699 -108.7 -108.699c-21.8994 0 -41.1992 6.39941 -57.6992 19.0996v-88.7998c0 -1.7998 -0.900391 -2.7002 -2.80078 -2.7002h-40.8994c-2.10059 0 -2.7002 1.90039 -2.7002 2.7002v183.5c0 83.3994 72.5 103.5 104.2 103.5zM376.2 127.3 +c34.8994 0 62.2998 27.9004 62.2002 62.2002c0 34.5996 -27.7002 62.2002 -62.2002 62.2002c-34.6006 0 -62.2002 -27.7002 -62.2002 -62.2002c0 -17.2002 6 -31.7998 18.2002 -44c12.0996 -12.0996 26.7998 -18.2002 44 -18.2002zM228.3 375.5 +c15.9004 0 28.9004 -12.7002 28.9004 -28.9004c0 -15.7998 -12.7002 -28.8994 -28.9004 -28.8994s-28.8994 13.2998 -28.8994 28.8994c0.0996094 16 13 28.9004 28.8994 28.9004z" /> + <glyph glyph-name="php" unicode="&#xf457;" horiz-adv-x="640" +d="M320 343.5c-171.3 0 -303.2 -72.2002 -303.2 -151.5s131.8 -151.5 303.2 -151.5c171.3 0 303.2 72.2002 303.2 151.5s-131.8 151.5 -303.2 151.5zM320 360.3c176.7 0 320 -75.2998 320 -168.3s-143.3 -168.3 -320 -168.3s-320 75.2998 -320 168.3s143.3 168.3 320 168.3z +M218.2 205.5c7.39941 38.4004 -18.4004 34.2998 -56.4004 34.2998l-13.7002 -70.5996c34.3008 0 62.2002 -4.2002 70.1006 36.2998zM97.4004 97.7002l32.6992 168.7h70.7002c21.2002 0 36.7998 -5.5 46.5 -16.7002c18.6006 -21.4004 11.7998 -64.1006 -14.2998 -88.1006 +c-23.5996 -22.0996 -49.0996 -19.0996 -90.2002 -19.0996l-8.7002 -44.7998h-36.6992zM283.1 311.3h36.5l-8.69922 -44.7998c31.5 0 60.6992 2.2998 74.7998 -10.7002c14.7998 -13.5996 7.7002 -31 -8.2998 -113.1h-37c15.3994 79.3994 18.2998 86 12.6992 92 +c-5.39941 5.7998 -17.6992 4.59961 -47.3994 4.59961l-18.7998 -96.5996h-36.5zM505 205.5c7.40039 38.4004 -18.2002 34.2998 -56.4004 34.2998l-13.6992 -70.5996c33.3994 0 62.0996 -4.7998 70.0996 36.2998zM384.2 97.7002l32.7998 168.7h70.7002 +c21.2002 0 36.7998 -5.5 46.5 -16.7002c18.5996 -21.4004 11.7998 -64.1006 -14.2998 -88.1006c-23.1006 -21.5996 -47 -19.0996 -90.2002 -19.0996l-8.7002 -44.7998h-36.7998z" /> + <glyph glyph-name="quinscape" unicode="&#xf459;" horiz-adv-x="512" +d="M313.6 -26.5996c4.40039 -4.40039 8.10059 -9 13.3008 -12.5c-18.5029 -5.58008 -49.2031 -10.1074 -68.5283 -10.1074c-0.516602 0 -1.35547 0.00292969 -1.87207 0.00683594c-135 0 -244.5 109.5 -244.5 244.601c0 135.1 109.4 244.6 244.5 244.6 +s244.6 -109.5 244.6 -244.6c0 -35.3008 -6.89941 -67.4004 -20.2998 -97.7002c-3 5.7002 -7.2002 10.2002 -11.2002 15.2998c11.2002 93.5 -62.0996 176.6 -157 176.6c-87.2705 0 -158.1 -70.8281 -158.1 -158.1s70.8291 -158.1 158.1 -158.1h1zM313.5 -26.5 +l0.400391 -0.0996094zM391.9 142.4c54.7471 0 99.1992 -44.4326 99.1992 -99.1807v-0.0195312c0 -54.7588 -44.4414 -99.2002 -99.1992 -99.2002c-54.7588 0 -99.2002 44.4414 -99.2002 99.2002c0 54.7578 44.4414 99.2002 99.2002 99.2002z" /> + <glyph glyph-name="readme" unicode="&#xf4d5;" horiz-adv-x="576" +d="M528.3 401.5c26.4004 -0.200195 47.7002 -21.7002 47.7002 -48.0996v-245.7c0 -26.5 -21.5 -48 -48 -48h-89.7002c-102.1 0 -132.6 -24.4004 -147.3 -75c-0.799805 -2.7998 -5.2998 -2.7998 -6 0c-14.5996 50.5996 -45.0996 75 -147.3 75h-89.7002 +c-26.5 0 -48 21.5 -48 48v245.8c0 26.5 21.5 48 48 48h139.7c48.0996 0 89.7998 -33.2998 100.399 -80.2998c10.5 47 52.3008 80.2998 100.4 80.2998h139.8zM242 136.1h0.0996094v22.9004c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.9004 +c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.60059 3.5 3.5zM242 197h0.0996094v22.9004c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.60059 -3.5 -3.5v-22.9004c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM242 257.9h0.0996094v22.8994 +c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.8994c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM501.3 136.2h0.100586v22.8994c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.8994 +c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM501.3 197.1h0.100586v22.9004c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.9004c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.60059 3.5 3.5zM501.3 258h0.100586v22.7998 +c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.7998c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5z" /> + <glyph glyph-name="java" unicode="&#xf4e4;" horiz-adv-x="384" +d="M277.74 135.1c-94.5 -24.8994 -277 -13.2998 -224.5 12.1006c44.5 21.3994 80.5996 19 80.5996 19s-93.0996 -22.1006 -33 -30.1006c25.4004 -3.39941 76 -2.59961 123.101 1.30078c38.5 3.19922 77.1992 10.1992 77.1992 10.1992s-13.5996 -5.7998 -23.3994 -12.5z +M192.34 167.2c-48.5 43.7998 -84.0996 82.2998 -60.2002 118.2c35.1006 52.5 132.2 78.0996 110.7 162.6c0 0 53.1602 -53.2002 -50.5 -135c-83.0996 -65.5996 -19 -103.1 0 -145.8zM306.94 343.4c-111.601 -64.7002 -91 -83.5 -64.1006 -121.301 +c28.7998 -40.5 -33.8994 -72.8994 -33.8994 -72.8994s31.1992 25.5996 6.5 54c-83.7002 96.3994 91.5996 140.2 91.5 140.2zM300.84 72.9004c96.1006 49.8994 51.6006 97.8994 20.6006 91.3994c-3.10352 -0.581055 -8.03125 -1.92578 -11 -3 +c1.71973 2.44629 5.39258 5.26855 8.19922 6.2998c61.3008 21.6006 108.5 -63.5996 -19.7998 -97.2998c0.649414 0.642578 1.5459 1.80762 2 2.60059zM348 10.5996c53 -23.8994 -115.16 -72 -319.4 -38.7998c-74.8994 12.1006 36.1006 54.5 56.4004 40.2002 +c0 0 -6.5 0.400391 -17.7002 -2c-10.7998 -2.2998 -45.0996 -13.4004 -26.7998 -21.2998c50.7998 -22.1006 233.7 -16.7998 291.6 0.700195c30.4004 9.2998 15.9004 21.1992 15.9004 21.1992zM124.44 52c0 0 -19.6006 -11.4004 13.8994 -15.2002 +c40.6006 -4.59961 61.2998 -4 106 4.5c7.46094 -4.46777 20.0938 -10.6504 28.2002 -13.7998c-100.2 -42.9004 -226.8 2.5 -148.1 24.5zM304.24 -45.2002c69.7998 13.2002 76.2002 29.7002 76.2002 29.7002c-3.30078 -43.5996 -144.9 -52.7998 -237.101 -46.9004 +c-60.5996 3.90039 -72.3994 13.7002 -72.3994 13.6006c57.5 -9.5 154.6 -11.2002 233.3 3.59961zM260.64 95c5.08594 -4.74902 14.5391 -10.4834 21.1006 -12.7998c-121.3 -35.5 -256.3 -2.90039 -169.5 25.8994c0 0 -21.9004 -16.1992 11.5996 -19.6992 +c43.2998 -4.5 77.6006 -4.80078 136.8 6.59961z" /> + <glyph glyph-name="pied-piper-hat" unicode="&#xf4e5;" horiz-adv-x="640" +d="M640 423.1c-80.7998 -53.5996 -89.4004 -92.5 -96.4004 -104.399c-6.69922 -12.2002 -11.6992 -60.2998 -23.2998 -83.6006c-11.7002 -23.5996 -54.2002 -42.1992 -66.0996 -50c-11.7002 -7.7998 -28.2998 -38.0996 -41.9004 -64.1992 +c-108.1 4.39941 -167.399 -38.8008 -259.2 -93.6006c29.4004 9.7002 43.3008 16.7002 43.3008 16.7002c94.1992 36 139.3 68.2998 281.1 49.2002c1.09961 0 1.90039 -0.600586 2.7998 -0.799805c3.90039 -2.2002 5.2998 -6.90039 3.10059 -10.8008l-53.9004 -95.7998 +c-2.5 -4.7002 -7.7998 -7.2002 -13.0996 -6.09961c-126.801 23.7998 -226.9 -17.2998 -318.9 -18.6006c-73.4004 -1.09961 -97.5 33.5 -97.5 35.1006c0 1.09961 0.599609 1.7002 1.7002 1.7002c0 0 38.2998 0 103.1 15.2998c73.6006 140.3 139.2 189.399 210.601 189.399 +c0 0 71.6992 0 90.5996 -61.8994c22.7998 39.7002 28.2998 49.2002 28.2998 49.2002c5.2998 9.39941 35 77.1992 86.4004 141.399c51.5 64 90.3994 79.9004 119.3 91.7998z" /> + <glyph glyph-name="creative-commons-by" unicode="&#xf4e7;" horiz-adv-x="496" +d="M314.9 253.6v-101.399h-28.3008v-120.5h-77.0996v120.399h-28.2998v101.5c0 4.40039 1.59961 8.2002 4.59961 11.3008c3.10059 3.09961 6.90039 4.69922 11.2998 4.69922h101.9c4.09961 0 7.7998 -1.59961 11.0996 -4.69922 +c3.10059 -3.2002 4.80078 -6.90039 4.80078 -11.3008zM213.4 317.3c0 23.2998 11.5 35 34.5 35s34.5 -11.7002 34.5 -35c0 -23 -11.5 -34.5 -34.5 -34.5s-34.5 11.5 -34.5 34.5zM247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248 +c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3z" /> + <glyph glyph-name="creative-commons-nc" unicode="&#xf4e8;" horiz-adv-x="496" +d="M247.6 440c139.801 0 248.4 -107.9 248.4 -248c0 -147.2 -118.5 -248 -248.4 -248c-134.5 0 -247.6 110.8 -247.6 248c0 132.9 104.7 248 247.6 248zM55.7998 258.9c-7.39941 -20.4004 -11.0996 -42.7002 -11.0996 -66.9004c0 -110.9 92.0996 -202.4 203.7 -202.4 +c122.399 0 177.199 101.801 178.5 104.101l-93.4004 41.5996c-7.7002 -37.0996 -41.2002 -53 -68.2002 -55.3994v-38.1006h-28.7998v38.2002c-27.5 0.299805 -52.5996 10.2002 -75.2998 29.7002l34.0996 34.5c31.7002 -29.4004 86.4004 -31.7998 86.4004 2.2002 +c0 6.19922 -2.2002 11.1992 -6.60059 15.0996c-14.1992 6 -1.7998 0.0996094 -219.3 97.4004zM248.4 395.7c-38.4004 0 -112.4 -8.7002 -170.5 -93l94.7998 -42.5c10 31.2998 40.3994 42.8994 63.7998 44.2998v38.0996h28.7998v-38.0996 +c22.7002 -1.2002 43.4004 -8.90039 62 -23l-32.2998 -33.2002c-42.7002 29.9004 -83.5 8 -70 -11.0996c53.4004 -24.1006 43.7998 -19.7998 93 -41.6006l127.1 -56.6992c4.10059 17.3994 6.2002 35.0996 6.2002 53.0996c0 57 -19.7998 105 -59.2998 143.9 +c-39.2998 39.8994 -87.2002 59.7998 -143.6 59.7998z" /> + <glyph glyph-name="creative-commons-nc-eu" unicode="&#xf4e9;" horiz-adv-x="496" +d="M247.7 440c140.7 0 248.3 -109 248.3 -248c0 -147.1 -118.1 -248 -248.3 -248c-136 0 -247.7 111.7 -247.7 248c0 131.2 103.6 248 247.7 248zM248.3 -10.7002c122.601 0 177.3 102.2 178.8 104.3l-128.3 56.8008h-90.2998 +c9.2002 -39.3008 39.0996 -50.2002 67.2998 -50.2002c19.1006 0 38.6006 6.2002 47.2998 10.7998l10 -46.0996c-14.1992 -7.90039 -38.1992 -15.8008 -64.7998 -15.8008c-57.3994 0 -113.2 34.3008 -124.6 101.301h-27v29.5h22.7998 +c0 16.2998 0.400391 13.2998 0.400391 19.5h-23.3008v29.5h4.7002l-65.7002 29.0996c-7.19922 -20.7998 -10.8994 -42.7998 -10.8994 -66c0 -110.2 91.5996 -202.7 203.6 -202.7zM231.6 179.9l-0.5 0.399414l0.900391 -0.399414h-0.400391zM308.8 199.4l136.101 -60.5 +c4.19922 16.5996 6.2998 34.1992 6.2998 52.8994c0 113.2 -90 203.4 -203 203.4c-13 0 -106.101 3.2002 -170.7 -93.6006l81.5996 -36.0996c4.10059 7.2002 8.60059 14 13.9004 20.0996c23.7002 26.5 56.9004 42.3008 95.9004 42.3008 +c25.2998 0 47.2998 -5.80078 62.2998 -12.4004l-11.6006 -47.2998c-10.7998 4.59961 -27.7998 10 -46.0996 10c-20 0 -38.2002 -6.60059 -51.0996 -22.4004c-3.40039 -3.7998 -6.30078 -8.7998 -8.80078 -14.2998l28.6006 -12.5996h70.2998v-29.5h-3.7002z" /> + <glyph glyph-name="creative-commons-nc-jp" unicode="&#xf4ea;" horiz-adv-x="496" +d="M247.7 440c140.8 0 248.3 -109.2 248.3 -248c0 -147.2 -118.1 -248 -248.3 -248c-135.9 0 -247.7 111.6 -247.7 248c0 131.2 103.6 248 247.7 248zM248.3 -10.7002c118.101 0 173.7 96.1006 175.2 98.2998l-81 36.1006v-35.7002h-64.2002v-56h-61.7002v56h-63.7998 +v38.7002h63.7998v18.7002l-5.69922 11.7998h-58.1006v38.5996h27.9004l-127 56.5c-6 -19.0996 -9 -39.2002 -9 -60.2998c0 -110.2 91.5996 -202.7 203.6 -202.7zM335.9 126.6l-54.7002 24.3008l-2.90039 -5.60059v-18.7002h57.6006zM342.4 178l101 -45.0996 +c5.19922 18.3994 7.89941 38 7.89941 59c0 113.399 -90.2002 203.399 -203 203.399c-91.0996 0 -145.899 -54 -173.7 -98.0996l81.9004 -36.5l-27.2998 51h65.7998l39.5996 -85.7002l23 -10.2002l43.4004 96h65.7998l-63 -116h38.6006v-17.7998z" /> + <glyph glyph-name="creative-commons-nd" unicode="&#xf4eb;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM342.4 251v-42.5h-180.301v42.5h180.301zM342.4 171.2v-42.5h-180.301v42.5h180.301z" /> + <glyph glyph-name="creative-commons-pd" unicode="&#xf4ec;" horiz-adv-x="496" +d="M248 440c137 0 248 -111.1 248 -248c0 -137 -111 -248 -248 -248s-248 111 -248 248c0 136.9 111 248 248 248zM248 -9.5c76.0996 0 142.4 42.4004 176.7 104.8c-1.40039 0.299805 12.5 -5.7998 -217.9 96.7998c0.200195 -32 16.1006 -71.8994 53.9004 -71.8994 +c18.7002 0 30.7998 10.3994 36.2998 16.7002l36.0996 -43.9004c-25.8994 -22.7998 -56.5 -29.5 -79.3994 -29.5c-46.5 0 -120.4 27.9004 -120.4 126.9c0 11.3994 1.2002 22.3994 3.2998 32.8994l-78.7998 35.1006c-45.5996 -129.9 51 -267.9 190.2 -267.9zM442.2 140.5 +c0.200195 -0.200195 0.299805 -0.299805 0.599609 -0.400391c4.40039 16.6006 6.7998 34 6.7998 52c0 111.101 -90.3994 201.5 -201.5 201.5c-70.3994 0 -132.399 -36.2998 -168.5 -91.1992l74.9004 -33.4004c19.7998 31.0996 53.2998 51.5996 100.7 51.5996 +c20.0996 0 51 -4.19922 78.0996 -27.5l-40.3994 -41.5996c-19.8008 19.7002 -55.9004 23 -74.7002 -11z" /> + <glyph glyph-name="creative-commons-pd-alt" unicode="&#xf4ed;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 -10.7998c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3 +c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8zM316.7 262c21.3994 0 70 -5.2002 70 -68.5996c0 -63.5 -48.6006 -68.6006 -70 -68.6006h-53.2002v137.2h53.2002zM317.5 153.5c24 0 34.5 15.2998 34.5 39.9004 +c0 42 -31.2002 39.8994 -35 39.8994l-19.4004 -0.0996094v-79.7002h19.9004zM203.7 262c33.7002 0 50.5 -15.5 50.5 -46.5c0 -9 -3 -46.5 -57.1006 -46.5h-27v-44.2998h-34.5996v137.3h68.2002zM198.8 194.7c27.9004 0 30 41.5996 -0.899414 41.5996h-28.3008v-41.5996 +h29.2002z" /> + <glyph glyph-name="creative-commons-remix" unicode="&#xf4ee;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM410.1 187.6l4.90039 -2.19922v-70c-7.2002 -3.60059 -63.4004 -27.5 -67.2998 -28.8008c-6.5 1.80078 -113.7 46.8008 -137.3 56.2002l-64.2002 -26.5996l-63.2998 27.5v63.7998 +l59.2998 24.7998c-0.700195 0.700195 -0.400391 -5 -0.400391 70.4004l67.2998 29.7002l151.9 -62.9004v-61.5996zM339.7 106.1v43.8008h-0.400391v1.7998l-113.8 46.5v-45.2002l113.8 -46.9004v0.400391zM347.2 163.7l39.8994 16.3994l-36.7998 15.5l-39 -16.3994z +M399.5 125.6v43l-44.2998 -18.5996v-43.4004z" /> + <glyph glyph-name="creative-commons-sa" unicode="&#xf4ef;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM137.7 227c13 83.9004 80.5 95.7002 108.899 95.7002c99.8008 0 127.5 -82.5 127.5 -134.2c0 -63.5996 -41 -132.9 -128.899 -132.9c-38.9004 0 -99.1006 20 -109.4 97h62.5 +c1.5 -30.0996 19.6006 -45.1992 54.5 -45.1992c23.2998 0 58 18.1992 58 82.7998c0 82.5 -49.0996 80.5996 -56.7002 80.5996c-33.0996 0 -51.6992 -14.5996 -55.7998 -43.7998h18.2002l-49.2002 -49.2002l-49 49.2002h19.4004z" /> + <glyph glyph-name="creative-commons-sampling" unicode="&#xf4f0;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM252 342.1c2.7998 0.300781 11.5 -1 11.5 -11.5l6.59961 -107.199l4.90039 59.2998c0 6 4.7002 10.5996 10.5996 10.5996c5.90039 0 10.6006 -4.7002 10.6006 -10.5996 +c0 -2.5 -0.5 5.7002 5.7002 -81.5l5.7998 64.2002c0.299805 2.89941 2.89941 9.2998 10.2002 9.2998c3.7998 0 9.89941 -2.2998 10.5996 -8.90039l11.5 -96.5l5.2998 12.7998c1.7998 4.40039 5.2002 6.60059 10.2002 6.60059h58v-21.2998h-50.9004l-18.1992 -44.3008 +c-3.90039 -9.89941 -19.5 -9.09961 -20.8008 3.10059l-4 31.8994l-7.5 -92.5996c-0.299805 -3 -3 -9.2998 -10.1992 -9.2998c-3 0 -9.80078 2.09961 -10.6006 9.2998c0 1.90039 0.600586 -5.7998 -6.2002 77.9004l-5.2998 -72.2002 +c-1.09961 -4.7998 -4.7998 -9.2998 -10.5996 -9.2998c-2.90039 0 -9.7998 2 -10.6006 9.2998c0 1.89941 0.5 -6.7002 -5.7998 87.7002l-5.7998 -94.8008c0 -6.2998 -3.59961 -12.3994 -10.5996 -12.3994c-5.2002 0 -10.6006 4.09961 -10.6006 12l-5.7998 87.7002 +c-5.7998 -92.5 -5.2998 -84 -5.2998 -85.9004c-1.10059 -4.7998 -4.7998 -9.2998 -10.6006 -9.2998c-3 0 -9.7998 2.09961 -10.5996 9.2998c0 0.700195 -0.400391 1.09961 -0.400391 2.59961l-6.19922 88.6006l-4.90039 -56.7002 +c-0.700195 -6.5 -6.7002 -9.2998 -10.5996 -9.2998c-5.80078 0 -9.60059 4.09961 -10.6006 8.89941l-11.0996 76.4004c-2 -4 -3.5 -8.40039 -11.1006 -8.40039h-51.3994v21.3008h44.7998l13.7002 27.8994c4.39941 9.90039 18.2002 7.2002 19.8994 -2.7002l3.10059 -20.3994 +l8.39941 97.8994c0 6 4.80078 10.6006 10.6006 10.6006c0.5 0 10.5996 0.200195 10.5996 -12.4004l4.90039 -69.0996l6.59961 92.5996c0 10.1006 9.5 10.6006 10.2002 10.6006c0.599609 0 10.5996 -0.700195 10.5996 -10.6006l5.30078 -80.5996l6.19922 97.8994 +c0.100586 1.10059 -0.599609 10.3008 9.90039 11.5z" /> + <glyph glyph-name="creative-commons-sampling-plus" unicode="&#xf4f1;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM355.4 189.7l58.3994 0.299805v-23.2002h-50.5l-18 -43.3994c-4.59961 -11 -20.8994 -8.7002 -22.2998 3.09961l-2.7002 22.2998l-6.7998 -83 +c-1.09961 -14.0996 -22 -14.2002 -23.0996 0.100586l-4.90039 64.3994l-4.59961 -58.5996c-1.10059 -14.2998 -22.3008 -14.1006 -23.2002 0.200195l-4.5 71.7998l-4.90039 -80.5c-0.899414 -14.5 -22.2998 -14.5 -23.2002 -0.100586l-4.7998 73.3008l-4.59961 -70.4004 +c-0.900391 -14.2998 -22.1006 -14.5 -23.2002 -0.0996094l-5.7002 78.2998l-3.7998 -43.6006c-1.2002 -13.6992 -21.0996 -14.1992 -23.0996 -0.699219l-10.7002 73.0996c-2 -3.90039 -6 -6.40039 -10.4004 -6.40039h-51.2998v23.2002h43.9004l13.1992 27.7002 +c4.90039 10.2998 20.3008 8.09961 22 -3.2998l1.80078 -12.2002l7.69922 89.7998c1.2002 14.1006 22.1006 14.1006 23.2002 -0.200195l4.10059 -57l5.2998 80.2002c1 14.4004 22.2998 14.4004 23.2002 0l4.2998 -66.2998l5.09961 83.7002 +c0.900391 14.3994 22.2998 14.5 23.2002 0l5.90039 -94.2998l3.5 44.8994c1.09961 14.2002 22.0996 14.2998 23.1992 0l5.2002 -68.7998l4.2998 51.4004c1.10059 13.7998 21.4004 14.2998 23.1006 0.399414l11 -92.7998l4 9.5c1.7002 4.40039 6 7.2002 10.7002 7.2002z +M277.4 184.5c4.09961 0 7.5 3.40039 7.5 7.5c0 4.2002 -3.40039 7.5 -7.5 7.5h-21.9004v21.9004c0 4.19922 -3.40039 7.5 -7.5 7.5s-7.5 -3.40039 -7.5 -7.5v-21.9004h-21.9004c-4.09961 0 -7.5 -3.40039 -7.5 -7.5c0 -4.2002 3.40039 -7.5 7.5 -7.5h21.9004v-21.9004 +c0 -4.19922 3.40039 -7.5 7.5 -7.5c4.2002 0 7.5 3.40039 7.5 7.5v21.9004h21.9004z" /> + <glyph glyph-name="creative-commons-share" unicode="&#xf4f2;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM349.4 262.9c7.7998 0 13.6992 -6.10059 13.6992 -13.7002v-182.5c0 -7.7002 -6.09961 -13.7002 -13.6992 -13.7002h-135.101c-7.7002 0 -13.7002 6 -13.7002 13.7002v54h-54 +c-7.7998 0 -13.6992 6 -13.6992 13.7002v182.5c0 8.19922 6.59961 12.6992 12.3994 13.6992h136.4c7.7002 0 13.7002 -6 13.7002 -13.6992v-54h54zM159.9 147.7h40.6992v101.399c0 7.40039 5.80078 12.6006 12 13.7002h55.8008v40.2998h-108.5v-155.399zM336.1 235.8h-108.5 +v-155.399h108.5v155.399z" /> + <glyph glyph-name="creative-commons-zero" unicode="&#xf4f3;" horiz-adv-x="496" +d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8 +c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM248 334.8c81.9004 0 102.5 -77.2998 102.5 -142.8s-20.5996 -142.8 -102.5 -142.8s-102.5 77.2998 -102.5 142.8s20.5996 142.8 102.5 142.8zM248 280.9 +c-42.0996 0 -44.0996 -60.1006 -44.0996 -88.9004c0 -9.2998 0.199219 -21.7002 1.89941 -34.4004l54.5 100.2c5.7002 9.7998 2.7998 16.7998 -3.09961 21.9004c-2.7998 0.700195 -5.90039 1.2002 -9.2002 1.2002zM288.8 234.7l-60.8994 -105.2 +c-12.5 -18.7002 6.59961 -26.4004 20.0996 -26.4004c42.0996 0 44.0996 60 44.0996 88.9004c0 11.2998 -0.399414 27.2998 -3.2998 42.7002z" /> + <glyph glyph-name="ebay" unicode="&#xf4f4;" horiz-adv-x="640" +d="M606 258.5h34l-99.2002 -194.8h-35.8994l28.5 54.0996l-61.5 116.101c3.09961 -6.60059 4.7998 -14.5 4.7998 -23.8008v-65.5996c0 -9.2998 0.299805 -18.5996 1 -26.7998h-29.7998c-0.800781 6.89941 -1.10059 13.5996 -1.10059 20.2002 +c-16.0996 -19.8008 -35.2998 -25.5 -61.8994 -25.5c-39.5 0 -60.6006 20.8994 -60.6006 45c0 3.19922 0.200195 6.19922 0.700195 9c-8.40039 -32.3008 -36.4004 -54.2002 -73.2998 -54.2002c-23.2998 0 -45.1006 8.2998 -58.7002 24.8994 +c0 -6.59961 -0.400391 -13.1992 -1.09961 -19.5h-31.5c0.5 10.2002 1.09961 22.8008 1.09961 33.1006v169.5h32.0996v-80.6006c15.7002 18.7002 37.4004 24.2002 58.7002 24.2002c35.7002 0 75.4004 -24.0996 75.4004 -76.2002c0 -5.59961 -0.5 -11 -1.5 -16.1992 +c7.09961 24.3994 34.2998 33.5 76.7002 34.3994c13.6992 0.299805 29 0.400391 41.6992 0.400391v3.39941c0 23.4004 -15 33 -41 33c-19.2998 0 -33.5996 -8 -35 -21.7998h-33.6992c3.59961 34.4004 39.6992 43.1006 71.5 43.1006c27.3994 0 51.7998 -7 63.2998 -26 +l-10.9004 20.5996h37.5l54.9004 -109.9zM243.7 134.2c29.7998 0 50.2002 21.5 50.2002 53.7998c0 32.4004 -20.4004 53.7998 -50.2002 53.7998c-29.6006 0 -50.2002 -21.3994 -50.2002 -53.7998c0 -32.2998 20.5996 -53.7998 50.2002 -53.7998zM444.6 181.5v3.2998 +c-11.7998 0 -26.2998 -0.0996094 -39.3994 -0.599609c-29.1006 -0.900391 -47.2002 -6.2002 -47.2002 -25.2998c0 -12.4004 9.90039 -25.8008 35 -25.8008c33.7002 0 51.5996 18.4004 51.5996 48.4004zM32.7002 179.9c3.5 -58.3008 79.2002 -57.4004 91.2002 -21.6006 +h33.0996c-6.40039 -34.3994 -43 -46.0996 -74.4004 -46.0996c-57.1992 0 -82.5 31.5 -82.5 74c0 46.7998 26.2002 77.5996 83 77.5996c45.3008 0 78.4004 -23.7002 78.4004 -75.3994v-8.5h-128.8zM127.7 201.3c-2.2998 54.7002 -87.5 56.6006 -94.4004 0h94.4004z" /> + <glyph glyph-name="keybase" unicode="&#xf4f5;" +d="M195.21 17.2998c0 -9.8252 -7.97461 -17.7998 -17.7998 -17.7998c-9.82617 0 -17.7998 7.97461 -17.7998 17.7998c0 9.82617 7.97363 17.7998 17.7998 17.7998c9.80371 -0.0214844 17.7783 -7.99609 17.7998 -17.7998zM288 35.2002 +c9.80371 -0.0224609 17.7783 -7.99609 17.7998 -17.7998c0 -9.82617 -7.97461 -17.8008 -17.7998 -17.8008s-17.7998 7.97461 -17.7998 17.8008c0 9.8252 7.97461 17.7998 17.7998 17.7998zM430.3 71.2002c0 -38.9004 -7.59961 -73.9004 -22.2002 -103h-27.2998 +c23.5 38.7002 30.5 94.7998 22.4004 134.3c-16.1006 -29.5 -52.1006 -38.5996 -85.9004 -28.7998c-127.8 37.5 -192.5 -19.7002 -234.6 -50.2998l18.8994 59.2998l-39.8994 -42.2998c3.95605 -21.9639 17.9336 -54.3545 31.2002 -72.3008h-28.79 +c-8.1543 13.2822 -18.0996 36.2646 -22.2002 51.3008l-23.7998 -25.2002c0 74.8994 -5.5 147.6 61.5 215.2c16.4688 16.7402 47.4248 37.6621 69.0996 46.6992c-6.7998 13.5 -9.5 29.2002 -7.7998 46l-19.9102 1.2002c-16.918 1.05371 -30.6484 15.666 -30.6484 32.6172 +c0 0.492188 0.0214844 1.29102 0.0488281 1.7832v0.0996094l1.59961 26.2002c1.10449 16.7988 15.665 30.5078 32.5 30.5996c1.2998 0 -0.299805 0.100586 28.2002 -1.69922c7.65918 -0.414062 17.873 -5.52148 22.7998 -11.4004c7.11035 10.4004 14.5 20.5 24.6104 34.5 +l20.5996 -12.0996c-13.5996 -29 -9.09961 -36.2002 -9 -36.3008c3.90039 0 13.9004 0.5 32.4004 -5.69922c28.8379 -9.54883 52.2422 -41.9512 52.2422 -72.3291c0 -8.61914 -2.75195 -22.0469 -6.14258 -29.9717c19 -6.09961 51.2998 -19.8994 82.4004 -51.7998 +c36.5996 -37.5996 57.6992 -87.3994 57.6992 -136.6h-0.00976562zM146 325.9c2.80762 8.47461 8.67578 21.6455 13.0996 29.3994c0.100586 2 2.2002 13.1006 -7.7998 13.7998c-28.5 1.80078 -26.2998 1.60059 -26.7002 1.60059h-0.0429688 +c-4.47754 0 -8.31152 -3.62891 -8.55664 -8.10059l-1.59961 -26.1992c-0.00683594 -0.121094 -0.0117188 -0.318359 -0.0117188 -0.439453c0 -4.48633 3.63379 -8.36719 8.11133 -8.66113zM171.8 264.1c4.50488 -7.35938 14.4951 -16.3193 22.2998 -20 +c0 21.2002 28.5 41.9004 52.8008 17.5l8.39941 -10.2998c20.7998 18.7998 19.4004 45.2998 12.1006 60.9004c-13.8008 29.0996 -46.9004 32 -54.3008 31.7002c-0.319336 -0.015625 -0.837891 -0.0283203 -1.15723 -0.0283203c-9.09863 0 -19.1973 6.86719 -22.542 15.3281 +c-13.6904 -21.2002 -37.1904 -62.5 -17.5908 -95.1006h-0.00976562zM254.7 195.7l-19.7002 -16.1006c-0.900391 -0.738281 -1.63086 -2.2832 -1.63086 -3.44727c0 -0.890625 0.461914 -2.16797 1.03125 -2.85254l8.89941 -10.8994 +c0.742188 -0.896484 2.28809 -1.62305 3.45117 -1.62305c0.887695 0 2.16406 0.458008 2.84863 1.02246l19.6006 16l5.5 -6.7998c4.89941 -6 13.7998 1.40039 9 7.2998c-63.6006 78.2998 -41.5 51.1006 -55.2998 68.1006c-4.7002 6 -13.9004 -1.40039 -9 -7.30078 +c1.89941 -2.2998 18.3994 -22.5996 19.7998 -24.2998l-9.60059 -7.89941c-4.59961 -3.80078 2.60059 -13.3008 7.40039 -9.40039l9.7002 8zM373.11 170c-16.9004 23.7002 -42.6006 46.7002 -73.4004 60.4004c-6.18359 2.73633 -16.4434 6.58887 -22.9004 8.59961 +c-1.64355 -1.83789 -4.51074 -4.61523 -6.39941 -6.2002l31.8994 -39.2002c3.70605 -4.54102 6.71289 -12.9834 6.71289 -18.8447c0 -7.78906 -4.88867 -18.1172 -10.9121 -23.0547c-1.30078 -1.10059 -13.1006 -10.7002 -29 -4.90039 +c-2.90039 -2.2998 -10.1006 -9.89941 -22.2002 -9.89941h-0.0419922c-7.46777 0 -17.3496 4.70312 -22.0586 10.5l-8.89941 10.8994c-3.5293 4.33984 -6.39355 12.4014 -6.39355 17.9951c0 2.49121 0.624023 6.43555 1.39355 8.80469 +c-3.83398 4.43945 -6.94531 12.8018 -6.94531 18.667c0 3.26172 1.05078 8.33984 2.34473 11.333c-7.19922 1.30078 -26.6992 6.2002 -42.6992 21.4004c-55.8008 -20.7002 -88 -64.4004 -101.301 -91.2002c-14.8994 -30.2002 -18.7998 -60.8994 -19.8994 -90.2002 +c8.2002 8.7002 -3.90039 -4.09961 114 120.9l-29.9004 -93.5996c57.7998 31.0996 124 36 197.4 14.3994c23.5996 -6.89941 45.0996 -1.59961 56 13.9004c11.0996 15.5996 8.5 37.7002 -6.7998 59.2998zM128.61 340.9l1 15.5996l15.5996 -1l-1 -15.5996z" /> + <glyph glyph-name="mastodon" unicode="&#xf4f6;" +d="M433 268.89c0 0 0.799805 -71.6992 -9 -121.5c-6.23047 -31.5996 -55.1104 -66.1992 -111.23 -72.8994c-20.0996 -2.40039 -93.1191 -14.2002 -178.75 6.7002v-0.339844c0 -3.75977 0.40332 -9.83496 0.900391 -13.5605c6.62988 -49.5996 49.2197 -52.5996 89.6299 -54 +c40.8105 -1.2998 77.1201 10.0996 77.1201 10.0996l1.7002 -36.8994s-28.5098 -15.2998 -79.3203 -18.1006c-28.0098 -1.59961 -62.8193 0.700195 -103.33 11.4004c-112.229 29.7002 -105.63 173.4 -105.63 289.1c0 97.2002 63.7197 125.7 63.7197 125.7 +c61.9209 28.4004 227.96 28.7002 290.48 0c0 0 63.71 -28.5 63.71 -125.7zM357.88 143.69c0 122 5.29004 147.71 -18.4199 175.01c-25.71 28.7002 -79.7197 31 -103.83 -6.10059l-11.5996 -19.5l-11.6006 19.5c-24.0098 36.9004 -77.9297 35 -103.83 6.10059 +c-23.6094 -27.1006 -18.4092 -52.9004 -18.4092 -175h46.7295v114.2c0 49.6992 64 51.5996 64 -6.90039v-62.5098h46.3301v62.5c0 58.5 64 56.5996 64 6.89941v-114.199h46.6299z" /> + <glyph glyph-name="r-project" unicode="&#xf4f7;" horiz-adv-x="581" +d="M581 221.4c0 -54.8008 -33.9004 -104.301 -88.4004 -139.7l67.4004 -113.7h-112l-40.0996 75.4004c-21.8008 -6.5 -45.1006 -11.2002 -69.4004 -13.9004v-61.5h-99.0996v61.9004c-136.101 16.0996 -239.4 95.6992 -239.4 191.5c0 107.5 130.1 194.6 290.5 194.6 +s290.5 -87.0996 290.5 -194.6zM114.2 206.9c0 -52.8008 51.0996 -98.4004 125.2 -119.9v208.3h199s90.5996 -1.59961 90.5996 -87.8994c0 -86.3008 -86.5996 -92.7002 -86.5996 -92.7002s17.5996 -5.2998 27.7998 -10.5c1.7002 -0.799805 4 -2.10059 6.39941 -3.7002 +c43.8008 21.4004 70.3008 56.2998 70.3008 106.4c0 92.2998 -90 133 -211.9 133s-220.8 -59.5 -220.8 -133zM339.3 168.6c49.6006 0 87.7998 -8.19922 87.7998 28.3008c0 34.0996 -30 27.2998 -87.7998 27.2998v-55.6006zM338.4 96.0996v-22.0996 +c17.5996 0.0996094 34.5 1 50.5996 2.90039c-5.09961 7.5 -13.2002 19.1992 -24 19.1992h-26.5996z" /> + <glyph glyph-name="researchgate" unicode="&#xf4f8;" +d="M0 416h448v-448h-448v448zM262.2 81.5996v7.30078c-10 0 -20 6.89941 -27.2002 14.6992c-12.2002 13.3008 -28.5996 34.7002 -42.2002 58.9004c22.5 5.2998 39.2002 26.4004 39.2002 47.5c0 31.2002 -24.2002 45.5996 -55.9004 45.5996 +c-17.7998 0 -45.0996 -1.59961 -70.8994 -0.599609v-8.09961c15.5996 -2.90039 22 -1.30078 22 -23.9004v-109.4c0 -22.5996 -6.5 -21 -22 -23.8994v-8.10059c7.5 0.200195 20.5 0.800781 33.5996 0.800781c12.5 0 28.7002 -0.5 35.6006 -0.800781v8.10059 +c-19.8008 2.7002 -25.8008 0.399414 -25.8008 23.8994v46.4004c6.7002 -0.599609 12.5 -0.599609 21.4004 -0.599609c16.9004 -30.3008 33 -53 42.2002 -63.6006c16.7998 -20.2002 43.3994 -17.2002 50 -14.2002zM285.1 216.6c38.7002 0 34 29.4004 34 49.9004h-30.3994 +v-10.7002h17.8994c0 -15.8994 -7.39941 -26.7998 -21.5 -26.7998c-11.2998 0 -17.8994 9.90039 -17.8994 23.2998v26.7998c0 12.4004 11.7998 19.7002 19.7002 19.7002c14.1992 0 19.6992 -12.5 19.6992 -12.5l10.7002 7.2002s-5.2002 17.9004 -30.3994 17.9004 +c-25.2002 0 -34 -18.2002 -34 -30.4004v-32.2002c0 -16.5 8.89941 -32.2002 32.1992 -32.2002zM168.6 171.9c-9.39941 0 -13.5996 0.299805 -20 0.799805v69.7002c6.40039 0.599609 15 0.599609 22.5 0.599609c23.3008 0 37.2002 -12.2002 37.2002 -34.5 +c0 -21.9004 -15 -36.5996 -39.7002 -36.5996z" /> + <glyph glyph-name="teamspeak" unicode="&#xf4f9;" horiz-adv-x="512" +d="M244.2 101.21c-2.40039 -12.5 -10.6006 -20 -22.5 -24.2998c-9.2002 -3.2002 -50.1006 -1.60059 -61.7002 -1c-18 1.2998 -33.2002 8.5 -43.4004 24c-14.5 22.5 -19.5 47.7002 -14.5 73.8994c4.60059 24.5 24.6006 34.7002 46.3008 22.7002 +c15.1992 -7.5 42.5 -27.3994 63.3994 -46.5996c20.4004 -18.7002 34.7998 -36.4004 32.4004 -48.7002zM449.2 80.4102c6.7002 -5.41016 11.2002 -22 11.5996 -32.1006c1 -50.3994 -23.8994 -68 -46.5996 -85.3994c-65.1006 -50 -295.101 -16.9004 -145.4 -6.40039 +c127.4 9 164.101 96.1006 172.101 121.5c0.647461 1.99023 2.87109 3.60547 4.96387 3.60547c1.04102 0 2.53516 -0.540039 3.33594 -1.20508zM511.2 202.81c0 -17.1992 1.89941 -34.5996 -1 -51.6992c-4 -24.7002 -29.1006 -41.7002 -53.2002 -36.7002 +c-7.2002 1.7002 -9.40039 7.2002 -9.40039 14.2002c0 28.0996 0.800781 56.3994 0 84.5996c-1.89941 75.79 -36.1992 132.79 -102.3 169.4c-111 60.3896 -253.2 -7 -277.8 -131.5c-6.09961 -30.4004 -1.7002 -48.3008 -3.7002 -125.801 +c-0.299805 -7.19922 -4.2998 -11.1992 -12 -11.5c-30.7998 -1.39941 -51.7998 18.2002 -51.7998 49v20.9004l0.799805 26.4902c2.40039 15.5 10.7002 27 24.9004 34c3.5 1.7998 5.7002 3.5 6.39941 7.7998c6.10059 33.4102 19.5 64 39.3008 91.71 +c2.2998 3.09961 4 5.2998 1 9.2998c-3.7002 5.40039 -1 10.2002 3 14.5c28.0996 31.7998 61.8994 55.1006 102 67.4004c96 29.4668 180.1 9.29688 252.3 -60.5098c6.7002 -6.40039 15.5 -12.9004 7 -24.4004c-1.2998 -1.7998 1.09961 -3.5 2.2002 -5 +c17.2246 -23.209 35.3242 -65.1367 40.3994 -93.5898c0.900391 -3.7002 3 -5.10059 5.90039 -6.40039c17.3994 -8.7998 25.7002 -23.2998 26 -42.2002zM351.6 71.3096l-51.5996 7.7002c-22.7998 5.90039 -51 32.7002 22.2002 60.7998 +c21.5996 8.5 85.7002 37.2002 87.7998 -8c0.900391 -32 -21.9004 -63.2998 -58.4004 -60.5z" /> + <glyph glyph-name="first-order-alt" unicode="&#xf50a;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -48.21c132.66 0 240.21 107.55 240.21 240.21s-107.55 240.21 -240.21 240.21s-240.21 -107.55 -240.21 -240.21s107.55 -240.21 240.21 -240.21z +M248 411.71c121.34 0 219.71 -98.3701 219.71 -219.71s-98.3701 -219.71 -219.71 -219.71s-219.71 98.3701 -219.71 219.71s98.3701 219.71 219.71 219.71zM248 -19.5098c116.81 0 211.51 94.7002 211.51 211.51s-94.7002 211.51 -211.51 211.51 +s-211.51 -94.6895 -211.51 -211.51s94.7002 -211.51 211.51 -211.51zM434.23 143.47c-3.69141 -14.209 -12.709 -36.0225 -20.1309 -48.6895l-74.1299 35.8799l61.4805 -54.8203c-8.85352 -11.7021 -25.5195 -28.4082 -37.2002 -37.29l-54.7998 61.5703l35.8799 -74.2705 +c-12.6445 -7.45215 -34.4307 -16.5156 -48.6299 -20.2295l-27.29 78.4697l4.79004 -82.9297c-8.61035 -1.17969 -17.4004 -1.7998 -26.3301 -1.7998s-17.7197 0.620117 -26.3301 1.7998l4.75977 82.46l-27.1494 -78.0303c-14.2021 3.70996 -35.998 12.7588 -48.6504 20.2002 +l35.9297 74.3398l-54.8701 -61.6396c-11.6836 8.87988 -28.3584 25.582 -37.2197 37.2793l61.5898 54.9004l-74.2598 -35.9297c-7.42383 12.667 -16.4463 34.4795 -20.1396 48.6895l77.8398 27.1104l-82.2305 -4.75977c-1.15918 8.56934 -1.7793 17.3193 -1.7793 26.21 +c0 9 0.629883 17.8398 1.81934 26.5098l82.3799 -4.76953l-77.9395 27.1592c3.71973 14.208 12.7822 36.0127 20.2295 48.6699l74.2207 -35.9199l-61.5205 54.8604c8.88086 11.6836 25.582 28.3584 37.2803 37.2197l54.7598 -61.5293l-35.8301 74.1699 +c12.6562 7.41895 34.4521 16.4375 48.6504 20.1299l26.8701 -77.25l-4.70996 81.6094c8.60938 1.18066 17.3896 1.80078 26.3193 1.80078c8.93066 0 17.71 -0.620117 26.3203 -1.80078l-4.74023 -82.1592l27.0498 77.7598c17.2705 -4.5 33.6006 -11.3506 48.6309 -20.1699 +l-35.8203 -74.1201l54.7197 61.4697c11.6924 -8.86133 28.376 -25.54 37.2402 -37.2295l-61.4502 -54.7705l74.1201 35.8604c7.43945 -12.6533 16.4893 -34.4492 20.2002 -48.6504l-77.8105 -27.0996l82.2402 4.75c1.19043 -8.66016 1.82031 -17.5 1.82031 -26.4902 +c0 -8.87988 -0.610352 -17.6299 -1.78027 -26.1904l-82.1201 4.75z" /> + <glyph glyph-name="fulcrum" unicode="&#xf50b;" horiz-adv-x="320" +d="M95.75 283.86l-35.3799 -43.5508l-35.3701 43.5508l35.3799 43.5498zM144.23 448v-211.11l-41.0801 -44.8896l41.0801 -44.8896v-211.11l-20.5107 198.18l-51 57.8203l50.9707 57.8203zM223.9 283.86l35.3799 43.5498l35.3799 -43.5498l-35.3799 -43.5508zM175.42 236.86 +v211.14l20.5801 -198.18l51 -57.8203l-51 -57.8203l-20.5801 -198.18v211.11l41.0801 44.8896z" /> + <glyph glyph-name="galactic-republic" unicode="&#xf50c;" horiz-adv-x="496" +d="M248 -56c-136.75 0 -248 111.25 -248 248s111.25 248 248 248s248 -111.25 248 -248s-111.25 -248 -248 -248zM248 423.47c-127.63 0 -231.47 -103.84 -231.47 -231.47s103.84 -231.47 231.47 -231.47s231.47 103.84 231.47 231.47s-103.84 231.47 -231.47 231.47z +M275.62 401.66c37.6602 -4.91016 72.21 -19.7402 100.96 -41.7998l-17.3896 -17.3604c-20.6758 15.3154 -58.1152 30.7891 -83.5703 34.54v24.6201zM220.25 401.59v-24.54c-30.9697 -4.60938 -59.4502 -16.8301 -83.5195 -34.6699h-0.0800781l-17.2803 17.3604 +c28.7197 22.0498 63.2402 36.9102 100.88 41.8496zM232.5 351.42h31v-82.8604c10.0498 -2.0293 19.3701 -6.00977 27.6201 -11.5l58.6699 58.6709l21.9297 -21.9307l-58.6699 -58.6699c5.46973 -8.24023 9.48047 -17.5996 11.5 -27.6201h82.8701v-31h-82.8701 +c-2.03027 -10.0195 -6.04004 -19.3096 -11.5 -27.54l58.6699 -58.6895l-21.9297 -21.9307l-58.6699 58.6904c-8.25 -5.49023 -17.5703 -9.52051 -27.6201 -11.5498v-82.9004h-31v82.9004c-8.25781 1.66895 -20.6533 6.80762 -27.6699 11.4697l-58.6201 -58.6201 +l-21.9297 21.9297l58.6699 58.6904c-5.45996 8.23047 -9.4502 17.5205 -11.4697 27.54h-82.9004v31h82.9004c2.01953 10.0303 6 19.3896 11.4697 27.6201l-58.6699 58.6699l21.9297 21.9297l58.6201 -58.5898c8.25 5.48047 17.6299 9.38965 27.6699 11.4199v82.8701z +M415.74 320.7c22.0996 -28.7402 36.9795 -63.3398 41.9297 -101.03h-24.6201c-3.7832 25.4902 -19.3154 62.9746 -34.6699 83.6699zM80.1904 320.57l17.3896 -17.3906c-17.8301 -24.0693 -29.9902 -52.5596 -34.5898 -83.5195h-24.6504 +c4.94043 37.6494 19.79 72.1895 41.8506 100.91zM38.3398 164.33l24.6504 0.00976562c4.58984 -30.9502 16.7002 -59.4502 34.5098 -83.5195l-17.3604 -17.3906c-22.0498 28.7207 -36.8799 63.2607 -41.7998 100.9zM433.04 164.33h24.6201 +c-4.9502 -37.6699 -19.8506 -72.2197 -41.9297 -100.96l-17.3604 17.3604c17.8701 24.0996 30.0596 52.6094 34.6699 83.5996zM136.66 41.6201c24.0703 -17.8604 52.6094 -30.0205 83.5996 -34.6504v-24.6396c-37.6602 4.9502 -72.2295 19.8398 -100.96 41.9297z +M359.19 41.5703h0.0791016l17.3105 -17.3906c-28.75 -22.0596 -63.29 -36.9297 -100.96 -41.8496v24.5703c30.9902 4.58984 59.4795 16.8301 83.5703 34.6699z" /> + <glyph glyph-name="galactic-senate" unicode="&#xf50d;" horiz-adv-x="512" +d="M249.86 414.52h12.2793v-26.0693c13.5801 -20.6201 23.8604 -108.59 24.4902 -215.351c-11.7402 15.6201 -19.1299 33.3301 -19.1299 48.2402v16.8799c0.0302734 5.32031 -0.75 10.5303 -2.19043 15.6504c-0.649414 2.13965 -1.38965 4.07031 -2.61914 5.82031 +c-1.23047 1.73926 -3.44043 3.79004 -6.68066 3.79004c-3.25 0 -5.4502 -2.04004 -6.67969 -3.79004c-1.23047 -1.74023 -1.96973 -3.68066 -2.62012 -5.82031c-1.44043 -5.12012 -2.21973 -10.3301 -2.19043 -15.6504v-16.8799 +c0 -14.9102 -7.38965 -32.6201 -19.1299 -48.2402c0.610352 106.761 10.8906 194.73 24.4707 215.351v26.0693zM223.52 266.75c-1.59961 -22.4004 -2.75 -46.5195 -3.47949 -72.0703c-23.2998 -11.2793 -40.7705 -33.1602 -46.3203 -59.5098 +c-7.71973 -2.25977 -22.71 -3.91992 -40.4893 -4.21973c-7.51074 3.66016 -16.5 5.85938 -26.1807 6.04004c1.90039 14.9102 5.87012 29.1699 11.6504 42.4199c15.4395 -8.10059 30.9297 -8.66016 35.4697 -0.959961c4.57031 7.74023 -3.58984 21.04 -18.3203 30.6602 +c8.68066 11.7695 18.9805 22.2998 30.5605 31.0898c9.50977 -15.5898 23.3594 -24.4404 31.3594 -19.8203c8.05078 4.65039 7.19043 21.1699 -1.70996 37.29c8.76074 3.88965 17.9404 6.92969 27.46 9.08008zM288.48 266.75 +c7.82227 -1.75977 20.1201 -5.82812 27.4492 -9.08008c-8.89941 -16.1299 -9.75977 -32.6396 -1.70996 -37.29c8 -4.62012 21.8506 4.23047 31.3604 19.8203c11.5801 -8.79004 21.8799 -19.3203 30.5596 -31.0898c-14.7197 -9.61035 -22.8896 -22.9199 -18.3193 -30.6602 +c4.54004 -7.7002 20.0293 -7.14062 35.4697 0.959961c5.79004 -13.25 9.75 -27.5098 11.6504 -42.4199c-9.68066 -0.19043 -18.6709 -2.37988 -26.1807 -6.04004c-17.7793 0.299805 -32.7695 1.95996 -40.4902 4.21973c-5.5498 26.3496 -23.0293 48.2305 -46.3193 59.5098 +c-0.719727 25.5508 -1.87988 49.6699 -3.46973 72.0703zM256 258.15c3.23047 0 5.86035 -8.81055 6.08984 -19.9307h0.0498047v-16.8799c0 -41.4199 49.0107 -95.04 93.4902 -95.04c52 0 122.76 1.4502 156.37 -29.1699v-2.50977 +c-9.41992 -17.1104 -20.5801 -33.1699 -33.1797 -47.9697c-12.5303 21.0898 -51.5898 40.96 -108.021 41.3496c-45.6797 -1.01953 -79.0195 -20.3301 -90.7598 -40.8701c-0.00976562 -0.00976562 0.00976562 -0.0400391 0 -0.0498047 +c-7.66992 -2.13965 -15.8496 -3.23047 -24.04 -3.20996c-8.19043 -0.0205078 -16.3701 1.07031 -24.04 3.20996c-0.00976562 0.00976562 0.00976562 0.0400391 0 0.0498047c-11.7295 20.54 -45.0801 39.8506 -90.7598 40.8701 +c-56.4307 -0.400391 -95.5 -20.2598 -108.021 -41.3496c-12.5996 14.7998 -23.7598 30.8496 -33.1797 47.9697v2.50977c33.6201 30.6201 104.37 29.1699 156.37 29.1699c44.4795 0 93.4902 53.6201 93.4902 95.04v16.8799h0.0498047 +c0.229492 11.1201 2.85938 19.9307 6.08984 19.9307zM256 161.56c-22.4199 0 -40.5996 -18.1797 -40.5996 -40.5996s18.1797 -40.6504 40.5996 -40.6504s40.5996 18.2305 40.5996 40.6504s-18.1797 40.5996 -40.5996 40.5996zM256 153.92 +c18.1904 0 32.96 -14.7695 32.96 -32.96s-14.7695 -32.96 -32.96 -32.96s-32.96 14.7695 -32.96 32.96s14.7695 32.96 32.96 32.96zM256 147.78c-14.8096 0 -26.8203 -12.0107 -26.8203 -26.8203s12.0107 -26.8203 26.8203 -26.8203s26.8203 12.0107 26.8203 26.8203 +s-12.0107 26.8203 -26.8203 26.8203zM141.2 81.1104c18.75 -0.419922 35.1895 -4.18066 48.6094 -9.66992c12.5508 -16.0303 29.1602 -30.04 49.5801 -33.0703c0.100586 -0.00976562 0.169922 -0.0302734 0.270508 -0.0498047 +c0.0498047 -0.0107422 0.109375 -0.0400391 0.160156 -0.0507812c5.23926 -1.06934 10.6396 -1.59961 16.1895 -1.59961c5.56055 0 10.9502 0.530273 16.1904 1.59961c0.0498047 0.0107422 0.109375 0.0400391 0.160156 0.0507812 +c0.0996094 0.00976562 0.179688 0.0292969 0.269531 0.0498047c20.4199 3.04004 37.04 17.04 49.5801 33.0703c13.4199 5.5 29.8496 9.25 48.6104 9.66992c10.1797 -0.0800781 21.5996 -0.360352 30.5 -1.66016c-0.430664 -4.41992 -1.51074 -18.6299 -7.11035 -29.7598 +c-9.11035 2.55957 -18.3604 3.89941 -27.6201 3.89941c-41.2803 -0.939453 -71.4795 -34.3496 -78.2598 -74.4697l-0.110352 -4.7002c-10.3994 -1.91992 -21.1797 -2.93945 -32.21 -2.93945c-11.0195 0 -21.8096 1.0293 -32.21 2.93945l-0.109375 4.7002 +c-6.78027 40.1201 -36.9805 73.5303 -78.2607 74.4697c-9.25977 0 -18.5098 -1.33984 -27.6201 -3.89941c-5.59961 11.1299 -6.67969 25.3398 -7.10938 29.7598c8.89941 1.2998 20.3096 1.58984 30.5 1.66016z" /> + <glyph glyph-name="jedi-order" unicode="&#xf50e;" +d="M398.5 74.4004c0 0 26.2998 16.1992 49.9004 77.6992c0 0 -17 -183.3 -222 -185.699h-4.10059c-205.1 2.39941 -222 185.699 -222 185.699c23.2002 -61.5996 49.4004 -77.6992 49.4004 -77.6992c-95.9004 122.1 -17.2002 233.1 -17.2002 233.1 +c-45.4004 -85.7002 41.4004 -170.5 41.4004 -170.5c-105 171.6 60.5 271.5 60.5 271.5c-96.9004 -72.5996 10.0996 -190.7 10.0996 -190.7c-85.7998 -158.399 68.5996 -230.1 68.5996 -230.1s0.400391 16.8994 2.2002 85.7002l-34.5 -36.2002l24.2002 47.3994 +l-62.5996 9.10059l62.5996 9.09961l-20.2002 55.5l31.4004 -45.8994c2.2998 87.8994 7.89941 305.899 7.89941 306.899v2.40039v-1v1v-2.40039c0.100586 -1.7998 5.7002 -219.2 7.90039 -306.899l31.4004 45.8994l-20.2002 -55.5l62.5996 -9.09961l-62.5996 -9.10059 +l24.2002 -47.3994s-30.2002 31.7002 -34.5 36.2002c1.7998 -68.8008 2.19922 -85.7002 2.19922 -85.7002s154.4 71.7002 68.6006 230.1c0 0 107 118 10.0996 190.7c0 0 165.5 -100 60.5 -271.5c0 0 86.7998 84.7002 41.4004 170.5c0 0 78.7002 -111 -17.2002 -233.1z" /> + <glyph glyph-name="mandalorian" unicode="&#xf50f;" +d="M232.27 -63.8896c-1 3.25977 -1.68945 15.8301 -1.38965 24.5801c0.549805 15.8896 1 24.7197 1.40039 28.7598c0.639648 6.2002 2.87012 20.7197 3.2793 21.3799c0.600586 1 0.400391 27.8701 -0.239258 33.1299c-0.310547 2.58008 -0.629883 11.9004 -0.69043 20.7305 +c-0.129883 16.4697 -0.530273 20.1191 -2.72949 24.7598c-1.10059 2.31934 -1.23047 3.83984 -1 11.4297c0.0449219 1.07324 0.0820312 2.81641 0.0820312 3.89062c0 2.43945 -0.189453 6.39062 -0.422852 8.81934c-2 13 -3.45996 27.7002 -3.25 33.9004 +s0.430664 7.14941 2.06055 9.66992c3.0498 4.70996 6.50977 14 8.62012 23.2695c2.25977 9.86035 3.87988 17.1807 4.58984 20.7402c0.921875 4.24121 2.90137 10.9834 4.41992 15.0498c2.26953 6.25 2.49023 15.3906 0.370117 15.3906 +c-0.299805 0 -1.37988 -1.2207 -2.41016 -2.70996c-1.03027 -1.49023 -4.75977 -4.80078 -8.29004 -7.36035c-8.37012 -6.08008 -11.7002 -9.38965 -12.6602 -12.5801s-1 -7.22949 -0.160156 -7.75977c0.34082 -0.209961 1.29004 -2.40039 2.11035 -4.87988 +c0.791992 -2.41602 1.43457 -6.43945 1.43457 -8.98145c0 -1.78223 -0.320312 -4.64062 -0.714844 -6.37891c-0.389648 -1.76953 -1 -5.46973 -1.45996 -8.22949c-0.459961 -2.76074 -1 -6.46094 -1.25 -8.2207c-0.149414 -1.27637 -0.84375 -3.18555 -1.5498 -4.25977 +c-1 -1 -1.13965 -0.910156 -2.0498 0.530273c-0.619141 1.24316 -1.26465 3.37109 -1.44043 4.75c-0.25 1.73926 -1.62988 7.10938 -3.08008 11.9297c-3.2793 10.9004 -3.51953 16.1504 -1 21c0.683594 1.19141 1.43164 3.25684 1.66992 4.61035 +c0 2.38965 -2.19922 5.31934 -7.40918 9.88965c-7 6.17969 -8.62988 7.91992 -10.2305 11.2998c-1.70996 3.60059 -3.05957 4.06055 -4.54004 1.54004c-1.78027 -3 -2.59961 -9.10938 -3 -22l-0.339844 -12.1895l2 -2.25c3.20996 -3.7002 12.0703 -16.4502 13.7803 -19.8301 +c3.41016 -6.74023 4.33984 -11.6904 4.41016 -23.5605c0.0693359 -11.8701 0.949219 -22.75 2 -24.71c0.359375 -0.660156 0.509766 -1.34961 0.339844 -1.51953s0.410156 -2.08984 1.29004 -4.27051c0.871094 -2.41406 1.79395 -6.44629 2.05957 -9 +c0.306641 -2.88867 1.07227 -7.53516 1.70996 -10.3701c2.23047 -9.55957 2.77051 -14.0801 2.39062 -20.1396c-0.200195 -3.26953 -0.530273 -11.0703 -0.730469 -17.3203c-1.30957 -41.7598 -1.84961 -58 -2 -61.21c-0.120117 -2 -0.389648 -11.5098 -0.599609 -21.0693 +c-0.360352 -16.3008 -1.30078 -27.3701 -2.41992 -28.6504c-0.640625 -0.729492 -8.07031 4.91016 -12.5205 9.49023c-3.75 3.87012 -4 4.79004 -2.83008 9.9502c0.700195 3 2.25977 18.29 3.33008 32.6191c0.360352 4.78027 0.80957 10.5 1 12.7109 +c0.830078 9.36914 1.66016 20.3496 2.61035 34.7793c0.55957 8.45996 1.33008 16.4404 1.71973 17.7305s0.889648 9.88965 1.12988 19.1094l0.429688 16.7705l-2.25977 4.2998c-1.71973 3.28027 -4.87012 6.94043 -13.2197 15.3398 +c-6 6.07031 -11.8398 12.2998 -12.9102 13.8506l-1.9502 2.80957l0.75 10.9004c1.08984 15.71 1.10059 48.5693 0 59.0596l-0.889648 8.7002l-3.28027 4.51953c-5.85938 8.08008 -5.7998 7.75 -6.21973 33.2705c-0.100586 6.07031 -0.379883 11.5 -0.629883 12.0596 +c-0.830078 1.87012 -3.0498 2.66016 -8.54004 3.05078c-8.86035 0.619141 -11 1.89941 -23.8506 14.5498c-6.14941 6 -12.3398 12 -13.75 13.1895c-2.80957 2.41992 -2.79004 2 -0.55957 9.62988l1.34961 4.65039l-1.68945 3c-0.630859 1.17676 -1.79102 3 -2.58984 4.07031 +c-1.33008 1.50977 -5.5 10.8896 -6 13.4893c-0.0859375 0.307617 -0.155273 0.816406 -0.155273 1.13574c0 0.868164 0.458984 2.10645 1.02539 2.76465c2.22949 2.86035 3.39941 5.67969 4.44922 10.7305c2.33008 11.1895 7.74023 26.0898 10.6006 29.2197 +c3.17969 3.46973 7.7002 1 9.41016 -5c1.33984 -4.79004 1.36914 -9.79004 0.0996094 -18.5498c-0.445312 -3.05176 -0.893555 -8.02832 -1 -11.1104c0 -4 0.19043 -4.69043 2.25 -7.38965c3.33008 -4.37012 7.72949 -7.41016 15.2002 -10.5205 +c1.41992 -0.591797 3.53418 -1.86914 4.71973 -2.84961c11.1699 -10.7207 18.6201 -16.1807 22.9502 -16.8506c5.17969 -0.799805 8 -4.54004 10 -13.3896c1.30957 -5.65039 4 -11.1396 5.45996 -11.1396c0.994141 0.203125 2.48633 0.826172 3.33008 1.38965 +c2 1.21973 2.25 1.73047 2.25 4.17969c-0.21875 4.96191 -1.11523 12.9541 -2 17.8398c-0.370117 1.66016 -0.780273 4.06055 -0.930664 5.35059c-0.149414 1.29004 -0.609375 3.84961 -1 5.68945c-2.5498 11.1602 -3.64941 15.46 -4.09961 16 +c-1.5498 2 -4.08008 10.2002 -4.92969 15.9209c-1.64062 11.1094 -4 14.2295 -12.9102 17.3896c-4.0791 1.50293 -10.0547 5.0332 -13.3398 7.87988c-1.15039 1 -4 3.21973 -6.35059 5.05957c-2.34961 1.84082 -4.40918 3.53027 -4.59961 3.76074 +c-0.701172 0.606445 -1.90625 1.50293 -2.69043 2c-6.23926 4.21973 -8.83984 7 -11.2598 12l-2.43945 5l-0.220703 13l-0.219727 13l6.91016 6.5498c3.9502 3.75 8.47949 7.34961 10.5898 8.42969c3.30957 1.69043 4.4502 1.89062 11.3701 2 +c8.53027 0.19043 10.1201 0 11.6602 -1.55957c1.54004 -1.56055 1.35938 -6.40039 -0.290039 -8.5c-0.501953 -0.564453 -1.10156 -1.60352 -1.33984 -2.32031c0 -0.580078 -2.61035 -4.91016 -5.41992 -9c-0.879883 -1.80371 -1.94141 -4.85938 -2.37012 -6.82031 +c20.4395 -13.3896 21.5498 -3.76953 14.0693 -29l11.3604 -2.51953c3.11035 8.66016 6.46973 17.2598 8.61035 26.2197c0.290039 7.62988 -12 4.19043 -15.4004 8.68066c-2.33008 5.92969 3.12988 14.1797 6.05957 19.1992c1.60059 2.33984 6.62012 4.7002 8.82031 4.15039 +c0.879883 -0.219727 4.16016 0.349609 7.37012 1.28027c2.04395 0.641602 5.42676 1.39453 7.5498 1.67969c1.69336 0.183594 4.38184 0.760742 6 1.29004c3.65039 1.11035 4.5 1.16992 6.35059 0.400391c1.56738 -0.539062 4.1748 -1.14844 5.81934 -1.36035 +c1.74902 -0.236328 4.43652 -1.0918 6 -1.91016c1.30762 -0.765625 3.54785 -1.73828 5 -2.16992c2.51074 -0.679688 3 -0.570312 7.05078 1.66992l4.34961 2.40039l10.7402 0.389648c10.4395 0.400391 10.8096 0.469727 15.2598 2.67969l4.58008 2.32031l2.45996 -1.42969 +c1.75977 -1 3.13965 -2.73047 4.84961 -6c2.36035 -4.51074 2.37988 -4.58008 1.37012 -7.37012c-0.879883 -2.44043 -0.889648 -3.2998 -0.0996094 -6.39062c0.435547 -1.68164 1.37695 -4.3291 2.09961 -5.90918c0.535156 -1.04785 1.12207 -2.83984 1.31055 -4 +c0.30957 -4.33008 0 -5.30078 -2.41016 -6.91992c-2.16992 -1.4707 -7 -7.91016 -7 -9.34082c-0.206055 -0.859375 -0.685547 -2.2041 -1.07031 -3c-5 -11.5098 -6.75977 -13.5596 -14.2598 -17c-9.2002 -4.19922 -12.2998 -5.18945 -16.21 -5.18945 +c-3.10059 0 -4 -0.25 -4.54004 -1.25977c-0.972656 -1.19629 -2.80566 -2.8584 -4.08984 -3.70996c-1.53223 -1.02344 -3.49512 -3.16504 -4.37988 -4.78027c-0.411133 -1.04004 -1.52734 -2.34375 -2.49023 -2.91016 +c-0.78125 -0.321289 -1.87891 -1.08789 -2.4502 -1.70996c-1.83496 -1.61133 -4.9707 -4.02148 -7 -5.37988c-3.33008 -2.33984 -6.87012 -5 -7.87012 -6c-0.560547 -0.604492 -1.62695 -1.36621 -2.37988 -1.7002c-0.697266 -0.314453 -1.65137 -1.05273 -2.12988 -1.65039 +c-1.31055 -1.38965 -1.49023 -2.10938 -1.13965 -4.59961c0.255859 -1.65527 0.892578 -4.29004 1.41992 -5.87988c1.31934 -3.7998 1.30957 -7.86035 0 -10.5703c-1.31055 -2.70996 -0.890625 -6.64941 1.34961 -9.58984c2 -2.62988 2.16016 -4.55957 0.709961 -8.83984 +c-0.587891 -2.27344 -1.06445 -6.02344 -1.06445 -8.37109c0 -0.148438 0.00195312 -0.390625 0.00488281 -0.539062c0 -4.87988 0.219727 -6.28027 1.45996 -8.37988c1.23926 -2.09961 1.81934 -2.48047 3.23926 -2.32031c2 0.230469 2.30078 1.0498 4.70996 12.1201 +c2.18066 10 3.70996 11.9199 13.7607 17.0801c2.93945 1.50977 7.45996 4 10 5.44043c2.54004 1.43945 6.79004 3.68945 9.37012 4.90918c4.99414 2.18652 11.8125 7.41504 15.2197 11.6709c7.10938 8.78906 10 16.2197 12.8496 33.2998 +c0.298828 2.31445 1.58008 5.77832 2.86035 7.72949c1.19434 1.86133 2.48828 5.13574 2.88965 7.31055c1 5.2998 2.85059 9.08008 5.58008 11.5098c4.7002 4.17969 6 1.08984 4.58984 -10.8701c-0.459961 -3.86035 -1.09961 -10.3301 -1.43945 -14.3799l-0.610352 -7.36035 +l4.4502 -4.08984l4.4502 -4.08984l0.109375 -8.41992c0.0605469 -4.62988 0.470703 -9.53027 0.919922 -10.8896l0.820312 -2.4707l-6.42969 -6.2793c-8.54004 -8.33008 -12.8799 -13.9307 -16.7598 -21.6104c-1.77051 -3.49023 -3.74023 -7.11035 -4.38086 -8 +c-2.17969 -3.11035 -6.45996 -13 -8.75977 -20.2598l-2.29004 -7.2207l-7 -6.48926c-3.83008 -3.57031 -8 -7.25 -9.16992 -8.16992c-3.0498 -2.32031 -4.25977 -5.15039 -4.25977 -10c-0.00683594 -0.166992 -0.0126953 -0.438477 -0.0126953 -0.605469 +c0 -1.94336 0.717773 -4.9248 1.60254 -6.65527c0.660156 -1.29688 1.59668 -3.45996 2.08984 -4.83008c0.290039 -0.875 0.993164 -2.16992 1.57031 -2.88965c1.40039 -1.58984 1.91992 -16.1201 0.830078 -23.2197c-0.679688 -4.48047 -3.62988 -12 -4.7002 -12 +c-1.79004 0 -4.05957 -9.27051 -5.07031 -20.7402c-0.179688 -2 -0.620117 -5.94043 -1 -8.7002s-1 -10 -1.34961 -16.0498c-0.770508 -12.2197 -0.19043 -18.7705 2 -23.1504c3.41016 -6.68945 0.519531 -12.6895 -11 -22.8398l-4 -3.49023l0.0703125 -5.18945 +c0.0439453 -2.4834 0.554688 -6.45703 1.13965 -8.87012c4.61035 -16 4.73047 -16.9199 4.37988 -37.1299c-0.459961 -26.4004 -0.259766 -40.2705 0.629883 -44.1504c0.410156 -1.91406 0.893555 -5.05078 1.08008 -7c0.169922 -2 0.660156 -5.33008 1.08008 -7.35938 +c0.469727 -2.26074 0.780273 -11 0.790039 -22.7402v-19.0605l-1.80957 -2.62988c-2.70996 -3.91016 -15.1104 -13.54 -15.4902 -12.29zM261.8 -18.7803c-0.179688 0.299805 -0.330078 6.87012 -0.330078 14.5898c0 14.0605 -0.889648 27.54 -2.25977 34.4502 +c-0.400391 2 -0.80957 9.7002 -0.900391 17.0605c-0.149414 11.9297 -1.39941 24.3701 -2.63965 26.3799c-0.660156 1.06934 -3 17.6602 -3 21.2998c0 4.23047 1 6 5.28027 9.12988s4.85938 3.13965 5.47949 0.719727c0.280273 -1.09961 1.4502 -5.61914 2.60059 -10 +c3.92969 -15.1191 4.13965 -16.2695 4.0498 -21.7393c-0.0996094 -5.78027 -0.129883 -6.12988 -1.74023 -17.7305c-1 -7.07031 -1.16992 -12.3896 -1 -28.4297c0.169922 -19.4004 -0.639648 -35.7305 -2 -41.2705c-0.709961 -2.7793 -2.7998 -5.47949 -3.42969 -4.42969z +M190.8 18.7998c-0.638672 2.95215 -1.41406 7.78613 -1.72949 10.79s-1.09082 7.83789 -1.73047 10.79c-0.433594 1.76758 -0.880859 4.6748 -1 6.49023c-0.30957 3.18945 -0.910156 7.45996 -1.33008 9.47949c-1 4.79004 -3.34961 19.3506 -3.41992 21.0703 +c0 0.740234 -0.339844 4.0498 -0.700195 7.36035c-0.669922 6.20996 -0.839844 27.6699 -0.219727 28.29c1 1 6.62988 -2.76074 11.3301 -7.43066l5.28027 -5.25l-0.450195 -6.46973c-0.25 -3.55957 -0.599609 -10.2295 -0.780273 -14.8301 +c-0.179688 -4.59961 -0.490234 -9.87012 -0.669922 -11.71s-0.610352 -9.36035 -0.939453 -16.7197c-0.790039 -17.4102 -1.94043 -31.29 -2.65039 -32c-0.101562 -0.107422 -0.302734 -0.193359 -0.450195 -0.193359c-0.208008 0 -0.454102 0.149414 -0.549805 0.333008 +h0.00976562zM103.62 285.39c21.0703 -12.79 17.8398 -14.1494 28.4902 -17.6592c13 -4.29004 18.8701 -7.13086 23.1494 -16.8701c-43.6602 -36.1406 -69.0098 -57.8604 -76.71 -70.8604c-31 -52 -6 -101.59 62.75 -87.21c-14.1797 -29.2305 -78 -28.6299 -98.6797 4.90039 +c-24.6797 39.9492 -22.0898 118.3 61 187.659v0.0400391zM314.41 106.39c56.6602 -6.87988 82.3203 37.7402 46.54 89.2305c0 0 -26.8701 29.3398 -64.2803 68c3 15.4502 9.49023 32.1201 30.5703 53.8203c89.2002 -63.5107 92 -141.61 92.46 -149.36 +c4.2998 -70.6396 -78.7002 -91.1797 -105.29 -61.71v0.0195312z" /> + <glyph glyph-name="old-republic" unicode="&#xf510;" horiz-adv-x="496" +d="M235.76 437.77c7.5 0.310547 15 0.280273 22.5 0.0908203c3.61035 -0.140625 7.2002 -0.400391 10.79 -0.730469c4.91992 -0.269531 9.79004 -1.03027 14.6699 -1.62012c2.93066 -0.429688 5.83008 -0.979492 8.75 -1.45996 +c7.90039 -1.33008 15.6699 -3.28027 23.3906 -5.39941c12.2393 -3.4707 24.1895 -7.91992 35.7598 -13.21c26.5596 -12.2402 50.9395 -29.21 71.6299 -49.8809c20.0303 -20.0898 36.7197 -43.5498 48.8896 -69.1895c1.12988 -2.58984 2.44043 -5.10059 3.4707 -7.74023 +c2.80957 -6.42969 5.38965 -12.9697 7.58008 -19.6299c4.13965 -12.3301 7.33984 -24.9902 9.41992 -37.8301c0.569336 -3.13965 1.04004 -6.2998 1.39941 -9.46973c0.549805 -3.83008 0.94043 -7.69043 1.18066 -11.5605 +c0.829102 -8.33984 0.839844 -16.7295 0.769531 -25.0996c-0.0703125 -4.96973 -0.259766 -9.94043 -0.75 -14.8896c-0.240234 -3.38086 -0.509766 -6.76074 -0.979492 -10.1201c-0.390625 -2.7207 -0.630859 -5.45996 -1.11035 -8.16992 +c-0.900391 -5.15039 -1.7002 -10.3105 -2.87012 -15.4102c-4.09961 -18.5 -10.2998 -36.5498 -18.5098 -53.6299c-15.7705 -32.8301 -38.8301 -62.1699 -67.1201 -85.1201c-14.3926 -11.7676 -39.8887 -27.3848 -56.9102 -34.8604 +c-6.20996 -2.67969 -12.46 -5.25 -18.8701 -7.41016c-3.50977 -1.16016 -7.00977 -2.37988 -10.5703 -3.38965c-6.61914 -1.87988 -13.2891 -3.63965 -20.0391 -5c-4.66016 -0.910156 -9.34082 -1.73047 -14.0303 -2.48047c-5.25 -0.65918 -10.5 -1.43945 -15.79 -1.73926 +c-6.69043 -0.660156 -13.4102 -0.839844 -20.1201 -0.810547c-6.82031 -0.0292969 -13.6504 0.120117 -20.4502 0.790039c-3.29004 0.230469 -6.57031 0.5 -9.83008 0.950195c-2.71973 0.389648 -5.45996 0.629883 -8.16992 1.11035 +c-4.12012 0.719727 -8.25 1.37012 -12.3496 2.21973c-4.25 0.939453 -8.49023 1.88965 -12.6904 3.01953c-8.62988 2.16992 -17.0801 5.01074 -25.4102 8.13086c-10.4893 4.11914 -20.79 8.75 -30.6396 14.25c-2.13965 1.14941 -4.28027 2.28906 -6.34961 3.56934 +c-11.2207 6.58008 -21.8604 14.1006 -31.9199 22.3398c-34.6807 28.4102 -61.4102 66.4307 -76.3506 108.7c-3.08984 8.74023 -5.70996 17.6504 -7.7998 26.6797c-1.48047 6.16016 -2.52051 12.4209 -3.58008 18.6602 +c-0.400391 2.35059 -0.610352 4.73047 -0.950195 7.08984c-0.599609 3.96094 -0.75 7.96094 -1.16992 11.9404c-0.799805 9.46973 -0.709961 18.9902 -0.509766 28.4902c0.139648 3.50977 0.339844 7.00977 0.700195 10.5098 +c0.30957 3.16992 0.459961 6.37012 0.919922 9.52051c0.410156 2.80957 0.649414 5.64941 1.16016 8.43945c0.699219 3.94043 1.2998 7.90039 2.11914 11.8203c3.43066 16.5195 8.4707 32.7295 15.2607 48.1797c1.14941 2.91992 2.58984 5.71973 3.85938 8.58984 +c8.05078 16.71 17.9004 32.5605 29.4902 47.0605c20 25.3799 45.1006 46.6797 73.2705 62.4697c7.5 4.15039 15.1592 8.0498 23.0693 11.3701c15.8203 6.87988 32.4102 11.9502 49.3105 15.3799c3.50977 0.669922 7.04004 1.24023 10.5596 1.84961 +c2.62012 0.470703 5.28027 0.700195 7.91016 1.08008c3.53027 0.530273 7.09961 0.680664 10.6504 1.04004c2.45996 0.240234 4.90918 0.360352 7.35938 0.509766zM244.4 413.36c-9.23047 -0.100586 -18.4307 -0.990234 -27.5703 -2.23047 +c-7.2998 -1.08008 -14.5303 -2.59961 -21.71 -4.2998c-13.9102 -3.5 -27.4805 -8.33984 -40.46 -14.4199c-10.46 -4.99023 -20.5898 -10.7002 -30.1797 -17.2197c-4.18066 -2.9209 -8.40039 -5.80078 -12.3408 -9.03027 +c-5.08008 -3.96973 -9.97949 -8.16992 -14.6797 -12.5898c-2.50977 -2.24023 -4.80957 -4.7002 -7.21973 -7.06055c-28.2207 -28.79 -48.4404 -65.3896 -57.5 -104.689c-2.04004 -8.44043 -3.54004 -17.0205 -4.44043 -25.6504 +c-1.09961 -8.88965 -1.43945 -17.8496 -1.41016 -26.7998c0.110352 -7.13965 0.379883 -14.2803 1.2207 -21.3701c0.620117 -7.12012 1.87012 -14.1602 3.19922 -21.1797c1.07031 -4.65039 2.03027 -9.32031 3.33008 -13.9102 +c6.29004 -23.3799 16.5 -45.7002 30.0703 -65.75c8.63965 -12.9805 18.7803 -24.9297 29.9805 -35.7705c16.2793 -15.8193 35.0498 -29.04 55.3398 -39.2197c7.2793 -3.51953 14.6602 -6.87012 22.2695 -9.62988c5.04004 -1.75977 10.0605 -3.57031 15.2197 -4.98047 +c11.2607 -3.22949 22.7705 -5.59961 34.3906 -7.05957c2.91016 -0.290039 5.80957 -0.610352 8.71973 -0.900391c13.8203 -1.08008 27.7402 -1 41.54 0.430664c4.4502 0.599609 8.91992 0.989258 13.3496 1.7793c3.63086 0.670898 7.28027 1.25 10.8701 2.10059 +c4.12988 0.979492 8.28027 1.91016 12.3604 3.07031c26.5 7.33984 51.5801 19.71 73.5801 36.1992c15.7803 11.8203 29.96 25.7607 42.1201 41.2803c3.25977 4.02051 6.16992 8.30957 9.12988 12.5498c3.38965 5.06055 6.58008 10.25 9.59961 15.54 +c2.40039 4.44043 4.74023 8.91016 6.9502 13.4502c5.69043 12.0498 10.2803 24.6201 13.75 37.4902c2.58984 10.0098 4.75 20.1602 5.90039 30.4502c1.76953 13.4697 1.93945 27.0996 1.29004 40.6494c-0.290039 3.89062 -0.669922 7.77051 -1 11.6602 +c-2.23047 19.0801 -6.79004 37.9102 -13.8203 55.7998c-5.9502 15.1299 -13.5303 29.6299 -22.6104 43.1299c-12.6895 18.8008 -28.2393 35.6807 -45.9697 49.8301c-25.0498 20 -54.4697 34.5498 -85.6504 42.0801c-7.7793 1.92969 -15.6895 3.33984 -23.6299 4.4502 +c-3.90918 0.589844 -7.84961 0.820312 -11.7695 1.24023c-7.38965 0.569336 -14.8105 0.719727 -22.2197 0.580078zM139.26 364.47c13.2998 8.89062 28.0801 15.3799 43.2998 20.1807c-3.16992 -1.77051 -6.43945 -3.38086 -9.5293 -5.29004 +c-11.21 -6.68066 -21.5205 -14.9004 -30.3799 -24.4902c-6.80078 -7.42969 -12.7607 -15.7305 -17.0107 -24.8896c-3.29004 -6.86035 -5.63965 -14.1904 -6.85938 -21.7109c-0.930664 -4.84961 -1.2998 -9.80957 -1.16992 -14.75 +c0.129883 -13.6592 4.43945 -27.0791 11.29 -38.8193c5.91992 -10.2197 13.6299 -19.3301 22.3594 -27.2598c4.85059 -4.36035 10.2402 -8.09082 14.9502 -12.6006c2.25977 -2.18945 4.49023 -4.41992 6.42969 -6.91016c2.62012 -3.30957 4.89062 -6.98926 5.99023 -11.0996 +c0.900391 -3.02051 0.660156 -6.2002 0.69043 -9.31055c0.0195312 -4.09961 -0.0400391 -8.19922 0.0292969 -12.2998c0.140625 -3.54004 -0.0195312 -7.08984 0.110352 -10.6299c0.0800781 -2.37988 0.0205078 -4.75977 0.0498047 -7.13965 +c0.160156 -5.77051 0.0605469 -11.5303 0.150391 -17.2998c0.109375 -2.91016 0.0195312 -5.82031 0.129883 -8.74023c0.0302734 -1.62988 0.129883 -3.28027 -0.0302734 -4.91016c-0.910156 -0.120117 -1.81934 -0.179688 -2.72949 -0.160156 +c-10.9902 0 -21.8799 2.62988 -31.9502 6.92969c-6 2.7002 -11.8105 5.89062 -17.0898 9.83008c-5.75 4.19043 -11.0898 8.95996 -15.79 14.3105c-6.53027 7.24023 -11.9805 15.3896 -16.6201 23.9502c-1.07031 2.0293 -2.24023 4.01953 -3.17969 6.12012 +c-1.16016 2.63965 -2.62012 5.13965 -3.66992 7.81934c-4.05078 9.68066 -6.57031 19.9404 -8.08008 30.3105c-0.490234 4.43945 -1.09082 8.87988 -1.2002 13.3496c-0.700195 15.7305 0.839844 31.5498 4.66992 46.8203c2.12012 8.14941 4.76953 16.1797 8.30957 23.8301 +c6.32031 14.1992 15.3398 27.1797 26.3008 38.1895c6.2793 6.2002 13.1299 11.8398 20.5293 16.6699zM314.63 384.59c2.74023 -0.740234 5.41016 -1.74023 8.08984 -2.67969c6.36035 -2.33008 12.6807 -4.83984 18.71 -7.95996 +c13.1104 -6.44043 25.3105 -14.8105 35.8203 -24.9697c10.2002 -9.9502 18.7402 -21.6006 25.1396 -34.3408c1.28027 -2.75 2.64062 -5.45996 3.81055 -8.25977c6.30957 -15.0996 10 -31.2598 11.2295 -47.5703c0.410156 -4.54004 0.44043 -9.08984 0.450195 -13.6396 +c0.0703125 -11.6396 -1.49023 -23.25 -4.2998 -34.5303c-1.96973 -7.26953 -4.34961 -14.4893 -7.86035 -21.1797c-3.17969 -6.63965 -6.67969 -13.1602 -10.8398 -19.2402c-6.93945 -10.4697 -15.5996 -19.8701 -25.8203 -27.2197 +c-10.4795 -7.63965 -22.6396 -13.0195 -35.3994 -15.3799c-3.50977 -0.69043 -7.08008 -1.08008 -10.6602 -1.20996c-1.84961 -0.0605469 -3.71973 -0.160156 -5.55957 0.0996094c-0.280273 2.15039 0 4.31055 -0.0107422 6.45996 +c-0.0292969 3.73047 0.140625 7.4502 0.100586 11.1699c0.189453 7.02051 0.0195312 14.0508 0.209961 21.0703c0.0292969 2.37988 -0.0302734 4.75977 0.0292969 7.13965c0.170898 5.07031 -0.0390625 10.1406 0.140625 15.21 +c0.0996094 2.99023 -0.240234 6.04004 0.509766 8.95996c0.660156 2.5 1.78027 4.86035 3.08984 7.08008c4.45996 7.31055 11.0605 12.96 17.6807 18.2607c5.37988 4.17969 10.4697 8.76953 15.0195 13.8398c7.67969 8.37012 14.1699 17.8799 18.7803 28.2695 +c2.5 5.93066 4.51953 12.1006 5.5498 18.46c0.860352 4.37012 1.05957 8.83008 1.00977 13.2705c-0.0195312 7.84961 -1.39941 15.6494 -3.63965 23.1699c-1.75 5.72949 -4.27051 11.1797 -7.08984 16.4502c-3.87012 6.92969 -8.65039 13.3096 -13.96 19.1992 +c-9.94043 10.8506 -21.75 19.9404 -34.6006 27.1006c-1.84961 1.01953 -3.83984 1.82031 -5.62988 2.96973zM213.83 326.14c0.979492 1.18066 1.99023 2.33008 3.12012 3.37988c-0.610352 -0.929688 -1.27051 -1.80957 -1.9502 -2.67969 +c-3.09961 -3.87988 -5.54004 -8.30957 -7.03027 -13.0596c-0.870117 -3.27051 -1.67969 -6.60059 -1.72949 -10c-0.0703125 -2.52051 -0.0800781 -5.07031 0.319336 -7.57031c1.13086 -7.62988 4.33008 -14.8496 8.77051 -21.1201c2 -2.7002 4.25 -5.26953 6.91992 -7.33008 +c1.62012 -1.26953 3.53027 -2.08984 5.33984 -3.0498c3.11035 -1.67969 6.32031 -3.22949 9.07031 -5.47949c2.66992 -2.09082 4.5498 -5.33008 4.39941 -8.79004c-0.00976562 -73.6709 0 -147.341 -0.00976562 -221.021c0 -1.34961 -0.0800781 -2.7002 0.0400391 -4.04004 +c0.129883 -1.47949 0.820312 -2.83008 1.46973 -4.14941c0.860352 -1.66016 1.78027 -3.34082 3.18066 -4.62012c0.849609 -0.770508 1.96973 -1.40039 3.14941 -1.24023c1.5 0.200195 2.66016 1.34961 3.4502 2.57031c0.959961 1.50977 1.67969 3.15918 2.28027 4.84961 +c0.759766 2.12988 0.439453 4.41992 0.540039 6.62988c0.139648 4.03027 -0.0205078 8.06055 0.139648 12.0898c0.0302734 5.89062 0.0302734 11.7705 0.0605469 17.6602c0.139648 3.62012 0.0292969 7.24023 0.109375 10.8604 +c0.150391 4.0293 -0.0195312 8.05957 0.140625 12.0898c0.0292969 5.99023 0.0292969 11.9795 0.0693359 17.9697c0.140625 3.62012 0.0205078 7.24023 0.110352 10.8604c0.139648 3.92969 -0.0205078 7.85938 0.139648 11.7803 +c0.0302734 5.98926 0.0302734 11.9795 0.0605469 17.9697c0.160156 3.93945 -0.00976562 7.87988 0.189453 11.8193c0.290039 -1.43945 0.129883 -2.91992 0.220703 -4.37988c0.189453 -3.60938 0.419922 -7.22949 0.759766 -10.8398 +c0.320312 -3.43945 0.439453 -6.88965 0.859375 -10.3193c0.370117 -3.10059 0.510742 -6.2207 0.950195 -9.31055c0.570312 -4.08984 0.870117 -8.20996 1.54004 -12.29c1.45996 -9.04004 2.83008 -18.1104 5.08984 -26.9902c1.13086 -4.81934 2.40039 -9.60938 4 -14.2998 +c2.54004 -7.89941 5.7207 -15.6699 10.3105 -22.6201c1.72949 -2.63965 3.87012 -4.97949 6.09961 -7.20996c0.270508 -0.25 0.549805 -0.509766 0.879883 -0.709961c0.600586 -0.25 1.31055 0.0703125 1.7002 0.570312c0.709961 0.879883 1.16992 1.93945 1.7002 2.92969 +c4.0498 7.7998 8.17969 15.5605 12.3398 23.3105c0.700195 1.30957 1.44043 2.62012 2.56055 3.60938c1.75 1.57031 3.83984 2.69043 5.97949 3.62988c2.87988 1.2207 5.90039 2.19043 9.03027 2.41992c6.58008 0.620117 13.1094 -0.75 19.5596 -1.84961 +c3.69043 -0.580078 7.40039 -1.16992 11.1299 -1.41016c3.74023 -0.0996094 7.48047 -0.0498047 11.21 0.280273c8.55078 0.919922 16.9902 2.95996 24.9404 6.25c5.2998 2.24023 10.46 4.83008 15.3096 7.92969c11.46 7.20996 21.46 16.5703 30.04 27.0107 +c1.16992 1.41992 2.25 2.89941 3.45996 4.2793c-1.19922 -3.24023 -2.66992 -6.37012 -4.15918 -9.47949c-1.25 -2.90039 -2.84082 -5.61035 -4.27051 -8.41992c-5.16016 -9.62988 -11.0195 -18.9102 -17.75 -27.5205 +c-4.03027 -5.20996 -8.53027 -10.0498 -13.3301 -14.5703c-6.63965 -6.0498 -14.0703 -11.3691 -22.4297 -14.7598c-8.20996 -3.37012 -17.3105 -4.62988 -26.0898 -3.29004c-3.56055 0.580078 -7.01074 1.69043 -10.4102 2.87988 +c-2.79004 0.970703 -5.39062 2.38086 -8.03027 3.69043c-3.42969 1.70996 -6.63965 3.80957 -9.70996 6.08008c2.70996 -3.06055 5.69043 -5.86035 8.7002 -8.61035c4.26953 -3.75977 8.74023 -7.30957 13.6299 -10.2295c3.98047 -2.4502 8.29004 -4.40039 12.8398 -5.51074 +c1.45996 -0.369141 2.95996 -0.459961 4.4502 -0.599609c-1.25 -1.09961 -2.62988 -2.04004 -3.99023 -2.97949c-9.60938 -6.54004 -20.0098 -11.8604 -30.6895 -16.4307c-20.8604 -8.7002 -43.1699 -13.9697 -65.7402 -15.3398 +c-4.66016 -0.240234 -9.32031 -0.360352 -13.9805 -0.360352c-4.97949 0.110352 -9.96973 0.130859 -14.9199 0.650391c-11.2002 0.759766 -22.29 2.73047 -33.1699 5.42969c-10.3496 2.70996 -20.5498 6.12012 -30.2998 10.5508 +c-8.70996 3.85938 -17.1201 8.41992 -24.9902 13.79c-1.83008 1.30957 -3.74023 2.5293 -5.37012 4.0791c6.60059 1.19043 13.0303 3.39062 18.9902 6.48047c5.74023 2.86035 10.9902 6.66016 15.6299 11.0703c2.24023 2.18945 4.29004 4.58984 6.19043 7.08984 +c-3.43066 -2.12988 -6.93066 -4.15039 -10.6201 -5.78027c-4.41016 -2.16016 -9.07031 -3.76953 -13.8105 -5.01953c-5.72949 -1.52051 -11.7393 -1.73047 -17.6094 -1.14062c-8.12988 0.950195 -15.8604 4.27051 -22.5098 8.98047 +c-4.32031 2.93945 -8.2207 6.42969 -11.96 10.0596c-9.93066 10.1602 -18.2002 21.8105 -25.6602 33.8604c-3.94043 6.26953 -7.53027 12.75 -11.1201 19.2197c-1.0498 2.04004 -2.15039 4.0498 -3.17969 6.10059c2.84961 -2.9209 5.56934 -5.9707 8.42969 -8.88086 +c8.99023 -8.96973 18.5596 -17.4395 29.1602 -24.4795c7.5498 -4.90039 15.6699 -9.23047 24.5596 -11.0303c3.11035 -0.729492 6.32031 -0.469727 9.46973 -0.80957c2.77051 -0.280273 5.56055 -0.200195 8.34082 -0.299805 +c5.0498 -0.0605469 10.1094 -0.0400391 15.1592 0.15918c3.65039 0.160156 7.27051 0.660156 10.8906 1.09082c2.06934 0.25 4.10938 0.709961 6.13965 1.19922c3.87988 0.950195 8.11035 0.959961 11.8301 -0.609375c4.75977 -1.85059 8.44043 -5.64062 11.3799 -9.70996 +c2.16016 -3.02051 4.06055 -6.2207 5.66016 -9.58008c1.16016 -2.43066 2.45996 -4.79004 3.5498 -7.26074c1 -2.23926 2.15039 -4.41992 3.41992 -6.51953c0.669922 -1.01953 1.40039 -2.15039 2.62012 -2.5498c1.06055 0.75 1.70996 1.91016 2.28027 3.03027 +c2.09961 4.15918 3.41992 8.64941 4.88965 13.0498c2.02051 6.58984 3.78027 13.2695 5.19043 20.0195c2.20996 9.25 3.25 18.7197 4.54004 28.1299c0.55957 3.98047 0.830078 7.99023 1.30957 11.9707c0.870117 10.6396 1.90039 21.2695 2.24023 31.9395 +c0.0800781 1.86035 0.240234 3.70996 0.25 5.57031c0.00976562 4.34961 0.25 8.68945 0.219727 13.0303c-0.00976562 2.37988 -0.00976562 4.75977 0 7.12988c0.0498047 5.06934 -0.200195 10.1396 -0.219727 15.21c-0.200195 6.60938 -0.709961 13.2002 -1.29004 19.7793 +c-0.730469 5.88086 -1.5498 11.7803 -3.12012 17.5107c-2.0498 7.75 -5.58984 15.0293 -9.7998 21.8193c-3.16016 5.07031 -6.79004 9.87988 -11.0898 14.0303c-3.87988 3.86035 -8.58008 7.08008 -13.9404 8.4502c-1.5 0.410156 -3.05957 0.450195 -4.58984 0.639648 +c0.0703125 2.99023 0.700195 5.93066 1.25977 8.85059c1.58984 7.70996 3.7998 15.2998 6.76074 22.5996c1.51953 4.03027 3.40918 7.90039 5.38965 11.7197c3.4502 6.56055 7.62012 12.79 12.46 18.46zM245.1 324.44 +c0.350586 0.0595703 0.709961 0.119141 1.07031 0.189453c0.19043 -1.79004 0.0898438 -3.58008 0.0996094 -5.37012v-38.1299c-0.00976562 -1.74023 0.130859 -3.49023 -0.149414 -5.21973c-0.360352 0.0302734 -0.709961 0.0498047 -1.06055 0.0498047 +c-0.949219 3.75 -1.71973 7.5498 -2.61914 11.3096c-0.380859 1.53027 -0.580078 3.09082 -1.07031 4.59082c-1.7002 0.239258 -3.42969 0.169922 -5.15039 0.199219c-5.05957 0.0107422 -10.1299 0 -15.1895 0.0107422 +c-1.66016 0.00976562 -3.32031 -0.0898438 -4.98047 0.0292969c-0.0302734 0.390625 -0.259766 0.910156 0.160156 1.18066c1.28027 0.649414 2.71973 0.879883 4.05957 1.34961c3.43066 1.13965 6.88086 2.16016 10.3105 3.31055 +c1.38965 0.479492 2.90039 0.719727 4.16016 1.54004c0.0400391 0.55957 0.0195312 1.12988 -0.0498047 1.67969c-1.23047 0.549805 -2.53027 0.870117 -3.81055 1.28027c-3.12988 1.0293 -6.29004 1.95996 -9.41016 3.01953c-1.79004 0.620117 -3.66992 1 -5.41016 1.79004 +c-0.0292969 0.370117 -0.0693359 0.730469 -0.109375 1.08984c5.08984 0.19043 10.2002 -0.0595703 15.2998 0.120117c3.36035 0.129883 6.73047 -0.0800781 10.0898 0.0703125c0.120117 0.389648 0.259766 0.769531 0.370117 1.16016 +c1.08008 4.93945 2.33008 9.8291 3.38965 14.75zM251.07 324.64c0.359375 -0.0498047 0.719727 -0.120117 1.08008 -0.199219c0.979492 -3.85059 1.72949 -7.76074 2.70996 -11.6104c0.359375 -1.41992 0.55957 -2.87988 1.0293 -4.27051 +c2.53027 -0.179688 5.07031 0.0107422 7.61035 -0.0498047c5.16016 -0.120117 10.3301 -0.120117 15.4902 -0.0693359c0.759766 0.00976562 1.51953 -0.0302734 2.2793 -0.0800781c-0.0390625 -0.360352 -0.0693359 -0.720703 -0.0996094 -1.08008 +c-1.82031 -0.830078 -3.78027 -1.25 -5.66992 -1.89062c-3.73047 -1.22949 -7.48047 -2.38965 -11.2197 -3.56934c-0.570312 -0.169922 -1.12012 -0.419922 -1.66992 -0.640625c-0.150391 -0.549805 -0.180664 -1.12012 -0.120117 -1.68945 +c0.870117 -0.480469 1.81934 -0.810547 2.76953 -1.08984c4.87988 -1.52051 9.73047 -3.14062 14.6299 -4.60059c0.379883 -0.129883 0.780273 -0.269531 1.12988 -0.490234c0.400391 -0.269531 0.230469 -0.790039 0.150391 -1.17969 +c-1.66016 -0.129883 -3.30957 -0.0302734 -4.96973 -0.0400391c-5.16992 -0.00976562 -10.3301 0.00976562 -15.5 -0.00976562c-1.61035 -0.0302734 -3.21973 0.0195312 -4.82031 -0.209961c-0.519531 -1.66992 -0.719727 -3.41992 -1.16992 -5.11035 +c-0.94043 -3.56934 -1.51953 -7.24023 -2.54004 -10.7793c-0.360352 -0.0107422 -0.709961 -0.0205078 -1.05957 -0.0605469c-0.290039 1.73047 -0.150391 3.48047 -0.150391 5.21973v38.1299c0.0205078 1.78027 -0.0800781 3.58008 0.110352 5.37012zM65.0498 279.67 +c1.12012 2.15039 2.08008 4.40039 3.37012 6.45996c-1.82031 -7.55957 -2.91016 -15.2695 -3.62012 -23c-0.799805 -7.70996 -0.849609 -15.4902 -0.540039 -23.2295c1.0498 -19.9404 5.54004 -39.8301 14.2305 -57.8809c2.99023 -5.98926 6.34961 -11.8291 10.5 -17.1094 +c6.12012 -7.46973 12.5293 -14.7598 19.8398 -21.0898c4.7998 -4.10059 9.99023 -7.78027 15.54 -10.8008c3.26953 -1.64941 6.50977 -3.38965 9.93945 -4.67969c5.01074 -2.03027 10.1904 -3.60938 15.4209 -4.93945c3.8291 -0.959961 7.7793 -1.41016 11.5195 -2.70996 +c5 -1.57031 9.46973 -4.61035 13.0303 -8.43066c4.92969 -5.22949 8.08984 -11.8701 10.2002 -18.6699c0.989258 -2.89941 1.58984 -5.91016 2.16992 -8.91992c0.149414 -0.75 0.219727 -1.51953 0.15918 -2.29004c-6.5 -2.78027 -13.2598 -5.05957 -20.2598 -6.17969 +c-4.10938 -0.780273 -8.29004 -0.990234 -12.46 -1.08008c-10.25 -0.240234 -20.4697 1.75977 -30.1201 5.12012c-3.73926 1.41992 -7.48926 2.84961 -11.0293 4.71973c-8.06055 3.83984 -15.6406 8.7002 -22.46 14.46c-2.9209 2.5498 -5.83008 5.12988 -8.40039 8.03027 +c-9.16016 9.83008 -16.2998 21.4102 -21.79 33.6494c-2.38965 5.55078 -4.61035 11.1807 -6.37012 16.96c-1.16992 3.94043 -2.36035 7.89062 -3.25977 11.9102c-0.75 2.94043 -1.21973 5.9502 -1.87012 8.91992c-0.459961 2.14062 -0.69043 4.32031 -1.03027 6.48047 +c-0.849609 5.42969 -1.2793 10.9297 -1.33008 16.4297c0.110352 6.18066 0.25 12.3701 1.07031 18.5c0.400391 2.86035 0.669922 5.74023 1.15039 8.60059c0.979492 5.69922 2.13965 11.3691 3.70996 16.9297c3.08984 11.6504 7.47949 22.9502 12.6895 33.8398z +M428.78 286.11c1.09961 -1.66016 1.91016 -3.48047 2.7793 -5.26074c2.10059 -4.44922 4.24023 -8.89941 6.02051 -13.4893c7.61035 -18.7607 12.2998 -38.79 13.04 -59.0508c0.0195312 -1.75977 0.0703125 -3.51953 0.110352 -5.29004 +c0.129883 -9.56934 -1.27051 -19.0898 -3.18066 -28.4492c-0.729492 -3.58984 -1.54004 -7.16992 -2.58008 -10.6904c-4.04004 -14.7197 -10 -29 -18.4102 -41.7803c-8.20996 -12.5693 -19.0098 -23.5498 -31.8398 -31.4092 +c-5.72949 -3.59082 -11.79 -6.64062 -18.0498 -9.19043c-5.78027 -2.19043 -11.71 -4.03027 -17.7998 -5.11035c-6.40039 -1.0498 -12.9102 -1.51953 -19.4004 -1.22949c-7.91992 0.479492 -15.7793 2.07031 -23.21 4.84961 +c-1.93945 0.799805 -3.93945 1.45996 -5.83984 2.33008c-0.209961 1.50977 0.25 2.99023 0.530273 4.45996c1.16016 5.74023 3.03027 11.3604 5.7002 16.5801c2.36914 4.50977 5.51953 8.65039 9.45996 11.9004c2.42969 2.0498 5.23926 3.60938 8.15918 4.83008 +c3.58008 1.5 7.4707 1.96973 11.2402 2.83008c7.23047 1.70996 14.3701 3.92969 21.1504 7c10.3496 4.64941 19.71 11.3799 27.6494 19.46c1.59082 1.60938 3.23047 3.17969 4.74023 4.86914c3.37012 3.76074 6.70996 7.57031 9.85059 11.5303 +c7.47949 10.0703 12.8193 21.5898 16.71 33.4805c1.58008 5.2998 3.20996 10.5996 4.20996 16.0498c0.629883 2.87012 1.04004 5.78027 1.51953 8.67969c0.870117 6.08984 1.58984 12.2207 1.67969 18.3799c0.120117 6.65039 0.140625 13.3203 -0.529297 19.9404 +c-0.730469 7.99023 -1.87012 15.96 -3.70996 23.7803z" /> + <glyph glyph-name="phoenix-squadron" unicode="&#xf511;" horiz-adv-x="512" +d="M96 384.62c46.4902 36.1299 105.55 56.0703 164.51 54.5703c29.5801 0.379883 59.1104 -5.37012 86.9102 -15.3301c-24.1299 4.62988 -49 6.33984 -73.3799 2.44922c-42.8701 -5.30957 -83.04 -27.1494 -111.83 -59.1797c5.66992 1 10.7803 3.66992 16 5.86035 +c18.1396 7.87012 37.4902 13.2598 57.2305 14.8301c19.7393 2.12988 39.6396 0.429688 59.2793 -1.91992c-14.4199 -2.79004 -29.1201 -4.57031 -43 -9.59082c-34.4297 -11.0693 -65.2695 -33.1592 -86.2998 -62.6299c-13.7998 -19.71 -23.6299 -42.8594 -24.6699 -67.1299 +c-0.349609 -16.4902 5.21973 -34.8096 19.8301 -44c7.01465 -4.23926 19.3594 -7.67969 27.5547 -7.67969c2.77539 0 7.23926 0.420898 9.96484 0.939453c15.4502 2.45996 30.0703 8.64062 43.6006 16.3301c11.5195 6.82031 22.6699 14.5508 32 24.25 +c3.79004 3.2207 2.53027 8.4502 2.62012 12.79c-2.12012 0.339844 -4.37988 1.11035 -6.30078 -0.299805c-9.47656 -5.19531 -25.5244 -12.0811 -35.8193 -15.3701c-20 -6.16992 -42.1602 -8.45996 -62.1006 -0.779297c12.79 -1.73047 26.0605 -0.310547 37.7402 5.43945 +c20.2305 9.71973 36.8105 25.2002 54.4404 38.7705c23.0107 17.7168 62.8379 42.4951 88.8994 55.3096c25.71 12 52.9404 22.7803 81.5703 24.1201c-15.6299 -13.7197 -32.1504 -26.5205 -46.7803 -41.3799c-14.5098 -14 -27.46 -29.5 -40.1094 -45.1807 +c-3.52051 -4.59961 -8.9502 -6.93945 -13.5801 -10.1592c-18.8516 -12.6768 -42.0986 -39.6016 -51.8906 -60.1006c-9.33008 -19.6797 -14.5 -41.8496 -11.7695 -63.6494c1.93945 -13.6904 8.70996 -27.5908 20.8994 -34.9102c12.9004 -8 29.0508 -8.07031 43.4805 -5.10059 +c32.7998 7.4502 61.4297 28.8906 81 55.8408c20.4404 27.5195 30.5195 62.1992 29.1602 96.3496c-0.520508 7.5 -1.57031 15 -1.66016 22.4902c8 -19.4805 14.8203 -39.71 16.6504 -60.8301c2 -14.2803 0.75 -28.7598 -1.62012 -42.9004 +c-1.91016 -11 -5.66992 -21.5098 -7.78027 -32.4297c17.209 19.293 34.833 55.6123 39.3398 81.0703c1.24121 7.8584 2.24902 20.6953 2.24902 28.6514c0 21.957 -7.37305 55.999 -16.459 75.9883c20.7803 -32 32.3398 -69.5801 35.71 -107.48 +c0.490234 -12.7295 0.490234 -25.5098 0 -38.2295c-2.37305 -28.7334 -15.6289 -72.5254 -29.5898 -97.75c-26.1201 -47.3398 -68 -85.6299 -117.19 -108c-78.29 -36.2305 -174.68 -31.3203 -248 14.6797c-32.9014 20.1289 -73.8711 64.3281 -91.4492 98.6602 +c-12.291 24.2021 -23.6523 65.8301 -25.3604 92.9199v31.3398c3.92969 69.7402 40.8701 135.92 96 178.36zM318 304.29c4.54688 0.770508 11.7148 2.77734 16 4.47949c5 1.77051 9.24023 5.94043 10.3203 11.2207c-8.95996 -4.99023 -17.9805 -9.91992 -26.3203 -15.7002z +" /> + <glyph glyph-name="sith" unicode="&#xf512;" +d="M0 416l118.75 -69.71l-11.5195 58.9004l91.0596 -69.8701c8.5 1.50977 17.0996 2.29004 25.71 2.29004s17.21 -0.770508 25.71 -2.29004l91.0596 69.8701l-11.5195 -58.9004l118.75 69.71l-69.71 -118.75l58.8604 11.5195l-69.8408 -91.0293 +c3.04004 -17.0098 3.03027 -34.4404 0 -51.4502l69.8408 -91.0303l-58.8604 11.5205l69.71 -118.78l-118.75 69.71l11.5195 -58.8604l-91.0293 69.8408c-17.0098 -3.04004 -34.46 -3.04004 -51.4805 0l-91.0293 -69.8408l11.5195 58.8604l-118.75 -69.71l69.71 118.78 +l-58.8604 -11.5205l69.8408 91.0303c-1.25488 7.04492 -2.27246 18.5693 -2.27246 25.7246c0 7.15625 1.01758 18.6807 2.27246 25.7256l-69.8408 91.0293l58.8604 -11.5195zM224 316.22c-31.7998 0 -63.6104 -12.0898 -87.8496 -36.3398 +c-48.4902 -48.4902 -48.5 -127.2 0 -175.7c48.5 -48.4893 127.21 -48.5195 175.699 -0.0292969c48.4902 48.4893 48.5 127.199 0 175.699c-24.25 24.25 -56.0498 36.3701 -87.8496 36.3701zM224 279.56c22.4199 0 44.8301 -8.51953 61.9199 -25.6094 +c34.1904 -34.1904 34.1797 -89.6904 0 -123.87c-34.1895 -34.1797 -89.6504 -34.1904 -123.84 0c-34.1904 34.1895 -34.1797 89.6895 0 123.87c17.0898 17.0898 39.5 25.6094 61.9199 25.6094z" /> + <glyph glyph-name="trade-federation" unicode="&#xf513;" horiz-adv-x="496" +d="M248 439.2c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -43.5996c129.7 0 234.8 105.1 234.8 234.8s-105.1 234.8 -234.8 234.8s-234.8 -105.1 -234.8 -234.8s105.1 -234.8 234.8 -234.8zM403.1 284.9v-0.100586h-145.699 +v-34.7998h83.2998v-47h-83.2998v-195.8h-48.8008v196.8h-117.699l-36.7002 46h155.1v81.7002h193.8v-46.7998zM329.8 239.8h-82.8994v56.2002h145v24.4004h-171.801v-80.6006h-143.899l20.0996 -23.8994h123.8v-197.4h26.8008v197.4h82.8994v23.8994zM168.5 308.8l22 9.2998 +l-15.7998 -18.0996l15.7002 -18.0996l-22.2002 9.5l-12.2998 -20.5l2.09961 24l-23.2998 5.39941l23.5 5.40039l-2.10059 23.7998zM138.9 328.5l9.5 -10.2002l-13.8008 5.2998l-6.7998 -12.1992l0.799805 14.6992l-13.6992 2.7002l14.2998 3.7998l-1.7002 13.9004 +l8 -12.4004l12.7002 5.90039zM304.3 183.3l-9.2998 -10.7998l9.40039 -10.7002l-13.1006 5.5l-7.2998 -12.2002l1.2002 14.2002l-13.9004 3.2002l13.9004 3.2002l-1.2998 14.2002l7.2998 -12.2002zM411.2 260.5l-15 -17.5996l15.0996 -17l-21.2002 8.7998l-11.5 -19.6006 +l1.80078 22.9004l-22.2002 4.90039l22.2998 5.39941l-2.2002 22.7002l12 -19.5996zM248 418.1c125.3 0 226.9 -101.6 226.9 -226.899s-101.601 -226.9 -226.9 -226.9s-226.9 101.601 -226.9 226.9s101.601 226.899 226.9 226.899zM342.6 252h-83.1992v30.9004h145.699 +v50.6992h-197.8v-81.5996h-157.399l40 -49.9004h116.699v-196.8h52.7002v195.7h83.2998v51zM248 404.8c-94.5996 0 -174.9 -61.5996 -202.9 -146.8h157.4v81.5996h199.1c-38.7998 40.2002 -93.2998 65.2002 -153.6 65.2002zM248 -22.2998c117.9 0 213.5 95.5996 213.4 213.5 +c0 51.8994 -18.5 99.5 -49.3008 136.5v-50.7998h-145.6v-19.2002h83.2002v-62.7002h-83.2998v-195.8h-64.6006v196.8h-114.7l-43.7998 56.2998c-5.7998 -19.2998 -8.89941 -39.8994 -8.89941 -61.0996c0 -117.9 95.6992 -213.5 213.6 -213.5zM178.8 173l22.7002 9.2998 +l-16.9004 -17.0996l15.8008 -18.7998l-21.5 10.7998l-13 -20.9004l3.69922 23.7998l-23.7998 5.90039l23.7002 3.90039l-1.7002 24.5z" /> + <glyph glyph-name="wolf-pack-battalion" unicode="&#xf514;" horiz-adv-x="512" +d="M267.73 -23.5303l-11.4404 -21.1396l-11.4404 21.1104l-10.5596 -15.8408l-5.28027 12.3203l-5.2793 -7v-29.8301c-21.0605 7.91992 -21.1104 66.8604 -25.5107 97.21c-4.62012 31.8799 0.879883 92.8105 -81.3701 149.11c8.88086 23.5996 12 49.4297 2.64062 80.0498 +c-27.8701 -3.33008 -53.9404 -10.5801 -63.3398 -54.0996l30.3496 -8.36035c-11.2002 -23.04 -17.0195 -46.7598 -13.2002 -72.1396l27.2705 7l6.16016 -33.4307l18.4697 7l8.7998 -33.4297l19.3496 7l-26.4297 -21.0596l-8.7998 28.1494l-24.6299 -5.28027l-7 35.6309 +l-26.3906 -14.5205c-0.25 20.0205 -6.95996 58.0605 8.80078 84.4502l-26.3906 -5.28027c-3.99023 22.0703 2.37988 39.21 7.91992 56.7402l-22.4297 -9.67969c0.44043 25.0693 29.9404 56.79 61.5898 58.5098c20.2197 1.08984 56.7305 25.1602 54.1006 51.8994 +c-1.95996 19.8701 -17.4502 42.6201 -43.1104 49.7002c43.9795 -36.5098 9.71973 -67.2998 -5.28027 -73.46c-4.39941 11.4404 -17.54 69.0801 0 130.2c40.4697 -22.8701 89.7002 -65.0996 93.21 -147.86l58.0605 -38.71l3.51953 -93.25l-107.33 59.8203l-7 -7 +l17.5801 -3.50977l44 -38.71l15.8398 5.2793l28.1504 -49.2598l3.51953 -119.64l-21.1094 -15.8398l32.5498 -15.8398l32.5498 15.8398l-21.1094 15.8398l3.51953 119.64l28.0996 49.25l15.8408 -5.28027l44 38.7109l17.5898 3.51953l-7 7l-107.3 -59.7695l3.51953 93.25 +l58 38.71c3.5498 82.6895 52.8096 124.92 93.2002 147.79c17.54 -61.1201 4.39941 -118.761 0 -130.2c-14.96 6.16016 -49.2803 36.9502 -5.28027 73.46c-25.6602 -7.08008 -41.1104 -29.8301 -43.1104 -49.7002c-2.63965 -26.7305 33.8809 -50.8096 54.1006 -51.9004 +c31.6396 -1.70996 61.1396 -33.4297 61.5801 -58.5l-22.4307 9.68066c5.54004 -17.5303 11.9209 -34.6699 7.9209 -56.7402l-26.3906 5.28027c15.7998 -26.3906 9.0498 -64.4502 8.7998 -84.4502l-26.3896 14.5195l-7 -35.6299l-24.5898 5.24023l-8.7998 -28.1504 +l-26.3906 21.1104l19.3506 -7l8.7998 33.3896l18.4697 -7l6.16016 33.4307l27.2803 -7.05078c3.7998 25.3809 -2.0498 49.1406 -13.2002 72.1406l30.3496 8.35938c-9.42969 43.5205 -35.4297 50.7305 -63.3398 54.1006 +c-9.35938 -30.6201 -6.24023 -56.4404 2.64062 -80.0498c-82.25 -56.3008 -76.75 -117.221 -81.3701 -149.11c-4.40039 -30.3496 -4.4502 -89.29 -25.5107 -97.21v29.9502l-5.2793 7l-5.28027 -12.3203zM346.9 71.4697l-15.8408 10.5303 +c7.4707 4.36035 13.7607 8.41992 19.3506 12.3203c-0.600586 -7.2207 -0.270508 -13.8398 -3.50977 -22.8398v-0.0107422zM375.05 120.73c-0.399414 -10.9404 -0.899414 -21.6602 -1.75977 -31.6709c-7.84961 1.86035 -15.5703 3.80078 -21.1104 7 +c8.24023 7.94043 15.5508 16.3203 22.8701 24.6807v-0.00976562zM399.68 115.45l-23.75 6.16016c5.62695 7.16797 13.9014 19.3848 18.4707 27.2695c3.22949 -9.21973 5.2793 -20 5.2793 -33.4297zM403.2 196.39c19.4395 -12.8096 27.7998 -33.6592 29.9102 -56.2998 +c-12.3203 4.53027 -24.6299 9.31055 -36.9502 10.5605c5.05957 12 6.64941 28.1396 7 45.7393h0.0400391zM401.44 242.13c18.5596 -2.62988 35.1494 -9.18945 45.7598 -28.1494c-14.2197 -4.36035 -24.7803 -5.9707 -44 -14.0801 +c0.0800781 13.4092 -0.950195 27.9297 -1.75977 42.2295zM165.68 71.4805c-3.23926 9 -2.91016 15.5791 -3.50977 22.8398c5.58984 -3.90039 11.8799 -7.95996 19.3496 -12.3203zM137.53 120.74c7.31934 -8.36035 14.6299 -16.7402 22.8701 -24.6699 +c-5.54004 -3.2002 -13.2607 -5.14062 -21.1104 -7c-0.860352 10.0098 -1.36035 20.7295 -1.75977 31.6699zM112.89 115.46c0 13.4297 2 24.21 5.28027 33.4297c4.56934 -7.88477 12.8438 -20.1016 18.4697 -27.2695zM109.37 196.4h0.0898438 +c0.349609 -17.6006 2 -33.7402 7 -45.7402c-12.3701 -1.25 -24.6797 -6.03027 -37 -10.5605c2.11035 22.6406 10.4697 43.4902 29.9102 56.3008zM111.13 242.14c-0.80957 -14.2998 -1.83984 -28.8193 -1.75977 -42.2295c-19.2197 8.10938 -29.7803 9.71973 -44 14.0801 +c10.6299 18.9502 27.2295 25.5195 45.7598 28.1494z" /> + <glyph glyph-name="hornbill" unicode="&#xf592;" horiz-adv-x="512" +d="M76.3799 77.7002c0.182617 -1.37207 0.331055 -3.6084 0.331055 -4.99219c0 -20.8662 -16.9346 -37.8008 -37.7998 -37.8008s-37.7998 16.9346 -37.7998 37.8008c0 20.8652 16.9346 37.7998 37.7998 37.7998c1.49805 0 3.91602 -0.173828 5.39844 -0.387695 +c-78.2793 111.35 52 190.53 52 190.53c-5.85938 -43 -8.23926 -91.1602 -8.23926 -91.1602c-67.3105 -41.4902 0.929688 -64.0605 39.8096 -72.8701c18.6445 -50.7129 77.6279 -91.9023 131.66 -91.9404c1.91992 0 3.76953 0.209961 5.66992 0.280273l0.110352 -18.8604 +c-99.2207 -1.38965 -158.7 29.1406 -188.94 51.6006zM184.38 405.4c109.75 73.9395 187.601 -54.0605 187.601 -54.0605c-43.04 5.86035 -91.1807 8.24023 -91.1807 8.24023c-43.0996 70.0098 -65.7998 -6.58008 -73.7998 -44.29 +c-48.4805 -19.5557 -87.8545 -77.8545 -87.8896 -130.13c0 -0.910156 0.139648 -1.78027 0.139648 -2.67969l-21.8398 -0.150391c-1.41016 100.43 29.8701 160.09 52.4199 190c-0.842773 -0.0683594 -2.21191 -0.123047 -3.05664 -0.123047 +c-20.9482 0 -37.9502 17.001 -37.9502 37.9492c0 20.9492 17.002 37.9502 37.9502 37.9502c13.1934 0 28.5273 -9.65723 34.2266 -21.5566c2.04199 -4.25488 3.7002 -11.5381 3.7002 -16.2578c0 -1.35547 -0.143555 -3.54785 -0.320312 -4.8916zM488.57 271.23 +c-4.21777 -2.00879 -11.3906 -3.63867 -16.0615 -3.63867c-0.886719 0 -2.32422 0.0625 -3.20898 0.138672c84.4502 -113.45 -49 -194.61 -49 -194.61c5.87012 43.0303 8.20996 91.1602 8.20996 91.1602c66.6006 40.96 0.640625 63.54 -38.46 72.54 +c-19.3633 48.9775 -77.8232 88.7422 -130.49 88.7598c-2.75 0 -5.43945 -0.259766 -8.13965 -0.410156l-0.139648 22.5c93.6094 1.33008 151.72 -25.7998 183.45 -47.7402c-0.226562 1.52539 -0.40918 4.01465 -0.40918 5.55566c0 20.9434 16.9971 37.9404 37.9395 37.9404 +c20.9434 0 37.9404 -16.9971 37.9404 -37.9404c0 -13.2236 -9.69043 -28.5703 -21.6309 -34.2549zM374.06 11.7598v-0.0595703c0.0917969 0.000976562 0.239258 0.000976562 0.330078 0.000976562c20.9375 0 37.9297 -16.9922 37.9297 -37.9297 +s-16.9922 -37.9297 -37.9297 -37.9297c-13.1963 0 -28.5273 9.66211 -34.2197 21.5684c-1.76367 3.66602 -3.39453 9.93848 -3.63965 14c-111.98 -80.3398 -191.9 51 -191.9 51c43.0703 -5.87988 91.1904 -8.21973 91.1904 -8.21973 +c41.3301 -67.1709 63.9199 0.540039 72.7695 39.4893c50.418 18.7646 91.3604 77.6543 91.3906 131.45c0 2.08008 -0.220703 4.08984 -0.300781 6.15039l19.5205 0.139648c1.28027 -89.9697 -23.71 -147.2 -45.1406 -179.66z" /> + <glyph glyph-name="mailchimp" unicode="&#xf59e;" +d="M330.61 204.48c-2.50977 3.17969 -4.70996 8.31934 -5.9707 14.3193c-2.22949 10.6807 -1.98926 18.4102 4.24023 19.4199c6.23047 1.01074 9.25 -5.45996 11.4805 -16.1299c1.5 -7.17969 1.20996 -13.7803 -0.450195 -17.6094 +c-1.27832 0.165039 -3.36133 0.299805 -4.65039 0.299805c-1.28809 0 -3.37207 -0.134766 -4.64941 -0.299805zM277.05 196c-4.45996 1.95996 -10.2598 4.13965 -17.2598 3.7002c-12.5996 -0.770508 -21.75 -7.21973 -22.5996 -3.48047 +c-0.400391 1.83984 2.40918 4.87988 5.40918 7.06055c4.5791 3.35254 12.9014 6.07422 18.5762 6.07422c3.45312 0 8.84473 -1.07324 12.0342 -2.39453c8.63965 -3.7002 14.0098 -11.1504 12.1201 -13.0898c-1.08008 -1.12988 -3.81055 0.129883 -8.28027 2.12988z +M268.05 190.87c9.68066 1.14941 16.8604 -4.62988 15.4004 -6.85059c-0.629883 -1.00977 -2.02051 -0.829102 -4.94043 -0.489258c-1.55078 0.239258 -4.08301 0.433594 -5.65234 0.433594c-3.72656 0 -9.58105 -1.06738 -13.0674 -2.38379 +c-4.04004 -1.62012 -4.30957 -1.15039 -5.20996 -0.810547c-1.53027 3.57031 4.40039 8.68066 13.4697 10.1006zM322.22 173.77c-3.40039 -6.91016 -17.7002 0.0703125 -14.2998 7c3.40039 6.93066 17.6797 -0.129883 14.2998 -7zM337.88 194.24 +c7.69922 -0.149414 7.42969 -16.0605 -0.259766 -15.9307c-7.69043 0.130859 -7.40039 16.0605 0.259766 15.9307zM119.09 115.34c4.0293 0.910156 3.40039 -1.25 3.37012 -0.359375c0.256836 -0.317383 0.46582 -0.904297 0.46582 -1.3125 +c0 -0.299805 -0.119141 -0.755859 -0.265625 -1.01758c-3.16016 -7.37012 -20.1904 -7.68066 -21.5801 9c-0.910156 10.8594 9.30957 21.0293 -2.28027 28.6191c-1.77734 1.17773 -4.95117 2.13281 -7.08301 2.13281c-3.84961 0 -8.67285 -2.62207 -10.7666 -5.85254 +c-3.2998 -5.16016 -3.11035 -12.2002 -7.37988 -11.6299c-3.7207 0.540039 -3.70996 14.4805 5 24.0801c7.22949 8 25.9492 11.9297 35.0498 -5.54004c8.11035 -15.3896 -8.2002 -27.7695 -3 -35.7695c2.46973 -3.80078 7.14941 -2.66016 8.46973 -2.35059zM418.81 132.41 +c6.44043 0 16.5605 -7.5 16.5605 -25.2705c0 -17.7695 -7.37012 -37.9092 -9.11035 -42.3799c-54.3896 -130.279 -264.56 -130.06 -322.29 3c-31.5293 -0.0400391 -64.1699 26.9805 -67.5293 60.3799c-0.256836 2.25195 -0.463867 5.91992 -0.463867 8.18652 +c0 7.21289 2.04395 18.5537 4.56348 25.3135l-14.7598 12.5107c-67.5498 57.04 143.72 291.85 211.27 232.93c0.339844 -0.299805 22.9902 -22.5205 23.0498 -22.5703l12.5508 5.33008c59.2695 24.5303 107.359 12.6904 107.42 -26.4697 +c0.0292969 -20.3604 -12.9404 -44.1006 -33.7305 -65.6504c26.1699 -24.2998 20.0205 -71.6094 21.5205 -83c7.19922 -2 30.6992 -7.62012 41.0996 -18.54c18.3604 -19.25 5.52051 -39.5801 3.07031 -43.25c4.20996 -11.2998 3.42969 -8.79004 6.7793 -20.5195z +M102.81 84.25c29.4502 -0.680664 38.6309 28.2002 34.0908 57.8398c-9.74023 62.9404 -90.1699 48.9805 -84 -12.3301c2.44922 -24.3594 27.0898 -44.8994 49.9092 -45.5098zM84.2998 198.45c19.3105 51.8096 51.54 99.5498 94.2002 132.399 +c31.6504 26.4102 65.7998 45.3506 65.7998 45.3506s-18.3896 21.3193 -23.9395 22.8896c-34.1699 9.23047 -107.94 -41.6494 -155.051 -108.88c-19.0596 -27.21 -46.3096 -75.3604 -33.2998 -100.21c1.58984 -3 10.71 -10.9297 15.5898 -15 +c8.18066 11.9102 21.54 20.5 36.7002 23.4502zM323.18 97.2998c2.58984 0.259766 0.560547 -2.53027 0.560547 -2.53027s-27.4004 -12.75 -71 0.740234c1.20996 -10.2295 11.1699 -14.8193 15.9395 -16.6699c31.4004 -12.21 86.6904 -2.58008 128.46 26 +c0.850586 0.589844 1.41992 0 0.730469 -1c-28.9697 -41.3496 -128.73 -54.7598 -151.37 -21.3496c-12.0801 17.8301 -0.599609 43.8594 19.5498 41.1494c6.7998 -0.769531 53.7705 -8 100.48 13.6807c27.4893 12.7598 37.8701 26.79 36.3096 38.1602 +c-0.447266 3.00293 -2.57031 7.16504 -4.74023 9.28906c-5 4.83008 -12.79 8.60059 -26 12.3105c-4.35938 1.22949 -7.31934 2.00977 -10.5098 3.05957c-5.67969 1.83008 -8.47949 3.33008 -9.10938 14c-0.280273 4.62988 -1.09082 20.9102 -1.38086 27.6299 +c-0.519531 11.7607 -1.91992 27.8506 -11.9199 34.4902c-2.37305 1.51953 -6.58691 2.75195 -9.40527 2.75195c-1.1748 0 -3.05371 -0.229492 -4.19434 -0.511719c-5.69043 -0.969727 -9.06055 -4.00977 -13.2598 -7.50977 +c-12.4404 -10.3701 -22.9502 -12.0605 -34.6406 -11.5605c-6.98926 0.290039 -14.3994 1.37988 -22.8799 1.87988l-5 0.290039c-19.5801 1 -40.5693 -15.9092 -44.0693 -39.9092c-4.86035 -33.4307 19.3291 -50.7002 26.3291 -60.8301 +c0.912109 -1.0918 1.77246 -3.12598 1.9209 -4.54004c0 -1.94043 -1.25 -3.48047 -2.48047 -4.79004c-19.9805 -20.54 -26.3701 -53.1699 -18.8398 -80.3701c0.768555 -2.76562 2.35938 -7.12891 3.5498 -9.74023c17.7002 -41.2598 72.4902 -60.4795 126 -43 +c5.81152 1.89844 14.9238 5.74219 20.3398 8.58008c9.78906 4.8418 23.7441 15.2852 31.1504 23.3096c14.2002 14.8408 22.6396 30.9707 25.9297 50.8408c2.81055 18.6191 -7.78027 18.7598 -11.4395 18.0996c-1.13477 6.94531 -4.32422 17.8223 -7.12012 24.2803 +c-15.6299 -12.3506 -35.71 -20.9707 -51 -25.3506c-69.4004 -19.9102 -90.1904 6.35059 -96.4004 -13.8096c33.7705 -12.3701 69.5098 -7.07031 69.5098 -7.07031zM171.31 290.5l0.0605469 0.00976562c-0.0947266 -0.115234 -0.171875 -0.331055 -0.171875 -0.481445 +c0 -0.418945 0.34082 -0.759766 0.759766 -0.759766c0.124023 0 0.308594 0.0546875 0.412109 0.121094c11.4199 8.30078 64.9502 42.7705 134.5 26.8301c0.860352 -0.189453 1.39941 1.29004 0.639648 1.7207c-11.3398 6.33984 -28.6895 10.6494 -41 10.7393 +c-0.404297 0.00976562 -0.732422 0.345703 -0.732422 0.75c0 0.134766 0.0634766 0.332031 0.142578 0.44043c1.84668 2.41602 5.30078 5.88379 7.70996 7.74023c0.166992 0.126953 0.302734 0.401367 0.302734 0.611328c0 0.424805 -0.344727 0.770508 -0.770508 0.770508 +c-0.0146484 0 -0.0380859 -0.000976562 -0.0517578 -0.00195312c-17.5205 -1.08008 -37.5107 -9.4707 -49 -17.2998c-0.107422 -0.0751953 -0.300781 -0.136719 -0.431641 -0.136719c-0.414062 0 -0.75 0.335938 -0.75 0.75 +c0 0.0498047 0.00976562 0.12793 0.0214844 0.176758c0.899414 4.30957 3.72949 9.98926 5.18945 12.6494c0.0566406 0.0947266 0.102539 0.261719 0.102539 0.37207c0 0.402344 -0.327148 0.729492 -0.730469 0.729492 +c-0.110352 0 -0.276367 -0.0449219 -0.37207 -0.101562c-18.4697 -9.4502 -39.0898 -26.2803 -55.8301 -45.6299z" /> + <glyph glyph-name="megaport" unicode="&#xf5a3;" horiz-adv-x="496" +d="M214.5 238.4l33.4004 33.3994l33.3994 -33.3994v-66.4004l-33.2998 -33.2998l-33.5 33.5v66.2002zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM393.1 25.5996h0.100586v87.1006l-59.7002 59.7002v87.5996l-59.5 59.5 +v75.5996l-26.0996 19.2002l-26.1006 -19.2002v-75.5996l-59.5 -59.5v-87.9004l-59.5 -59.5v-87l26.1006 -19.1992l26.0996 19.1992v65.5l33.5 33.4004l33.4004 -33.4004v-65.5l26.0996 -19.1992l26.2002 19.1992v65.5l33.3994 33.4004l33.4004 -33.4004v-65.5l26 -19.1992z +" /> + <glyph glyph-name="nimblr" unicode="&#xf5a8;" horiz-adv-x="384" +d="M246.6 148.71c15.5703 0 27.1504 -11.46 27.1504 -27s-11.6201 -27 -27.1504 -27c-15.6992 0 -27.1494 11.5703 -27.1494 27s11.5498 27 27.1494 27zM113 121.75c0 15.6104 11.6797 27 27.1504 27c15.4697 0 27.1494 -11.46 27.1494 -27s-11.4697 -27 -27.1494 -27 +c-15.4404 0 -27.1504 11.3096 -27.1504 27zM191.76 289c98.3701 0 177.76 -78.9102 177.76 -176.48c0 -97.5693 -79.6094 -176.52 -177.76 -176.52c-98.1494 0 -177.76 78.8701 -177.76 176.52v335.48l45.25 -227c30.2002 48.2305 97.75 68 132.51 68zM191.76 -19.1201 +c73.2402 0 132.51 58.96 132.51 131.64c0 72.6807 -59.2393 131.54 -132.51 131.54c-73.2695 0 -132.51 -58.8994 -132.51 -131.59c0 -72.6895 59.2402 -131.59 132.51 -131.59z" /> + <glyph glyph-name="rev" unicode="&#xf5b2;" +d="M289.67 173.11c0 -36.1943 -29.375 -65.5801 -65.5703 -65.5801c-36.1943 0 -65.5693 29.375 -65.5693 65.5693c0 36.1953 29.375 65.5703 65.5693 65.5703h0.0107422c36.1445 -0.0439453 65.5156 -29.415 65.5596 -65.5596zM429.22 178.16v-210.16h-210.16v0.110352 +c-110.939 2.70996 -200.06 93.4092 -200.06 205c0 108.569 84.2998 197.319 191 204.569v38.3203l108.77 -62.7803l-108.77 -62.79v39.1201c-80 -7.16016 -143 -74.5498 -143 -156.43c0 -86.6201 70.4902 -157.12 157.11 -157.12s157.09 70.5 157.09 157.12 +c-0.0224609 47.1709 -32.1934 106.235 -71.8105 131.84l45.3799 26.2002c39.8018 -32.8584 73.0977 -101.402 74.3203 -153h0.129883z" /> + <glyph glyph-name="shopware" unicode="&#xf5b5;" horiz-adv-x="512" +d="M403.5 -7.41016c-36.0898 -26.8223 -101.875 -48.5908 -146.841 -48.5908c-0.181641 0 -0.477539 0.000976562 -0.65918 0.000976562c-137.19 0 -248 111 -248 248c0 137.19 111 248 248 248h0.211914c52.3994 0 126.538 -28.4482 165.488 -63.5 +c0.643555 -0.585938 1.16602 -1.76855 1.16602 -2.63965c0 -1.9707 -1.59961 -3.56934 -3.57031 -3.56934c-0.125977 0 -0.330078 0.0126953 -0.456055 0.0292969c-15.2227 2.03223 -40.042 3.68164 -55.4004 3.68164 +c-0.361328 0 -0.948242 -0.000976562 -1.30957 -0.00195312c-129.36 0 -222.399 -53.4697 -222.399 -155.35c0 -109 92.1299 -145.881 176.829 -178.73c33.6406 -13 65.4004 -25.3604 87 -41.5898c0.788086 -0.592773 1.42676 -1.87402 1.42676 -2.86035 +c0 -0.985352 -0.638672 -2.2666 -1.42676 -2.85938zM503 214.91c0.578125 -6.2832 1.04688 -16.5039 1.04688 -22.8135c0 -25.8613 -7.62793 -66.4043 -17.0273 -90.4971c-0.495117 -1.2373 -1.98047 -2.24316 -3.31348 -2.24316 +c-0.495117 0 -1.25 0.19043 -1.68652 0.423828c-29.4893 16.3594 -61.6094 28.3398 -92.6797 39.9297c-60.2803 22.4902 -112.34 41.8896 -112.34 84.4902c0 1.45996 -3.87988 53.6299 80.25 53.6299c50.8604 0 92.7197 -17.4805 144.48 -60.4805 +c0.625 -0.530273 1.19336 -1.62305 1.26953 -2.43945z" /> + <glyph glyph-name="squarespace" unicode="&#xf5be;" horiz-adv-x="512" +d="M186.12 104.66l157.22 157.2c38.5703 38.5898 101.13 38.5898 139.72 0c38.5908 -38.5801 38.5908 -101.13 0 -139.721l-119.25 -119.239l-0.0400391 -0.0400391c-19.2891 -19.2705 -50.5498 -19.25 -69.8193 0.0400391l154.149 154.14 +c19.29 19.29 19.29 50.5703 0 69.8604s-50.5693 19.29 -69.8594 0l-157.181 -157.181c-9.64941 -9.64941 -25.29 -9.64941 -34.9395 0c-9.65039 9.65039 -9.65039 25.29 0 34.9404zM430.65 209.46c9.63965 -9.63965 9.63965 -25.2803 -0.0107422 -34.9297l-157.199 -157.2 +c-38.5801 -38.5703 -101.141 -38.5703 -139.721 0l-0.0195312 0.0195312c-9.64062 9.65039 -9.62988 25.29 0.0195312 34.9307l0.0107422 0.00976562c9.64941 9.63965 25.2793 9.62988 34.9199 -0.00976562l0.0498047 -0.0498047 +c19.29 -19.2607 50.5498 -19.2402 69.8193 0.0498047l157.2 157.18c9.64062 9.65039 25.2803 9.65039 34.9307 0zM168.66 122.13c-38.6006 -38.5801 -101.13 -38.5801 -139.73 0.00976562c-38.5801 38.5801 -38.5801 101.13 0 139.721l119.23 119.25l0.0195312 0.0195312 +c19.3008 19.2803 50.5703 19.2705 69.8506 -0.0195312l-154.17 -154.17l-0.0302734 -0.0302734c-19.2803 -19.2998 -19.2598 -50.5605 0.0302734 -69.8398l0.00976562 -0.0107422c19.29 -19.29 50.5703 -19.2793 69.8496 0.0107422l157.21 157.18 +c9.64062 9.63965 25.2705 9.63965 34.9102 0c9.64062 -9.65039 9.64062 -25.29 0 -34.9404zM81.3301 174.53c-9.64062 9.64941 -9.65039 25.29 0 34.9297l157.189 157.19c38.5908 38.5898 101.131 38.5898 139.721 0c9.64941 -9.64062 9.64941 -25.2803 0 -34.9307 +c-9.64062 -9.64941 -25.2803 -9.64941 -34.9307 0l-0.0195312 0.0205078c-19.29 19.2793 -50.5596 19.2695 -69.8398 -0.0205078l-157.21 -157.189c-9.64062 -9.64062 -25.2705 -9.64062 -34.9102 0z" /> + <glyph glyph-name="themeco" unicode="&#xf5c6;" +d="M202.9 439.57c9.89941 5.72949 26 5.81934 35.9492 0.209961l191.15 -107.63c10 -5.60059 18 -19.4404 18 -30.8604v-217.29c0 -11.4404 -8.05957 -25.29 -18 -31l-191.19 -108.74c-9.92969 -5.66016 -26 -5.56934 -35.8496 0.209961l-185.1 108.41 +c-9.86035 5.78027 -17.8604 19.7402 -17.8604 31.1201v217.29c0 11.4404 8 25.3604 17.9102 31.0801zM125.5 239.74c-15.9404 0 -31.8896 -0.140625 -47.8301 -0.140625v-101.449h19.1299v29.8496h28.7002c49.71 0 49.5596 71.7402 0 71.7402zM265.64 139.45 +l-30.7295 34.6396c37 7.50977 34.7998 65.2305 -10.8701 65.5098c-16.0898 0 -32.1699 0.140625 -48.2598 0.140625v-101.59h19.1299v33.9092h18.4102l29.5596 -33.9092h22.7598v1.2998zM224.05 221.77c23.3398 0 23.2598 -32.46 0 -32.46h-29.1299v32.46h29.1299z +M128.49 223.37c21.1797 0 21.1094 -38.8506 0 -38.8506h-32.3105v38.8408zM321.14 241.62c-68.46 0 -71 -105.8 0 -105.8c69.4805 0.00976562 69.4102 105.8 0 105.8zM321.14 224.23c44.1201 0 44.8008 -70.8604 0 -70.8604c-44.7998 0 -44.4297 70.8604 0 70.8604z" /> + <glyph glyph-name="weebly" unicode="&#xf5cc;" horiz-adv-x="512" +d="M425.09 382.17c50.9102 0 87.5498 -35.1504 86.9199 -83.4697c0 -21.6201 -0.950195 -18.5498 -77.5 -227.2c-22.3799 -60.5703 -67.7695 -69.6699 -92.7402 -69.6699c-39.2393 0 -70.0391 19.46 -85.9297 54.29c-15.8896 -34.5205 -46.7002 -53.9805 -85.9297 -53.9805 +c-24.9697 0 -70.3701 8.78027 -92.7402 69.3506c-72.9902 200.21 -77.1699 204.52 -77.1699 233.479c0 43.3105 38.5898 77.2002 87.54 77.2002c40.21 0 73.2803 -25.7295 83.6602 -64.3301c18.4795 58.0498 65.5 64.3301 85.2803 64.3301 +c19.4492 0 66.7891 -6.26953 84.9492 -64.3301c10.3799 38.6006 43.7803 64.3301 83.6602 64.3301zM451.43 267.36c3.49023 11.1992 7.29004 19.3701 7.61035 27.2393c0 22.3906 -16.1602 35.71 -38.3301 35.71c-18.6904 0 -31.9902 -11.7998 -36.1104 -29.0498 +l-44.0293 -139.819h-0.950195l-44.6602 136.79c-6.01953 19.9697 -16.4697 32.0791 -38.96 32.0791s-32.9404 -12.4092 -38.96 -32.0791l-44.6602 -136.79h-0.950195l-44.0293 139.819c-4.12012 17.25 -17.4199 29.0498 -36.1104 29.0498 +c-22.4902 0 -38.3301 -13.0195 -38.3301 -29.3594c0 -10.5898 2.54004 -19.6699 7.91992 -34.5l64.9404 -175.23c7.91016 -21.4795 21.2197 -37.2197 46.2393 -37.2197c23.1201 0 37.0605 12.0996 44.0205 33.5996l39.2803 117.42h0.949219l39.2803 -117.42 +c6.65039 -21.4893 20.5898 -33.8994 44.0303 -33.8994c25.0195 0 38.3203 15.7295 46.2402 37.2197z" /> + <glyph glyph-name="wix" unicode="&#xf5cf;" horiz-adv-x="640" +d="M393.38 316.31c0 -13.0293 2.08008 -32.6895 -28.6797 -43.8291c-9.52051 -3.4502 -15.9502 -9.66016 -15.9502 -9.66016c0 31 4.71973 42.2197 17.4004 48.8594c9.75 5.11035 27.2295 4.62988 27.2295 4.62988zM277.58 280.77 +c5.47949 26.3408 30.8799 38.3408 55.2998 35.2705l-65.5703 -247.93s-21.6396 -1.56055 -32.46 3.95996c-14.2197 7.25 -20.9893 12.8398 -29.5898 46.5693c-7.66992 30.0703 -29.1494 118.4 -31.1201 124.7c-4.30957 13.8105 -10.6396 14.9404 -15.3994 0 +c-2.00977 -6.29004 -23.4502 -94.6299 -31.1201 -124.7c-8.61035 -33.7295 -15.3701 -39.3193 -29.5898 -46.5693c-10.8301 -5.52051 -32.46 -3.95996 -32.46 -3.95996l-65.5703 247.93c23.8604 3 49.7305 -8.5498 55.2803 -35.2705l34.2393 -132.659l28.4805 108.569 +c7.76953 32.3506 21.0596 48.5303 48.4297 48.5303c27.6201 0 40.7402 -16.54 48.4307 -48.5303l28.4795 -108.569zM393.36 275.56v-8.97949l0.0195312 0.00976562v-150.27c-0.129883 -30.8301 -3.33008 -37.6807 -17.2598 -44.7803 +c-10.8203 -5.52051 -27.3701 -3.42969 -27.3701 -3.42969v152.069c0 21.25 -1.95996 27.9404 13.1797 35.2002c6.19043 2.96973 11.96 5.25 17.9707 8.61035c9.35938 5.22949 13.46 11.5693 13.46 11.5693zM556.8 191.48l82.9902 -123.36s-35.9297 -4.62012 -53.3203 11.21 +c-13.9102 12.6602 -23.7393 28.3398 -53.1396 70.7197c-0.5 0.770508 -6.25977 10.5205 -13.0703 0c-34.9297 -50.3496 -41.0195 -60.2598 -52.5098 -70.7197c-17.3799 -15.8301 -53.9502 -11.21 -53.9502 -11.21l82.9697 123.36l-83.1992 123.739 +s35.1094 5.98047 52.5 -9.84961c13.3799 -12.1797 24.8896 -30.2402 54.1797 -72.4697c6.82031 -10.54 12.5996 -0.730469 13.0703 0c29.7695 42.9199 40.8799 60.3691 54.1797 72.4697c17.3896 15.8301 52.5 9.84961 52.5 9.84961z" /> + <glyph glyph-name="ello" unicode="&#xf5f1;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM391.84 154.8c2.48047 7.44043 -2.47949 15.71 -9.91992 17.3604c-7.43945 2.47949 -15.71 -2.48047 -17.3604 -9.91992 +c-14.0498 -52.9102 -62 -90.1104 -116.56 -90.1104s-102.51 37.2002 -116.56 90.1104c-1.65039 7.43945 -9.9209 11.5693 -17.3604 9.91992c-7.44043 -1.65039 -11.5703 -9.91992 -9.91992 -17.3604c16.5303 -65.3096 76.0498 -111.6 143.84 -111.6 +s127.31 46.29 143.84 111.6z" /> + <glyph glyph-name="hackerrank" unicode="&#xf5f7;" horiz-adv-x="512" +d="M477.5 320c14.5 -25 14.4805 -230.92 -0.00976562 -256s-192.391 -128 -221.33 -128c-28.9404 0 -206.83 102.8 -221.32 128s-14.4102 230.79 0 256s192.351 128 221.32 128s206.84 -103.05 221.34 -128zM316.13 33.7803c3.95996 0 40.4404 35.7793 37.5605 38.6895 +c-0.870117 0.839844 -8.82031 1.49023 -17.6904 1.83984c0 32.4004 -3 19.0508 0.679688 210.341c0.0703125 3.65918 -1.04004 5.37988 -4.5 5.37988c-11.0801 0.0693359 -22.1602 0.0195312 -33.2295 -0.0605469c-3.25977 -0.0292969 -4.31055 -1.80957 -4.20996 -5.2002 +c1.58984 -48.8994 1.2002 -79.0898 1.2002 -83.6396h-80.2607c0.629883 25.7998 0.209961 79.6396 2.62988 105.39v3.16016c8.87012 0.350586 15.9004 0.970703 16.7705 1.83984c2.90039 2.91016 -34.3203 38.6904 -38.2705 38.6904 +c-3.94922 0 -41.4092 -35.7695 -38.4893 -38.6904c0.879883 -0.839844 7.58984 -1.48926 17.2598 -1.83984v-3.16992c3.15039 -128.67 1.07031 -179.229 0.150391 -212.67c-0.130859 -4.58008 1.63965 -6.10938 5.73926 -6.10938 +c10.1406 0.0292969 20.2803 -0.0800781 30.4102 -0.0800781c4.16016 -0.0605469 5.96973 1.39941 5.74023 5.93945c-1.83008 36.6797 -1.37012 65.7803 -1.37012 72.8799h79.9297c0 -2.41992 0.44043 -3.84961 0.44043 -5.84961 +c-0.350586 -17.7305 -0.94043 -60.0898 -0.94043 -86.3203c-11.29 -0.349609 -16.6797 -0.959961 -17.5498 -1.83008c-2.91016 -2.91992 34 -38.6895 38 -38.6895z" /> + <glyph glyph-name="kaggle" unicode="&#xf5fa;" horiz-adv-x="320" +d="M304.2 -53.5l1.39941 -7.59961c-0.5 -2 -2.5 -3 -6 -3h-66.8994c-4 0 -7.5 1.7998 -10.5 5.2998l-110.5 140.6l-30.7998 -29.2998v-109c0 -5 -2.5 -7.5 -7.5 -7.5h-51.9004c-5 0 -7.5 2.5 -7.5 7.5v497c0 5 2.5 7.5 7.5 7.5h51.9004c5 0 7.5 -2.5 7.5 -7.5v-306 +l132.3 133.7c3.5 3.5 7 5.2998 10.5 5.2998h69.2002c7 0 7.89941 -7.7998 5.2998 -10.5l-139.8 -135.3z" /> + <glyph glyph-name="markdown" unicode="&#xf60f;" horiz-adv-x="640" +d="M593.8 388.9c25.5 0 46.2002 -20.7002 46.2002 -46.1006v-301.6c0.0996094 -25.4004 -20.5996 -46.1006 -46.0996 -46.1006h-547.7c-25.5 0 -46.2002 20.7002 -46.2002 46.2002v301.5c0 25.4004 20.7002 46.1006 46.2002 46.1006h547.6zM338.5 87.4004h-0.200195v209.199 +h-61.5l-61.5 -76.8994l-61.5 76.8994h-61.5v-209.199h61.7002v120l61.5 -76.9004l61.5 76.9004v-120h61.5zM473.8 84.2998l92.2002 107.7h-61.5v104.6h-61.5v-104.6h-61.5z" /> + <glyph glyph-name="neos" unicode="&#xf612;" horiz-adv-x="512" +d="M415.44 -64h-95.1104l-108.21 154.54v-91.0996l-86.4297 -63.4404h-97.6904v482.18l40.4697 29.8203h108.05l123.74 -176.13v112.68l86.4307 63.4502h97.6895v-461.5zM38.7695 412.73v-460.73l72 52.8799v249.12l215.5 -307.64h84.79l52.3506 38.1699h-78.2705 +l-316.14 450.47zM121.31 -53.8799l80 58.7803v101l-79.7598 114.399v-220.939l-72.5498 -53.25h72.3398zM80.6299 437.23l310.601 -442.57h82.3691v442.57h-79.75v-317.561l-222.939 317.561h-90.2803zM311 256.35l72 -102.81v278.53l-72 -53v-122.721z" /> + <glyph glyph-name="zhihu" unicode="&#xf63f;" horiz-adv-x="640" +d="M170.54 299.87h122.68v-217.55h-49.5293l-42.0107 -26.3701l-7.70996 26.3701l-23.4297 0.00976562v217.54zM268.29 105.94v170.31h-72.8203v-170.31l11.9004 -0.0400391l5.08008 -17.4707l27.8994 17.5107h27.9404zM149.83 200.33 +c7.5 0 7.58984 -23.6104 7.58984 -23.6104h-61.6504c-0.879883 -13.1201 -3.50977 -26.6895 -7.86914 -40.6699l14.6191 11.6201c8.73047 -8.75 29.2109 -32.8896 36.79 -41.8096c9.15039 -13.1006 1.24023 -39.9902 1.24023 -39.9902l-53.96 64.9395 +c-12.6094 -48.3496 -35.5898 -69.25 -35.5898 -69.25c-10.0898 -8.96973 -30.5098 -15.75 -51 -9.89941c42.8301 33.2197 66.4502 75.2402 70.8496 125.1h-65.5801s3.82031 23.6201 15.5605 23.6201h52.2695c0.480469 6.56055 1.68066 62.9404 1.68066 73.4404h-28.8701 +c-2.62988 -7.87012 -3.03027 -8.64062 -5.14062 -14.5303c-11.4697 -21.0303 -30.9492 -21.5703 -36.8398 -22.21c17.4902 34.9795 27.3105 69.2197 30.7002 78.1201c8.2002 21.5693 32.2705 21.5693 32.2705 21.5693c-5.25 -14.0098 -9.63086 -27.5498 -13.1201 -40.6699 +h88.5c10.5498 0.25 8.58008 -22.3096 8.58008 -22.3096h-51.1602c0 -21.8701 -0.459961 -46.3604 -2.2002 -73.46h52.3301zM561.85 201.93l-19.2295 14.4307s30.8301 40.0498 36.8301 48.1992c8.72949 10.7402 27.3799 -4.05957 27.3799 -4.05957 +s-24.1504 -32.9297 -44.9805 -58.5703zM411.76 261.02l0.00976562 0.0107422c8.99023 -8.25 34.6602 -45.8604 34.6602 -45.8604l-19.46 -13.7295c-1.59961 2.40918 -41.1201 57.4492 -41.1201 57.4492s16.9004 10.3799 25.9102 2.12988zM640 189.65 +c0 0 0.950195 -23.79 -8.73047 -23.79h-122.359v-73.3203c0.780273 -28.0303 -15.3301 -45.3096 -44.8906 -45.3096c-9.84961 0 -16.1396 1.75977 -26.0195 6.56934c-12.9805 7.4502 -17.3203 17.8701 -19.3096 21.8398c15.6094 -0.65918 27.6094 -1.91992 41.6895 -1.80957 +c13.29 -0.870117 24.4805 7.15039 24.4805 21.1201v70.9199h-107.94c-22.6895 0.540039 -25.5098 22.8496 -25.5098 22.8496h133.47v99.8105c-12.8301 0 -31.6797 -0.830078 -56.5098 -2.43066c-26.46 -0.80957 -35.8398 -2.58984 -49.1504 0.890625 +c-8.16016 2.46973 -14.1797 10.7295 -15.7793 19.5498c67.1396 1.55957 232.359 18.0498 232.359 18.0498s20.1006 5.75977 23.1699 4.58008c12.8105 -6.25 0.589844 -33.4395 0.589844 -33.4395c-17.6396 -0.810547 -46.8896 -2.40039 -87.7695 -4.81055 +c-10.4297 -0.799805 -18.04 -1.2002 -22.8496 -1.2002v-101c0.149414 0 111.279 0.930664 131.06 0.930664z" /> + <glyph glyph-name="alipay" unicode="&#xf642;" +d="M377.74 416c38.6895 0 70.0898 -31.5703 69.9297 -70.2598v-234.41c-48.6104 16.7002 -99.6895 36.04 -148.62 52.7402c23.1406 44.2998 38.3506 90.9199 38.3506 90.9199h-88.7705v31.2402h109.45v19.0098h-109.44v50.4199h-50.9199v-50.4199h-109.439v-19.0098h109.439 +v-31.2402h-92.0801v-16.7002h178.2s-9.91992 -30.25 -26.4502 -60.3398c-47.7793 14.71 -91.75 24.96 -127.13 24.96c-84.6396 0 -103.49 -42.4902 -99.5195 -81.5c3.30957 -31.0703 26.4502 -76.3701 97.04 -76.3701c64.4795 0 116.55 37.0303 148.62 81 +c61.0098 -28.0996 125.64 -62.8203 171.6 -88.4404c-0.5 -38.5195 -31.7402 -69.5996 -70.2598 -69.5996h-307.48c-38.8496 0 -70.2598 31.4102 -70.2598 70.2598v307.48c0 38.8496 31.4102 70.2598 70.2598 70.2598h307.48zM47.2803 125.05 +c-0.990234 17.5205 10.9102 50.5801 78.3594 50.5801c24.96 0 64.8105 -12.7295 109.44 -31.4102c-25.29 -33.2197 -65.7998 -72.8994 -117.87 -72.8994c-59.6797 0 -68.9404 33.5596 -69.9297 53.7295z" /> + <glyph glyph-name="the-red-yeti" unicode="&#xf69d;" horiz-adv-x="512" +d="M488.23 206.3c2.49805 -3.35254 5.51465 -9.31152 6.76953 -13.2998c3.37793 -9.19922 7.36523 -24.5205 8.90039 -34.2002l-2.5 -0.5l-13 14.2998c-17.9004 -28.0996 -9.90039 -15.3994 -16.7002 -25.0996c0 -124.2 -101.3 -211.5 -223 -211.5 +c-61.5 0 -113.9 20.2002 -157.5 60.2002c-64.5 60.8994 -64.9004 125 -64.9004 150.5c-0.5 1.7998 -0.700195 3.5 -1.2002 5.2002l-20.1992 -22.4004c-6.80078 43 25.6992 74.2998 33 80.7002c0.5 1 0.699219 2.2002 1.19922 3.2002l-28.7998 1l-3 3.39941 +c8.5 3.5 25.2998 13.2998 40.2998 14.2998c6.30273 12.0684 18.7568 30.123 27.8008 40.3008c1.2998 6.39941 3.2998 14.1992 6.59961 25.7998l-7.59961 -4.7002l-1.7002 1.7002l1.7002 8.39941c8.87207 21.3857 29.7939 51.5811 46.6992 67.4004l-33 14.2998h3.7002 +c20.9004 4.90039 33.2002 3.2998 49.2002 0c-2.5 4.10059 -5.40039 10.5 -8.40039 18.9004c-1.16699 3.20996 -2.11426 8.58691 -2.11426 12.0029c0 3.81152 1.1709 9.76855 2.61426 13.2969c8.90039 -7.40039 14.3008 -24.5996 15.2002 -27 +c0.700195 3.59961 2.10059 21.2998 33.7002 45.5l1.83008 -0.5l-12 -44.2002c30 17.7002 63 21.9004 97.9004 11.7998c-12.7002 -12.1992 -24.3008 -28.8994 -42.5 -33c7.39941 -2.2998 28.6992 -9.69922 34.1992 -15.1992l-24.7998 7.09961 +c6.5 -6 19.6006 -16.4004 25.1006 -25.0996c19.418 -0.893555 50.0615 -6.85254 68.3994 -13.3008l-0.5 0.5c29.4004 14.7002 37.7002 27.3008 74.7998 3c0 -30.1992 -2.2998 -23.3994 3 -29.7998c6.41602 5.42383 17.75 12.8154 25.3008 16.5 +c13 6.40039 23.0996 4.7002 30.6992 -5.89941c11.8008 0 17.8008 -15.7002 18.4004 -27c14.7998 -2.90039 2.7002 -30.7002 2.5 -30.7002l-7.09961 -18.2002c7.7998 -7.7998 22.0996 -20.9004 31.6992 -44.7998zM398 336.8c-13.0996 8.90039 -22.7002 11.9004 -28.2998 8.5 +c8.09961 -7.2002 13 -14.2998 13.5 -20.7002c1.2002 -7.59961 -2.2002 -14.7998 -10.6006 -21.8994l-4.19922 -3.40039c3.60059 -5.90918 7.36328 -16.2578 8.39941 -23.0996h2.5c-2.09961 13.8994 -2.5 11 0.700195 14.7998c11 -6.40039 14.9004 -14.5 16 -19.9004 +c21.7998 10.1006 29.5 12.7002 54.7998 20.9004l-18.2002 -16c11.4004 0 25.6006 0.299805 46.5 -8.40039c7 24.3008 7.10059 20.7002 2.5 20.7002l-4.69922 -11.2998c-1.7002 10.5 -2.90039 18.9004 -3.40039 25.2998c-0.5 6.7002 -3.90039 9.60059 -9.2998 10.1006 +c-0.00976562 -0.384766 -0.0175781 -1.00781 -0.0175781 -1.3916c0 -3.87012 0.769531 -10.0566 1.71777 -13.8086l-1.7002 -5.90039c-2.90039 10.6006 -5.90039 20.2002 -9.2998 27.7998c-9.7002 17.7002 -30.2002 -9.19922 -43 -11.2998 +c3.72266 -0.207031 9.77051 -0.375977 13.5 -0.375977c3.72852 0 9.77637 0.168945 13.5 0.375977l-22.4004 -5.39941l3.40039 -4.7002c-5.5 0 -16.9004 -0.900391 -22.4004 17.2002zM358.4 346.9l-20.3008 -11.8008c11.3008 -7.59961 20.2002 -18.1992 27.8008 -31.1992 +c6.39941 2.89941 10.0996 5.09961 11.7998 7.59961c2.5 2.7998 2.5 4.7002 3 7.09961c0.599609 1.30078 0.799805 2.7002 -3.40039 11.1006c-7.5 11.7998 -16.2002 15.2998 -18.8994 17.2002zM91 304.9c-7.7998 -24.1006 -11.7002 -49.4004 -13.2002 -74.6006l13.2002 -5 +l1.2002 27c9.5 -16.3994 11.2002 -23.2998 12.2998 -28.7998c2.7998 2.09961 7.7002 7 22.5996 11.2998l1.2002 -1.7002l-7.59961 -10.5996c10.0996 3.5 19.5 3.5 28.2998 0.5l-10.5996 -8.40039c22.7998 -8.39941 26.5996 -7.59961 38.3994 -26.0996l-11.7998 1.2002 +c34.9297 -20.5 66 -47.9004 141.2 -63.2002c15.5996 24.0996 14 21.0996 14 22.9004l0.200195 0.199219l-0.200195 0.200195c-0.700195 1.90039 -14.1006 16.6006 -18.2002 20.7002c7.2998 -1.7998 6 -0.900391 10.7998 -3.7002 +c1.7002 -0.899414 -5.39941 5.40039 -21.8994 20.2002c16.5 -6.7002 27.5996 -15.5 33 -27.7998l1.69922 30.7002l-22.3994 17.6992l6.39941 5.90039c-7.2998 0 -31 3.7002 -49.1992 -16l-2.5 0.5c5.89844 12.1807 13.0664 32.7881 16 46 +c1.61914 7.72656 2.96289 20.4053 3 28.2998c0 19.5 -4.7002 38.4004 -13.5 56.6006c-6.40039 13.5 -16.5 25.2998 -30 35.3994c-5.4707 4.09961 -14.7441 10.1475 -20.7002 13.5c3 0.700195 1 1.2002 -5.40039 1.2002c-6.39941 0.200195 -13 0.700195 -19.3994 1.2002v-3 +c-8.67773 -1.375 -20.0127 -8.18457 -25.3008 -15.2002h-1.19922l-5.40039 -3.40039c-1.2002 2.90039 0 6.30078 4.2002 9.30078l10.5996 11.2998l-3.39941 -0.5l2 3.39941c-2.30078 0.200195 -4.2002 0.5 -6.2002 0.700195l-0.5 1.2002l2.5 1.7002 +c2.2002 -0.200195 4.59961 -0.5 7.09961 -0.700195c2.52539 1.3457 6.89746 2.43848 9.75879 2.43848c1.18359 0 3.08301 -0.196289 4.24121 -0.438477l2.5 -1.2002l0.200195 -0.5c6.50488 0.421875 16.9883 1.7207 23.4004 2.90039 +c20.6992 2.89941 36.6992 11.2998 48.5 24.7998l-21.1006 0.5c-25.7998 0.5 -49.3994 -5.40039 -71.2998 -18.9004l-2.5 2.5l0.5 4.7002l1.7002 7.10059c1.37695 7.08105 4.24414 18.415 6.39941 25.2998c-1.69922 -0.700195 -4.59961 -4.90039 -9.2998 -11.2998 +c-4.7002 -6.40039 -8.39941 -13 -10.0996 -19.4004c-0.905273 -4.24512 -3.54785 -10.6514 -5.90039 -14.2998l-13.5 29l8.40039 -35.7998l-0.5 -1.7002h-0.015625c-4.51953 0 -11.6807 1.12012 -15.9844 2.5c-3.40039 0.700195 -10.6006 1.2002 -20.9004 1.2002 +c0.5 0 -0.700195 0 -3.2002 -0.5c5.40039 -1.30078 13.5 -4.2002 24.8008 -8.40039l6.39941 1.2002c-4.2002 -3.40039 -10.8994 -10.1006 -20.2002 -19.4004c-9.39941 -8.89941 -20.1992 -26.0996 -32.5 -50.2002l4.2002 1.2002l10.1006 9.2998l-5.40039 -4.69922 +l13 12.2998l-2.5 -3.40039c-5.09961 -7.59961 -8.09961 -12.2998 -9.2998 -15.2002zM367.5 -25.0996c8.2998 40.2998 3.59961 55.1992 -0.700195 89.5c-35.5 -11.8008 -20.2998 -6 -32 -10.8008l10.5 -14.1992l-1.2002 -1.2002c-20.1992 6 -23.1992 10.7998 -27.7998 15 +c6 -22.2002 13.9004 -26.4004 29.5 -31.7002c-9.5 -9.59961 -25.3994 4 -34.3994 13l2.5 -23.5996l-4.2002 -3c-5 22.0996 -22 39.0996 -25.2998 39.0996c-44 -13 -79.1006 -5.7998 -113.9 10.5996c-1.59961 -0.399414 -70.5996 -18 -120.5 37.1006 +c13.7002 -35 32.2998 -63.7002 71.2998 -82.6006c-4.13574 8.56934 -13.4102 20.4863 -20.7002 26.6006c0 0 0.700195 3.7002 1.2002 10.0996c19.4004 -19.3994 50.7002 -39.5 93.2002 -60.2002c-59.5996 24.5 -59.9004 24.8008 -69.0996 29l16 -20.6992 +c-3 -1.30078 -6.7002 -0.5 -10.1006 1.19922c-10.3359 6.03809 -26.1943 17.1484 -35.3994 24.8008c1.89941 -2.2002 80.0996 -98.5 200.899 -74.3008c-43.0996 21.8008 -52.3994 52.4004 -66.5996 73.5l17.7002 -7.59961l-11.8008 23.0996 +c20.1006 -27.7998 28.6006 -35 38.4004 -44.2998l-30 16.5c12.5996 -27.0996 33.7002 -47 63.5 -58.7998c2.90039 1.5 9.09961 -1.09961 59 23.9004zM482.8 189.3l8.93066 -12.7998l-12.3008 32.5c10.9004 0 10 -0.0996094 21.2002 -3.40039 +c-6.72168 9.44824 -18.8184 23.7842 -27 32l-26.5996 23.1006l1.2002 3l23.5996 2.5c-9.00293 1.98535 -23.7871 3.86719 -33 4.2002l-17.7002 -0.5l-0.5 2.89941l14.7998 13l-41.7998 -20.2002l-12.2998 18.9004l3.40039 -16l-2.5 -1.2002l-5.90039 4.2002h-10.0996 +l5.39941 -4.2002v-2l-13.5 -27.7998c-10.0996 -31.2002 -21.8994 -67.9004 -35.3994 -109.7l1.19922 16l-1.19922 -3v-0.5c-6.40039 -16 -13.6006 -29.5 -21.2002 -39.5996l9.2998 21.8994l-46.7002 -20.1992c11.7998 13.5 23.6006 19.3994 34.9004 18.8994 +c-71.2002 11.4004 -106.2 41 -110.4 46c3.60059 -6.2002 13.2002 -17.7998 16 -40.0996l-1.7002 -1.2002c-4.2998 15.5996 -16.3994 46.5996 -55.7998 69.5996l23.6006 -2.5c-10.5 12.6006 -36.3008 17.8008 -40.8008 16l-2.5 2.5l8.40039 8.40039l-22.2998 -5.7998 +l5.39941 13.5c-8.09961 -4.40039 -4.2998 -2.40039 -17 -8.90039l-1.69922 0.5c0.599609 0.600586 0.899414 -0.700195 -3 9.2998c-0.600586 -11 -0.400391 -8.59961 -1 -11.7998c-1.07324 -0.355469 -2.73145 -1.11719 -3.7002 -1.7002c-40 20.6006 -57.2002 11 -73 5.2002 +c36.7998 -6 29.2998 -4 38.3994 -9.2998c-25.7998 -12.2002 -31.8994 -12.5996 -51.3994 -70.0996l22.2695 22.2998l2.5 -16.4004c13.4004 -58 68.7002 -92.5 126.4 -83.3994l-26.1006 22.3994l44.8008 -22.3994l-1.2002 -3c4.59961 -1.7002 9.2998 -3 13.5 -4.2002 +c16.4727 -4.87598 43.7852 -8.83203 60.9648 -8.83203c8.94727 0 23.3887 1.08887 32.2354 2.43164l-32.5 21.2002c35.7998 -7 50.6992 -31.4004 56.7998 -39.5996l-7.60059 29l1.2002 2.5l19 -27.9004l-9.2998 26.5996l21.9004 -13.5h1.19922l-3.39941 4.2002 +l7.09961 -4.7002l-14.2998 16l1.2002 3l7.59961 -7.09961c4.2998 1.2002 41.4004 10.5 80.9004 40.2998c47.8994 35.4004 68.0996 73.7998 71.5996 79.7002l-3 9.2998zM476.7 260.6l-18.2002 -1.19922l14.2998 -11.8008zM221.9 253.5 +c2.69922 -5.09961 5.69922 -12.4004 18.3994 -18.7998c-7.5 -10.9004 -8.2998 -10.5 -20.2002 -16c-7.59961 -7.7002 -13.5 -13.1006 -17.6992 -14.7998l7.09961 13c-4.61914 -1.69336 -12.3604 -3.06641 -17.2793 -3.06641c-2.08789 0 -5.45703 0.25293 -7.52051 0.566406 +l-0.5 1.19922c19 2.10059 37.2002 9.40039 46.5 16c-4.10059 4.2002 -7.10059 11.3008 -8.7998 21.9004zM225.6 355.8c4.92578 -2.78809 11.3486 -8.9707 14.3008 -13.7998c14.6992 -24.0996 19.1992 -40.0996 11.2998 -47.7002 +c-7.90039 -7.59961 -16.7998 -7.09961 -26.1006 3c-9.2998 10.1006 -13.5 23.7002 -11.7998 39.6006c1.7002 15.8994 5.90039 22.2998 12.2998 18.8994zM220.9 309.5c7.09961 -21.2998 33.3994 -23.0996 26.8994 4.90039c-3.89941 16.5 -8.7998 27.0996 -15.2002 32.5 +c-6.59961 5.39941 -10.0996 6.69922 -11.2998 4.19922c-2.5 -2.89941 -3.5 -11.2998 -3 -24.7998c7.5 12.7998 11.6006 5.90039 12.5 4.7002l-0.5 -0.5c-0.799805 -1.7002 -2.59961 -3.09961 1.7002 -6.2002l1.2002 0.5v-4.7002 +c-1.7998 -12.5 -6.90039 -12.7998 -12.2998 -10.5996zM175.9 315c-2.09375 0.388672 -4.49707 2.27051 -5.40039 4.2002c-3.5 8.5 0 21.2002 8.09961 21.2002c2 -0.5 3.7002 -1.7002 5.40039 -4.7002c-1.5 -0.400391 -4.7002 -4.7998 0.700195 -5.90039h0.5 +c0 -13.7002 -7.7002 -15.0996 -9.2998 -14.7998zM216 365.1l-3.7002 2.40039l-0.5 2.5c18.2998 0 25.7998 -8.7998 28.2998 -14.2998c-6.0459 3.29688 -16.542 5.97266 -23.4297 5.97266c-0.737305 0 -1.93359 -0.0322266 -2.66992 -0.0732422l-0.5 3zM144.2 315.7 +c1.59961 -1.60059 0.599609 -0.299805 4.89941 -6.60059c-25.3994 -4.69922 -23.1992 -12.2998 -30 -12.2998c0.300781 0.600586 7.10059 16 23.6006 16l-7.10059 7.60059c9.40039 0.5 15.2002 2.09961 19.9004 -5.90039c0.0175781 6.60938 1.31641 17.1826 2.90039 23.5996 +c2 7.60059 3.69922 11.8008 5.39941 13.5c1 1.5 16.2998 15.7002 29 22.4004c2.05469 1.48047 5.77637 2.68262 8.30859 2.68262c1.48438 0 3.81055 -0.44043 5.19141 -0.982422c0.285156 -0.345703 0.515625 -0.989258 0.515625 -1.43652 +c0 -0.0732422 -0.00683594 -0.191406 -0.015625 -0.263672l-13 -7.59961c7.60059 -11.8008 10.5 -25.3008 8.7998 -41.3008c-0.932617 -9.45898 -7.5625 -22.1377 -14.7998 -28.2998l2.90039 -4.7002c-30 2.2002 -24.7998 6.80078 -46.5 23.6006zM162.9 334.4 +c-1.80078 -7.2002 -2.30078 -16 -3.10059 -26l5.40039 -6.40039l7.09961 -3.40039c2.01465 -0.384766 5.31445 -0.697266 7.36523 -0.697266c1.08887 0 2.85156 0.0888672 3.93457 0.197266c1 1.7002 3.5 4.2002 6.40039 7.60059c5 5.89941 7.90039 13.7998 8.40039 23.0996 +c0.0703125 1.18262 0.126953 3.10449 0.126953 4.28906c0 5.92773 -1.40137 15.3408 -3.12695 21.0107c-3 8.10059 -5.90039 11 -10.1006 9.30078c-5.39941 -1.7002 -10.5996 -5.40039 -16 -11.8008c-3 -4.19922 -5.2002 -9.59961 -6.39941 -17.1992zM204.9 278.3 +l-3.10059 -6.5c7.10059 4.2002 13.5 7.2002 19.4004 8.40039l7.09961 0.5l11.7998 -7.60059h-2.5c-8.7998 3.7002 -19.3994 1.2002 -30.6992 -7.59961c-0.5 -4.7002 1.69922 -14.7002 5.89941 -29.5l9.2002 0.5c-21.9004 -6.59961 -37.5996 -8.40039 -48.9004 -5.40039 +c-24.8994 6.7002 -27.3994 23.6006 -27.5 24.1006c-1.47754 5.69238 -2.67676 15.0869 -2.67676 20.9688c0 3.53418 0.438477 9.23828 0.977539 12.7314c-6.40039 -0.5 -11 -4.2002 -15.2002 -10.6006c-2.90039 5.90039 -5.40039 8.7998 -5.90039 9.2998 +c1.5 0.700195 12.2998 7.5 32.5 4.90039l0.5 -2.5l-5.89941 -1.2002c-0.100586 -0.399414 -1.90039 -29.5 18.8994 -24.7998c1.40039 0.299805 1.2998 -0.0996094 36.1006 14.2998z" /> + <glyph glyph-name="acquisitions-incorporated" unicode="&#xf6af;" horiz-adv-x="384" +d="M357.45 -20.2002c2.2002 -14.2998 4.09961 -28.7002 6.59961 -43.7002h-337.1c-4 0 -6.10059 0.700195 -5.2998 5.7002c2.09961 12.9004 3.5 25.9004 5 38.7998c0.5 4.80078 2.2998 6.80078 7.59961 6.80078c118.1 -1 114.9 -0.300781 121.4 2.39941 +c9.39941 4 14.8994 12.9004 14.8994 23.1006c-0.0996094 42.8994 -0.299805 85.8994 -0.200195 128.8c0 3.7998 -1.19922 5.89941 -4.59961 6.7998c-15.7002 3.90039 -31.2998 7.7002 -47.5996 11.7002c-5.30078 -12.2998 -10.4004 -24.4004 -15.7002 -36.7002 +c1.7998 -3.2998 28.3994 -2.90039 35.2998 -2.90039v-27.5996h-114.3c1 8.59961 1.7002 16.7998 3.2002 24.9004c0.299805 1.39941 3.59961 3.09961 5.5 3.19922c8.39941 0.400391 16.8994 0.300781 25.3994 0.100586c4 0 5.90039 1.09961 7.60059 5.2002 +c16.5996 40.6992 13.5 31.1992 67.2998 161c31.5 76.0996 33 76 32.5996 87.3994c-0.700195 18.6006 -25.3994 22.2998 -37.7002 22.1006c-30 -0.400391 -38.3994 0.5 -101.8 0.5c-7.2002 44.5 -4.2002 32.0996 -6.39941 45.2998c-0.700195 4.2002 1 5.2998 4.59961 5.2998 +l339.1 -0.200195c-0.799805 -5.39941 -1.59961 -10.7998 -2.39941 -16.0996c-1.2998 -9.7002 -2.7998 -19.4004 -4 -29.2002c-0.299805 -2.90039 -1.2002 -4.2998 -4.2998 -4.2998c-20.6006 -0.100586 -41.2002 -0.100586 -61.8008 -0.5 +c-18.6992 -0.400391 -37.5996 -0.299805 -56.1992 -2c-13.4004 -1.2002 -23.3008 -12.6006 -18.9004 -26.6006c8.59961 -27.0996 27.7002 -69.0996 36.5 -89.1992c65.7002 -154.2 61.4004 -157 84 -158.601c6.59961 -0.5 13.4004 -0.0996094 20.4004 -0.0996094 +c1.2998 -9.40039 2.59961 -18 4 -27.5h-116v27c10.3994 0 20.3994 0.0996094 30.3994 -0.100586c3.5 0 5 0.700195 3.40039 4.40039c-4.40039 10.2998 -8.7002 20.5996 -13.2002 30.9004c-1.59961 3.69922 -4.09961 4.7998 -8.40039 3.5 +c-12.3994 -3.60059 -24.7998 -6.7002 -37.2998 -9.7002c-4.2998 -1.10059 -6 -2.7998 -5.89941 -7.5c0.799805 -57.5 0.899414 -127.5 1 -129.101c0.399414 -12.5996 8.69922 -21.3994 21 -23.0996c0.899414 -0.200195 12.8994 -2.7998 112.699 -2.59961 +c8.30078 0 8.40039 0.0996094 9.60059 -7.60059zM182.55 185.5c2.46484 -0.869141 6.58691 -1.5752 9.2002 -1.5752s6.73535 0.706055 9.2002 1.5752c13 4.2002 26.2998 7.7998 39.3994 11.7002c1.1123 0.512695 2.86035 1.45312 3.90039 2.09961 +c-6.7002 17.4004 -13.0996 34.2002 -19.7002 50.9004c-8.89941 22.7002 -17.7002 60.2998 -27 82.7998c-1.5 0.799805 -1.89941 -2.40039 -9.39941 0c-17.1006 -44 -34.1006 -87.7998 -51.3008 -132.1c1.54297 -0.917969 4.1416 -2.2168 5.80078 -2.90039 +c13.2998 -4.2998 26.5996 -8.2998 39.8994 -12.5z" /> + <glyph glyph-name="critical-role" unicode="&#xf6c9;" +d="M225.82 448c0.259766 -0.150391 216.569 -124.51 217.12 -124.72c3 -1.18066 3.69922 -3.45996 3.69922 -6.56055c-0.0732422 -83.4463 -0.0732422 -166.899 0 -250.359c0.00976562 -0.124023 0.0175781 -0.326172 0.0175781 -0.450195 +c0 -2.06836 -1.52148 -4.45703 -3.39746 -5.33008c-21.3701 -12 -207.859 -118.29 -218.93 -124.58h-3c-79.3301 45.6602 -218.25 125.44 -218.4 125.52c-1.04297 0.491211 -1.89062 1.8252 -1.89062 2.97754c0 0.0732422 0.00488281 0.19043 0.0107422 0.262695 +c0 0.870117 0 225.94 -0.0498047 253.101c-0.0078125 0.102539 -0.0136719 0.269531 -0.0136719 0.37207c0 1.78223 1.31836 3.82422 2.94336 4.55762c23.2607 13.0996 209.271 119.21 220.141 125.21h1.75zM215.4 427.58l-0.219727 0.158203 +c-64.7471 -36.8604 -129.474 -73.7305 -194.18 -110.61c0 -0.120117 0.0800781 -0.229492 0.129883 -0.349609l30.8604 -11.6406c-7.70996 -6 -8.32031 -6 -10.6504 -5.12988c-0.0996094 0 -24.1699 9.28027 -26.7998 10v-230.43 +c0.879883 1.41016 64.0703 110.91 64.1299 111c1.62012 2.82031 3 1.91992 9.12012 1.51953c1.40039 -0.0898438 1.47949 -0.219727 0.780273 -1.41992c-41.1904 -71.3301 -36.4004 -63 -67.4805 -116.939c-0.80957 -1.40039 -0.609375 -1.12988 1.25 -1.12988h186.5 +c1.44043 0 1.69043 0.229492 1.7002 1.63965v8.87988c0 1.33984 2.36035 0.810547 -18.3701 1c-7.45996 0.0703125 -14.1396 3.21973 -21.3799 12.7002c-7.37988 9.66016 -14.6201 19.4297 -21.8496 29.21c-2.28027 3.08008 -3.4502 2.37988 -16.7607 2.37988 +c-1.75 0 -1.7793 0 -1.75977 -1.82031c0.290039 -26.21 0.150391 -25.2695 1 -32.6592c0.520508 -4.37012 2.16016 -4.2002 9.69043 -4.81055c3.13965 -0.259766 3.87988 -4.08008 0.519531 -4.91992c-1.57031 -0.389648 -31.5996 -0.509766 -33.6699 0.0996094 +c-0.982422 0.269531 -1.78027 1.31543 -1.78027 2.33398c0 1.16016 0.931641 2.2334 2.08008 2.39648c3.29004 0.759766 6.16016 -0.80957 6.66016 4.44043c1.2998 13.6592 1.16992 9 1.09961 79.4199c0 10.8193 -0.349609 12.5801 -5.35938 13.5498 +c-1.21973 0.240234 -3.54004 0.160156 -4.69043 0.549805c-2.87988 1 -2 4.83984 1.77051 4.84961c33.6699 0 46.0801 1.07031 56.0596 -4.85938c7.74023 -4.61035 12 -11.4805 12.5098 -20.4004c0.880859 -14.5898 -6.50977 -22.3496 -15 -32.5898 +c-0.282227 -0.241211 -0.510742 -0.738281 -0.510742 -1.11035c0 -0.371094 0.228516 -0.868164 0.510742 -1.10938c2.60059 -3.25 5 -6.62988 7.70996 -9.83008c27.5605 -33.2305 24.1104 -30.54 41.2803 -33.0605c0.890625 -0.129883 1 0.419922 1 1.15039v11 +c0 1 0.320312 1.42969 1.41016 1.25977c2.98633 -0.454102 7.86133 -0.822266 10.8818 -0.822266c3.53223 0 9.2207 0.50293 12.6982 1.12207c1.08008 0.150391 1.5 -0.199219 1.47949 -1.33008c0 -0.109375 0.880859 -26.6895 0.870117 -26.7998 +c-0.0498047 -1.51953 0.669922 -1.62012 1.89062 -1.62012h186.71c-27.1533 47.0342 -54.2334 93.9746 -81.2402 140.821c2.25977 0.660156 -0.400391 0 6.69043 1.38965c2 0.390625 2.0498 0.410156 3.10938 -1.43945c7.31055 -12.6396 77.3105 -134 77.3701 -134.061 +v230.44c-1.71973 -0.5 -103.3 -38.7197 -105.76 -39.6797c-1.08008 -0.419922 -1.5498 -0.200195 -1.91016 0.879883c-0.629883 1.89941 -1.33984 3.75977 -2.08984 5.62012c-0.320312 0.790039 -0.0898438 1.12988 0.649414 1.38965 +c0.100586 0 95.5303 35.8496 103 38.7705c-65.4199 37.5693 -130.56 75 -196 112.6l86.8203 -150.39l-0.280273 -0.330078c-9.56934 0.899414 -10.46 1.59961 -11.7998 3.93945c-1 1.69043 -73.5 127.71 -82 142.16c-9.09961 -14.6699 -83.5596 -146.21 -85.3701 -146.32 +c-2.92969 -0.169922 -5.87988 -0.0800781 -9.25 -0.0800781c28.833 49.8271 57.5596 99.4941 86.1797 149.001zM267.331 297.658c1.54688 0.120117 4.02832 0.500977 5.54004 0.849609c1.68945 0.299805 2.53027 -0.200195 2.59961 -1.91992 +c0 -0.109375 0.0703125 -19.0596 -0.859375 -20.4502c-0.930664 -1.38965 -1.87988 -1.21973 -2.60059 0.19043c-5 9.68945 6.2207 9.66016 -39.1201 12c-0.699219 0 -1 -0.230469 -1 -0.929688c0 -0.130859 3.7207 -122 3.73047 -122.11 +c0 -0.889648 0.519531 -1.2002 1.20996 -1.50977c2.46484 -0.980469 6.3623 -2.79492 8.7002 -4.0498c7.30957 -4.33008 11.3799 -10.8408 12.4102 -19.3105c1.43945 -11.7998 -2.77051 -35.7695 -32.21 -37.1396c-2.75 -0.129883 -28.2607 -1.08008 -34.1406 23.25 +c-4.66016 19.2598 8.25977 32.7002 19.8906 36.3994c1.11035 0.202148 2.0127 1.28223 2.0127 2.41113c0 0.0683594 -0.00585938 0.180664 -0.0126953 0.249023c0.0996094 5.62988 3 107.101 3.70996 121.351c0.0498047 1.0791 -0.620117 1.15918 -1.35059 1.14941 +c-32.3496 -0.519531 -36.75 0.339844 -40.2197 -8.51953c-2.41992 -6.18066 -4.13965 -1.32031 -3.9502 -0.230469c1.05957 6 2.16309 12 3.31055 18c0.399414 2.11035 1.42969 2.61035 3.42969 1.86035c5.58984 -2.11035 6.71973 -1.7002 37.25 -1.91992 +c1.72949 0 1.78027 0.0800781 1.82031 1.84961c0.679688 27.4902 0.579102 22.5898 1 29.5498c0.00976562 0.0878906 0.0185547 0.231445 0.0185547 0.320312c0 0.986328 -0.738281 2.09766 -1.64941 2.48047c-5.59961 2.90918 -8.75 7.5498 -8.89941 13.8691 +c-0.350586 14.8105 17.7197 21.6699 27.3799 11.5107c6.83984 -7.19043 5.7998 -18.9102 -2.4502 -24.1504c-1.24316 -0.68457 -2.25195 -2.3916 -2.25195 -3.81055c0 -0.146484 0.0146484 -0.383789 0.0322266 -0.529297c0 -0.589844 -0.110352 4.30957 1 -30.0498 +c0 -0.900391 0.429688 -1.12012 1.24023 -1.11035c0.0996094 0 23 0.0898438 34.4697 0.370117zM68.2705 306.298c19.8408 4.50977 32.6807 0.560547 52.4902 -1.68945c2.75977 -0.310547 3.74023 -1.2207 3.62012 -4c-0.209961 -5 -1.16016 -22.3301 -1.24023 -23.1504 +c-0.0371094 -0.932617 -0.767578 -1.98145 -1.62988 -2.33984c-4.05957 -1.7002 -3.60938 4.4502 -4 7.29004c-3.12988 22.4297 -73.8701 32.7002 -74.6299 -25.4004c-0.30957 -23.9199 17 -53.6299 54.0801 -50.8799c27.2402 2 19 20.1904 24.8398 20.4697 +c0.0996094 0.0136719 0.261719 0.0244141 0.362305 0.0244141c1.50195 0 2.7207 -1.21875 2.7207 -2.71973c0 -0.186523 -0.0371094 -0.483398 -0.0830078 -0.664062c-1.83008 -10.8506 -3.41992 -18.9502 -3.4502 -19.1504 +c-1.54004 -9.16992 -86.6992 -22.0898 -93.3496 42.0605c-2.70996 25.8496 10.4404 53.3691 40.2695 60.1494zM148.271 218.628h-19.4893c-0.0576172 -0.00488281 -0.151367 -0.00878906 -0.208984 -0.00878906c-1.04102 0 -2.13867 0.805664 -2.45117 1.79883 +c2.37988 3.75 5.88965 -0.919922 5.86035 6.13965c-0.0800781 25.75 0.209961 38 0.229492 40.1006c0 3.41992 -0.530273 4.64941 -3.32031 4.93945c-7 0.720703 -3.10938 3.37012 -1.10938 3.38086c11.8398 0.0996094 22.6201 0.179688 30.0498 -0.720703 +c8.76953 -1.06934 16.71 -12.6299 7.92969 -22.6201c-2 -2.25 -4 -4.41992 -6.13965 -6.72949c0.950195 -1.15039 6.89941 -8.82031 17.2803 -19.6797c2.65918 -2.78027 6.14941 -3.51074 9.87988 -3.13086h0.0214844c1.1709 0 2.16016 0.950195 2.20801 2.12012 +c0.299805 3.41992 0.259766 -4.72949 0.450195 40.5801c0 5.65039 -0.339844 6.58008 -3.22949 6.83008c-3.9502 0.350586 -4 2.25977 -0.69043 3.37012l19.0898 0.0898438c0.320312 0 4.49023 -0.530273 1 -3.37988c0 -0.0498047 -0.160156 0 -0.240234 0 +c-3.60938 -0.259766 -3.93945 -1 -4 -4.62012c-0.269531 -43.9297 0.0703125 -40.2295 0.410156 -42.8203c0.110352 -0.839844 0.270508 -2.22949 5.10059 -2.13965c2.48926 0 3.85938 -3.37012 0 -3.39941c-10.3701 -0.0800781 -20.7402 0 -31.1104 -0.0703125 +c-10.6699 0 -13.4697 6.2002 -24.21 20.8203c-1.59961 2.17969 -8.31055 2.35938 -8.2002 0.369141c0.879883 -16.4697 0 -17.7793 4 -17.6699c4.75 0.100586 4.73047 -3.56934 0.830078 -3.5498h0.0595703zM423.271 228.778 +c-1.20996 -7.12988 0.170898 -10.3799 -5.2998 -10.3398c-61.5498 0.419922 -47.8193 0.219727 -50.7197 0.30957c-1.02246 0.100586 -2.64844 0.426758 -3.62988 0.730469c-2.53027 0.599609 1.47949 1.22949 -0.379883 5.59961 +c-1.43066 3.37012 -2.78027 6.78027 -4.11035 10.1895c-0.210938 0.797852 -1.05078 1.44434 -1.875 1.44434c-0.0351562 0 -0.0908203 -0.00195312 -0.125 -0.00390625c-1.82812 0.0878906 -4.79785 0.15918 -6.62793 0.15918 +c-2.19727 0 -5.75879 -0.102539 -7.95215 -0.229492c-0.587891 -0.0771484 -1.31348 -0.551758 -1.62012 -1.05957c-1.58008 -3.62012 -3.06934 -7.29004 -4.50977 -11c-1.26953 -3.23047 7.86035 -1.32031 12.1904 -2.16016c3 -0.570312 4.5293 -3.71973 0.65918 -3.72949 +h-26.3691c-2.91992 0 -3.09082 3.14941 -0.740234 3.20996c0.0791016 -0.00390625 0.208008 -0.00683594 0.288086 -0.00683594c2.14648 0 4.66992 1.55762 5.63184 3.47656c1.5 3 2.7998 6 4.11035 9.08984c18.1797 42.1396 17.0596 40.1699 18.4199 41.6104 +c0.300781 0.431641 0.973633 0.78125 1.5 0.78125s1.19824 -0.349609 1.5 -0.78125c2.92969 -3.33984 18.3994 -44.71 23.6201 -51.9199c2 -2.7002 5.73926 -2 6.35938 -2c3.61035 -0.130859 4 1.10938 4.12988 4.29004 +c0.0898438 1.86914 0.0800781 -1.1709 0.0703125 41.2393c0 4.45996 -2.36035 3.74023 -5.5498 4.27051c-0.259766 0 -2.56055 0.629883 -0.0800781 3.05957c0.209961 0.200195 -0.890625 0.240234 21.7002 0.150391c2.31934 0 5.31934 -2.75 -1.20996 -3.4502 +c-0.0322266 0.000976562 -0.0830078 0.00292969 -0.115234 0.00292969c-1.41309 0 -2.55957 -1.14746 -2.55957 -2.56055c0 -0.0751953 0.00683594 -0.197266 0.0146484 -0.272461c-0.0703125 -1.62988 -0.19043 -38.8896 0.290039 -41.21 +c0.27832 -1.34668 1.62109 -2.43848 2.99609 -2.43848c0.0644531 0 0.168945 0.00390625 0.233398 0.00878906c13.25 -0.430664 14.9199 -0.44043 16 3.41016c1.66992 5.7793 4.12988 2.51953 3.73047 0.189453zM318.551 164.408 +c-4.24023 0 -4.41992 3.38965 -0.609375 3.41016c35.9092 0.160156 28.1094 -0.379883 37.1895 0.649414c1.67969 0.19043 2.37988 -0.239258 2.25 -1.88965c-0.259766 -3.38965 -0.639648 -6.78027 -1 -10.1602c-0.25 -2.16016 -3.2002 -2.61035 -3.39941 0.150391 +c-0.380859 5.30957 -2.15039 4.44922 -15.6309 5.08008c-1.58008 0.0693359 -1.63965 0 -1.63965 -1.52051v-16.1299c0 -1.65039 0 -1.59961 1.62012 -1.46973c3.12012 0.25 10.3096 -0.339844 15.6895 1.51953c0.470703 0.160156 3.30078 1.79004 3.07031 -1.75977 +c0 -0.209961 -0.759766 -10.3496 -1.17969 -11.3896c-0.530273 -1.29004 -1.87988 -1.51074 -2.58008 -0.320312c-1.16992 2 0 5.08008 -3.70996 5.2998c-15.4199 0.900391 -12.9102 2.5498 -12.9102 -6c0 -12.25 -0.759766 -16.1104 3.88965 -16.2402 +c16.6406 -0.479492 14.4004 0 16.4307 5.70996c0.839844 2.37012 3.5 1.77051 3.17969 -0.580078c-0.44043 -3.20996 -0.849609 -6.42969 -1.22949 -9.63965c0 -0.360352 -0.160156 -2.39941 -4.66016 -2.38965c-37.1602 0.0800781 -34.54 0.189453 -35.21 0.30957 +c-2.7207 0.509766 -2.2002 3 0.219727 3.4502c1.09961 0.19043 4 -0.540039 4.16016 2.55957c2.43945 56.2207 -0.0703125 51.3408 -3.91016 51.3301zM318.141 273.928c2.45996 -0.609375 3.12988 -1.75977 2.9502 -4.64941 +c-0.330078 -5.2998 -0.339844 -9 -0.549805 -9.69043c-0.660156 -2.22949 -3.15039 -2.12012 -3.33984 0.270508c-0.379883 4.80957 -3.0498 7.81934 -7.57031 9.14941c-26.2803 7.73047 -32.8096 -15.46 -27.1699 -30.2197c5.87988 -15.4102 22 -15.9199 28.8604 -13.7803 +c5.91992 1.85059 5.87988 6.5 6.91016 7.58008c1.22949 1.2998 2.25 1.83984 3.11914 -1.09961c0 -0.100586 0.570312 -11.8906 -6 -12.75c-1.59961 -0.209961 -19.3799 -3.69043 -32.6797 3.38965c-21 11.1904 -16.7402 35.4697 -6.87988 45.3301 +c14 14.0596 39.9102 7.05957 42.3203 6.46973h0.0292969zM289.801 167.858c3.28027 0 3.66016 -3 0.160156 -3.43066c-2.61035 -0.319336 -5 0.419922 -5 -5.45996c0 -2 -0.19043 -29.0498 0.400391 -41.4502c0.109375 -2.28906 1.14941 -3.51953 3.43945 -3.64941 +c22 -1.20996 14.9502 1.64941 18.79 6.33984c1.83008 2.24023 2.75977 -0.839844 2.75977 -1.08008c0.350586 -13.6201 -4 -12.3896 -5.18945 -12.3994l-38.1602 0.189453c-1.92969 0.230469 -2.05957 3 -0.419922 3.37988c2 0.480469 4.93945 -0.399414 5.12988 2.7998 +c1 15.8701 0.570312 44.6504 0.339844 47.8105c-0.269531 3.76953 -2.7998 3.26953 -5.67969 3.70996c-2.46973 0.379883 -2 3.21973 0.339844 3.21973c1.4502 0.0205078 17.9697 0.0302734 23.0898 0.0205078zM258.171 225.648 +c0.0703125 -4.08008 2.86035 -3.45996 6 -3.58008c2.61035 -0.100586 2.53027 -3.41016 -0.0703125 -3.43066c-6.47949 0 -13.6992 0 -21.6094 0.0605469c-3.83984 0 -3.37988 3.34961 0 3.37012c4.49023 0 3.24023 -1.61035 3.41016 45.54 +c0 5.08008 -3.27051 3.54004 -4.7207 4.22949c-2.58008 1.23047 -1.35938 3.08984 0.410156 3.15039c1.29004 0 20.1904 0.410156 21.1699 -0.209961c0.980469 -0.620117 1.87012 -1.65039 -0.419922 -2.86035c-1 -0.519531 -3.85938 0.280273 -4.14941 -2.46973 +c0 -0.209961 -0.820312 -1.62988 -0.0703125 -43.7998h0.0498047zM221.261 -48.6221c0.408203 -0.273438 1.13867 -0.495117 1.62988 -0.495117c0.492188 0 1.22168 0.22168 1.62988 0.495117c17 9.79004 182 103.57 197.421 112.51 +c-0.140625 0.430664 11.2598 0.180664 -181.521 0.270508c-1.21973 0 -1.57031 -0.370117 -1.53027 -1.56055c0 -0.0996094 1.25 -44.5098 1.2207 -50.3799c-0.0791016 -2.17969 -0.688477 -5.63379 -1.36035 -7.70996c-0.549805 -1.83008 0.379883 0.5 -13.5 -32.2295 +c-0.730469 -1.7207 -1 -2.20996 -2 0.0800781c-4.19043 10.3398 -8.28027 20.7197 -12.5703 31c-1.12109 2.52441 -2.03125 6.81543 -2.03125 9.57812c0 0.333984 0.0146484 0.876953 0.03125 1.21191c0.160156 2.45996 0.800781 16.1191 1.51074 48c0 1.94922 0 2 -2 2 +h-183c2.5791 -1.63086 178.319 -102.57 196 -112.761zM130.361 140.128c0 -2.39941 0.359375 -2.79004 2.75977 -3c11.54 -1.16992 21 -3.74023 25.6396 7.32031c6 14.46 2.66016 34.4102 -12.4795 38.8398c-2 0.589844 -16 2.75977 -15.9404 -1.50977 +c0.0498047 -8.04004 0.00976562 -11.6104 0.0205078 -41.6504zM236.111 155.178c0 -2.12988 1.06934 -38.6797 1.08984 -39.1299c0.339844 -9.93945 -25.5801 -5.76953 -25.2305 2.58984c0.0800781 2 1.37012 37.4199 1.10059 39.4307 +c-14.1006 -7.44043 -14.4199 -40.21 6.43945 -48.8008c1.88184 -0.816406 5.0752 -1.47949 7.12695 -1.47949c5.53418 0 12.3721 3.83008 15.2637 8.5498c4.90918 7.75977 6.83984 29.4697 -5.43066 39c-0.0966797 -0.0400391 -0.257812 -0.09375 -0.359375 -0.120117 +v-0.0400391zM223.831 353.178c-9.83008 0 -9.73047 -14.75 -0.0703125 -14.8701c9.66016 -0.119141 10.1006 14.8809 0.0703125 14.9102v-0.0400391zM143.681 249.348c0 -1.7998 0.410156 -2.39941 2.16992 -2.58008c13.6201 -1.38965 12.5107 11 12.1602 13.3604 +c-1.68945 11.2197 -14.3799 10.2002 -14.3496 7.81055c0.0498047 -4.5 -0.0302734 -13.6807 0.0195312 -18.5908zM356.001 242.948l-6.09961 15.8398c-2.16016 -5.48047 -4.16016 -10.5703 -6.23047 -15.8398h12.3301z" /> + <glyph glyph-name="d-and-d-beyond" unicode="&#xf6ca;" horiz-adv-x="640" +d="M313.8 206.5c-9.89941 0 -16 7 -15.7002 7.09961c-4.2998 5.7002 -3 -0.299805 -2.39941 -1.89941c-10.9004 10.2998 -5.2998 25.3994 -5.10059 26c0.700195 1.89941 0 2.2002 -0.599609 1.89941c-1 -0.299805 -2.09961 -1.89941 -2.09961 -1.89941 +c0.799805 9.09961 9.2998 14.7002 9.2998 14.7002l0.200195 -0.200195c1 -1.5 -0.400391 -3.2002 -0.600586 -9c1.60059 2.2998 7.90039 6.59961 11.4004 7.89941c-1.10059 -1.5 -2.10059 -3.59961 -2.10059 -6.59961c3.7002 4.2002 7.5 2.59961 8 2.40039 +c-12.1992 -11.9004 -7 -26.6006 3.2002 -26.6006c5.7002 0 11.5 6.40039 13.9004 10.7002c2.39941 -2.40039 6.39941 -5.5 7.39941 -6.59961c-3.7998 -7.80078 -11 -17.9004 -24.7998 -17.9004zM366.2 227.6c0 -2.89941 -2.90039 -4.09961 -5.40039 -4.5 +c0.700195 1.5 1.7998 5.10059 -0.200195 9c0.700195 -0.0996094 5.60059 -0.5 5.60059 -4.5zM376.5 222.4c-0.400391 -6.5 -6.90039 -11.6006 -14.5996 -10.6006c2 -1.7002 6.59961 -3 9 -1.89941c-3.90039 -6.90039 -23.1006 -7.5 -23.1006 6.39941 +c-2.89941 -2.89941 -2.09961 -7.39941 0 -9.2998c-2.2002 0.700195 -5.7998 3.09961 -6.39941 7.40039c-1.30078 10.0996 4.39941 6.5 -10.4004 18.0996c-4.7998 3.7002 -3 6.59961 -4 8.5c-1.09961 2.2002 -7 4.09961 -4.5 8.5 +c-0.0996094 -1.59961 1 -2.90039 2.59961 -3.5c1.80078 -0.700195 3.2002 -0.200195 4.80078 -1c1.69922 -1.2002 0.899414 -3.90039 2.19922 -5c1.10059 -0.799805 4.2002 0.299805 6.60059 -1.7998c2.59961 -2 8.2002 -6.7002 10.5996 -8.60059 +c4.40039 -3.59961 8.7998 0.400391 7.40039 4.60059c4.5 -2.60059 5 -9.90039 1.2998 -12.5c10.5996 -2.40039 13 10.0996 5 11.3994c7.2998 0.700195 13.5 -4.2998 13.5 -10.6992zM337.1 240.8c4.30078 6.10059 13.3008 15.2998 23.8008 15.7998 +c-5.90039 0.800781 -15.1006 -3.19922 -19.7002 -9c0.899414 3.90039 5.09961 10.1006 10.2002 13c0 0 -2.5 -3.19922 -1.40039 -3.69922c1.59961 -0.800781 5.7998 5.69922 11.2002 5.89941c0 0 -4 -2 -3.2002 -3.39941c0.599609 -0.900391 3.2998 1.2998 8 1.2998 +c5.7998 0 10.9004 -3.5 13.2998 -6.2002c-4 1.09961 -11.5996 -0.799805 -13.7998 -2.7002c-0.299805 0.200195 -11.7998 9 -22 -15.5c-4.7998 3.7998 -4.40039 3.7002 -6.40039 4.5zM579.6 188.9c37.2002 0 60.4004 -19.6006 60.4004 -48.9004 +c0 -28.2002 -17 -48.9004 -59.0996 -48.9004c-20.7002 0 -41.2002 1.30078 -51.6006 2.10059l7.40039 8.2002v77.1992l-7.40039 8.2002c10.2998 0.799805 29.6006 2.10059 50.2998 2.10059zM564.5 113.3c25.4004 -3.2002 46.7998 1.40039 46.7998 27 +c0 22.5 -16.7002 29.6006 -46.7998 26.2998v-53.2998zM301.6 267c0.100586 -0.299805 -2.7998 2.2998 -3.2998 7.5c-0.200195 2.2998 0 19.7998 20 18.9004c11.2002 -0.600586 16.7002 -8.30078 16.7002 -16.5c0 -4.30078 -2.2998 -10.1006 -5.5 -13.8008 +c-2.2002 2.2002 -5.59961 4.60059 -7.7002 7.80078c3.7998 5.59961 2.2002 14.3994 -4.7002 14.3994c-4.2998 0 -7.7998 -4.5 -6.39941 -9.89941c-0.700195 -2.40039 -1 -5.60059 -0.5 -8c-4.90039 2.59961 -6.5 6 -7.5 9c-1.2998 -2.5 -2.10059 -6 -1.10059 -9.40039z +M301.2 261c0.299805 1.7002 -3.10059 4.59961 -4.7998 5.2002c4.7998 0.200195 7 -0.600586 7 -0.600586c-1.30078 1.7002 -1.60059 4.5 -1 6.7002c2.5 -6.09961 11.6992 -7.09961 13.8994 -12.2002c-0.299805 2.30078 -2.39941 4.7002 -4.7998 6.10059 +c-1.2998 3.2002 -0.299805 9.39941 1.2998 11c-0.5 -8.7998 12 -13.7998 14.6006 -20.2002c-1.40039 5.5 -7.40039 9 -10.1006 12.2002c-1 2.09961 -0.200195 5.7998 0.799805 7.09961c-0.5 -9.7002 15.8008 -14.2998 14.1006 -23.8994 +c0.899414 -0.400391 2.09961 -1.2002 1.89941 -2.60059c1.30078 0.299805 2.60059 1.7002 2.90039 2.7002c0.700195 -4.5 -1.90039 -9 -4.7998 -10.4004c1.59961 4 -2.7002 5.60059 -6.7002 5.10059c0 0 1.59961 2.2998 1 3.39941 +c-0.799805 1.5 -8 0.800781 -11.2002 -0.299805c1.10059 0.100586 3.60059 -0.200195 4.60059 -0.5c-2.10059 -2.89941 -1 -7.09961 1.2998 -4.2002c0 0 -1.10059 -3.5 -0.299805 -4.2998c0.799805 -0.799805 2.59961 -0.200195 2.59961 -0.200195 +c-1.2002 -2.69922 -5.2998 -4.59961 -8.2002 -4.59961c1.10059 0.400391 2.7002 2.2998 3 3.40039c-0.799805 -0.5 -2.7002 -0.700195 -3.5 -0.5c6.10059 3 0 13.1992 -7 8.19922c1 2.7002 3.7002 5.30078 5.7998 6.10059c-1.2998 0.5 -2.69922 0.799805 -4.2998 1.09961 +c1.7998 1.5 6.2998 2.7998 8.5 2.60059c-3.5 0.799805 -9.89941 -0.300781 -12.7998 -3.7002c0.900391 0 3.2998 -0.5 4.2998 -0.799805c-4 -0.700195 -9.39941 -4.40039 -11 -6.2002c0.299805 2.2002 1 4.2002 0.5 5.59961c-0.799805 2 -3 2.7998 -7.7998 1.7998 +c3.2002 3.2002 9.7002 5.10059 10.2002 6.90039zM327.1 253.6c0 0 -0.899414 3 -4.19922 4.30078c0.699219 -2.2002 1.5 -4.30078 4.19922 -4.30078zM366 249.9l0.700195 0.699219c0.5 0.400391 1.59961 0.900391 2.7002 1.40039v-18.4004 +c-1.7002 0.800781 -3.5 1.10059 -5.60059 1.10059c-2.39941 0 -5 -0.5 -5 -0.5c-0.5 0.5 -3.59961 2.89941 -5.09961 3.2002c4.09961 -4.30078 0.5 -9.80078 -3 -7.2002v15.7002c0.700195 0.799805 1.2998 1.7998 2.09961 2.59961 +c1.7002 2.09961 4.60059 3.40039 7.5 3.40039c1.7998 0 3.60059 -0.400391 4.7002 -1.40039zM79.9004 142.1c22 -6.39941 19.3994 -20.0996 19.3994 -25.1992c0 -7.80078 -3.2002 -13.6006 -9.89941 -17.6006c-12.6006 -7.39941 -24.7002 -5.89941 -86.4004 -5.89941 +l8.40039 8.59961v32.2998l-11.4004 14.6006h11.2998v29.5l-8.2998 8.59961h56.0996c12.9004 0 37 -4.40039 37 -25c0 -1.90039 1 -15.2998 -16.1992 -19.9004zM38.5996 169.6v-20.8994c10.6006 0 29.6006 -3.2998 29.6006 8.7998v3 +c0 9.90039 -9.60059 9.09961 -29.6006 9.09961zM38.5996 110.4c20.4004 0 32.9004 -1.90039 32.9004 9.2998h-0.200195v4.5c0 11.0996 -20.5 8.7998 -32.7002 8.7998v-22.5996zM139.8 129.7v-15.4004l60.1006 0.200195l-14.1006 -21.2002h-81.2002l7.40039 8.2002v77.0996 +l-7.40039 8.2002l73.5 0.200195v-0.200195l14.1006 -21h-52.4004v-14.8994h37.2002l-14.0996 -21.2002v-0.200195zM354.5 189.8c73.7998 0 77.5996 -99.2998 -0.299805 -99.2998c-77.2002 0 -73.6006 99.2998 0.299805 99.2998zM354.2 112.3 +c39 0 37 55.2002 0.200195 55.2998c-37.1006 0 -37.6006 -55.2998 -0.200195 -55.2998zM262.9 120.6l0.199219 -19l7.2002 -8.19922h-42.5996l7.7002 8.19922l-0.200195 19.4004l-44.1006 65.7998h44.9004l-6.40039 -7.2002l21 -37.1992h0.300781l20.5 37.1992 +l-6.10059 7.2002h41.7002zM234.5 271.9c-9.09961 6.69922 -9.5 14.0996 -9.59961 14.8994c7.2998 -4.2998 9 -4 39.8994 -4c-5.7998 0 24 3.10059 32.2002 -22.8994c-0.400391 0 -8.40039 -4.80078 -10.4004 -7.90039c5.30078 1.90039 8.90039 1.09961 9 1.09961 +c-8 -5.09961 -9.59961 -14.7998 -9.59961 -20.5c0.900391 2.10059 2.7002 3.7002 2.7002 3.5c-0.600586 -2.5 -1.40039 -7 -0.799805 -12c-8.60059 -7.09961 -16 -8.59961 -26 -8.59961h-35.1006c0.400391 0.0996094 7.7998 4.5 7.90039 4.59961 +c1.89941 1.10059 2.7002 2.2002 2.7002 6.40039v38.7998c0 4.2002 -1.30078 5.2998 -2.90039 6.60059zM256 266.4v-34.6006c4.7002 0 23.0996 -3.39941 23.0996 17.2998c0 20.6006 -18.5 17.3008 -23.0996 17.3008zM484.9 186.8l39.1992 -0.0996094l-7.39941 -8.2998 +v-85.2002h-21.2998c-4 12.7002 -44.8008 45 -48.5 55.5996h-0.300781v-47.3994l7.40039 -8.2002h-39l7.2002 8.2998v76.9004l-7.40039 8.5h31.6006c2.89941 -9.40039 39.7998 -36.5 45.1992 -50.9004h0.300781v42.5zM378.2 282.9 +c32.7002 -1.60059 33.7998 -29.8008 33.7998 -33.6006c0 -6.7002 -3.2998 -34 -36.7002 -34h-0.299805c3.59961 4.2998 3.5 11.9004 -2.2002 16.2998c1.2002 0 19.7002 -3.19922 19.7002 17.3008c0 20.6992 -18.4004 17.2998 -23.0996 17.2998v-4.2998 +c-5.40039 0.799805 -7.40039 -0.300781 -7.5 -0.300781c2.09961 1.80078 4.5 2.60059 6.09961 2.90039c-7.09961 1.59961 -13.5996 -2.40039 -14.5996 -3.5c0.799805 1.7998 2.39941 3.40039 3.5 4.5c-2.30078 -0.799805 -4.30078 -1.90039 -6.10059 -3 +c0 5.2002 0.200195 7.5 -2.89941 9.5c-9.10059 6.59961 -9.5 14.2002 -9.60059 14.9004c7.10059 -4.2002 7.7002 -4 39.9004 -4z" /> + <glyph glyph-name="dev" unicode="&#xf6cc;" +d="M120.12 239.71c3.87012 -2.90039 5.82031 -7.25977 5.83008 -13.0596v-69.6504c0 -5.80957 -1.94043 -10.1602 -5.82031 -13.0596c-3.87988 -2.90039 -7.76953 -4.35059 -11.6494 -4.35059h-17.4502v104.47h17.4395c3.87988 0 7.77051 -1.44922 11.6504 -4.34961z +M404.1 416c24.2002 0 43.8408 -19.5898 43.9004 -43.7998v-360.4c-0.0595703 -24.21 -19.6904 -43.7998 -43.9004 -43.7998h-360.199c-24.2002 0 -43.8408 19.5898 -43.9004 43.7998v360.4c0.0595703 24.21 19.7002 43.7998 43.9004 43.7998h360.199zM154.2 156.81 +l-0.00976562 70.9307c-0.0107422 18.8193 -11.9307 47.2793 -47.3701 47.2793h-47.3799v-165.46h46.3994c36.75 -0.0595703 48.3604 28.4404 48.3604 47.25zM254.88 245.47l0.00976562 29.5205h-63.1895c-11.1504 -0.280273 -19.9805 -9.54004 -19.71 -20.6904v-125.109 +c0.279297 -11.1602 9.55957 -19.9805 20.7197 -19.6904h62.1797v29.5703h-53.29v38.4102h32.5703v29.5693h-32.5703v38.4199h53.2803zM358.52 130.18l38.4609 144.801h-32.5801l-29.5703 -113.721l-29.71 113.721h-32.5703l38.5303 -144.801 +c10.5898 -24.6299 34.2402 -30.75 47.4395 0z" /> + <glyph glyph-name="fantasy-flight-games" unicode="&#xf6dc;" horiz-adv-x="512" +d="M256 415.14l223.14 -223.14l-223.14 -223.14l-223.14 223.14zM88.3398 192.17c11.3447 -11.2461 29.7705 -29.4893 41.1299 -40.7197c20.1602 19.8799 40.46 39.8994 61.8506 60.9902c12.0596 -12.5801 24.5195 -25.5703 36.54 -38.1104 +c12.0293 11.6895 23.7393 23.0596 35.6895 34.6602c-6.99023 7.4502 -32.1494 32.8301 -35.0898 35.7793c-1.91016 1.9209 -2.29004 3.2207 -0.120117 5.35059c15.5801 15.2295 39.21 17.79 56.9805 5.09961c7.98926 -5.70996 14.2998 -11.6396 48.5098 -43.9502 +c10.8203 11.1504 22.2295 22.8506 33.5 34.6904c0.490234 0.520508 0.0996094 2.63965 -0.580078 3.37988c-0.0898438 0.100586 -37.5195 40.6006 -62.1504 59c-33.5801 25.0801 -78.3193 23.0605 -119.77 -18.6895c-84.5703 -85.1807 -94.5303 -95.4805 -96.4902 -97.4805z +M323.16 90.5703c18.8203 18.79 80.3301 80.6396 100.5 101.5c-13.7305 13.4492 -27.1797 26.6299 -40.8604 40.0293c-20.0098 -19.7393 -40.2402 -39.6895 -61.25 -60.4199c-12.3301 12.8301 -24.8799 25.8799 -37.25 38.75 +c-1.25977 -0.689453 -1.64941 -0.80957 -1.91016 -1.06934c-10.7295 -10.7705 -21.4199 -21.5801 -32.21 -32.29c-2.22949 -2.20996 -0.519531 -3.35059 0.800781 -4.69043c10.5791 -10.7402 21.1797 -21.4502 31.7695 -32.1797 +c3.5498 -3.60059 3.54004 -3.85059 -0.139648 -7.24023c-16.8008 -15.4697 -40.8408 -16.54 -59.3203 -1.7998c-7.62012 6.08008 -11.6602 10.1797 -44.6797 42.0898c-11.5801 -11.8896 -23.3203 -23.9404 -35.3701 -36.3096 +c33.5498 -34.7607 50.8496 -53.3408 72.9297 -66.8408c28.9004 -17.6699 71.5 -14.96 106.99 20.4707zM256 448l256 -256l-256 -256l-256 256zM16 192l240 -240l240 240l-240 240z" /> + <glyph glyph-name="penny-arcade" unicode="&#xf704;" horiz-adv-x="640" +d="M421.91 283.73c7.33984 -16.2705 2.29004 -5.07031 24.6299 -54.6807l-39.7305 -10.6094c13.7002 59.2295 10.6104 45.8398 15.1006 65.29zM215.82 232.62c32.5 8.99023 41.9492 -37.6396 -0.350586 -47.4297c-14.2002 -3.77051 -6.64941 -1.75 -34.8193 -9.34082 +l-4.45996 46.1904c28.3193 7.5498 19.4395 5.17969 39.6299 10.5801zM541.98 258.81c75.7998 -37.9092 98 -76.3193 97.9893 -104.47c2.10059 -78.8496 -183.3 -130.33 -399.89 -84.8301c0.540039 -13 -8.00977 -24.6494 -20.5801 -28.0195 +c-125.54 -33.54 -117.35 -31.75 -122.53 -31.7598c-14.3701 -0.0107422 -26.4102 10.8896 -27.7998 25.1992l-4.2998 44.4805c-0.0683594 0.724609 -0.125 1.90332 -0.125 2.63184c0 10.5811 8.01758 22.2461 17.8945 26.0381l-1.73926 17.8799 +c-50.2305 28.2598 -80.9004 61.8701 -80.9004 95.3701c0 72.9199 144.26 113.4 309.41 98.3701c2.68945 7.54395 11.1514 15.3438 18.8896 17.4102c96.8701 25.9092 65.3203 17.4795 135.59 36.2295c13.1602 3.50977 26.9307 -2.95996 32.6201 -15.3301zM255.14 149.7 +c17.5 4.0498 40.2363 19.1562 50.75 33.7197c21.6006 32.5898 14.1104 105.561 -42.5498 104.43c-16.04 -0.229492 -8.07031 0.890625 -186.22 -46.6494l4.34961 -44.5l20.1201 5.38965l11.1104 -114.64l-20.0205 -5.35059l4.30078 -44.5195l115.31 30.7803 +l-4.50977 44.5098l-20.5303 -5.50977l-2.45996 23.5498l48.4404 12.9102zM454.32 133.08l108.55 28.96l-4.2998 44.4795l-20.79 -5.55957l-66.6699 145.47c-70.5801 -18.8301 -42.2305 -11.25 -135.591 -36.2393l4.2002 -44.4805l17.1504 4.55957l-33.0801 -126.47 +l-20.9902 -5.58984l4.45996 -44.4297l112.851 30.0693l-4.05078 39.54l-19.1992 -5.12012l4.09961 17.54l57.7598 15.4209l6.61035 -14.6807l-14.9004 -3.97949z" /> + <glyph glyph-name="wizards-of-the-coast" unicode="&#xf730;" horiz-adv-x="640" +d="M219.19 102.31c7.44922 5.80078 16.2598 0.680664 21.7295 -7.0791c7.08984 -10.1201 6.24023 -18.1602 -0.259766 -23.04c-7.62012 -6.24023 -17.0898 0.129883 -21.7305 6.5498c-10.8096 15.1299 -1.63965 22.1895 0.260742 23.5693zM555.94 26.3701 +c1.30957 4.4502 3.92969 10.21 3.93945 20.1699c0 34.04 -41.6299 64.4102 -100.03 68.0801c-53.1592 3.39941 -120.46 -15.4502 -184.35 -73.8506l-0.790039 0.260742c1.58008 10.4697 -0.780273 16.2295 -3.40039 21.21l0.260742 1.56934 +c64.4199 51.3203 134.069 66.5107 188.8 60.4902c61.0098 -6.54004 104.479 -39.54 101.34 -78.0303c-0.790039 -9.68945 -2.88965 -15.71 -4.97949 -19.8994c-1.34082 -1.66992 -1.13086 -1.7002 -0.790039 0zM392.28 207.58 +c-0.530273 7.07031 3.13965 11.7803 6.7998 15.46c3.66992 3.91992 14.9297 10.4697 14.9297 10.4697s-1.2998 -26.4502 -2.08984 -29.8496c-1.04004 -3.92969 -4.96973 -6.81055 -10.4697 -6.5498c-4.98047 0.259766 -8.37988 3.39941 -9.16992 10.4697zM342.26 358.68 +c147.17 0 275.48 -86.6797 291.21 -196.939c0 0 -3.66992 -1.31055 -9.68945 -4.4502c0 -0.259766 1.0498 -10.7402 0.259766 -16.5c-0.259766 -1.83008 -1.0498 -1.0498 -1.0498 0c-0.270508 5.24023 -1.57031 11.5303 -2.36035 14.9297 +c-4.70996 -2.60938 -10.21 -6.54004 -15.9697 -11.7793c0 0 4.70996 -10.21 4.70996 -25.9209c0 -21.21 -8.37988 -32.9893 -16.5 -37.9697l-0.259766 0.520508c9.16992 9.16992 12.5693 21.4795 12.5693 31.9492c0 13.8701 -6.80957 33.25 -14.3994 41.3701 +c0 0 4.4502 -8.12012 6.80957 -17.8096c0 0 -21.21 -21.4697 -26.9697 -62.3203c0 0 -3.66992 9.16992 -10.7402 16.2402c0 0 12.0498 -15.4502 12.0498 -38.2305c0 -19.3799 -12.8398 -37.4395 -27.5 -48.1797c-0.989258 0 -0.790039 -0.169922 -0.790039 0.790039 +c15.71 12.8301 22.2607 28.0205 22.2607 46.3506c0 38.2295 -49.2305 80.3896 -130.15 80.3896c-96.1104 0 -181.74 -58.1299 -236.99 -128.05l-1.0498 0.259766c-40.3203 120.979 -135.64 185.66 -196.13 202.16c-2.09961 0.519531 -1.83984 0.790039 -0.790039 1.30957 +c12.3096 14.4004 136.96 151.88 341.47 151.88zM243.02 69.0596c16.8408 14.5908 4.99023 30.7705 4.71094 31.1602c-4.08008 5.99023 -16.3105 16.8506 -31.1602 5.5c-10.9502 -8.37988 -11.6406 -22.8896 -4.19043 -32.4697 +c6.44043 -8.26953 19.5801 -13.1797 30.6396 -4.19043zM245.11 205.49l1.83008 -8.11035l-3.6709 4.4502l-14.1396 -26.71l24.6201 -28.7998l12.5703 6.01953l-11.7803 70.96zM263.7 87.9102c3.41016 2.35938 7.33984 4.97949 9.67969 6.57031l-0.259766 0.259766 +c-1.56055 -0.780273 -3.11035 -1.0498 -12.5703 15.9697v0.259766c6.87012 5.16016 8.45996 4.89062 11.5205 5.5l0.259766 0.260742c-1.31055 3.66992 -1.31055 3.66992 -1.83008 5.5h-0.259766c-3.95996 -3.31055 -1.4707 -1.58008 -11.5205 -7.86035h-0.259766 +c-1.83008 3.13965 -4.19043 7.33008 -5.75977 9.68945v1.31055c4.4502 3.91992 10.2197 6.7998 12.3096 7.58984c2.87988 1.0498 4.19043 0.520508 5.24023 0.259766l0.259766 0.520508c-1.30957 1.83008 -2.08984 2.87988 -3.39941 4.70996l-0.520508 0.259766 +c-9.9502 -5.5 -17.54 -9.9502 -25.3994 -15.71l0.259766 -0.519531c1.30957 0.259766 3.13965 -0.260742 4.4502 -2.62012c15.04 -25.0801 19.5898 -27.5908 17.54 -31.6904zM318.96 120.38v0.25c-1.99023 0 -2.34961 -1.37012 -14.6602 30.6396v0.260742 +c4.95996 1.85938 8.78027 4.37988 12.3105 2.62012l0.259766 0.519531l-3.13965 4.98047l-0.520508 0.259766c-2.22949 -0.929688 -20.4697 -8.00977 -27.7598 -12.5703l-0.259766 -0.519531l1.0498 -5.76074h0.519531c1.0498 3.68066 9.7998 7.33008 9.9502 7.33008 +l0.259766 -0.259766c12.9404 -29.7598 13.0703 -29.8799 11.7803 -32.4697l0.259766 -0.259766c3.93066 2.09961 6.81055 3.40918 9.9502 4.97949zM363.73 136.88c-0.780273 0.520508 -2.09082 1.31055 -2.63086 3.92969c-1.56934 6.02051 -4.70996 20.1709 -6.2793 26.4502 +c-0.530273 1.57031 -0.530273 3.14062 0.519531 4.4502l-0.259766 0.259766c-3.41016 -0.529297 -6.29004 -1.30957 -10.7402 -2.35938v-0.260742c1.57031 -0.529297 2.10059 -2.09961 2.62012 -3.92969l2.62012 -9.42969l-0.259766 -0.259766 +c-3.40039 -1.05078 -8.90039 -2.62012 -12.8301 -3.93066h-0.259766c-0.780273 2.10059 -1.83008 5.75977 -3.14062 9.69043l0.259766 4.70996l-0.259766 0.259766c-4.71973 -1.30957 -7.59961 -2.34961 -10.7402 -3.40039v-0.519531 +c1.05078 0 2.10059 -1.30957 2.62012 -3.13965c1.0498 -3.40039 8.12012 -24.0908 9.16992 -27.2305c0.790039 -2.09961 0.790039 -3.66992 -0.259766 -4.97949l0.259766 -0.260742c3.14062 1.31055 6.54004 2.87988 10.21 3.93066v0.519531 +c-1.0498 0.259766 -2.08984 0.780273 -2.87988 3.13965c-1.0498 3.93066 -3.39941 11.2607 -4.18945 13.8809l0.259766 0.259766c3.92969 1.30957 9.42969 3.13965 12.8301 3.92969l0.259766 -0.259766c0.530273 -2.09961 2.62012 -10.2197 3.66992 -13.6201 +l-0.519531 -4.4502l0.259766 -0.259766c4.4502 1.57031 5.5 1.83008 9.69043 2.87988zM395.94 143.69c0.529297 1.8291 1.0498 3.65918 1.5791 6.04004h-0.259766c-2.0293 -4.06055 -15.0898 -5.09082 -16.2402 -4.71094l-0.259766 0.260742 +c-0.519531 3.13965 -1.83008 10.4795 -2.08984 12.5693l0.259766 0.260742c8.06055 0.899414 5.40039 1.0293 10.21 0h0.260742c0 3.40918 0.259766 3.66992 0.259766 5.23926h-0.259766c-5.98047 -2.2998 -1.2207 -0.679688 -10.7402 -2.35938l-0.259766 0.259766 +c-0.520508 3.40039 -1.31055 8.37988 -1.57031 9.9502l0.259766 0.259766c12.9004 2.41016 15.1006 0.349609 16.2402 -0.790039l0.259766 0.259766c-0.780273 2.36035 -1.0498 3.14062 -1.57031 5.5l-0.259766 0.260742 +c-4.71973 -0.260742 -15.71 -1.05078 -24.8799 -2.62012l-0.790039 -0.520508c1.83008 -0.790039 2.36035 -1.83984 2.62012 -3.66992c1.58008 -7.59961 3.41016 -18.3301 4.98047 -26.1895l-0.790039 -4.19043l0.259766 -0.259766 +c8.37988 1.83008 17.8096 3.66992 22.5195 4.18945zM406.68 188.2c3.14062 1.56934 7.33008 5.5 7.33008 5.50977c1.95996 -4.58008 0.970703 -2.70996 4.19043 -7.86035c10.1494 -0.459961 8.60938 0.0205078 20.4297 -1.0498l0.790039 4.70996 +s-4.18945 0 -5.75977 1.83008c-1.0498 1.31055 -1.31055 3.14062 -1.57031 5.5c0 2.36035 0.270508 16.5 0.790039 20.6904c0.259766 4.18945 2.08984 20.4199 2.08984 23.04c0.260742 2.62012 1.0498 8.91016 0.260742 12.0498 +c-4.82031 19.2803 -24.4307 17.8096 -50.0205 16.2402l-5.24023 -16.2402l2.62012 -2.87988c16.5498 16.5498 37.6201 4.56934 29.5898 -5.75977c-5.18945 -6.9209 -19.7393 -8.90039 -28.54 -17.0205c-6.47949 -6.49023 -12.2393 -20.9004 -5.5 -31.6904 +c6.12988 -11.0391 17.29 -9.96973 17.54 -9.94922c2.87988 0 6.55078 0.519531 11 2.87988zM443.86 166.99c0 1.83984 0.269531 4.18945 0.269531 5.25l-0.259766 0.519531c-14.3604 8.98047 -26.8604 0.919922 -28.7998 -9.9502 +c-2.83984 -16.0898 15.3594 -25.46 25.6602 -18.5898l0.519531 0.520508c0 0.259766 1.30957 4.4502 1.83008 6.2793l-0.259766 0.260742c-6.39062 -9.58008 -23.3203 -6.87012 -20.6904 10.21c1.91016 12.6602 15.3799 16.0801 21.7305 5.5zM449.63 254.72 +c0 0 4.96973 -0.790039 4.99023 -3.66016c0 -2.08984 -4.98047 -55.25 -4.98047 -55.25c-0.109375 -1.48926 -0.339844 -6.80957 -7.58984 -6.80957l-0.790039 -4.70996c18.3906 -2.83008 19.3701 -3.04004 36.9199 -7.33008l0.520508 4.70996 +c-13.0498 3.91992 -9.74023 7.37012 -4.4502 46.0898c1.09961 0.870117 8.62012 7.14062 20.6904 0.790039l11.2598 11.2598s-9.69043 8.90039 -14.9307 7.33008c-5.23926 -1.30957 -15.4492 -10.7393 -15.4492 -10.7393l1.56934 17.54 +c-8.10938 4.0498 -27.0693 7.3291 -27.7598 7.3291v-6.5498zM460.62 140.28c9.42969 -2.35059 16.2402 2.62012 18.8496 11.5195c2.08984 7.60059 -1.56934 16.7598 -10.7393 19.3799c-6.54004 2.10059 -15.7109 -0.779297 -18.8506 -10.21 +c-3.39941 -9.68945 2.62012 -18.5996 10.7402 -20.6895zM502.78 130.59c-0.780273 1.31055 -1.04004 2.10059 -0.799805 3.91016c1.22949 27.0098 1.5293 24.6602 1.0498 25.1396c-2.08984 0.790039 -5.5 2.09082 -7.58984 2.87988l-0.520508 -0.259766v-2.08984 +c-3.92969 -6.01953 -10.4795 -15.4502 -13.8799 -20.1602l-2.62012 -1.83008v-0.259766c2.08984 -0.259766 4.70996 -1.30957 6.02051 -1.57031v0.260742l0.790039 3.39941c0.789062 1.0498 2.35938 3.66992 3.66992 5.5c0.40918 0 2.25 -0.549805 7.06934 -2.35938 +c0.330078 -0.320312 0.330078 0.649414 -0.259766 -7.59082l-1.57031 -1.8291v-0.260742c1.57031 -0.519531 6.28027 -2.35938 8.64062 -2.87988zM498.07 220.41c-13.2207 -21.1504 -9.39062 -51.6006 9.66992 -52.9004c5.75977 -0.259766 9.42969 3.93066 9.68945 3.66992 +l-2.08984 -6.80957c8.91016 -4.21973 11.4404 -5.29004 17.8105 -8.63965l1.83008 4.44922c-6.14062 3.51074 -1.29004 11.25 24.6191 84.3203c-6.13965 6.45996 -10.2998 10.0596 -22.5195 20.4297l-1.83008 -3.66992c1.62988 -1.35938 6.79004 -5.00977 4.4502 -11.2598 +l-7.58984 -26.1904c-3.28027 12.79 -22.79 14.8701 -34.04 -3.39941zM527.4 141.07l2.35938 3.39941v0.520508c-3.41016 6.83008 -11.9395 7.41992 -14.6602 2.35938c-1.83984 -3.40918 0.260742 -7.06934 1.83008 -9.68945 +c1.57031 -2.87988 3.14062 -6.29004 2.08984 -8.37988c-2.31934 -4.62988 -8.94922 -0.680664 -8.37988 4.97949l-0.790039 -0.259766c-2.09961 -4.7998 -1.83008 -4.00977 -1.83008 -4.70996c3.05078 -6.09961 12.8105 -7.12988 15.4502 -0.790039 +c1.57031 3.15039 0.520508 6.80957 -1.0498 9.42969c-1.83008 3.40039 -4.18945 6.29004 -2.87988 8.37988c1.51953 2.65039 7.86035 0.470703 7.86035 -5.23926zM548.61 127.71l1.30957 3.91016l-0.259766 0.259766c-2.36035 2.08984 -8.64062 6.54004 -12.3105 8.90039 +h-0.259766l-3.13965 -3.40039v-0.259766c4.7998 -0.320312 3.37988 0.149414 6.01953 -1.83008v-0.259766c-2.62012 -4.9707 -6.0293 -11.2607 -9.16992 -17.0205l-2.08984 -1.30957l-0.259766 -0.259766l5.75977 -4.4502l0.259766 0.259766 +c-0.259766 0.530273 -0.519531 1.57031 0.790039 3.92969c2.87988 5.77051 6.28027 12.0508 8.64062 16.2402h0.259766c3.54004 -2.57031 2.49023 -1.43945 4.4502 -4.70996zM575.84 171.97l7.85059 10.46s-9.4209 18.8604 -23.04 16.5 +c-20.8408 -4.0293 -3.15039 -34.21 -2.09082 -38.2295c4.33008 -15.1299 -16.3193 -12.5605 -13.3496 5.24023l-2.87988 2.08984l-4.98047 -14.4004s11.7803 -11.2598 20.1602 -10.4697c8.12012 0.790039 13.8799 6.29004 13.8799 16.5 +c0 8.37988 -7.85938 22.7803 -7.85938 27.7598c0 6.86035 12.2695 4.75977 11.5195 -4.97949c-0.259766 -2.61035 -1.2998 -5.23047 -2.08984 -7.59082zM611.46 182.18c0.780273 -2.35938 1.57031 -1.83008 0.790039 0.270508 +c-32.4697 98.9795 -132.76 138.78 -199.8 139.83c-50.54 0.779297 -89.5605 -11.79 -131.98 -35.8799l20.6904 61.0098l-33.7803 -65.7305l-8.89941 20.9502c3.13965 1.04004 6.2793 2.08984 6.2793 2.08984l-2.62012 8.64062s-3.13965 -0.780273 -7.33008 -2.09082 +l-12.0498 28.2803l13.6201 -61.0098c-5.12012 2.55957 -19.0996 6.83008 -6.5498 19.3799l-2.62012 11c-6.97949 -2.21973 -13.2295 -3.62012 -32.21 -9.68945l-23.0801 11.5l59.1797 -42.6807l-4.70996 -2.08984l-17.2793 13.8799 +c2.23926 -5.13965 3.2998 -12.1699 4.70996 -19.6396l-28.54 -13.0898l-30.1104 36.1396l-17.2803 -9.16992l13.6201 -42.4199l-11.2598 -4.98047l94.2695 29.3301l-3.66992 -10.4697l-0.519531 3.13965l-13.0898 -3.39941l4.97949 -24.6201l-4.4502 -12.3105 +l-25.6592 30.6406l-39.8008 -10.21l18.8506 -58.9199c-60.1299 62.3994 -67.7002 66.3994 -61.7998 75.6797c2.09961 2.87988 7.85938 7.07031 7.85938 7.07031l-4.18945 7.06934c-26.7803 -18.3496 -27.8398 -19.1494 -58.4004 -42.6797l4.98047 -6.01953 +s8.12012 5.75977 13.6201 5.5c7.81934 -0.350586 1.76953 2.93945 113.659 -98.7305l11.7803 8.37988l-27.7598 93.4805l35.8799 -42.1602l-4.70996 -13.8799l41.9004 88.5098c34.6699 -80.5098 29.1494 -66.9502 32.9893 -78.8203l-33.5195 67.2998l-2.36035 -4.44922 +c1.2998 -1.30078 -0.919922 3.05957 22.7803 -59.4404c3.22949 -8.88965 -1.10059 -9.88965 -5.5 -12.8301l2.36035 -4.70996c15.3594 6.79004 22.9395 9.54004 39.0195 14.4004l-1.0498 4.97949c-8.89062 -1.33008 -10.1006 0.169922 -12.0498 4.4502 +c-1.05078 2.09961 -14.1504 40.0703 -20.4307 58.6602l-10.21 4.97949l-2.35938 8.12012l61.54 -36.6602l-13.0908 -43.21c12.1904 3.26074 27.0303 6.74023 49.4902 9.9502l-0.259766 26.71l-4.98047 -1.0498c-0.669922 -13.7998 -6.0293 -22.0801 -19.6396 -22.7803 +l22.2598 80.3906c-27.6201 -0.450195 -59.2695 -7.19043 -66.7695 -8.90039l3.92969 -16.5l-25.1396 19.6396l91.3896 20.6904l-85.6299 -9.16992c38.4902 22.5195 79.3398 39.0195 132.76 37.9697c131.46 -2.08984 180.95 -99.2402 191.95 -129.62zM203.48 295.57 +l2.35938 -8.64062c7.82031 2.61035 10.8604 2.36035 11.2598 2.36035l-9.42969 7.58984c-2.36035 -0.790039 -4.18945 -1.30957 -4.18945 -1.30957zM347.24 257.07l-11.5303 -37.71l-21.7295 17.0195c6.7998 25.5 31.6895 21.29 33.2598 20.6904zM318.43 380.93 +c224.94 0 321.83 -143.76 321.57 -227.55c0 -11 -0.269531 -17.5498 -0.790039 -19.6396c-0.259766 -2.10059 -1.0498 -0.790039 -1.0498 0.519531v9.9502c0 106.58 -121.51 223.37 -301.67 223.37c-61.2705 0 -103.69 -12.0498 -110.24 -13.8799l-1.57031 0.259766 +c-6.80957 7.58984 -12.8301 9.69043 -21.21 11.7803v0.790039c8.91016 2.34961 56.5605 14.3994 114.96 14.3994zM529.49 211.25c-8.61035 -34.4502 -13.6504 -35.3496 -18.3301 -35.3604c-7.33008 0 -6.81055 9.43066 -6.02051 14.9307 +c0.879883 9.72949 7.40039 34.6494 17.0205 33.5195c7.33008 -0.780273 8.63965 -7.33008 7.33008 -13.0898zM467.96 168.3c3.40039 -0.780273 7.84961 -4.4502 5.23047 -14.3896c-2.88086 -11.2598 -8.11035 -11.79 -11.7803 -10.7402 +c-5.5 1.31055 -7.85059 7.84961 -6.02051 14.6602c3.14062 11.2598 9.9502 11.2598 12.5703 10.4697zM491 147.35v0.270508c1.0498 1.83008 5.5 8.63965 6.5498 9.9502c-0.269531 -3.66992 -0.790039 -10.2207 -0.790039 -12.0508 +c-2.62012 0.780273 -3.92969 1.31055 -5.75977 1.83008z" /> + <glyph glyph-name="think-peaks" unicode="&#xf731;" horiz-adv-x="576" +d="M465.4 38.5996l-206.2 353.801l-204.2 -352.101l-32 0.299805l236.2 407.4l206.2 -353.9l55.0996 95l32 -0.299805zM110.1 82.7002l149.601 257.899l235.8 -404.6l-32.5 0.0996094l-203.4 349.101l-117.399 -202.5h-32.1006z" /> + <glyph glyph-name="reacteurope" unicode="&#xf75d;" horiz-adv-x="576" +d="M250.6 236.26l2 6.7998l-5.69922 4.30078l7.19922 0.0996094l2.30078 6.7998l2.2998 -6.7998l7.09961 -0.0996094l-5.7002 -4.30078l2.10059 -6.7998l-5.7998 4.10059zM314.3 236.26l1.90039 6.7998l-5.7002 4.30078l7.2002 0.0996094l2.2998 6.7998l2.2998 -6.7998 +l7.2002 -0.0996094l-5.7002 -4.30078l2.10059 -6.7998l-5.80078 4.10059zM223 185.76c4.90039 0 3.7998 -3.89941 3.7998 -13.7598c0 -10.2998 -6.7002 -14.0996 -16.7998 -14.0996h-0.200195c-10.0996 0 -16.7998 3.69922 -16.7998 14.0996v40.0596 +c0 9.90039 6.7002 14.1006 16.7998 14.1006h0.200195c10.0996 0 16.7998 -4.2002 16.7998 -14.1006c0 -8.39941 0.900391 -12.1992 -3.7998 -12.2998h-3.40039c-4.5 0 -3.7998 3.2998 -3.7998 10.5c0 4.7002 -2.2998 6.10059 -5.7998 6.10059 +s-5.7998 -1.40039 -5.7998 -6.10059v-36.5996c0 -4.7002 2.2998 -6.10059 5.7998 -6.10059s5.7998 1.40039 5.7998 6.10059c0 8.09961 -1 12.0996 3.7998 12.0996h3.40039zM142.3 168.36c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961 +c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-21.8994c-2.5 0 -3.80078 1.2998 -3.80078 3.7998v59.0996c0 2.5 1.30078 3.90039 3.7002 3.80078h21.7002c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-14.4004v-18.2998h11.4004 +c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-11.4004v-19.2998h14.7002zM100.3 186.86l8.10059 -23.9004c0.799805 -2.59961 -0.400391 -4.40039 -3.2002 -4.40039h-3.2998 +c-0.0820312 -0.00585938 -0.21582 -0.0107422 -0.297852 -0.0107422c-1.81543 0 -3.6084 1.43848 -4.00293 3.21094l-7.39941 23.5h-5.60059v-22.8994c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-3.39941c-2.5 0 -3.80078 1.30078 -3.80078 3.80078v59.0996 +c0 2.5 1.30078 3.7998 3.80078 3.7998h13.3994c10.1006 0 16.7998 -4 16.7998 -14.0996v-11.9004c0 -6.39941 -2.69922 -10.3994 -7.2998 -12.3994zM96.5 200.86v8.69922c0 4.80078 -2.5 6.10059 -6.09961 6.10059h-5.80078v-20.9004h5.80078 +c3.59961 0 6.09961 1.2998 6.09961 6.10059zM176 222l11.2002 -59.2002c0.5 -2.7002 -0.799805 -4.09961 -3.40039 -4.09961h-3.5c-0.100586 -0.00976562 -0.264648 -0.0185547 -0.366211 -0.0185547c-1.94531 0 -3.61816 1.57617 -3.7334 3.51855l-1.7998 11.2998h-12.2002 +l-1.7998 -11.2998c-0.116211 -1.94238 -1.78809 -3.51855 -3.7334 -3.51855c-0.101562 0 -0.265625 0.00878906 -0.367188 0.0185547h-3c-2.5 0 -3.89941 1.39941 -3.39941 4.09961l11 59.2002c0.135742 1.88477 1.78027 3.41504 3.66992 3.41504 +c0.0908203 0 0.239258 -0.00683594 0.330078 -0.0146484h6.89941c0.110352 0.0117188 0.290039 0.0205078 0.401367 0.0205078c1.89844 0 3.60059 -1.53223 3.79883 -3.4209zM163.7 182.7h9.39941l-4.69922 29.7002zM253 162.5c0 -2.45996 -1.2998 -3.83984 -3.7998 -3.7998 +h-3.40039c-2.5 0 -3.7998 1.2998 -3.7998 3.7998v53.2002h-7.2998c-2.5 0 -3.7998 1.2998 -3.7998 3.7998v2.09961c0 2.5 1.2998 3.80078 3.7998 3.80078h25.7998c2.5 0 3.7998 -1.30078 3.7998 -3.80078v-2.09961c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-7.5v-53.2002z +M501 163.3c0.0449219 0.00390625 0.119141 -0.0322266 0.164062 -0.0322266c1.01562 0 1.84082 -0.824219 1.84082 -1.83984c0 -0.0351562 -0.00292969 -0.0927734 -0.00488281 -0.12793v-0.799805c0.00195312 -0.0273438 0.00292969 -0.0722656 0.00292969 -0.100586 +c0 -0.999023 -0.810547 -1.80957 -1.81055 -1.80957c-0.0527344 0 -0.139648 0.00488281 -0.192383 0.00976562h-22.5c-0.0527344 -0.00488281 -0.139648 -0.00976562 -0.192383 -0.00976562c-1 0 -1.81055 0.810547 -1.81055 1.80957 +c0 0.0283203 0.000976562 0.0732422 0.00292969 0.100586v63c-0.00878906 0.0625 -0.0166016 0.166016 -0.0166016 0.229492c0 0.893555 0.725586 1.62012 1.62012 1.62012c0.111328 0 0.289062 -0.0224609 0.396484 -0.0498047h22.2002 +c0.0644531 0.00878906 0.169922 0.015625 0.235352 0.015625c0.977539 0 1.77051 -0.792969 1.77051 -1.76953c0 -0.0400391 -0.00292969 -0.105469 -0.00585938 -0.145508v-0.800781c0.00195312 -0.03125 0.00292969 -0.0820312 0.00292969 -0.113281 +c0 -1.04297 -0.84668 -1.88965 -1.88965 -1.88965c-0.03125 0 -0.0820312 0.000976562 -0.113281 0.00292969h-19.1006v-25.7998h16.1006c0.03125 0.00195312 0.0820312 0.00390625 0.113281 0.00390625c1.04297 0 1.88965 -0.84668 1.88965 -1.89062 +c0 -0.03125 -0.000976562 -0.0820312 -0.00292969 -0.113281v-0.799805c0.00195312 -0.03125 0.00292969 -0.0820312 0.00292969 -0.113281c0 -1.04297 -0.84668 -1.88965 -1.88965 -1.88965c-0.03125 0 -0.0820312 0.000976562 -0.113281 0.00292969h-16.1006v-26.7002 +h19.4004zM407.9 226.2c10.0996 0 15.2998 -4.74023 15.2998 -14.1006v-40.0996c0 -9.2998 -5.2002 -14.0996 -15.2998 -14.0996h-0.800781c-10.0996 0 -15.2998 4.7998 -15.2998 14.0996v40.0996c0 9.40039 5.2002 14.1006 15.2998 14.1006h0.800781zM418.1 173.8v36.6006 +c0 7.89941 -3 11.0996 -10.5 11.0996s-10.5 -3.2002 -10.5 -11.0996v-36.6006c0 -8 3 -11.0996 10.5 -11.0996s10.4004 3.09961 10.5 11.0996zM371.6 188.3l10.6006 -27.2998c0.5 -1.2998 -0.100586 -2.2998 -1.5 -2.2998h-1.5 +c-0.0351562 -0.00195312 -0.0927734 -0.00390625 -0.128906 -0.00390625c-0.886719 0 -1.85938 0.673828 -2.1709 1.50391l-10.4004 27.2002h-11.5996v-26.9004c0.00390625 -0.0458984 0.0078125 -0.12207 0.0078125 -0.167969 +c0 -0.960938 -0.779297 -1.74023 -1.74023 -1.74023c-0.0458984 0 -0.12207 0.00390625 -0.167969 0.0078125h-1.2002c-0.0527344 -0.00488281 -0.139648 -0.00976562 -0.192383 -0.00976562c-0.999023 0 -1.81055 0.810547 -1.81055 1.80957 +c0 0.0283203 0.00195312 0.0732422 0.00292969 0.100586v63c-0.000976562 0.0273438 -0.00292969 0.0722656 -0.00292969 0.100586c0 0.999023 0.811523 1.80957 1.81055 1.80957c0.0527344 0 0.139648 -0.00488281 0.192383 -0.00976562h13.7002 +c10.0996 0 15.2998 -4.7002 15.2998 -14.1006v-9.7002c0 -7.19922 -3.09961 -11.6992 -9.2002 -13.2998zM365.2 192.2c7.5 0 10.5 3.16016 10.5 11v6.39941c0 8 -3 11.1006 -10.5 11.1006h-10.2002v-28.5h10.2002zM451.1 225.3c10.1006 0 15.3008 -4.7002 15.3008 -14.0996 +v-10.5c0 -9.2998 -5.2002 -14.1006 -15.3008 -14.1006h-10.5996v-26.0996c0.00488281 -0.0458984 0.0078125 -0.12207 0.0078125 -0.167969c0 -0.960938 -0.779297 -1.74023 -1.73926 -1.74023c-0.046875 0 -0.12207 0.00390625 -0.168945 0.0078125h-1.19922 +c-0.0537109 -0.00488281 -0.139648 -0.00976562 -0.193359 -0.00976562c-0.999023 0 -1.80957 0.810547 -1.80957 1.80957c0 0.0283203 0.000976562 0.0732422 0.00292969 0.100586v63c-0.00976562 0.0625 -0.0166016 0.166016 -0.0166016 0.229492 +c0 0.893555 0.725586 1.62012 1.62012 1.62012c0.111328 0 0.288086 -0.0224609 0.396484 -0.0498047h13.6992zM461.3 202.5v7.09961c0 7.90039 -3 11.1006 -10.5 11h-10.2002v-29.1992h10.2002c7.5 0 10.5 3.19922 10.5 11.0996zM259.5 140l7.09961 -0.0996094 +l-5.69922 -4.30078l2.09961 -6.7998l-5.7998 4.10059l-5.7998 -4.10059l2.09961 6.7998l-5.7002 4.30078l7.10059 0.0996094l2.2998 6.7998zM487.1 276.1c122.301 -46.0996 118.401 -132.54 -33.8984 -176.34c13.3994 -49.7002 18.0996 -101.899 0.0996094 -133.8 +c-3.7998 -6.7002 -16.7998 -27.7002 -47.5996 -27.7002c-41.5 0 -110.2 41.6006 -182.101 142c-42.7998 3.5 -72.1992 10.1006 -84.5996 13c-20.5 -82.2998 -6.7998 -125.3 15.5 -137.899c1.2002 -0.700195 38.4004 -27.2002 120.9 52.7998 +c3.39941 -3.5 6.79883 -6.90039 10.1982 -10.2002c-63.0996 -61.2002 -110.199 -71 -138.199 -55.2002c-32.4004 18.2998 -42.8008 72 -22.3008 153.9c-18.8994 5 -121.6 33.2002 -122.1 92.7998c-0.400391 40.9004 49.7998 74.7002 120.3 95 +c-13.3994 49.5996 -18.2002 101.8 -0.0996094 133.8c3.7998 6.74023 16.7998 27.7402 47.5996 27.7402c41.6006 0 110.3 -41.6396 182.2 -142.14c23.6113 -1.88379 61.5127 -7.70801 84.5996 -13c20.5 82 6.90039 125.1 -15.5 137.8 +c-1.2998 0.700195 -38.3994 27.2002 -120.899 -52.7998c-3.40039 3.5 -6.80078 6.89941 -10.2002 10.1992c52.2998 50.9404 103.7 74.6006 138.2 55.2402c33.8994 -19.2002 41.8994 -75.8994 22.2998 -153.899c9.98535 -2.61523 25.9346 -7.67773 35.5996 -11.3008z +M135.901 411.16c-23.1006 -40.7998 1 -121.562 1.19922 -122.961c22.9912 5.78516 60.8018 12.3262 84.4004 14.5996c12.7793 18.6787 35.4922 47.4404 50.7002 64.2002c3.39941 -3.33301 6.7998 -6.74609 10.2002 -10.2393 +c-12.5371 -13.7451 -31.4434 -37.2207 -42.2002 -52.3994c14.8213 1.11914 38.9141 2.02734 53.7783 2.02734c11.082 0 29.0566 -0.504883 40.1211 -1.12793c-64.5 86.6006 -126.5 126.2 -163.3 126.2c-23 0 -32 -15.2002 -34.8994 -20.2998zM440.701 -27.1406 +c3.2998 6 21.5 38.5996 -1.2002 123c-4.09961 -1.10059 -37.0996 -9.90039 -84.4004 -14.6006c-12.7578 -18.6943 -35.4717 -47.4551 -50.6992 -64.2002c-3.40039 3.2998 -6.80078 6.7002 -10.2002 10.2002c12.5371 13.7461 31.4424 37.2207 42.2002 52.4004 +c-14.7715 -1.14258 -38.7842 -2.06934 -53.5996 -2.06934c-11.1328 0 -29.1875 0.524414 -40.3008 1.16895c64.5996 -86.7998 126.6 -126.2 163.3 -126.2c23.1006 0 32 15.2002 34.9004 20.3008zM449.801 111.459c25.6006 7.2998 85.9004 27.4004 105.7 62.5 +c1.40039 2.5 33.5 50.5 -72.5996 90.4004c-9.36914 3.51562 -24.8252 8.44336 -34.5 11c-3.60059 -12.9004 -7.90039 -26.1006 -12.8008 -39.5c-3.15723 -0.430664 -7.14453 -2.93945 -8.89941 -5.60059l-0.100586 0.100586 +c-1.6416 1.55762 -4.68848 3.48438 -6.7998 4.2998c5.7002 15 10.6006 29.7998 14.6006 44.2002c-7.2002 1.69922 -31.8008 7.59961 -72.2002 11.6992c16.7002 -24.5 27.8994 -44.0996 34.2998 -55.5c-3.50781 -1.14648 -8.16699 -4.46094 -10.4004 -7.39941 +c-13.5996 16.3994 -11 19.8994 -42.5 64.5c-13.752 0.96582 -36.1016 1.75 -49.8877 1.75c-17.2871 0 -45.292 -1.23145 -62.5117 -2.75c-16.9004 -25 -28.2998 -45.2002 -34.7998 -56.9004c-3.49707 -1.49023 -8.06738 -5.25391 -10.2002 -8.39941 +c-0.914062 2.88965 -3.78125 6.47363 -6.40039 8c6.10059 11.3994 16.9004 31 32.7998 55.2998c-39.5996 -4.60059 -65 -11.2002 -72 -13c4.30078 -14.1006 9.40039 -28.6006 15.2002 -43.2998c-0.71582 -0.522461 -1.74609 -1.50781 -2.2998 -2.2002 +c-1.5 1.89941 -4 5.2998 -14.4004 5.2998c-4.69922 12.2998 -8.7998 24.5 -12.3994 36.4004c-138.8 -40.3604 -158.4 -121.36 1.5 -164c3.59961 12.8994 7.7998 26 12.7002 39.3994c0.269531 -0.0146484 0.708008 -0.0273438 0.978516 -0.0273438 +c1.68359 0 4.33594 0.460938 5.9209 1.02734c3 -1.2002 5.2002 -1 8.40039 -1c-5.5 -14.5996 -10.2002 -28.8994 -14.1006 -42.8994c19.7119 -4.56055 52.0576 -9.80176 72.2002 -11.7002c-16.2998 23.8994 -27.5 43.3994 -33.7998 54.5996 +c8.7002 0 10.7002 1.60059 12.5996 3.2002c0.794922 -0.480469 2.13965 -1.15234 3 -1.5c15.3008 -26.7002 28.9004 -46.5996 36.8008 -57.7998c13.751 -0.96582 36.1006 -1.75 49.8857 -1.75c17.2871 0 45.2939 1.23145 62.5137 2.75 +c16.5 24.2998 27.7002 44 33.9004 55.2002c7.2998 0 9.7998 3 10.8994 4.19922c1.5332 -1.11426 4.2207 -2.54785 6 -3.19922c-15 -28 -28.6992 -48.9004 -32.1992 -54.2002c20.1172 2.22656 52.373 8.05078 72 13c-4.10059 13.7998 -9 27.8994 -14.7002 42.2002 +c1.65723 0.743164 4.07617 2.35645 5.39941 3.59961l0.100586 0.0996094c2.07227 -3.14648 6.8125 -5.7002 10.5811 -5.7002c0.0322266 0 0.0859375 0 0.119141 0.000976562c4.69922 -12.3008 8.7998 -24.5 12.3994 -36.4004zM335.401 225.459 +c0.0556641 0.00585938 0.145508 0.0107422 0.201172 0.0107422c1.05566 0 1.95117 -0.856445 1.99805 -1.91113v-51.5c0 -9.5 -5 -14.0996 -15.0996 -14.0996h-0.400391c-10.0996 0 -15.0996 4.5 -15.0996 14.0996v51.5 +c-0.00195312 0.0283203 -0.00292969 0.0732422 -0.00292969 0.100586c0 0.999023 0.810547 1.81055 1.81055 1.81055c0.0527344 0 0.139648 -0.00488281 0.192383 -0.0107422h1.2002c0.0615234 0.00878906 0.162109 0.0146484 0.224609 0.0146484 +c0.933594 0 1.69043 -0.756836 1.69043 -1.68945c0 -0.0625 -0.00683594 -0.163086 -0.015625 -0.225586v-49.7998c0 -8 2.60059 -11.0996 10.1006 -11.0996s10.0996 3.2002 10.0996 11.0996v49.7998c-0.00390625 0.046875 -0.0078125 0.12207 -0.0078125 0.168945 +c0 0.959961 0.779297 1.73926 1.74023 1.73926c0.0458984 0 0.121094 -0.00292969 0.167969 -0.0078125h1.2002zM321.701 139.999l7.09961 -0.0996094l-5.7002 -4.30078l2.10059 -6.7998l-5.7998 4.10059l-5.80078 -4.10059l2.10059 6.7998l-5.7002 4.30078 +l7.09961 0.0996094l2.30078 6.7998zM290.601 132.599l7.10059 -0.0996094l-5.7002 -4.2998l2.09961 -6.7998l-5.7998 4.09961l-5.7998 -4.09961l2.09961 6.7998l-5.69922 4.2998l7.09961 0.0996094l2.2998 6.80078zM295.701 163.399 +c0.0507812 0.00488281 0.133789 -0.03125 0.185547 -0.03125c1.00977 0 1.83008 -0.819336 1.83008 -1.83008c0 -0.0664062 -0.00683594 -0.172852 -0.015625 -0.239258v-0.799805c0.00292969 -0.0400391 0.00585938 -0.105469 0.00585938 -0.145508 +c0 -0.977539 -0.792969 -1.77051 -1.77051 -1.77051c-0.0654297 0 -0.170898 0.00683594 -0.235352 0.015625h-22.5c-0.0537109 -0.00488281 -0.139648 -0.00976562 -0.193359 -0.00976562c-0.999023 0 -1.80957 0.810547 -1.80957 1.80957 +c0 0.0283203 0.000976562 0.0732422 0.00292969 0.100586v63c-0.00195312 0.0273438 -0.00292969 0.0722656 -0.00292969 0.100586c0 0.999023 0.810547 1.80957 1.80957 1.80957c0.0537109 0 0.139648 -0.00488281 0.193359 -0.00976562h22.2002 +c0.0644531 0.00878906 0.169922 0.015625 0.235352 0.015625c0.977539 0 1.77051 -0.792969 1.77051 -1.77051c0 -0.0400391 -0.00292969 -0.105469 -0.00585938 -0.145508v-0.799805c0.00195312 -0.03125 0.00292969 -0.0820312 0.00292969 -0.113281 +c0 -1.04395 -0.84668 -1.89062 -1.88965 -1.89062c-0.03125 0 -0.0820312 0.00195312 -0.113281 0.00390625h-19.1006v-25.7998h16.1006c0.03125 0.00195312 0.0820312 0.00292969 0.113281 0.00292969c1.04297 0 1.88965 -0.84668 1.88965 -1.88965 +c0 -0.03125 -0.000976562 -0.0820312 -0.00292969 -0.113281v-0.800781c0.00195312 -0.03125 0.00292969 -0.0820312 0.00292969 -0.113281c0 -1.04297 -0.84668 -1.88965 -1.88965 -1.88965c-0.03125 0 -0.0820312 0.000976562 -0.113281 0.00292969h-16.1006v-26.6992 +h19.4004zM288.301 262.799l2.2998 -6.7998l7.10059 -0.0996094l-5.7002 -4.30078l2.09961 -6.7998l-5.7998 4.10059l-5.7998 -4.10059l2.09961 6.7998l-5.69922 4.30078l7.09961 0.0996094z" /> + <glyph glyph-name="adobe" unicode="&#xf778;" horiz-adv-x="512" +d="M315.5 384h170.9v-384zM196.5 384l-170.9 -384v384h170.9zM256 241.9l107.5 -241.9h-73l-30.7002 76.7998h-78.7002z" /> + <glyph glyph-name="artstation" unicode="&#xf77a;" horiz-adv-x="512" +d="M2 70.5996h315.1l59.2002 -102.6h-285.399h-0.0146484c-17.4814 0 -38.0381 12.6787 -45.8857 28.2998zM501.8 98c19 -29.4004 -0.0996094 -55.9004 -2 -59.0996l-40.7002 -70.5l-257.3 447.6h88.4004h0.0117188c17.0596 0 37.3936 -12.2305 45.3877 -27.2998zM275 143.5 +h-231l115.5 200z" /> + <glyph glyph-name="atlassian" unicode="&#xf77b;" horiz-adv-x="512" +d="M152.2 211.6c66.2998 -70.7998 89.0996 -189.3 51.2002 -267.1c-2.40039 -5.2002 -7.60059 -8.5 -13.4004 -8.40039h-175c-11 0 -18.4004 11.7002 -13.4004 21.7002l125.801 251c5.09961 10.5 17.0996 11 24.7998 2.7998zM244.4 439.9 +c6.7998 10.8994 20.2998 10.6992 25.5996 0.0996094c5.90039 -11.7002 240.4 -482.3 240.4 -482.3c5 -9.90039 -2.2002 -21.7002 -13.4004 -21.7002h-174.2c-5.7002 0 -10.8994 3.2998 -13.3994 8.40039c-73.5 146.899 -187.301 302.1 -65 495.5z" /> + <glyph glyph-name="canadian-maple-leaf" unicode="&#xf785;" horiz-adv-x="512" +d="M383.8 96.2998c-5 -5 -10 -7.5 -5 -22.5s10 -35.0996 10 -35.0996s-95.2002 20.0996 -105.2 22.5996c-8.89941 0.900391 -18.3994 -2.39941 -18.3994 -12.5c0 -10.0996 5.7998 -112.8 5.7998 -112.8h-30s5.7998 102.8 5.7998 112.8s-9.59961 13.4004 -18.2998 12.5 +c-10.0996 -2.5 -105.3 -22.5996 -105.3 -22.5996s5 20.0996 10.0996 35.0996c4.90039 15 0 17.5 -5.09961 22.5c-2.60059 2.5 -105.2 92.4004 -105.2 92.4004l17.5 7.59961c10 4.90039 7.40039 11.4004 5 17.4004c-2.5 7.59961 -20.0996 67.2998 -20.0996 67.2998 +s47.5996 -10 57.6992 -12.5c7.5 -2.40039 10 2.5 12.5 7.5s15 32.2998 15 32.2998s52.6006 -59.7998 55.1006 -62.2998c10.0996 -7.5 20.0996 0 17.5996 10c0 10 -27.5996 129.6 -27.5996 129.6s30.0996 -17.3994 40.0996 -22.3994c7.60059 -5 12.6006 -5 17.6006 5 +c5 7.5 42.5 79.7998 42.5 79.7998s37.5996 -72.2998 42.6992 -79.7998c5 -10 10.1006 -10 17.6006 -5c10 5 40.0996 22.3994 40.0996 22.3994s-27.5996 -119.6 -27.5996 -129.6c-2.5 -10 7.59961 -17.5 17.5996 -10c2.5 2.40039 55.1006 62.2998 55.1006 62.2998 +s12.5 -27.3994 15 -32.3994s5 -9.90039 12.5 -7.5c10 2.5 57.6992 12.5 57.6992 12.5s-17.6992 -59.7002 -20.0996 -67.3008c-2.40039 -5.89941 -5 -12.5 5 -17.3994l17.5 -7.5s-102.7 -89.9004 -105.2 -92.4004z" /> + <glyph glyph-name="centos" unicode="&#xf789;" +d="M289.6 350.5l31.6006 -31.7002l-76.2998 -76.5v108.2h44.6992zM127.2 318.8l31.5996 31.7002h44.7002v-108.2zM168.7 360.4l55.5 55.5996l55.5 -55.5996h-44.7002v-127.9l-10.7998 -10.7998l-10.7998 10.7998v127.9h-44.7002zM194.9 192.3l-10.8008 -10.7998h-128.6 +v-44.7998l-55.5 55.5996l55.5 55.6006v-44.8008h128.6zM274.2 213l76.2998 76.5l31.5996 -31.7002v-44.7998h-107.899zM447.5 192.3l-55.5 -55.5996v44.7998h-127.7l-10.7998 10.7998l10.7998 10.7998h127.7v44.8008zM65.4004 271.8v78.7002h79.3994l-31.5996 -31.7002 +l90.2998 -90.5v-15.2998h-15.2998l-90.2998 90.5zM382.1 350.5v-78.7002l-31.5996 31.7002l-90.2998 -90.5h-15.2998v15.2998l90.2998 90.5l-31.6006 31.7002h78.5zM203.5 34.0996v-0.0996094h-44.7002l-31.5996 31.7002l76.2998 76.5v-108.101zM65.4004 213v44.7998 +l32.5 31.7002l76.2998 -76.5h-108.8zM382.1 112.8v-78.7002h-78.5l31.6006 31.7002l-90.2998 90.5v15.2998h15.2998l90.2998 -90.5zM382.1 171.6v-44.7998l-31.5996 -31.7002l-76.2998 76.5h107.899zM321.2 65.7998l-31.6006 -31.5996h-44.6992v108.1zM97.9004 95.0996 +l-32.5 31.7002v44.7998h108.8zM279.7 24.2002l-55.5 -55.6006l-55.5 55.6006h44.7002v127.899l10.7998 10.8008l10.7998 -10.8008v-127.899h44.7002zM113.2 65.7998l31.5996 -31.7002h-79.3994v78.7002l32.5 -31.7002l90.2998 90.5h15.2998v-15.2998z" /> + <glyph glyph-name="confluence" unicode="&#xf78d;" horiz-adv-x="512" +d="M2.2998 35.7998c42.2998 66.9004 125.2 233.2 373.101 112.601c39.6992 -19.1006 83.6992 -39.9004 105.899 -50.3008c8 -3.69922 11.7002 -13.1992 8.10059 -21.2998l-50.4004 -114.1c-0.0996094 -0.100586 -0.0996094 -0.299805 -0.200195 -0.400391 +c-3.89941 -8.09961 -13.5996 -11.5996 -21.7002 -7.7002c-200.399 95.2002 -213.8 111.5 -280.899 -0.699219c0 0 -0.100586 -0.100586 -0.100586 -0.200195c-4.69922 -7.7002 -14.6992 -10 -22.3994 -5.2998l-105.9 65.1992c-7.59961 4.7002 -10 14.6006 -5.5 22.2002z +M509.7 347.9c-42.6006 -67.5 -125.4 -232.9 -373.4 -112.9c-39.7002 19.2002 -83.7998 40 -106 50.4004c-8 3.69922 -11.7002 13.1992 -8.09961 21.2998l50.5 114.1c0.0996094 0.100586 0.0996094 0.299805 0.200195 0.400391 +c3.89941 8.09961 13.5996 11.5996 21.6992 7.7002c199.5 -94.7002 213.301 -111.7 280.601 0.899414c0.200195 0.400391 0.399414 0.700195 0.599609 1c5 7.5 15.1006 9.40039 22.6006 4.40039l105.8 -65.1006c7.59961 -4.69922 10 -14.5996 5.5 -22.1992z" /> + <glyph glyph-name="dhl" unicode="&#xf790;" horiz-adv-x="640" +d="M238 146.8l22.2998 30.2002h58.7002l-22.2998 -30.2002h-58.7002zM0 165.1h86.5l-4.7002 -6.39941h-81.7998v6.39941zM172.9 177h68.1992c-5.69922 -7.7998 -24.0996 -30.2998 -57.1992 -30.2998h-100.101l41.1006 55.7998h51c5.59961 0 5.59961 -2.2002 2.7998 -5.90039 +c-2.7998 -3.69922 -7.60059 -10.2998 -10.4004 -14.0996c-1.39941 -1.90039 -4.09961 -5.5 4.60059 -5.5zM490.4 183.9h-62.2002l39.2998 53.3994h62.2002zM95.2998 177l-4.7002 -6.40039h-90.5996v6.40039h95.2998zM206.3 203.6 +c2.7998 3.7002 2.90039 5.90039 -2.7002 5.90039h-111.399l20.3994 27.7998h117.9c29.9004 0 37.5996 -23.5996 29.2002 -35c-6.2002 -8.39941 -13.5 -18.3994 -13.5 -18.3994h-45.6006c-8.69922 0 -6 3.5 -4.59961 5.5c2.7998 3.7998 7.5 10.3994 10.2998 14.1992zM0 146.8 +v6.40039h77.7998l-4.7002 -6.40039h-73.0996zM323 146.8c0 0 22.2002 30.2002 22.2998 30.2002h58.7002l-22.2998 -30.2002h-58.7002zM545 146.7l4.7002 6.39941h90.2998v-6.39941h-95zM567.3 177h72.7002v-6.40039h-77.4004zM553.8 158.7l4.7002 6.39941h81.5v-6.39941 +h-86.2002zM389.6 237.3h58.7002l-39.2998 -53.3994h-143.6l39.2998 53.3994h58.7002l-22.5 -30.5996h26.1992zM423.1 177h133.4l-22.2998 -30.2998h-94.2998c-24.1006 0 -30.6006 11.5996 -23.2002 21.5996c2.09961 2.7998 6.39941 8.7002 6.39941 8.7002z" /> + <glyph glyph-name="diaspora" unicode="&#xf791;" horiz-adv-x="512" +d="M251.64 93.4502c-1.39941 0 -88 -119.9 -88.6992 -119.9c-0.700195 0 -86.6006 60.4502 -86.9404 61.2002s86.5996 125.7 86.5996 127.4c0 2.19922 -129.6 44 -137.6 47.0996c-1.2998 0.5 31.4004 101.8 31.7002 102.1c0.599609 0.700195 144.399 -47 145.5 -47 +c0.399414 0 0.899414 0.600586 1 1.30078c0.399414 2 1 148.6 1.7002 149.6c0.799805 1.2002 104.5 0.700195 105.1 0.299805c1.5 -1 3.5 -156.1 6.09961 -156.1c1.40039 0 138.7 47 139.301 46.2998c0.799805 -0.900391 31.8994 -102.2 31.5 -102.6 +c-0.900391 -0.900391 -140.2 -47.1006 -140.601 -48.8008c-0.299805 -1.39941 82.7998 -122.1 82.5 -122.899s-85.5 -63.5 -86.2998 -63.5c-1 0.200195 -89 125.5 -90.9004 125.5h0.0400391z" /> + <glyph glyph-name="fedex" unicode="&#xf797;" horiz-adv-x="640" +d="M586 163.5l54 -60.5h-64.4004l-22.2998 25l-22.0996 -25h-212.2v11.9004h-0.5c-7.90039 -11.7002 -20.7998 -18.6006 -34.9004 -18.6006c-32.6992 0 -56.3994 26.4004 -60.0996 56.9004h-85.5c0 -23.5 31.0996 -35.5 45.7998 -14.6006h42 +c-27.5996 -67.6992 -130.2 -49.3994 -130.2 23.7002c0 6.40039 0.800781 12.5 2.30078 18.2002h-48.9004v-77.5h-49v184.4h109v-41.1006h-60v-26.2002h54.7998v-24.1992c24.5 43.5996 103.9 45.3994 121.9 -14c7.5 25.5 28.8994 44.8994 57.2998 44.8994 +c13.9004 0 25.7998 -3.7998 35.4004 -14.7998h0.5v75.5h151.199v-48.0996h-56.0996v-16h118.7l22.5 -24.8008l21.7002 24.8008h62.3994zM139.3 180.1h46.5c-4.7998 25.6006 -40.3994 26.3008 -46.5 0zM292.7 131.2c34.5 0 32.5996 62.7998 0 62.7998 +c-34 0 -34.6006 -62.7998 0 -62.7998zM460.5 112.1v29.6006h-56.0996v44.7002h56.0996v28.0996h-55.5v33.9004h56.0996v30.1992h-95v-166.5h94.4004zM414.6 151.9h56.1006v-45.6006l50.7002 57l-50.7002 57v-44h-56.1006v-24.3994zM553.2 141.6l26.2998 -29.5h40.5 +l-46 51.4004l45.4004 51h-38.5l-25.6006 -29.2998l-26.5996 29.2998h-39.7002l45.5996 -51.2002l-45.5996 -51.2002h38.0996z" /> + <glyph glyph-name="fedora" unicode="&#xf798;" +d="M225 416c123.7 -0.299805 223.7 -100.9 223.4 -224.6c-0.300781 -123.7 -100.9 -223.7 -224.601 -223.4l-170.2 0.400391v0c-29.5879 0 -53.6006 24.0127 -53.6006 53.5996c0 0.0830078 0.000976562 0.216797 0.000976562 0.299805l0.400391 170.3 +c0.399414 123.7 100.899 223.7 224.6 223.4zM394.8 258.8c-0.0771484 6.26953 -1.33203 16.3047 -2.7998 22.4004l-55.2002 56.0996v-1.59961c0 -5.10059 -1.5 -9.60059 -3.7998 -14.2998zM331 353.7c1.65332 -2.31348 3.53516 -6.43555 4.2002 -9.2002l54.2998 -54.5996 +c-8.27539 24.8252 -34.4834 53.4082 -58.5 63.7998zM118.1 200.8c-4.54785 -0.369141 -11.8057 -1.66895 -16.1992 -2.89941l8.5 -8.5c1.68457 3.44336 5.13477 8.55078 7.69922 11.3994zM97 196.6c-3.91211 -1.08984 -10.0498 -3.41895 -13.7002 -5.19922l27 -27.2002 +c-1.30469 3.32617 -2.37988 8.92676 -2.39941 12.5l0.899414 8zM78.7998 189.2c-3.21484 -1.79492 -8.23242 -5.02051 -11.2002 -7.2002l35.3008 -35.9004c3.70801 1.84668 10.0254 3.95215 14.0996 4.7002zM63.5996 179.4 +c-3.06738 -2.29395 -7.5918 -6.50488 -10.0996 -9.40039l34.9004 -34.5996c2.66113 2.6377 7.36523 6.44629 10.5 8.5zM50.2998 167.1c-2.89941 -3.2998 -5.7998 -6.69922 -8.59961 -10.5l35.7998 -35.8994c1.74121 3.40527 5.19141 8.5127 7.7002 11.3994zM39.2998 152.8 +c-2.07715 -3.18457 -5.0791 -8.56055 -6.7002 -12l39.5 -39.7998c0.306641 4.3584 1.91895 11.168 3.60059 15.2002zM30.5 136.5c-1.7998 -4.90039 -3.2998 -9.59961 -4.7002 -14.5l52.7002 -53.5c-3.42578 6.82812 -6.42773 18.5654 -6.7002 26.2002zM22.5996 93.5 +c0.0380859 -6.14551 1.33789 -15.957 2.90039 -21.9004l55.4004 -55.6992v1.09961c0.0341797 4.18848 1.64746 10.5947 3.59961 14.2998zM27.9004 62.7998c8.29785 -24.8047 34.5059 -53.3867 58.5 -63.7998c-1.61816 2.33008 -3.5 6.45117 -4.2002 9.2002zM22.5996 99.7998 +l64.4004 -64.2002c2.30469 2.8877 6.74023 6.78613 9.90039 8.7002l-72.2002 72.5c-1.08105 -4.62988 -2.02148 -12.2461 -2.10059 -17zM275.9 151.6c32.5996 -0.0996094 32.6992 49.2002 0.199219 49.4004l-33.5996 0.0996094 +c-4.91309 0.0224609 -8.90039 4.02734 -8.90039 8.94043v0.0595703l0.100586 47c0.0996094 40.5 38.5996 60.8008 66 54.9004c15.3994 -3.90039 30.2998 8.40039 30.2998 23.9004c0 12.0996 -8.7002 22.1992 -19.9004 24 +c-5.39062 1.26953 -14.2617 2.30078 -19.8008 2.30078c-0.110352 0 -0.289062 -0.000976562 -0.398438 -0.000976562c-0.116211 0 -0.304688 0.000976562 -0.420898 0.000976562c-57.96 0 -105.081 -47.041 -105.18 -105.001l-0.0996094 -56l-42.6006 0.0996094 +c-32.5996 0.100586 -32.6992 -49.2002 -0.0996094 -49.2998l33.5996 -0.0996094c4.40039 0 8.90039 -4.5 8.90039 -9l-0.0996094 -47c-0.00585938 -30.8574 -25.0537 -55.9004 -55.9102 -55.9004h-0.19043c-9.39941 0 -9.39941 1.59961 -15.7002 1.59961 +c-13.3691 -0.208008 -24.3457 -11.2295 -24.5 -24.5996c0 -15.5 14.2002 -24.2002 19.9004 -24.2002c61.2998 -12.8994 125.5 33.6006 125.7 102.9l0.0996094 56zM299.4 151.9c4.50781 0.442383 11.7207 1.74219 16.0996 2.89941l-8.5 8.5 +c-1.48047 -3.55762 -4.88477 -8.66504 -7.59961 -11.3994zM320.4 156.1c3.9248 1.09082 10.0625 3.46484 13.6992 5.30078l-27 27.1992c1.30566 -3.32617 2.38086 -8.92578 2.40039 -12.5l-0.900391 -8.09961zM338.4 163.5c4 2.2002 8.09961 4.7002 11.8994 7.2002 +l-36.2002 35.8994c-4.09961 -2.2998 -8.7998 -3.59961 -13.6992 -4.69922zM353.9 173.3c2.92188 2.33301 7.44727 6.36426 10.0996 9l-34.9004 35c-2.63672 -2.66797 -7.34082 -6.47656 -10.5 -8.5zM367.1 185.6c2.52539 2.77441 6.37793 7.47852 8.60059 10.5 +l-35.7998 35.9004c-1.78125 -3.37891 -5.23047 -8.48633 -7.7002 -11.4004zM378.1 199.9c2.10938 3.16602 5.11133 8.54199 6.7002 12l-39.5 39.7998c-0.305664 -4.3584 -1.91895 -11.168 -3.59961 -15.2002zM391.6 230.8l-53.0996 53.4004 +c3.69434 -6.76172 6.875 -18.499 7.09961 -26.2002l41.3008 -41.5c1.50879 3.87695 3.61426 10.2832 4.69922 14.2998zM392.6 236.4c1.05957 4.52246 2.08984 11.959 2.30078 16.5996l-64.3008 64.7002c-2.18359 -3.12988 -6.61816 -7.25098 -9.89941 -9.2002z" /> + <glyph glyph-name="figma" unicode="&#xf799;" horiz-adv-x="384" +d="M277 277.3h-85.4004v-256c-0.0273438 -47.085 -38.2637 -85.2998 -85.3496 -85.2998c-47.1133 0 -85.3496 38.2363 -85.3496 85.3496s38.2363 85.3506 85.3496 85.3506h0.0498047c-47.1133 0 -85.3496 38.2363 -85.3496 85.3496s38.2363 85.3506 85.3496 85.3506 +c-47.085 0 -85.2998 38.2139 -85.2998 85.2998c0 47.085 38.2148 85.2998 85.2998 85.2998h170.7c47.1133 0 85.3496 -38.2363 85.3496 -85.3496s-38.2363 -85.3506 -85.3496 -85.3506zM277 277.3c47.0801 -0.00488281 85.2949 -38.2197 85.2998 -85.2998 +c0 -47.0859 -38.2139 -85.2998 -85.2998 -85.2998s-85.2998 38.2139 -85.2998 85.2998s38.2139 85.2998 85.2998 85.2998z" /> + <glyph glyph-name="intercom" unicode="&#xf7af;" +d="M392 416c30.9004 0 56 -25.0996 56 -56v-336c0 -30.9004 -25.0996 -56 -56 -56h-336c-30.9004 0 -56 25.0996 -56 56v336c0 30.9004 25.0996 56 56 56h336zM283.7 333.9v-199.5c0 -19.8008 29.8994 -19.8008 29.8994 0v199.5c0 19.7998 -29.8994 19.7998 -29.8994 0z +M209.1 341.4v-216.5c0 -19.8008 29.9004 -19.8008 29.9004 0v216.5c0 19.7998 -29.9004 19.7998 -29.9004 0zM134.4 333.9v-199.5c0 -19.8008 29.8994 -19.8008 29.8994 0v199.5c0 19.7998 -29.8994 19.7998 -29.8994 0zM59.7002 304v-134.3 +c0 -19.7998 29.8994 -19.7998 29.8994 0v134.3c0 19.7998 -29.8994 19.7998 -29.8994 0zM383.1 76.2002c14.9004 12.8994 -4.5 35.5996 -19.3994 22.7002c-63.2002 -53.9004 -213.4 -55.3008 -279.3 0c-15 12.7998 -34.4004 -9.90039 -19.4004 -22.7002 +c76.4004 -65.4004 245.3 -63 318.1 0zM388.3 169.7v134.3c0 19.7998 -29.8994 19.7998 -29.8994 0v-134.3c0 -19.7998 29.8994 -19.7998 29.8994 0z" /> + <glyph glyph-name="invision" unicode="&#xf7b0;" +d="M407.4 416c22.3994 0 40.5996 -18.2002 40.5996 -40.5996v-366.801c0 -22.3994 -18.2002 -40.5996 -40.5996 -40.5996h-366.801c-22.3994 0 -40.5996 18.2002 -40.5996 40.5996v366.801c0 22.3994 18.2002 40.5996 40.5996 40.5996h366.801zM176.1 302.4 +c-0.599609 35.0996 -53.5996 34.7998 -53.6992 -0.400391c0 -15 12.1992 -27 27.0996 -27c4.2002 0.0996094 27 4 26.5996 27.4004zM332.8 71c23.7998 0 42.7002 15.2998 53.2002 52l-17.9004 6.7002c-14.2998 -39.5 -31.7998 -32.4004 -31.7998 -16.9004 +c0.299805 8.10059 0.700195 7.7002 14.9004 58.7998c26.0996 85.8008 -61.2998 113.5 -101.8 38l8.89941 40.5h-68.7998l-9.7002 -35.5996h32.2998l-19.7998 -79.4004c-16.5 -36.6992 -57.3994 -44.0996 -57.3994 -23.1992c0.299805 11.2998 -0.700195 4.5 32.8994 138.199 +h-76.3994l-9.7002 -35.5996h31.7998c-22.0996 -90.0996 -22.9004 -89.7998 -23 -104.1c0 -48.7002 63.0996 -56.1006 94.5996 -4.30078l-8.09961 -32.5h45.0996l25.8008 103.301c14.6992 59.6992 74 47.0996 59.8994 0.699219c-9.09961 -32.5996 -40.5996 -106.6 25 -106.6z +" /> + <glyph glyph-name="jira" unicode="&#xf7b1;" horiz-adv-x="496" +d="M490 206.3c8 -7.89941 8 -20.7002 0 -28.5996c-225.8 -225 137.9 136.3 -241.5 -241.7c-180.7 180.1 -109.7 109.3 -242.5 241.6c-7.90039 8 -7.90039 20.8008 0 28.7002c0 0 77 76.7998 242.5 241.7c72.0996 -71.7998 168.6 -169 241.5 -241.7zM248.5 116.3l76 75.7002 +l-76 75.7002l-76 -75.7002z" /> + <glyph glyph-name="mendeley" unicode="&#xf7b3;" horiz-adv-x="640" +d="M624.6 122.8c23.1006 -22.7002 17.8008 -73.5 0 -88.2998c-36.1992 -38.9004 -100 -18.2002 -104.899 35.2002c-1 11.7002 1.09961 23 5.7002 33c47.2998 103.7 -185.9 106.1 -146.5 8.2002c0.0996094 -0.100586 0.199219 -0.200195 0.299805 -0.400391 +c26.5996 -42.5996 -6.7002 -97.2998 -58.7998 -95.2002c-52 -2.2002 -85.6006 52.4004 -58.8008 95.2002c0.100586 0.200195 0.200195 0.299805 0.300781 0.400391c39.3994 97.8994 -193.801 95.5 -146.5 -8.2002c20.3994 -44.9004 -14.1006 -93.7002 -61.2002 -87.7998 +c-61.9004 7.7998 -62.5 82.8994 -42.6006 102.6c16 16 31.8008 24.7998 53 22.5c43.3008 1 49.7002 34.9004 37.5 98.7998c-22.6992 57.5 14.5 131.601 87.4004 130.8c76.9004 -0.699219 82.7998 -82 130.9 -82c49.1992 0 53.5 81.3008 130.899 82 +c72.5 0.700195 110.2 -73.2998 87.4004 -130.8c-12.2002 -63.8994 -5.7998 -97.7998 37.5 -98.7998c18.7002 2 36.0996 -4.7998 48.3994 -17.2002zM320.7 141.9c43.5996 0 62.7998 37.7998 62.7998 62.7998c0 34.7002 -28.0996 62.7998 -62.7998 62.7998h-0.600586 +c-34.5996 0 -62.7998 -28.0996 -62.7998 -62.7998c0 -25.2998 19.4004 -62.7998 62.7998 -62.7998h0.600586z" /> + <glyph glyph-name="raspberry-pi" unicode="&#xf7bb;" horiz-adv-x="407" +d="M372 215.5c28.7002 -17.2002 54.5996 -72.5996 14 -117.7c-2.59961 -14.0996 -7.09961 -24.2002 -11 -35.3994c-5.90039 -45.2002 -44.4004 -66.3008 -54.5996 -68.8008c-14.9004 -11.1992 -30.7002 -21.7998 -52.2002 -29.1992 +c-20.2002 -20.6006 -42.1006 -28.4004 -64.2002 -28.4004h-1c-22 0 -44 7.7998 -64.2998 28.4004c-21.4004 7.39941 -37.2998 18 -52.2002 29.1992c-10.0996 2.5 -48.7002 23.6006 -54.5996 68.8008c-3.90039 11.1992 -8.40039 21.2998 -11 35.3994 +c-40.5 45 -14.6006 100.5 14.1992 117.7l3.7002 6.5c-0.0996094 46.4004 21.4004 65.2998 46.5 79.7002c-7.59961 2 -15.3994 3.7002 -17.5996 13.2002c-13.1006 3.39941 -15.7998 9.39941 -17.1006 15.7998c-3.39941 2.2998 -14.7998 8.7002 -13.5996 19.7002 +c-6.2998 4.39941 -9.90039 10.0996 -8.09961 18.0996c-6.90039 7.5 -8.7002 13.7002 -5.80078 19.4004c-8.2998 10.1992 -4.59961 15.5 -1.09961 20.8994c-6.2002 11.2002 -0.799805 23.2002 16.5 21.2002c6.90039 10.0996 21.9004 7.7998 24.2002 7.7998 +c2.5 3.2998 6 6 16.5 4.7002c6.7998 6.09961 14.3994 5.09961 22.2998 2.09961c3.2002 2.5 6.09961 3.40039 8.7002 3.5c5 0.100586 9.2998 -2.89941 13.8994 -4.2998c11.3008 3.60059 13.8008 -1.39941 19.4004 -3.39941c12.2998 2.59961 16.0996 -3 22 -8.90039 +l6.90039 0.0996094c18.5996 -10.7998 27.7998 -32.7998 31.0996 -44.0996c3.2998 11.2998 12.5 33.2998 31.0996 44.0996l6.90039 -0.0996094c5.90039 5.90039 9.7002 11.5 22 8.90039c5.5 2.09961 8.09961 7 19.4004 3.39941 +c7.09961 2.2002 13.2998 8.10059 22.5996 0.799805c7.90039 2.90039 15.5 4 22.2998 -2.09961c10.5 1.2998 13.9004 -1.5 16.5 -4.7002c2.2998 0 17.2998 2.2998 24.2002 -7.7998c17.2998 2 22.7998 -10 16.5996 -21.2002c3.5 -5.2998 7.2002 -10.5996 -1.09961 -20.8994 +c2.90039 -5.7002 1.09961 -11.9004 -5.7998 -19.4004c1.89941 -8 -1.7002 -13.7002 -8.10059 -18.0996c1.2002 -11 -10.1992 -17.4004 -13.5996 -19.7002c-1.2998 -6.40039 -4 -12.5 -17.0996 -15.7998c-2.2002 -9.60059 -10 -11.2002 -17.6006 -13.2002 +c25.1006 -14.4004 46.6006 -33.2998 46.5 -79.7002zM349.8 223.5c1.5 48.7002 -36.3994 75.4004 -82.0996 67.9004c-16.7998 -2.80078 80.5996 -86.6006 82.0996 -67.9004zM306.8 130.4c24.5 15.7998 28.9004 51.5996 9.90039 80 +c-19 28.3994 -54.2998 38.5996 -78.7998 22.7998s-28.9004 -51.6006 -9.90039 -80c19 -28.4004 54.2998 -38.6006 78.7998 -22.7998zM238.9 418.7c-16.6006 -15.9004 -40.1006 -55.9004 -5.80078 -71.7998c29 23.5 63.6006 40.6992 102 53.5 +c-49.2998 -25.1006 -78 -45.3008 -93.6992 -62.6006c8.09961 -31.7002 50 -33.2002 65.3994 -32.2998c-3.09961 1.40039 -5.7998 3.09961 -6.7002 5.7998c3.80078 2.7002 17.5 0.299805 27 5.60059c-3.69922 0.699219 -5.39941 1.39941 -7.09961 4.09961 +c9 2.90039 18.7002 5.2998 24.4004 10c-3.10059 0 -6 -0.599609 -10 2.09961c8.09961 4.30078 16.6992 7.7002 23.3994 14.2002c-4.2002 0.100586 -8.7002 0.100586 -10 1.60059c7.40039 4.5 13.6006 9.5 18.7998 15c-5.7998 -0.700195 -8.2998 -0.100586 -9.69922 0.899414 +c5.59961 5.60059 12.5996 10.4004 16 17.2998c-4.40039 -1.5 -8.30078 -2.09961 -11.2002 0.100586c1.89941 4.2998 10 6.7002 14.7002 16.5996c-4.60059 -0.399414 -9.40039 -1 -10.4004 0c2.09961 8.5 5.7002 13.2002 9.2998 18.2002 +c-9.7998 0.200195 -24.5996 0 -23.8994 0.799805l6 6.10059c-9.5 2.5 -19.3008 -0.400391 -26.4004 -2.60059c-3.2002 2.5 0 5.60059 3.90039 8.7998c-8.10059 -1 -15.5 -2.89941 -22.1006 -5.39941c-3.59961 3.09961 2.2998 6.2998 5.10059 9.39941 +c-12.5 -2.2998 -17.8008 -5.59961 -23.1006 -8.89941c-3.7998 3.59961 -0.200195 6.7002 2.40039 9.7998c-9.40039 -3.5 -14.2998 -7.90039 -19.4004 -12.2998c-1.7998 2.2998 -4.39941 4 -1.2002 9.59961c-6.69922 -3.7998 -11.7998 -8.2998 -15.5 -13.2998 +c-4.19922 2.59961 -2.5 6.09961 -2.5 9.40039c-7 -5.60059 -11.3994 -11.5 -16.7998 -17.3008c-1.09961 0.800781 -2.09961 3.40039 -2.89941 7.60059zM204.5 304.1c-27.2002 0.700195 -53.4004 -19.8994 -53.4004 -31.7998 +c-0.0996094 -14.5996 21.5 -29.3994 53.6006 -29.7998c32.7998 -0.200195 53.7002 11.9004 53.7998 26.9004c0.0996094 16.8994 -29.7998 35 -54 34.6992zM81.5 316.9c9.59961 -5.2002 23.2002 -2.80078 27.2002 -5.60059 +c-0.900391 -2.59961 -3.60059 -4.39941 -6.7002 -5.7998c15.4004 -0.900391 57.4004 0.5 65.4004 32.2998c-15.7002 17.2998 -44.4004 37.6006 -93.7002 62.6006c38.3994 -12.8008 73 -30 102 -53.5c34.0996 15.8994 10.5996 55.8994 -6 71.7998 +c-0.900391 -4.2002 -1.7998 -6.7998 -2.90039 -7.60059c-5.39941 5.80078 -9.7998 11.7002 -16.7998 17.3008c0 -3.2002 1.59961 -6.80078 -2.5 -9.40039c-3.7002 5 -8.7998 9.5 -15.5 13.2998c3.2002 -5.59961 0.5 -7.2998 -1.2002 -9.59961 +c-5.09961 4.39941 -10 8.89941 -19.3994 12.2998c2.59961 -3.09961 6.19922 -6.2002 2.39941 -9.7998c-5.2998 3.2998 -10.5996 6.59961 -23.0996 8.89941c2.7998 -3.09961 8.59961 -6.2998 5.09961 -9.39941c-6.7002 2.5 -14 4.2998 -22.0996 5.39941 +c3.7998 -3.19922 7.09961 -6.2998 3.89941 -8.7998c-7.09961 2.2002 -16.8994 5.10059 -26.3994 2.60059l6 -6.10059c0.700195 -0.799805 -14.1006 -0.700195 -23.9004 -0.799805c3.5 -4.90039 7.2002 -9.7002 9.2998 -18.2002c-1 -1 -5.7998 -0.399414 -10.3994 0 +c4.7002 -9.89941 12.7998 -12.3994 14.7002 -16.5996c-2.90039 -2.10059 -6.90039 -1.60059 -11.2002 -0.100586c3.2998 -6.89941 10.3994 -11.6992 16 -17.2998c-1.40039 -1 -3.90039 -1.59961 -9.7002 -0.899414c5.2002 -5.5 11.4004 -10.5 18.7998 -15 +c-1.2998 -1.60059 -5.7998 -1.5 -10 -1.60059c6.7002 -6.5 15.2998 -9.89941 23.4004 -14.2002c-4 -2.7998 -6.90039 -2.09961 -10 -2.09961c5.7002 -4.7002 15.3994 -7.2002 24.3994 -10c-1.69922 -2.59961 -3.39941 -3.40039 -7.09961 -4.09961zM141.6 292.8 +c-45.5996 7.60059 -83.5996 -19.2002 -82.0996 -67.8994c1.5 -18.6006 98.9004 65.0996 82.0996 67.8994zM38.2002 106c21.5996 -9.5 39.0996 105.3 12.5996 98.2998c-43.8994 -24.5996 -36.2998 -79.5 -12.5996 -98.2998zM129.2 7.7998 +c14.0996 10.4004 6.39941 45.7002 -10.5 65.7002c-19.4004 22.2002 -44.6006 35.4004 -60.9004 25.5996c-10.8994 -8.19922 -12.8994 -36 2.60059 -63.3994c23 -32.6006 55.5 -35.7998 68.7998 -27.9004zM102.8 127.5c24.4004 -15.7998 59.7002 -5.59961 78.7998 22.7998 +c19 28.4004 14.6006 64.2002 -9.89941 80s-59.7998 5.60059 -78.7998 -22.7998s-14.6006 -64.2002 9.89941 -80zM205 -48c28.4004 -0.5 57.7002 24.4004 57.2002 35.4004c-0.100586 11.3994 -32 19.8994 -55.7002 18.8994c-23.5 0.600586 -59.7002 -9.2998 -59.2998 -22 +c-0.400391 -8.59961 28.3994 -33.5 57.7998 -32.2998zM263.9 76.9004v0.599609c-0.200195 29.5996 -26.8008 53.5996 -59.4004 53.4004c-32.5996 -0.200195 -59 -24.3008 -58.7998 -54v-0.600586c0.200195 -29.5996 26.7998 -53.5996 59.3994 -53.3994 +c32.6006 0.199219 59 24.2998 58.8008 54zM346.1 34.2002c18.4004 23.2002 12.2002 62 1.7002 72.2998c-15.5996 11.9004 -38 -3.2998 -58.8994 -26.5996c-18.3008 -21.1006 -28.4004 -59.6006 -15.1006 -72c12.7002 -9.60059 47 -8.30078 72.2998 26.2998zM369 107.4 +c23.7002 18.6992 31.2998 73.5996 -12.5996 98.2998c-26.4004 7 -8.90039 -107.7 12.5996 -98.2998z" /> + <glyph glyph-name="redhat" unicode="&#xf7bc;" horiz-adv-x="512" +d="M341.52 162.59v-0.149414c33.6504 0 82.3408 6.93945 82.3408 47c0.219727 6.73926 0.859375 1.81934 -20.8799 96.2393c-4.62012 19.1504 -8.68066 27.8398 -42.3105 44.6504c-26.0898 13.3398 -82.9199 35.3701 -99.7295 35.3701 +c-15.6602 0 -20.2002 -20.1699 -38.8701 -20.1699c-18 0 -31.3105 15.0596 -48.1201 15.0596c-16.1406 0 -26.6602 -11 -34.7803 -33.6201c-27.5 -77.5498 -26.2803 -74.2695 -26.1201 -78.2695c0 -24.7998 97.6406 -106.11 228.47 -106.11zM429.07 193.19 +l-0.0703125 -0.0302734c4.65039 -22 4.65039 -24.3506 4.65039 -27.25c0 -37.6602 -42.3301 -58.5605 -98 -58.5605c-125.74 -0.0800781 -235.91 73.6504 -235.91 122.33v0.0771484c0 5.65332 1.81836 14.4531 4.05957 19.6436 +c-45.2402 -2.26074 -103.8 -10.3301 -103.8 -62.0303c0 -84.6699 200.63 -189 359.49 -189c121.79 0 152.51 55.0801 152.51 98.5801c0 34.21 -29.5898 73.0498 -82.9297 96.2402z" /> + <glyph glyph-name="sketch" unicode="&#xf7c6;" horiz-adv-x="512" +d="M27.5 285.8l78.9004 105.8l-6.90039 -130.699h-90.5zM396.3 402.3l7.10059 -133.5l-135.7 147.2zM112.2 229.7l122.6 -239.7l-224.899 261.7h91.0996zM114.2 260.9l142.1 154.1l60.4004 -65.5996l81.5 -88.5h-284zM411.5 251.8v-0.0996094h90.9004l-224.801 -261.7z +M415.4 379l87.8994 -118.1h-90.2998l-6.09961 113.399l-0.900391 17.2998zM113.5 354.5l2.59961 47.7998l128.601 13.7002l-135.8 -147.1zM401.2 251.8l-144.9 -283.8l-102.7 200.9l-42.3994 82.8994h290z" /> + <glyph glyph-name="sourcetree" unicode="&#xf7d3;" +d="M427.2 245c-0.0947266 -81.5225 -63.1279 -168.031 -140.7 -193.1v-101.601c0 -7.89355 -6.40625 -14.2998 -14.2998 -14.2998v0h-96.4004c-7.89355 0 -14.2998 6.40625 -14.2998 14.2998v101.7c-77.5566 25.0537 -140.5 111.535 -140.5 193.037v0.363281 +c0.200195 112 91.0996 202.8 203.2 202.6c112.1 0 203 -90.9004 203 -203zM155.6 245c0 -91 137.2 -89.9004 137.301 0c0 90.7998 -137.301 90.7998 -137.301 0z" /> + <glyph glyph-name="suse" unicode="&#xf7d6;" horiz-adv-x="640" +d="M471.08 345.34c0 1 1.01953 0.759766 0.919922 0.660156c4.2002 -0.599609 92.2002 -13.7002 129.2 -35.2998c12.0996 -6.90039 20.7002 -21.5 34.5 -69.6006c0.700195 -2.7998 -2.7998 -5.09961 -3.60059 -5.69922 +c-26.8994 -18.8008 -56.7998 -36.6006 -145.199 21.6992c11.0996 -26.6992 10.6992 -25.0996 11 -25.5c5.39941 -2.7998 56.2998 -28.6992 81.5996 -28.1992c20.4004 0.399414 42.2002 10.3994 50.9004 15.5996c0 0 4.5 2.7002 3.19922 -2.40039 +c-0.5 -1.89941 -3.2998 -14.5996 -7 -17.6992c-1 -1 -36.5996 -28.4004 -103.1 -28c-42.7002 1 -76.7998 16.3994 -82.4004 -17.4004c-2.7998 -17.0996 6.10059 -37.5 18.9004 -55.7998h-48.5996c-15.9004 28.3994 -23.1006 68.2998 -79.8008 68.2998 +c-51.5996 0 -48.3994 -50.7002 -42.6992 -68.2998h-45.9004c-18.7998 68.7998 -69.2002 98.5996 -102.4 104.3c-74.2998 12.7998 -113 -49.2002 -87 -98.4004c23.1006 -43.5996 81.4004 -44.0996 99.7002 -20.3994c19.2002 25 3.7998 62.8994 -28.5 65.7002 +c-12.2998 1.09961 -25.2998 -4.60059 -25.5 -16.9004v-0.0595703c0 -10.9004 10 -13.8008 12 -14c7.2998 0.399414 8.90039 1.89941 11.7998 2.39941c5.2002 0.900391 16.8008 -1.7998 16.8008 -13.8994c0 -8.40039 -6.80078 -13.1006 -13.3008 -14.9004 +c-4.2373 -1.46777 -11.3154 -2.67773 -15.7998 -2.7002c-17.2002 0 -41.2002 14.7998 -41.5 42.6006c-0.200195 15.6992 7.7002 30 21.6006 39.1992c15.8994 10.5 43.5996 14.1006 69.1992 -1.59961c31.5 -19.2998 39.7002 -57.0996 31.5 -82.9004 +c-11.8994 -37.2998 -45.5996 -57.1992 -90 -53.2998c-31.5 2.7998 -60.6992 19.4004 -78.0996 44.4004c-6.32715 9.0332 -13.7197 25.0264 -16.5 35.7002c-7.12012 28.0596 0 58.0596 5.48047 71.3994c25.6992 63.6006 80.1992 97.2998 99.5996 109.7 +c100.2 61.5996 171.1 59.0996 223 57.2998c61.2998 -2.2002 126.6 -23.2998 135.7 -26.2998c0 2 0.299805 20.2998 0.299805 20.2998zM531.48 272.54c-1.10059 -33.5 39.0996 -51.5996 63.2998 -28.9004c24.3994 22.9004 9 64 -24.4004 65.2002 +c-0.380859 0.0136719 -0.999023 0.0253906 -1.37988 0.0253906c-20.0615 0 -36.8711 -16.2734 -37.5195 -36.3252zM570.08 297.84c14.0312 -0.413086 25.4199 -12.1406 25.4199 -26.1787c0 -0.282227 -0.00878906 -0.739258 -0.0195312 -1.02148 +c-0.50293 -13.9795 -12.2646 -25.3262 -26.2539 -25.3262c-14.501 0 -26.2695 11.7695 -26.2695 26.2705s11.7686 26.2695 26.2695 26.2695c0.236328 0 0.618164 -0.00585938 0.853516 -0.0136719zM574.38 269.04c15.4004 0 15.4004 15.5996 0 15.5996 +c-15.3994 0 -15.3994 -15.5996 0 -15.5996z" /> + <glyph glyph-name="ubuntu" unicode="&#xf7df;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM300.7 347c-8.7998 -15.2002 -3.60059 -34.7002 11.7002 -43.5996c15.1992 -8.80078 34.6992 -3.5 43.5 11.6992c8.7998 15.3008 3.59961 34.8008 -11.7002 43.6006 +c-15.2002 8.7998 -34.7002 3.5 -43.5 -11.7002zM87.4004 160.1c17.5996 0 31.8994 14.3008 31.8994 31.9004s-14.2998 31.9004 -31.8994 31.9004c-17.6006 0 -31.9004 -14.3008 -31.9004 -31.9004s14.2998 -31.9004 31.9004 -31.9004zM115.5 157 +c8.7002 -32.7002 29.0996 -60.7002 56.5 -79l23.7002 39.5996c-51.5 36.3008 -51.5 112.5 0 148.801l-23.7002 39.5996c-27.4004 -18.4004 -47.9004 -46.2998 -56.5 -79.0996c22.4004 -18 22.2998 -52 0 -69.9004zM344.2 25.2998 +c15.2998 8.7998 20.5 28.2998 11.7002 43.6006c-8.80078 15.2998 -28.3008 20.5 -43.5 11.6992c-15.3008 -8.7998 -20.5 -28.2998 -11.7002 -43.5996s28.2002 -20.5 43.5 -11.7002zM344.5 94.7998c23 22.9004 38 53.9004 40.2998 88.4004l-46.0996 0.700195 +c-5.5 -62.7002 -71.9004 -100.9 -128.9 -74.4004l-22.5 -40.2998c47.7998 -23.7002 91.5 -10.7998 96.7002 -9.40039c4.40039 28.4004 33.7998 45.2998 60.5 35zM338.6 200.1l46 0.600586c-2.19922 34.5996 -17.0996 65.5996 -40.1992 88.5 +c-26.7002 -10.2998 -56.1006 6.7002 -60.5 35c-5.2002 1.39941 -48.8008 14.2998 -96.7002 -9.40039l22.5 -40.2998c57.5996 26.7998 123.5 -12.4004 128.899 -74.4004z" /> + <glyph glyph-name="ups" unicode="&#xf7e0;" horiz-adv-x="384" +d="M103.2 145v123h32.5996v-141.6c-17.7002 -12.1006 -97.8994 -35.9004 -97.8994 39v102.6h32.6992v-104c0 -32.0996 27.4004 -22.5996 32.6006 -19zM4 373.18c93.5996 49.6006 259.1 61.6006 375.4 0v-220.899c0 -103.9 -75.3008 -135.2 -187.7 -184.101 +c-112.8 48.9004 -187.7 80.4004 -187.7 184.101v220.899zM362.1 152.28v216.2c-109.3 10.1992 -238.6 4 -340.899 -89.8008v-126.399c0 -86.6006 53 -113.5 170.5 -165.3c117.2 51.6992 170.399 78.6992 170.399 165.3zM152.5 259.68 +c23.7002 15.3203 104.4 31.8008 104.4 -65.5996c0 -75.9004 -47.3008 -85.7998 -71.7002 -78.5v-68.7002h-32.7002v212.8zM185.2 142.38c2 -0.799805 38.3994 -16.8994 38.3994 51c0 62 -30 53.5 -38.3994 49.2998v-100.3zM264.3 228.78 +c-0.200195 41.0996 51.2002 53.8994 79.7002 31.8994v-28.3994c-17.9004 18.2998 -47.9004 18.0996 -48.5 -2.2002c-0.700195 -26.5996 55.0996 -21.7002 53.4004 -73.2002c-1.30078 -41.5996 -47 -55 -83.2002 -33.5v30.1006 +c20.3994 -18.1006 51.3994 -18.6006 50.7998 4.89941c-0.599609 27.9004 -52.0996 23.1006 -52.2002 70.4004z" /> + <glyph glyph-name="usps" unicode="&#xf7e1;" horiz-adv-x="576" +d="M460.3 206.3c-1.39941 -2.2002 -4.2998 -4.39941 -3.7998 0.100586c2.90039 11.5996 13.9004 30.5 4.40039 32c-17.8008 3.09961 -88.1006 -4.5 -88.1006 0c0 2.39941 26.7002 3.09961 37.9004 8.69922c9.39941 9.40039 10.7998 8 10.8994 8h27 +c26.9004 0 37.5 -7.5 11.7002 -48.7998zM348.2 183.7c-62.2998 -21.2002 -124.8 -54.2002 -321.2 -151.5l52.4004 245.5c185 0 335.199 5.59961 337.899 -22.6006h-196.6l30.7002 -93.2998c35 16.7998 120.899 51.7002 172.6 53.9004 +c21.7998 0.799805 30.5996 -2.90039 26.2002 -5.7998c-4.7002 -2.30078 -38 -4.90039 -102 -26.2002zM94.7002 352h454.3l-67.7002 -319.7h-423.1s402 157.3 406.399 160.2c0 0 35.7002 48 14.6006 67.7002c-6.5 6.59961 -16 6.59961 -52.4004 6.59961 +c-2.09961 19.5 -78.7998 31.5 -332.1 85.2002z" /> + <glyph glyph-name="yarn" unicode="&#xf7e3;" horiz-adv-x="496" +d="M393.9 102.8c-39 -9.2998 -48.4004 -32.0996 -104 -47.3994c0 0 -2.7002 -4 -10.4004 -5.80078c-13.4004 -3.2998 -63.9004 -6 -68.5 -6.09961c-12.4004 -0.0996094 -19.9004 3.2002 -22 8.2002c-6.40039 15.2998 9.2002 22 9.2002 22 +c-8.10059 5 -9 9.89941 -9.7998 8.09961c-2.40039 -5.7998 -3.60059 -20.0996 -10.1006 -26.5c-8.7998 -8.89941 -25.5 -5.89941 -35.2998 -0.799805c-10.7998 5.7002 0.799805 19.2002 0.799805 19.2002s-5.7998 -3.40039 -10.5 3.59961 +c-6 9.2998 -17.0996 37.2998 11.5 62c-1.2998 10.1006 -4.59961 53.7002 40.6006 85.6006c0 0 -20.6006 22.7998 -12.9004 43.2998c5 13.3994 7 13.2998 8.59961 13.8994c5.7002 2.2002 11.3008 4.60059 15.4004 9.10059c20.5996 22.2002 46.7998 18 46.7998 18 +s12.4004 37.7998 23.9004 30.3994c3.5 -2.2998 16.2998 -30.5996 16.2998 -30.5996s13.5996 7.90039 15.0996 5c8.2002 -16 9.2002 -46.5 5.60059 -65.0996c-6.10059 -30.6006 -21.4004 -47.1006 -27.6006 -57.5c-1.39941 -2.40039 16.5 -10 27.8008 -41.3008 +c10.3994 -28.5996 1.09961 -52.6992 2.7998 -55.2998c0.799805 -1.39941 13.7002 -0.799805 36.3994 13.2002c12.8008 7.90039 28.1006 16.9004 45.4004 17c16.7002 0.5 17.5996 -19.2002 4.90039 -22.2002zM496 192c0 -136.9 -111.1 -248 -248 -248s-248 111.1 -248 248 +s111.1 248 248 248s248 -111.1 248 -248zM416.7 116.8c-1.7002 13.6006 -13.2002 23 -28 22.7998c-22 -0.299805 -40.5 -11.6992 -52.7998 -19.1992c-4.80078 -3 -8.90039 -5.2002 -12.4004 -6.80078c3.09961 44.5 -22.5 73.1006 -28.7002 79.4004 +c7.7998 11.2998 18.4004 27.7998 23.4004 53.2002c4.2998 21.7002 3 55.5 -6.90039 74.5c-1.59961 3.09961 -7.39941 11.2002 -21 7.39941c-9.7002 20 -13 22.1006 -15.5996 23.8008c-1.10059 0.699219 -23.6006 16.3994 -41.4004 -28 +c-12.2002 -0.900391 -31.2998 -5.30078 -47.5 -22.8008c-2 -2.19922 -5.89941 -3.7998 -10.0996 -5.39941h0.0996094c-8.39941 -3 -12.2998 -9.90039 -16.8994 -22.2998c-6.5 -17.4004 0.199219 -34.6006 6.7998 -45.7002c-17.7998 -15.9004 -37 -39.7998 -35.7002 -82.5 +c-34 -36 -11.7998 -73 -5.59961 -79.6006c-1.60059 -11.0996 3.69922 -19.3994 12 -23.7998c12.5996 -6.7002 30.2998 -9.59961 43.8994 -2.7998c4.90039 -5.2002 13.7998 -10.0996 30 -10.0996c6.7998 0 58 2.89941 72.6006 6.5c6.7998 1.59961 11.5 4.5 14.5996 7.09961 +c9.7998 3.09961 36.7998 12.2998 62.2002 28.7002c18 11.7002 24.2002 14.2002 37.5996 17.3994c12.9004 3.2002 21 15.1006 19.4004 28.2002z" /> + <glyph glyph-name="airbnb" unicode="&#xf834;" +d="M224 74.8799h0.0595703c24.71 31.1797 39.5508 58.9297 45 83.1797c22.5508 88 -112.609 88 -90.0596 0c4.91992 -23.75 19.7598 -51.5098 45 -83.1797zM362.15 1.65039c35.6396 15.3496 50.1797 53.5693 37.0098 86.6396 +c-25.4902 61.6104 -78.8398 168.47 -114.84 239.09c-16.9707 33.9297 -28.0303 59.8701 -60.3701 59.8701c-33.8203 0 -43.6299 -27.3301 -59.3799 -57.4004c-4.15039 -10.3799 -100.771 -202.399 -115.87 -241.56c-17.8105 -50.0303 21.2998 -98.5205 71.2998 -91.0898 +c24.5996 2.22949 52.6201 18.8701 85.1504 54.9199c-29.2002 37.1104 -47.5 70.3096 -54.4307 99.5c-11.8799 53.9902 18.3604 100.5 73.2803 100.5c64.96 0 122.75 -69.9297 18.8496 -200c35.6309 -39.5898 77.2402 -68.7803 119.301 -50.4697zM409.15 137.77 +c0 -0.679688 16.8496 -35.6895 16.8301 -39.5791c25.2393 -69.3301 -26.7207 -130.24 -89.6104 -130.19c-11.1104 0 -53.6904 -1.37988 -112.37 62.4004c-51.7598 -56.3408 -90.6602 -62.4004 -112.37 -62.4004c-62.8896 0 -114.85 60.8604 -89.6299 130.19 +c0.889648 2.61914 11.1797 32.71 117.34 245.02c19.79 41.1201 39.1406 72.79 84.6602 72.79c49.1299 0 56.2695 -3.92969 185.15 -278.23z" /> + <glyph glyph-name="battle-net" unicode="&#xf835;" horiz-adv-x="512" +d="M448.61 222.38c60.75 -36.25 71.9893 -73.8096 57.3193 -93.6895c-4.70996 -6.88086 -25.1797 -36.2402 -148 -31.6406c-21.8193 -30.3994 -45.25 -53.2695 -67.4697 -69.2695c28.54 -53.7803 54.2998 -85.0303 62.54 -91.7803c0 0 -3.44043 0.160156 -8.58008 3.37012 +c-2.69434 1.61133 -6.61426 4.78809 -8.75 7.08984c-15.6299 16.1797 -35.5195 41.9404 -55.7002 74.1201c-43.9502 -28.1104 -81.1299 -29.0996 -88.4395 -9.4502c-4.83984 10.8301 1.5293 26.5 9.05957 39.3398c-31.3203 -17.5098 -61.7002 -26.8496 -86.7002 -21.1396 +c-6.79004 1.54004 -17.6299 5.50977 -23.1992 18.2598c-4.52051 9.53027 -6.02051 24.2598 -0.150391 47.1406c9.07031 35.3398 37.5801 82.2998 47.3096 97.6992c3.75 -8.62988 -20.7793 40.1904 -26 93.1904c-89.1592 0 -110.56 -8.83984 -111.56 -9.21973 +c1.54004 2.44922 7.86035 7.26953 17.7598 9.71973c22 5.47949 54.6406 9.84961 93 11.2295c-2.38965 52.0703 15.3398 84.7705 36 81.29h0.180664c11.3291 -1.2998 21.2598 -13.5801 28.5 -25.9297c0.669922 35.2002 7.7998 65.54 25 84.0703 +c4.72949 5.14941 13.5693 12.5498 27.3994 11h0.0498047c10.5205 -0.850586 24 -6.91992 40.8398 -23.4707c25.6006 -25.0693 51.54 -71.9893 60.4805 -88.9297c37.25 -3.7002 68.7695 -12.5801 93.7695 -23.7998c32.3506 51.5898 46.4805 89.5303 48.2002 100.05 +c0.640625 -1.25 2.93066 -8.41992 -0.450195 -20.25c-6.22949 -21.6201 -18.5791 -51.7197 -36.3398 -85.2998c45.79 -23.7305 65.3203 -55.0098 52.8506 -71.3301c-3.35059 -4.94043 -12.0498 -12.5498 -38.9199 -12.3701zM370.76 116.16 +c70.4102 4.37988 79.6504 20.5703 78.5098 33.5c-1.87988 21.25 -21.1992 41.2598 -49.0596 58.8301c0.889648 -24.5605 -5.63965 -54.6201 -29.4502 -92.3301zM216.9 60.3096c-19.04 -30.46 9.19922 -39.5596 49.7998 -17.6992 +c-7 12.0898 -13.9199 24.8594 -20.6006 38.1895c-9.66992 -7.37012 -19.4395 -14.2598 -29.1992 -20.4902zM431.9 231.66c36.2598 -1.23047 29.4199 27.8496 -9.64062 51.9502c-5.9707 -10.373 -16.1582 -26.9043 -22.7402 -36.9004 +c11.2207 -4.70996 22.0908 -9.70996 32.3809 -15.0498zM279.18 50c28.3799 18.2002 60.1689 48.1201 84.7695 85.4297c18.46 27.96 26.1494 56.0205 25.4102 79.5703c-30.5801 17.3203 -89.3604 42.7197 -167.23 57.21c0.350586 18.4805 2.08984 19.8799 2.16016 20.3301 +c10.9229 -1.33496 28.5693 -4.04492 39.3896 -6.0498c32.5664 -6.08984 84.2383 -20.2959 115.34 -31.71c-15.6191 33.1494 -41.4092 47.2197 -41.5195 47.2197c1.59961 0.160156 28.1299 -6 48.8604 -43.7197c8.42676 11.2061 16.2031 22.0293 23.3301 32.4697 +c-29.96 15.46 -71.75 28.04 -116.32 30.71c-33.4502 1.99023 -61.6299 -5.38965 -81.6299 -17.8096c0.240234 -35.2607 7.66992 -98.96 34 -173.431c-16.8301 -9.12988 -17.7402 -7.87012 -18.6699 -8.25c-17.1924 40.7627 -37.2041 109.235 -44.6699 152.84 +c-21.0908 -30.3994 -20.1406 -59.5 -20.1406 -59.5693c-0.919922 1.22949 -8.81934 27.4297 13.4707 64.2295c-13.5801 1.70996 -26.5508 2.9707 -38.8506 3.87988c1.57031 -33.6797 11.5703 -76.1494 31.5703 -116.069c14.8701 -29.71 35.1201 -50.3105 55.71 -61.4902 +c30.4102 17.9199 81.0498 55.6504 132.75 115.92c14.9697 -9 16.1494 -11.71 16.5098 -12c-7.91309 -10.5332 -16.2227 -20.9033 -24.9287 -31.1104c-21.542 -25.1426 -59.6494 -62.7744 -85.0605 -84c37.5303 -3.38965 62.5303 12.1807 62.5303 12.25 +c-0.860352 -1.67969 -20.0303 -21.6797 -63.2803 -20.4092c5.5 -12.9404 10.9902 -25.0908 16.5 -36.4404zM306.579 337c-1.58008 2.4502 -39.5801 58.8496 -56.4805 54.6104c-16.8994 1.09961 -36.21 -22.9805 -38.21 -75.2803 +c21.1104 13.2402 50.1299 22.3301 94.6904 20.6699zM175.929 333.9c-3.7998 6.68945 -8.66992 12.4795 -14.4297 13.5693h-0.0898438c-24.79 1.41016 -24.75 -52.8301 -24.6699 -49.5898c13.6602 -0.00976562 27.8496 -0.410156 42.3994 -1.25977 +c-1.62012 12.6602 -2.72949 25.1699 -3.20996 37.2803zM147.869 171.9c-30.7998 -61.5098 -19.8701 -76.6104 -19.6699 -76.8203c7.38965 -15.4902 38.1299 -20.25 84.9199 4.50977c-21.9502 11.7402 -44.4902 32.6104 -65.25 72.3105zM357.929 97.0996z" /> + <glyph glyph-name="bootstrap" unicode="&#xf836;" +d="M292.3 136.07c0 -42.4102 -39.7197 -41.4307 -43.9199 -41.4307h-80.8896v81.6904h80.8896c42.5605 0 43.9199 -31.9004 43.9199 -40.2598zM242.15 209.2h-74.6602v72.1797h74.6602c34.9297 0 38.4395 -20.3496 38.4395 -35.8701 +c0 -37.3096 -37.7695 -36.3096 -38.4395 -36.3096zM448 341.33v-298.66c-0.120117 -41.0977 -33.5723 -74.5498 -74.6699 -74.6699h-298.66c-41.0977 0.120117 -74.5498 33.5723 -74.6699 74.6699v298.66c0.120117 41.0977 33.5723 74.5498 74.6699 74.6699h298.66 +c41.0977 -0.120117 74.5498 -33.5723 74.6699 -74.6699zM338.05 130.14c0 21.5703 -6.64941 58.29 -49.0498 67.3506v0.729492c22.9102 9.78027 37.3398 28.25 37.3398 55.6406c0 7 2 64.7793 -77.5996 64.7793h-127v-261.33c128.229 0 139.87 -1.67969 163.6 5.70996 +c14.21 4.4209 52.71 17.9805 52.71 67.1201z" /> + <glyph glyph-name="buffer" unicode="&#xf837;" +d="M427.84 67.3301l-196.5 -97.8203c-1.93848 -0.832031 -5.22461 -1.50684 -7.33496 -1.50684c-2.10938 0 -5.39551 0.674805 -7.33496 1.50684l-196.51 97.8203c-4 2 -4 5.28027 0 7.29004l47.0596 23.3799c1.94238 0.832031 5.23242 1.50684 7.3457 1.50684 +c2.1123 0 5.40234 -0.674805 7.34473 -1.50684l134.76 -67c1.93848 -0.836914 5.22461 -1.51562 7.33496 -1.51562c2.11133 0 5.39746 0.678711 7.33496 1.51562l134.76 67c1.94043 0.832031 5.22949 1.50781 7.34082 1.50781s5.39941 -0.675781 7.33984 -1.50781 +l47.0596 -23.4297c4.0498 -1.95996 4.0498 -5.24023 0 -7.24023zM427.84 203.86c4.0498 -2.01074 4.0498 -5.29004 0 -7.31055l-196.5 -97.7998c-1.93848 -0.832031 -5.22461 -1.50781 -7.33496 -1.50781c-2.10938 0 -5.39551 0.675781 -7.33496 1.50781l-196.51 97.7998 +c-4 2.02051 -4 5.31055 0 7.31055l47.0596 23.4297c1.94238 0.832031 5.23242 1.50684 7.3457 1.50684c2.1123 0 5.40234 -0.674805 7.34473 -1.50684l134.76 -67.0801c1.93945 -0.828125 5.22559 -1.5 7.33496 -1.5s5.39551 0.671875 7.33496 1.5l134.76 67.0801 +c1.94043 0.832031 5.22949 1.50781 7.34082 1.50781s5.39941 -0.675781 7.33984 -1.50781zM20.1602 317.58c-4.0498 1.86035 -4.0498 4.88965 0 6.74023l196.5 90.2793c1.9502 0.774414 5.23633 1.40332 7.33496 1.40332s5.38477 -0.628906 7.33496 -1.40332 +l196.51 -90.2793c4 -1.85059 4 -4.87988 0 -6.74023l-196.51 -90.29c-1.95215 -0.765625 -5.23828 -1.3877 -7.33496 -1.3877s-5.38281 0.62207 -7.33496 1.3877z" /> + <glyph glyph-name="chromecast" unicode="&#xf838;" horiz-adv-x="512" +d="M447.83 384h0.169922c23.5811 0 42.7197 -19.1387 42.7197 -42.7197v-298.561c0 -23.5811 -19.1387 -42.7197 -42.7197 -42.7197v0h-149.36v42.7197h149.19v298.561h-383.83v-63.9199h-42.7197v63.9199c0 23.5811 19.1387 42.7197 42.7197 42.7197h383.83z +M21.2803 64.4199c35.2783 0 63.9102 -28.6318 63.9102 -63.9102v-0.00976562h-63.9102v63.9199zM21.2803 149.7l0.0292969 -0.339844h0.330078c82.248 -0.105469 149 -66.9424 149 -149.19v-0.169922h-42.7197v0.339844v0.0302734c0 58.8594 -47.7705 106.63 -106.63 106.63 +h-0.00976562v42.7002zM21.2803 234.97v-0.330078c129.46 -0.370117 234.34 -105.18 234.8 -234.64h-42.7197v0.5c-0.0800781 106 -86.0801 191.85 -192.08 191.75v42.7197z" /> + <glyph glyph-name="evernote" unicode="&#xf839;" horiz-adv-x="384" +d="M120.82 315.79c1.59961 -22.3096 -17.5508 -21.5898 -21.6104 -21.5898c-68.9297 0 -73.6396 1 -83.5801 -3.33984c-0.55957 -0.220703 -0.740234 0 -0.370117 0.370117l108.53 110.319c0.379883 0.370117 0.599609 0.219727 0.379883 -0.370117 +c-4.34961 -9.98926 -3.34961 -15.0898 -3.34961 -85.3896zM199.82 7.79004c-14.6807 37.0801 13 76.9297 52.5195 76.6201c17.4902 0 22.6006 -23.21 7.9502 -31.4199c-6.19043 -3.2998 -24.9502 -1.74023 -25.1396 -19.2002 +c-0.0507812 -17.0898 19.6699 -25 31.1992 -24.8896h0.0107422c25.1934 0 45.6396 20.4463 45.6396 45.6396v0.00976562v0.0800781c0 11.6299 -7.79004 47.2197 -47.54 55.3398c-7.71973 1.54004 -65 6.35059 -68.3496 50.5205 +c-3.74023 -16.9307 -17.4004 -63.4902 -43.1104 -69.0898c-8.74023 -1.94043 -69.6797 -7.64062 -112.92 36.7695c0 0 -18.5703 15.2305 -28.2305 57.9502c-3.37988 15.75 -9.2793 39.7002 -11.1396 62c0 18 11.1396 30.4502 25.0703 32.2002c81 0 90 -2.32031 101 7.7998 +c9.81934 9.24023 7.7998 15.5 7.7998 102.78c1 8.2998 7.79004 30.8096 53.4102 24.1396c6 -0.860352 31.9102 -4.17969 37.4795 -30.6396l64.2607 -11.1504c20.4297 -3.70996 70.9395 -7 80.5996 -57.9404c22.6602 -121.09 8.91016 -238.46 7.7998 -238.46 +c-15.9795 -114.38 -111.07 -108.85 -111.07 -108.85c-18.9492 0.230469 -54.25 9.40039 -67.2695 39.8301zM280.76 212.63c-1 -1.91992 -2.2002 -6 0.850586 -7c14.0898 -4.92969 39.75 -6.83984 45.8799 -5.53027c3.10938 0.25 3.0498 4.43066 2.47949 6.65039 +c-3.5293 21.8496 -40.8301 26.5 -49.2393 5.91992z" /> + <glyph glyph-name="itch-io" unicode="&#xf83a;" horiz-adv-x="512" +d="M71.9199 413.23c19.2197 1.66992 114.32 2.76953 184.08 2.76953s116.56 -0.400391 184 -2.73047c21.7197 -12.9297 64.5195 -62.0996 64.9199 -75v-21.3398c0 -27.0596 -25.25 -50.8398 -48.25 -50.8398c-27.54 0 -50.54 22.8799 -50.54 50 +c0 -27.1494 -22.2295 -50 -49.7598 -50s-49 22.8799 -49 50c0 -27.1494 -23.5898 -50 -51.1602 -50h-0.5c-27.5703 0 -51.1602 22.8799 -51.1602 50c0 -27.1494 -21.4199 -50 -49 -50s-49.7598 22.8799 -49.7598 50c0 -27.1494 -22.9697 -50 -50.54 -50 +c-22.96 0 -48.25 23.7803 -48.25 50.8398v21.3398c0.400391 12.8906 43.2002 62.0605 64.9199 74.9609zM204.24 278.84c9.14844 -15.9902 31.5527 -28.9785 49.9746 -28.9785c0.498047 0 1.30664 0.0126953 1.80469 0.0283203c28.7109 0 44.6602 16.4502 51.7607 28.9404 +c22 -38.3398 77.8496 -38.7598 99.8496 -0.240234c13.1201 -23.0596 43.0801 -32.0996 56 -27.6602c3.57031 -37.1494 13.9004 -236.88 -17.75 -269.149c-77.6797 -18.1201 -299.76 -18.6699 -379.76 0c-31.4004 32.0195 -21.6006 229 -17.7305 269.149 +c12.8301 -4.41016 42.8301 4.52051 56 27.6602c21.9502 -38.46 77.8506 -38.1494 99.8506 0.25zM162.66 225.07l-0.0205078 -0.0703125c-52.3193 0 -65.21 -77.4502 -83.8799 -144.45c-17.2598 -62.1494 5.52051 -63.6699 33.9404 -63.7295 +c42.1494 1.56934 65.4902 32.1797 65.4902 62.79c53.6191 -8.79004 116.3 -6.43066 155.55 0c0 -30.6104 23.3398 -61.2207 65.4902 -62.79c28.4297 0.0595703 51.21 1.58008 33.9492 63.7295c-18.6494 66.9199 -31.54 144.45 -83.8701 144.45 +c-16.46 0 -31.0898 0 -49.25 -19.71c-12.1377 1.23145 -31.8896 2.23047 -44.0898 2.23047c-12.1992 0 -31.9521 -0.999023 -44.0898 -2.23047c-18.1299 19.7803 -32.75 19.7803 -49.2197 19.7803zM256 177.21l-0.0595703 -0.00976562s44.3496 -40.7598 52.3496 -55.2402 +l-29 1.16992v-25.2803c0 -1.15918 -11.6602 -0.699219 -23.3096 -0.15918c-1.99023 0 -23.3301 -1.39062 -23.3301 0.15918v25.3203l-29 -1.16992c7.96973 14.4404 52.3496 55.21 52.3496 55.21z" /> + <glyph glyph-name="salesforce" unicode="&#xf83b;" horiz-adv-x="640" +d="M248.89 202.36h-26.3496c0.69043 5.15918 3.32031 14.1201 13.6396 14.1201c6.75 0 11.9707 -3.82031 12.71 -14.1201zM385.55 216.24c0.450195 0 14.1104 1.75977 14.1104 -20c0 -6.45996 -1.11035 -20 -14.1104 -20c-0.479492 0 -14.1094 -1.77051 -14.1094 20 +c0 21.7695 13.6396 20 14.1094 20zM142.33 192.48c4.2002 3.60938 15.6104 2.71973 20.9297 1.64941v-16.9395c-5.85938 -1.1709 -16.2295 -2.75 -20.9297 0.949219c-1.20996 1 -3.29004 2.27051 -3.29004 7.05078 +c-0.0078125 0.137695 -0.0146484 0.361328 -0.0146484 0.499023c0 2.31738 1.48047 5.36035 3.30469 6.79102zM640 216c0 -87.5801 -80 -154.39 -165.36 -136.43c-18.3701 -33 -70.7295 -70.75 -132.199 -41.6299c-41.1602 -96.0508 -177.891 -92.1807 -213.811 5.16992 +c-119.72 -23.8906 -178.82 138.37 -75.2695 199.279c-34.75 79.4307 22.6396 173.61 114.31 173.61c33.834 -0.0214844 77.9883 -21.8389 98.5605 -48.7002c20.6992 21.4004 49.3994 34.8105 81.1494 34.8105c42.3398 0 79 -23.5205 98.7998 -58.5703 +c92.8203 40.6797 193.82 -28.2305 193.82 -127.54zM120.45 184.2c0 11.7598 -11.6904 15.1699 -17.8701 17.1699c-5.27051 2.11035 -13.4102 3.50977 -13.4102 8.93945c0 9.45996 17 6.66016 25.1699 2.12012c0 0 1.16992 -0.709961 1.64062 0.470703 +c0.239258 0.699219 2.35938 6.58008 2.58984 7.29004c0.0292969 0.0927734 0.0537109 0.24707 0.0537109 0.34375c0 0.441406 -0.337891 0.918945 -0.753906 1.06543c-12.3301 7.63086 -40.7002 8.51074 -40.7002 -12.6992c0 -12.46 11.4902 -15.4404 17.8799 -17.1699 +c4.71973 -1.58008 13.1699 -3 13.1699 -8.7002c0 -4 -3.5293 -7.06055 -9.16992 -7.06055c-5.82617 0.00976562 -14.3379 2.85449 -19 6.35059c-0.469727 0.229492 -1.41992 0.709961 -1.64941 -0.709961l-2.40039 -7.4707 +c-0.469727 -0.939453 0.230469 -1.17969 0.230469 -1.40918c1.75 -1.40039 10.2998 -6.59082 22.8193 -6.59082c13.1699 0 21.4004 7.06055 21.4004 18.1104v-0.0498047zM152.45 226.78c-10.1299 0 -18.6602 -3.16992 -21.4004 -5.18066 +c-0.237305 -0.164062 -0.430664 -0.532227 -0.430664 -0.822266c0 -0.178711 0.0859375 -0.442383 0.19043 -0.586914l2.59082 -7.06055c0.114258 -0.399414 0.544922 -0.723633 0.960938 -0.723633c0.0605469 0 0.15918 0.0107422 0.21875 0.0234375 +c0.650391 0 6.7998 4 16.9297 4c4 0 7.06055 -0.709961 9.18066 -2.35938c3.59961 -2.80078 3.05957 -8.29004 3.05957 -10.5801c-4.79004 0.299805 -19.1104 3.43945 -29.4102 -3.75977c-4.05762 -2.7832 -7.34961 -9.03418 -7.34961 -13.9541 +c0 -0.162109 0.00390625 -0.424805 0.00976562 -0.585938c0 -5.90039 1.50977 -10.4004 6.58984 -14.3506c12.2402 -8.16016 36.2803 -2 38.1006 -1.41016c1.5791 0.320312 3.5293 0.660156 3.5293 1.87988v33.8809c0.0400391 4.60938 0.320312 21.6396 -22.7793 21.6396z +M199 247.76c0.000976562 0.0205078 0.00195312 0.0527344 0.00195312 0.0722656c0 0.613281 -0.49707 1.11035 -1.10938 1.11035c-0.0205078 0 -0.0527344 -0.000976562 -0.0722656 -0.00195312h-9.82031 +c-0.0175781 0.000976562 -0.0449219 0.000976562 -0.0625 0.000976562c-0.612305 0 -1.10938 -0.49707 -1.10938 -1.10938c0 -0.0205078 0.000976562 -0.0527344 0.00195312 -0.0722656v-79c-0.000976562 -0.0195312 -0.00195312 -0.0517578 -0.00195312 -0.0712891 +c0 -0.613281 0.49707 -1.11035 1.10938 -1.11035c0.0175781 0 0.0449219 0.000976562 0.0625 0.00195312h9.87988c0.0205078 -0.000976562 0.0527344 -0.00195312 0.0722656 -0.00195312c0.613281 0 1.11035 0.49707 1.11035 1.10938 +c0 0.0205078 -0.000976562 0.0527344 -0.00292969 0.0722656zM254.75 218.83c-2.09961 2.30957 -6.79004 7.53027 -17.6504 7.53027c-3.50977 0 -14.1592 -0.230469 -20.6992 -8.94043c-6.35059 -7.62988 -6.58008 -18.1104 -6.58008 -21.4102 +c0 -3.12012 0.149414 -14.2598 7.05957 -21.1699c2.63965 -2.91016 9.06055 -8.22949 22.8105 -8.22949c10.8193 0 16.4697 2.34961 18.5791 3.75977c0.470703 0.240234 0.710938 0.709961 0.240234 1.87988l-2.34961 6.83008 +c-0.1875 0.402344 -0.699219 0.728516 -1.14258 0.728516c-0.0751953 0 -0.194336 -0.0126953 -0.267578 -0.0283203c-2.58984 -0.94043 -6.34961 -2.82031 -15.29 -2.82031c-17.4199 0 -16.8496 14.7402 -16.9404 16.7002h37.1709 +c0.522461 0.0107422 1.04688 0.431641 1.16992 0.939453c-0.290039 0 2.06934 14.7002 -6.09082 24.2305h-0.0195312zM291.44 166.14c13.1699 0 21.4092 7.06055 21.4092 18.1104c0 11.7598 -11.6992 15.1699 -17.8799 17.1699 +c-4.13965 1.66016 -13.4102 3.37988 -13.4102 8.94043c0 3.75977 3.29004 6.34961 8.4707 6.34961c4.87988 -0.0976562 12.3613 -1.99316 16.7002 -4.22949c4.33789 -2.2373 1.17969 -0.710938 1.64941 0.469727c0.230469 0.700195 2.35059 6.58008 2.58008 7.29004 +c0.0292969 0.0927734 0.0537109 0.24707 0.0537109 0.34375c0 0.441406 -0.337891 0.918945 -0.753906 1.06641c-7.91016 4.89941 -16.7402 4.93945 -20.2295 4.93945c-12 0 -20.46 -7.29004 -20.46 -17.6396c0 -12.46 11.4795 -15.4404 17.8701 -17.1699 +c6.10938 -2 13.1699 -3.26074 13.1699 -8.7002c0 -4 -3.52051 -7.06055 -9.16992 -7.06055c-5.82617 0.0126953 -14.3379 2.85742 -19 6.35059c-0.155273 0.132812 -0.447266 0.241211 -0.651367 0.241211c-0.526367 0 -0.973633 -0.426758 -0.999023 -0.951172 +l-2.34961 -7.52051c-0.470703 -0.939453 0.229492 -1.17969 0.229492 -1.40918c1.71973 -1.40039 10.3301 -6.59082 22.79 -6.59082h-0.0195312zM357.09 224c0 0.709961 -0.240234 1.17969 -1.17969 1.17969h-11.7598c0 0.140625 0.939453 8.94043 4.46973 12.4707 +c4.16016 4.14941 11.7598 1.63965 12 1.63965c1.16992 -0.469727 1.41016 0 1.63965 0.469727l2.83008 7.77051c0.700195 0.939453 0 1.16992 -0.240234 1.41016c-5.08984 2 -17.3496 2.86914 -24.46 -4.24023c-5.47949 -5.48047 -7 -13.9199 -8 -19.5205h-8.46973 +c-0.600586 -0.0498047 -1.125 -0.578125 -1.16992 -1.17969l-1.41992 -7.75977c0 -0.700195 0.240234 -1.16992 1.17969 -1.16992h8.23047c-8.50977 -47.9004 -8.75 -50.21 -10.3506 -55.5205c-1.08008 -3.62012 -3.29004 -6.89941 -5.87988 -7.75977 +c-0.0898438 0 -3.87988 -1.67969 -9.63965 0.240234c0 0 -0.94043 0.469727 -1.41016 -0.709961c-0.240234 -0.709961 -2.58984 -6.82031 -2.83008 -7.53027s0 -1.41016 0.469727 -1.41016c5.11035 -2 13 -1.76953 17.8809 0 +c6.2793 2.28027 9.71973 7.88965 11.5293 12.9404c2.75 7.70996 2.81055 9.79004 11.7598 59.7393h12.2305c0.601562 0.0498047 1.13086 0.578125 1.17969 1.18066zM410.48 208c-0.560547 1.67969 -5.10059 18.1104 -25.1709 18.1104c-15.25 0 -23 -10 -25.1592 -18.1104 +c-1 -3 -3.18066 -14 0 -23.5195c0.0898438 -0.300781 4.40918 -18.1201 25.1592 -18.1201c14.9502 0 22.9004 9.60938 25.1709 18.1201c3.20996 9.60938 1.00977 20.5195 0 23.5195zM455.88 224.7c-5 1.64941 -16.6201 1.89941 -22.1104 -5.41016v4.46973 +c0.000976562 0.0175781 0.00195312 0.0449219 0.00195312 0.0625c0 0.612305 -0.49707 1.11035 -1.10938 1.11035c-0.0205078 0 -0.0527344 -0.000976562 -0.0722656 -0.00292969h-9.39941c-0.0205078 0.00195312 -0.0527344 0.00292969 -0.0722656 0.00292969 +c-0.612305 0 -1.11035 -0.498047 -1.11035 -1.11035c0 -0.0175781 0.000976562 -0.0449219 0.00195312 -0.0625v-55.2793c-0.000976562 -0.0175781 -0.00195312 -0.0449219 -0.00195312 -0.0625c0 -0.618164 0.501953 -1.12012 1.12012 -1.12012 +c0.0175781 0 0.0449219 0.000976562 0.0625 0.00195312h9.63965c0.0166016 -0.000976562 0.0449219 -0.00195312 0.0615234 -0.00195312c0.618164 0 1.12012 0.501953 1.12012 1.12012c0 0.0175781 -0.000976562 0.0449219 -0.00195312 0.0625v27.7695 +c0 2.91016 0.0498047 11.3701 4.45996 15.0498c4.90039 4.90039 12 3.36035 13.4102 3.06055c0.555664 0.00976562 1.1875 0.430664 1.41016 0.939453c0.972656 2.15918 2.34375 5.74316 3.05957 8c0.0449219 0.113281 0.0800781 0.302734 0.0800781 0.423828 +c0 0.356445 -0.246094 0.798828 -0.549805 0.986328v-0.00976562zM502.69 170.6l-2.12012 7.29004c-0.470703 1.18066 -1.41016 0.709961 -1.41016 0.709961c-4.23047 -1.81934 -10.1504 -1.88965 -11.29 -1.88965c-4.63965 0 -17.1699 1.12988 -17.1699 19.7598 +c0 6.23047 1.84961 19.7607 16.4697 19.7607c0.245117 0.00585938 0.643555 0.0107422 0.888672 0.0107422c3.00586 0 7.76855 -0.744141 10.6318 -1.66113c2.8623 -0.916992 0.939453 -0.469727 1.17969 0.709961c0.939453 2.58984 1.63965 4.46973 2.58984 7.53027 +c0.230469 0.939453 -0.469727 1.16992 -0.709961 1.16992c-11.5898 3.87012 -22.3398 2.5293 -27.7598 0c-1.58984 -0.740234 -16.2305 -6.49023 -16.2305 -27.5205c0 -2.89941 -0.580078 -30.1094 28.9404 -30.1094c4.42383 0.00878906 11.377 1.27637 15.5195 2.83008 +c0.290039 0.214844 0.525391 0.682617 0.525391 1.04395c0 0.105469 -0.0244141 0.274414 -0.0546875 0.375977v-0.0107422zM556.56 210.12c-0.799805 3 -5.36914 16.2295 -22.3496 16.2295c-16 0 -23.5195 -10.1094 -25.6396 -18.5898 +c-0.913086 -3.0166 -1.6543 -8.02441 -1.6543 -11.1768c0 -0.161133 0.00195312 -0.421875 0.00390625 -0.583008c0 -25.8701 18.8398 -29.4004 29.8799 -29.4004c10.8203 0 16.46 2.35059 18.5801 3.76074c0.469727 0.239258 0.709961 0.709961 0.240234 1.87988 +l-2.36035 6.83008c-0.186523 0.402344 -0.698242 0.728516 -1.14258 0.728516c-0.0742188 0 -0.194336 -0.0126953 -0.267578 -0.0292969c-2.58984 -0.939453 -6.34961 -2.81934 -15.29 -2.81934c-17.4199 0 -16.8496 14.7402 -16.9297 16.7002h37.1602 +c0.522461 0.0126953 1.05078 0.433594 1.17969 0.939453c-0.239258 0.00976562 0.94043 7.07031 -1.41016 15.54v-0.00976562zM533.27 216.47c5.11035 0 11.8506 -2.2002 12.7305 -14.1201h-26.3701c0.639648 5.12012 3.31055 14.1201 13.6396 14.1201z" /> + <glyph glyph-name="speaker-deck" unicode="&#xf83c;" horiz-adv-x="512" +d="M213.86 152h-113.86c-55.2002 0 -100 44.7998 -100 100s44.7998 100 100 100h132.84c22.0801 0 40 -17.9199 40 -40s-17.9199 -40 -40 -40h-134.84c-26.4697 0 -26.4502 -40 0 -40h113.82c55.1992 0 100 -44.7998 100 -100s-44.8008 -100 -100 -100h-171.82 +c-22.0801 0 -40 17.9199 -40 40s17.9199 40 40 40h173.86c26.4795 0 26.46 40 0 40zM298 32c23.5957 16.0176 46.4932 51.8574 51.1104 80h64.5498c10.8525 0.0927734 19.6602 8.97656 19.6602 19.8291v0.170898v120v0.170898c0 10.8525 -8.80762 19.7363 -19.6602 19.8291 +h-117.24c8.29199 9.4834 15.0205 27.4033 15.0205 40s-6.72852 30.5166 -15.0205 40h136.93c43.4404 0 78.6504 -35.8203 78.6504 -80v-160c0 -44.1797 -35.21 -80 -78.6504 -80h-135.35z" /> + <glyph glyph-name="symfony" unicode="&#xf83d;" horiz-adv-x="512" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.74 296.46c15.3496 0.540039 19.7695 15.4404 19.5195 23.1299c-0.639648 18.0605 -19.6699 29.46 -44.8301 28.6504 +c-1.89941 -0.0703125 -65.2598 3.46973 -102.43 -105.53c-10.0596 8.29004 -57.7695 65.1602 -110.58 25.8096c-18.9502 -14.1797 -31.4199 -47.9199 -2.9502 -79.6699c16.9502 -18.1396 26.7207 -25.3301 22.25 -39.8496c-9.14941 -29.79 -55.5596 -16.1602 -51 -1.38965 +c1.36035 4.38965 3.49023 4.46973 6.28027 13.0693c7.74023 25.3203 -27.1104 37.75 -34.6201 13.6006c-4.32031 -14.0605 2.37988 -39.5107 38.3799 -50.6201c42.1602 -12.96 77.8203 10.0098 82.8799 39.9395c3.2002 18.75 -5.29004 32.6904 -20.7998 50.6201l-12.6299 14 +c-7.66016 7.7002 -10.29 20.7002 -2.37012 30.7002c6.69043 8.45996 16.2002 12.0605 31.8105 7.83008c22.7695 -6.16992 32.9199 -21.9697 49.8496 -34.7197c-1.23047 -4 -10.04 -32.3398 -18.2305 -82c-12.1094 -63.4902 -21.3496 -98.3506 -45.3496 -118.351 +c-4.83984 -3.48926 -11.7598 -8.63965 -22.1797 -9c-1.94043 -0.0595703 -14.1406 2.83984 -2.0498 12.5508c15.2393 8.3291 7.00977 34.75 -14.8809 34c-9.85938 -0.330078 -24.8691 -9.59082 -24.3096 -26.5908c0.580078 -17.5293 16.9297 -30.6895 41.5801 -29.8398 +c13.1797 0.44043 42.5801 5.7998 71.5801 40.2598c39.8496 46.7207 47.4395 102.2 58.2002 161.721c51.6797 -6.11035 77.2393 17.8398 77.5996 35.7002c0.549805 24.2998 -28 23.46 -32 5.2998c-1.91992 -8.83984 13.4199 -16.8105 1.41992 -24.5605 +c-8.49023 -5.5 -23.71 -9.37012 -45.1396 -6.21973c10.2998 56.8496 19.1094 112.56 58.8896 113.85c2.70996 0.150391 12.6396 -0.119141 12.8701 -6.66992c0.150391 -5.41016 -6.7998 -9.66992 -6.53027 -18.8496c0.370117 -10.4199 8.2998 -17.2803 19.7705 -16.8701z +" /> + <glyph glyph-name="waze" unicode="&#xf83f;" horiz-adv-x="512" +d="M502.17 246.33c14.5205 -85.8604 -30.9395 -167.92 -113.17 -208.13c13 -34.1006 -12.4004 -70.2002 -48.3203 -70.2002c-27.0625 0.0214844 -50.166 21.9736 -51.5693 49c-6.44043 -0.19043 -64.2002 0 -76.3301 0.639648 +c-1.10645 -27.3809 -24.2441 -49.6035 -51.6484 -49.6035c-0.588867 0 -1.54395 0.0195312 -2.13184 0.0439453c-33.8604 1.36035 -57.9502 34.8398 -47 67.9199c-37.21 13.1104 -72.54 34.8701 -99.6201 70.7998c-13 17.2803 -0.479492 41.7998 20.8398 41.7998 +c46.3105 0 32.2207 54.1699 43.1504 110.261c18.4297 93.9395 116.75 157.14 211.72 157.14c102.48 0 197.15 -70.6699 214.08 -169.67zM373.51 59.7197c42 19.1807 81.3301 56.71 96.29 102.141c40.4805 123.09 -64.1494 228 -181.71 228 +c-83.4502 0 -170.32 -55.4199 -186.07 -136c-9.5293 -48.9102 5 -131.351 -68.75 -131.351c24.9404 -33.1094 58.3301 -52.6201 93.7305 -64.0498c24.6602 21.7998 63.8701 15.4697 79.8301 -14.3398c14.2197 -1 79.1895 -1.17969 87.9004 -0.820312 +c7.9502 15.5303 28.5635 28.1348 46.0107 28.1348c10.2002 0 24.8799 -5.24805 32.7686 -11.7148zM205.12 260.87c0 34.7402 50.8398 34.75 50.8398 0s-50.8398 -34.7402 -50.8398 0zM321.69 260.87c0 34.7402 50.8594 34.75 50.8594 0s-50.8594 -34.75 -50.8594 0z +M199.08 190.18c-3.44043 16.9404 22.1797 22.1807 25.6201 5.20996l0.0595703 -0.279297c4.14062 -21.4199 29.8506 -44 64.1201 -43.0703c35.6797 0.94043 59.25 22.21 64.1104 42.7695c4.45996 16.0508 28.5996 10.3604 25.4697 -6 +c-5.22949 -22.1797 -31.21 -62 -91.46 -62.8994c-42.5498 0 -80.8799 27.8398 -87.9004 64.25z" /> + <glyph glyph-name="yammer" unicode="&#xf840;" horiz-adv-x="512" +d="M421.78 295.83c-48.1602 -26.3896 -118.561 -58.1504 -130.2 -50s91.4395 80.3701 106.689 88.7695c0.920898 0.5 1.80078 0.970703 2.63086 1.40039c1.76562 0.521484 4.69336 0.945312 6.53516 0.945312c12.7295 0 23.0605 -10.3311 23.0605 -23.0596 +c0 -6.14453 -3.90527 -14.2334 -8.71582 -18.0557zM421.78 78.6602c4.76855 -3.82324 8.63965 -11.8877 8.63965 -18c0 -12.7344 -10.335 -23.0703 -23.0703 -23.0703c-1.81641 0 -4.70605 0.412109 -6.44922 0.919922 +c-0.830078 0.410156 -1.70996 0.900391 -2.63086 1.41016c-15.2695 8.38965 -118.25 80.6396 -106.689 88.7402c11.5596 8.09961 82.04 -23.6201 130.2 -50zM464.21 211c10.0947 -2.11328 18.2559 -12.1992 18.2559 -22.5117 +c0 -10.7881 -8.63965 -20.9561 -19.2861 -22.6982c-54.9102 0.0195312 -131.93 6.00977 -138.21 18.7598c-6.2793 12.75 118.84 26.5098 136.24 26.5098c1.0498 0 2.0498 -0.0595703 3 -0.0595703zM31 351.35c-0.699219 2.10742 -1.2666 5.61914 -1.2666 7.83887 +c0 13.7334 11.1455 24.8799 24.8799 24.8799c8.72949 0 18.8213 -6.41504 22.5264 -14.3184l81 -205.06h1.20996l77 203.529c3.22559 8.26074 13.041 14.9648 21.9092 14.9648c12.9834 0 23.5205 -10.5371 23.5205 -23.5195 +c0 -1.89258 -0.438477 -4.90137 -0.979492 -6.71484l-109.6 -273.391c-18.5498 -47.2197 -37.1201 -79.5596 -93.29 -79.5596c-0.151367 -0.000976562 -0.395508 -0.000976562 -0.545898 -0.000976562c-6.4668 0 -16.8887 0.874023 -23.2646 1.95117 +c-8.52051 2.44238 -15.4365 11.6201 -15.4365 20.4844c0 11.7637 9.54688 21.3105 21.3096 21.3105c0.28418 0 0.744141 -0.0117188 1.02734 -0.0253906c0.660156 -0.0595703 10.9102 -0.660156 13.8604 -0.660156c30.4697 0 43.7393 18.9404 58.0693 59.4102z" /> + <glyph glyph-name="git-alt" unicode="&#xf841;" +d="M439.55 211.95c4.66504 -4.66602 8.45117 -13.8076 8.45117 -20.4053s-3.78613 -15.7393 -8.45117 -20.4053l-194.689 -194.689c-4.66602 -4.66211 -13.8047 -8.44629 -20.4004 -8.44629s-15.7344 3.78418 -20.4004 8.44629l-195.609 195.6 +c-4.66504 4.66602 -8.45117 13.8076 -8.45117 20.4053s3.78613 15.7393 8.45117 20.4053l134.12 134.14l50.79 -50.8496c-5.95996 -14.2607 -2.16016 -36.4902 18.6396 -45v-123c-22.3203 -9.09082 -28.8203 -38.4004 -11.25 -56 +c5.55176 -5.54883 16.4268 -10.0518 24.2754 -10.0518c7.84766 0 18.7236 4.50293 24.2744 10.0518c13.1807 13.1494 16.2197 42.46 -9.08008 55v121.85l46.3506 -46.29c-14.21 -34.4697 29.5098 -63.8301 56 -37.3398c25.71 25.6895 -1.24023 68.4902 -35.4707 56.6895 +l-49.6592 49.6602c9.29004 26.9102 -16.3301 52.8203 -43.3906 43.6807l-51.5195 51.5195l40.6602 40.6299c4.66602 4.66309 13.8076 8.44727 20.4043 8.44727s15.7383 -3.78418 20.4053 -8.44727z" /> + <glyph glyph-name="stackpath" unicode="&#xf842;" +d="M244.6 215.6c0 -8.5 -4.25977 -20.4893 -21.3398 -20.4893h-19.6094v41.4697h19.6094c17.1299 0 21.3398 -12.3604 21.3398 -20.9805zM448 416v-448h-448v448h448zM151.3 160.16c0 21.2402 -12.1201 34.54 -46.7197 44.8496c-20.5703 7.41016 -26 10.9102 -26 18.6299 +c0 7.7207 7 14.6104 20.4102 14.6104c14.0898 0 20.79 -8.4502 20.79 -18.3496h30.7002l0.189453 0.569336c0.5 19.5703 -15.0596 41.6504 -51.1201 41.6504c-23.3701 0 -52.5498 -10.75 -52.5498 -38.29c0 -19.4004 9.25 -31.29 50.7402 -44.3701 +c17.2598 -6.15039 21.9102 -10.4004 21.9102 -19.4795c0 -15.2002 -19.1309 -14.2305 -19.4707 -14.2305c-20.3994 0 -25.6494 9.09961 -25.6494 21.9004h-30.7998l-0.180664 -0.560547c-0.679688 -31.3203 28.3799 -45.2197 56.6299 -45.2197 +c29.9805 0 51.1201 13.5498 51.1201 38.29zM276.68 215.79c0 25.2998 -18.4297 45.46 -53.4199 45.46h-51.7793v-138.18h32.1699v47.3594h19.6094c30.25 0 53.4199 15.9502 53.4199 45.3604zM297.94 123l49.0596 138.22h-31.0898l-47.9102 -138.22h29.9404zM404.46 261.22 +h-31.0898l-47.9102 -138.22h29.9404z" /> + <glyph glyph-name="cotton-bureau" unicode="&#xf89e;" horiz-adv-x="512" +d="M474.31 117.59h25.1807c-25.7998 -109.78 -111.4 -173.59 -239.67 -173.59c-154.63 -0.339844 -247.82 92.8604 -247.82 248.18c0 154.63 93 247.82 247.82 247.82c128.399 0 214.06 -63.5098 240.18 -173.61h-25.2598 +c-24.8506 95.6104 -99.9199 148.811 -214.69 148.811c-141.85 0 -223.2 -81.3799 -223.2 -223.2c0 -137.93 76.6699 -218 211.101 -223v49.2002c0 48.1602 -26.5498 74.3896 -74.5498 74.3896c-62.1309 0 -99.4004 37.2803 -99.4004 99.4102 +c0 61.3701 36.5195 98.2803 97.3799 99.0596c30.7402 64.6504 144.24 69.3203 177.24 0c60.8496 -0.779297 97.3799 -37.6895 97.3799 -99.0596c0 -62.0098 -37.2002 -99.21 -99.2002 -99.21c-47.9795 0 -74.3896 -26.3896 -74.3896 -74.3896v-49.1602 +c107.67 3.75977 178.24 56.5 201.899 148.35zM357 265.67c3.7998 -21.0801 11.2695 -104.2 -71.79 -120.75c12.2598 -17.7402 32.9805 -27.3301 61.5898 -27.3301c47.9697 0 74.4004 26.4102 74.4004 74.4102c0 44.6699 -22.8301 70.2197 -64.2002 73.6699zM275.32 168.31 +c72.7803 9.89062 58.5 86.9102 56.2295 97c-72.5596 -10 -58.6895 -86.6592 -56.2295 -97zM260 316l-0.179688 -0.259766c-28.3008 0 -49.1602 -9.66016 -61.5703 -27.3506c28.3701 -5.44922 49.3701 -20.5898 61.5996 -43.4492 +c12.2305 22.8594 33.2305 37.9697 61.5908 43.4492c-12.4404 17.9404 -32.8301 27.6104 -61.4404 27.6104zM188.48 265.28h0.239258c-2.75 -10.0498 -16.1602 -87.1602 56.25 -97c2.41992 10.1895 16.6807 86.4297 -56.4893 97zM173.2 117.59l0.330078 0.0302734 +c28.2998 0 49 9.66992 61.1396 27.2998c-73.0303 14.2197 -78.4004 83.5498 -71.6504 120.75c-41.3594 -3.66992 -64.2197 -29.3096 -64.2197 -73.6699c0 -48.0098 26.4004 -74.4102 74.4004 -74.4102zM226.41 105.2h0.269531 +c14.4902 -7.60059 25.5605 -19.3301 33.5605 -33.8301c6.36523 12.2188 21.4092 27.374 33.5801 33.8301c-14.4902 8.00977 -26.0508 19.0596 -33.8203 33.5498c-6.4248 -12.1094 -21.4736 -27.1396 -33.5898 -33.5498z" /> + </font> +</defs></svg> diff --git a/webfonts/fa-brands-400.ttf b/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000..2cb180b Binary files /dev/null and b/webfonts/fa-brands-400.ttf differ diff --git a/webfonts/fa-brands-400.woff b/webfonts/fa-brands-400.woff new file mode 100644 index 0000000..e192c51 Binary files /dev/null and b/webfonts/fa-brands-400.woff differ diff --git a/webfonts/fa-brands-400.woff2 b/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000..e916d75 Binary files /dev/null and b/webfonts/fa-brands-400.woff2 differ diff --git a/webfonts/fa-regular-400.eot b/webfonts/fa-regular-400.eot new file mode 100644 index 0000000..54c8991 Binary files /dev/null and b/webfonts/fa-regular-400.eot differ diff --git a/webfonts/fa-regular-400.svg b/webfonts/fa-regular-400.svg new file mode 100644 index 0000000..e04c2e0 --- /dev/null +++ b/webfonts/fa-regular-400.svg @@ -0,0 +1,803 @@ +<?xml version="1.0" standalone="no"?> +<!-- +Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com +License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) +--> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> +<metadata> +Created by FontForge 20190112 at Fri Aug 2 14:41:09 2019 + By Robert Madole +Copyright (c) Font Awesome +</metadata> +<defs> +<font id="FontAwesome5Free-Regular" horiz-adv-x="512" > + <font-face + font-family="Font Awesome 5 Free Regular" + font-weight="400" + font-stretch="normal" + units-per-em="512" + panose-1="2 0 5 3 0 0 0 0 0 0" + ascent="448" + descent="-64" + bbox="-0.0663408 -64.0662 640.01 448.1" + underline-thickness="25" + underline-position="-51" + unicode-range="U+0020-F5C8" + /> + <missing-glyph /> + <glyph glyph-name="heart" unicode="&#xf004;" +d="M458.4 383.7c75.2998 -63.4004 64.0996 -166.601 10.5996 -221.3l-175.4 -178.7c-10 -10.2002 -23.2998 -15.7998 -37.5996 -15.7998c-14.2002 0 -27.5996 5.69922 -37.5996 15.8994l-175.4 178.7c-53.5996 54.7002 -64.5996 157.9 10.5996 221.2 +c57.8008 48.7002 147.101 41.2998 202.4 -15c55.2998 56.2998 144.6 63.5996 202.4 15zM434.8 196.2c36.2002 36.8994 43.7998 107.7 -7.2998 150.8c-38.7002 32.5996 -98.7002 27.9004 -136.5 -10.5996l-35 -35.7002l-35 35.7002 +c-37.5996 38.2998 -97.5996 43.1992 -136.5 10.5c-51.2002 -43.1006 -43.7998 -113.5 -7.2998 -150.7l175.399 -178.7c2.40039 -2.40039 4.40039 -2.40039 6.80078 0z" /> + <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576" +d="M528.1 276.5c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103 +c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998l65.2998 132.4c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4zM388.6 135.7l100.601 98l-139 20.2002l-62.2002 126l-62.2002 -126l-139 -20.2002l100.601 -98l-23.7002 -138.4l124.3 65.2998 +l124.3 -65.2998z" /> + <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448" +d="M313.6 144c74.2002 0 134.4 -60.2002 134.4 -134.4v-25.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v25.5996c0 74.2002 60.2002 134.4 134.4 134.4c28.7998 0 42.5 -16 89.5996 -16s60.9004 16 89.5996 16zM400 -16v25.5996 +c0 47.6006 -38.7998 86.4004 -86.4004 86.4004c-14.6992 0 -37.8994 -16 -89.5996 -16c-51.2998 0 -75 16 -89.5996 16c-47.6006 0 -86.4004 -38.7998 -86.4004 -86.4004v-25.5996h352zM224 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144 +s-64.5 -144 -144 -144zM224 400c-52.9004 0 -96 -43.0996 -96 -96s43.0996 -96 96 -96s96 43.0996 96 96s-43.0996 96 -96 96z" /> + <glyph glyph-name="clock" unicode="&#xf017;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM317.8 96.4004l-84.8994 61.6992 +c-3.10059 2.30078 -4.90039 5.90039 -4.90039 9.7002v164.2c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12v-141.7l66.7998 -48.5996c5.40039 -3.90039 6.5 -11.4004 2.60059 -16.7998l-18.8008 -25.9004c-3.89941 -5.2998 -11.3994 -6.5 -16.7998 -2.59961z +" /> + <glyph glyph-name="list-alt" unicode="&#xf022;" +d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM458 16c3.31152 0 6 2.68848 6 6v340c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-340 +c0 -3.31152 2.68848 -6 6 -6h404zM416 108v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 204v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12 +v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 300v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM164 288c0 -19.8818 -16.1182 -36 -36 -36 +s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 192c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 96c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36z" /> + <glyph glyph-name="flag" unicode="&#xf024;" +d="M336.174 368c35.4668 0 73.0195 12.6914 108.922 28.1797c31.6406 13.6514 66.9043 -9.65723 66.9043 -44.1162v-239.919c0 -16.1953 -8.1543 -31.3057 -21.7129 -40.1631c-26.5762 -17.3643 -70.0693 -39.9814 -128.548 -39.9814c-68.6084 0 -112.781 32 -161.913 32 +c-56.5674 0 -89.957 -11.2803 -127.826 -28.5566v-83.4434c0 -8.83691 -7.16309 -16 -16 -16h-16c-8.83691 0 -16 7.16309 -16 16v406.438c-14.3428 8.2998 -24 23.7979 -24 41.5615c0 27.5693 23.2422 49.71 51.2012 47.8965 +c22.9658 -1.49023 41.8662 -19.4717 44.4805 -42.3379c0.177734 -1.52441 0.321289 -4.00781 0.321289 -5.54199c0 -4.30176 -1.10352 -11.1035 -2.46289 -15.1846c22.418 8.68555 49.4199 15.168 80.7207 15.168c68.6084 0 112.781 -32 161.913 -32zM464 112v240 +c-31.5059 -14.6338 -84.5547 -32 -127.826 -32c-59.9111 0 -101.968 32 -161.913 32c-41.4365 0 -80.4766 -16.5879 -102.261 -32v-232c31.4473 14.5967 84.4648 24 127.826 24c59.9111 0 101.968 -32 161.913 -32c41.4365 0 80.4775 16.5879 102.261 32z" /> + <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384" +d="M336 448c26.5098 0 48 -21.4902 48 -48v-464l-192 112l-192 -112v464c0 26.5098 21.4902 48 48 48h288zM336 19.5703v374.434c0 3.31348 -2.68555 5.99609 -6 5.99609h-276c-3.31152 0 -6 -2.68848 -6 -6v-374.43l144 84z" /> + <glyph glyph-name="image" unicode="&#xf03e;" +d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM458 48c3.31152 0 6 2.68848 6 6v276c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-276 +c0 -3.31152 2.68848 -6 6 -6h404zM128 296c22.0908 0 40 -17.9092 40 -40s-17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40zM96 96v48l39.5137 39.5146c4.6875 4.68652 12.2852 4.68652 16.9717 0l39.5146 -39.5146l119.514 119.515 +c4.6875 4.68652 12.2852 4.68652 16.9717 0l87.5146 -87.5146v-80h-320z" /> + <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="576" +d="M402.3 103.1l32 32c5 5 13.7002 1.5 13.7002 -5.69922v-145.4c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h273.5c7.09961 0 10.7002 -8.59961 5.7002 -13.7002l-32 -32c-1.5 -1.5 -3.5 -2.2998 -5.7002 -2.2998h-241.5v-352h352 +v113.5c0 2.09961 0.799805 4.09961 2.2998 5.59961zM558.9 304.9l-262.601 -262.601l-90.3994 -10c-26.2002 -2.89941 -48.5 19.2002 -45.6006 45.6006l10 90.3994l262.601 262.601c22.8994 22.8994 59.8994 22.8994 82.6992 0l43.2002 -43.2002 +c22.9004 -22.9004 22.9004 -60 0.100586 -82.7998zM460.1 274l-58.0996 58.0996l-185.8 -185.899l-7.2998 -65.2998l65.2998 7.2998zM524.9 353.7l-43.2002 43.2002c-4.10059 4.09961 -10.7998 4.09961 -14.7998 0l-30.9004 -30.9004l58.0996 -58.0996l30.9004 30.8994 +c4 4.2002 4 10.7998 -0.0996094 14.9004z" /> + <glyph glyph-name="times-circle" unicode="&#xf057;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM357.8 254.2l-62.2002 -62.2002l62.2002 -62.2002 +c4.7002 -4.7002 4.7002 -12.2998 0 -17l-22.5996 -22.5996c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-62.2002 62.2002l-62.2002 -62.2002c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-22.5996 22.5996c-4.7002 4.7002 -4.7002 12.2998 0 17l62.2002 62.2002l-62.2002 62.2002 +c-4.7002 4.7002 -4.7002 12.2998 0 17l22.5996 22.5996c4.7002 4.7002 12.2998 4.7002 17 0l62.2002 -62.2002l62.2002 62.2002c4.7002 4.7002 12.2998 4.7002 17 0l22.5996 -22.5996c4.7002 -4.7002 4.7002 -12.2998 0 -17z" /> + <glyph glyph-name="check-circle" unicode="&#xf058;" +d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200z +M396.204 261.733c4.66699 -4.70508 4.63672 -12.3037 -0.0673828 -16.9717l-172.589 -171.204c-4.70508 -4.66797 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66797 4.70605 -4.63672 12.3047 0.0683594 16.9717l22.7188 22.5361 +c4.70508 4.66699 12.3027 4.63574 16.9697 -0.0693359l59.792 -60.2773l141.353 140.216c4.70508 4.66797 12.3027 4.6377 16.9697 -0.0673828z" /> + <glyph glyph-name="question-circle" unicode="&#xf059;" +d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 -8c110.569 0 200 89.4697 200 200c0 110.529 -89.5088 200 -200 200c-110.528 0 -200 -89.5049 -200 -200 +c0 -110.569 89.4678 -200 200 -200zM363.244 247.2c0 -67.0518 -72.4209 -68.084 -72.4209 -92.8633v-6.33691c0 -6.62695 -5.37305 -12 -12 -12h-45.6475c-6.62695 0 -12 5.37305 -12 12v8.65918c0 35.7451 27.1006 50.0342 47.5791 61.5156 +c17.5615 9.84473 28.3242 16.541 28.3242 29.5791c0 17.2461 -21.999 28.6934 -39.7842 28.6934c-23.1885 0 -33.8936 -10.9775 -48.9424 -29.9697c-4.05664 -5.11914 -11.46 -6.07031 -16.666 -2.12402l-27.8232 21.0986 +c-5.10742 3.87207 -6.25098 11.0654 -2.64453 16.3633c23.627 34.6934 53.7217 54.1846 100.575 54.1846c49.0713 0 101.45 -38.3037 101.45 -88.7998zM298 80c0 -23.1592 -18.8408 -42 -42 -42s-42 18.8408 -42 42s18.8408 42 42 42s42 -18.8408 42 -42z" /> + <glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576" +d="M288 304c0.0927734 0 0.244141 0.000976562 0.336914 0.000976562c61.6641 0 111.71 -50.0469 111.71 -111.711c0 -61.6631 -50.0459 -111.71 -111.71 -111.71s-111.71 50.0469 -111.71 111.71c0 8.71289 1.95898 22.5781 4.37305 30.9502 +c6.93066 -3.94141 19.0273 -7.18457 27 -7.24023c30.9121 0 56 25.0879 56 56c-0.0556641 7.97266 -3.29883 20.0693 -7.24023 27c8.42383 2.62207 22.4189 4.8623 31.2402 5zM572.52 206.6c1.9209 -3.79883 3.47949 -10.3379 3.47949 -14.5947 +s-1.55859 -10.7959 -3.47949 -14.5947c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947s1.55859 10.7959 3.47949 14.5947c54.1992 105.771 161.59 177.41 284.52 177.41 +s230.29 -71.5898 284.52 -177.4zM288 48c98.6602 0 189.1 55 237.93 144c-48.8398 89 -139.27 144 -237.93 144s-189.09 -55 -237.93 -144c48.8398 -89 139.279 -144 237.93 -144z" /> + <glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640" +d="M634 -23c3.31738 -2.65137 6.00977 -8.25098 6.00977 -12.498c0 -3.10449 -1.57715 -7.58984 -3.51953 -10.0117l-10 -12.4902c-2.65234 -3.31152 -8.24707 -6 -12.4902 -6c-3.09961 0 -7.58008 1.57227 -10 3.50977l-598 467.49 +c-3.31738 2.65137 -6.00977 8.25098 -6.00977 12.498c0 3.10449 1.57715 7.58984 3.51953 10.0117l10 12.4902c2.65234 3.31152 8.24707 6 12.4902 6c3.09961 0 7.58008 -1.57227 10 -3.50977zM296.79 301.53c6.33496 1.35059 16.7324 2.45801 23.21 2.46973 +c60.4805 0 109.36 -47.9102 111.58 -107.85zM343.21 82.46c-6.33496 -1.34375 -16.7334 -2.44629 -23.21 -2.45996c-60.4697 0 -109.35 47.9102 -111.58 107.84zM320 336c-19.8799 0 -39.2803 -2.7998 -58.2197 -7.09961l-46.4102 36.29 +c32.9199 11.8096 67.9297 18.8096 104.63 18.8096c122.93 0 230.29 -71.5898 284.57 -177.4c1.91992 -3.79883 3.47949 -10.3379 3.47949 -14.5947s-1.55957 -10.7959 -3.47949 -14.5947c-11.7197 -22.7598 -35.4189 -56.4092 -52.9004 -75.1104l-37.7402 29.5 +c14.333 15.0156 34.0449 41.9854 44 60.2002c-48.8398 89 -139.279 144 -237.93 144zM320 48c19.8896 0 39.2803 2.7998 58.2197 7.08984l46.4102 -36.2803c-32.9199 -11.7598 -67.9297 -18.8096 -104.63 -18.8096c-122.92 0 -230.28 71.5898 -284.51 177.4 +c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947s1.55859 10.7959 3.47949 14.5947c11.7168 22.7568 35.4111 56.4014 52.8896 75.1006l37.7402 -29.5c-14.3467 -15.0107 -34.0811 -41.9756 -44.0498 -60.1904c48.8496 -89 139.279 -144 237.93 -144z" /> + <glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448" +d="M148 160h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM256 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40 +c6.59961 0 12 -5.40039 12 -12v-40zM352 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM256 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40 +c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM160 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM352 76c0 -6.59961 -5.40039 -12 -12 -12h-40 +c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40 +c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="comment" unicode="&#xf075;" +d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5c-3.80078 8.7998 -2 19 4.59961 26 +c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004 +l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" /> + <glyph glyph-name="folder" unicode="&#xf07b;" +d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h146.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l54.6299 -54.6299h192zM464 48v224h-198.62 +c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-54.6299 54.6299h-140.12v-288h416z" /> + <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576" +d="M527.9 224c37.6992 0 60.6992 -41.5 40.6992 -73.4004l-79.8994 -128c-8.7998 -14.0996 -24.2002 -22.5996 -40.7002 -22.5996h-400c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h160l64 -64h160c26.5 0 48 -21.5 48 -48v-48h47.9004zM48 330v-233.4l62.9004 104.2 +c8.69922 14.4004 24.2998 23.2002 41.0996 23.2002h280v42c0 3.2998 -2.7002 6 -6 6h-173.9l-64 64h-134.1c-3.2998 0 -6 -2.7002 -6 -6zM448 48l80 128h-378.8l-77.2002 -128h376z" /> + <glyph glyph-name="chart-bar" unicode="&#xf080;" +d="M396.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM204.8 96 +c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM300.8 96 +c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM496 48c8.83984 0 16 -7.16016 16 -16v-16 +c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-320h448zM108.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004 +c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004z" /> + <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576" +d="M532 61.7998c15.2998 -30.7002 37.4004 -54.5 37.7998 -54.7998c6.2998 -6.7002 8 -16.5 4.40039 -25c-3.7002 -8.5 -12 -14 -21.2002 -14c-53.5996 0 -96.7002 20.2998 -125.2 38.7998c-19 -4.39941 -39 -6.7998 -59.7998 -6.7998 +c-86.2002 0 -159.9 40.4004 -191.3 97.7998c-9.7002 1.2002 -19.2002 2.7998 -28.4004 4.90039c-28.5 -18.6006 -71.7002 -38.7998 -125.2 -38.7998c-9.19922 0 -17.5996 5.5 -21.1992 14c-3.7002 8.5 -1.90039 18.2998 4.39941 25 +c0.400391 0.399414 22.4004 24.1992 37.7002 54.8994c-27.5 27.2002 -44 61.2002 -44 98.2002c0 88.4004 93.0996 160 208 160c86.2998 0 160.3 -40.5 191.8 -98.0996c99.7002 -11.8008 176.2 -77.9004 176.2 -157.9c0 -37.0996 -16.5 -71.0996 -44 -98.2002zM139.2 154.1 +l19.7998 -4.5c16 -3.69922 32.5 -5.59961 49 -5.59961c86.7002 0 160 51.2998 160 112s-73.2998 112 -160 112s-160 -51.2998 -160 -112c0 -28.7002 16.2002 -50.5996 29.7002 -64l24.7998 -24.5l-15.5 -31.0996c-2.59961 -5.10059 -5.2998 -10.1006 -8 -14.8008 +c14.5996 5.10059 29 12.3008 43.0996 21.4004zM498.3 96c13.5 13.4004 29.7002 35.2998 29.7002 64c0 49.2002 -48.2998 91.5 -112.7 106c0.299805 -3.2998 0.700195 -6.59961 0.700195 -10c0 -80.9004 -78 -147.5 -179.3 -158.3 +c29.0996 -29.6006 77.2998 -49.7002 131.3 -49.7002c16.5 0 33 1.90039 49 5.59961l19.9004 4.60059l17.0996 -11.1006c14.0996 -9.09961 28.5 -16.2998 43.0996 -21.3994c-2.69922 4.7002 -5.39941 9.7002 -8 14.7998l-15.5 31.0996z" /> + <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="576" +d="M288 62.7002v-54.2998l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998v-68.0996l-62.2002 -126 +l-139 -20.2002l100.601 -98l-23.7002 -138.4z" /> + <glyph glyph-name="lemon" unicode="&#xf094;" +d="M484.112 420.111c28.1221 -28.123 35.9434 -68.0039 19.0215 -97.0547c-23.0576 -39.584 50.1436 -163.384 -82.3311 -295.86c-132.301 -132.298 -256.435 -59.3594 -295.857 -82.3291c-29.0459 -16.917 -68.9219 -9.11426 -97.0576 19.0205 +c-28.1221 28.1221 -35.9434 68.0029 -19.0215 97.0547c23.0566 39.5859 -50.1436 163.386 82.3301 295.86c132.308 132.309 256.407 59.3496 295.862 82.332c29.0498 16.9219 68.9307 9.09863 97.0537 -19.0234zM461.707 347.217 +c13.5166 23.2031 -27.7578 63.7314 -50.4883 50.4912c-66.6025 -38.7939 -165.646 45.5898 -286.081 -74.8457c-120.444 -120.445 -36.0449 -219.472 -74.8447 -286.08c-13.542 -23.2471 27.8145 -63.6953 50.4932 -50.4883 +c66.6006 38.7949 165.636 -45.5996 286.076 74.8428c120.444 120.445 36.0449 219.472 74.8447 286.08zM291.846 338.481c1.37012 -10.96 -6.40332 -20.957 -17.3643 -22.3271c-54.8467 -6.85547 -135.779 -87.7871 -142.636 -142.636 +c-1.37305 -10.9883 -11.3984 -18.7334 -22.3262 -17.3643c-10.9609 1.37012 -18.7344 11.3652 -17.3643 22.3262c9.16211 73.2852 104.167 168.215 177.364 177.364c10.9531 1.36816 20.9561 -6.40234 22.3262 -17.3633z" /> + <glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576" +d="M527.9 416c26.5996 0 48.0996 -21.5 48.0996 -48v-352c0 -26.5 -21.5 -48 -48.0996 -48h-479.801c-26.5996 0 -48.0996 21.5 -48.0996 48v352c0 26.5 21.5 48 48.0996 48h479.801zM54.0996 368c-3.2998 0 -6 -2.7002 -6 -6v-42h479.801v42c0 3.2998 -2.7002 6 -6 6 +h-467.801zM521.9 16c3.2998 0 6 2.7002 6 6v170h-479.801v-170c0 -3.2998 2.7002 -6 6 -6h467.801zM192 116v-40c0 -6.59961 -5.40039 -12 -12 -12h-72c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h72c6.59961 0 12 -5.40039 12 -12zM384 116v-40 +c0 -6.59961 -5.40039 -12 -12 -12h-136c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h136c6.59961 0 12 -5.40039 12 -12z" /> + <glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576" +d="M567.403 212.358c5.59668 -8.04688 8.59668 -17.6113 8.59668 -27.4121v-136.946c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v136.946c0 8.30957 3.85156 20.5898 8.59668 27.4121l105.08 151.053 +c7.90625 11.3652 25.5596 20.5889 39.4033 20.5889h0.000976562h269.838h0.000976562c13.8438 0 31.4971 -9.22363 39.4033 -20.5889zM153.081 336l-77.9131 -112h425.664l-77.9131 112h-269.838zM528 48v128h-480v-128h480zM496 112c0 -17.6729 -14.3271 -32 -32 -32 +s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32zM400 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" /> + <glyph glyph-name="hand-point-right" unicode="&#xf0a4;" +d="M428.8 310.4c45.0996 0 83.2002 -38.1016 83.2002 -83.2002c0 -45.6162 -37.7646 -83.2002 -83.2002 -83.2002h-35.6475c-1.41602 -6.36719 -4.96875 -16.252 -7.92969 -22.0645c2.50586 -22.0059 -3.50293 -44.9775 -15.9844 -62.791 +c-1.14062 -52.4863 -37.3984 -91.1445 -99.9404 -91.1445h-21.2988c-60.0635 0 -98.5117 40 -127.2 40h-2.67871c-5.74707 -4.95215 -13.5361 -8 -22.1201 -8h-64c-17.6729 0 -32 12.8936 -32 28.7998v230.4c0 15.9062 14.3271 28.7998 32 28.7998h64.001 +c8.58398 0 16.373 -3.04785 22.1201 -8h2.67871c6.96387 0 14.8623 6.19336 30.1816 23.6689l0.128906 0.148438l0.130859 0.145508c8.85645 9.93652 18.1162 20.8398 25.8506 33.2529c18.7051 30.2471 30.3936 78.7842 75.707 78.7842c56.9277 0 92 -35.2861 92 -83.2002 +v-0.0839844c0 -6.21777 -0.974609 -16.2148 -2.17578 -22.3154h86.1768zM428.8 192c18.9756 0 35.2002 16.2246 35.2002 35.2002c0 18.7002 -16.7754 35.2002 -35.2002 35.2002h-158.399c0 17.3242 26.3994 35.1992 26.3994 70.3994c0 26.4004 -20.625 35.2002 -44 35.2002 +c-8.79395 0 -20.4443 -32.7119 -34.9258 -56.0996c-9.07422 -14.5752 -19.5244 -27.2256 -30.7988 -39.875c-16.1094 -18.374 -33.8359 -36.6328 -59.0752 -39.5967v-176.753c42.79 -3.7627 74.5088 -39.6758 120 -39.6758h21.2988 +c40.5244 0 57.124 22.1973 50.6006 61.3252c14.6113 8.00098 24.1514 33.9785 12.9248 53.625c19.3652 18.2246 17.7871 46.3809 4.9502 61.0498h91.0254zM88 64c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" /> + <glyph glyph-name="hand-point-left" unicode="&#xf0a5;" +d="M0 227.2c0 45.0986 38.1006 83.2002 83.2002 83.2002h86.1758c-1.3623 6.91016 -2.17578 14.374 -2.17578 22.3994c0 47.9141 35.0723 83.2002 92 83.2002c45.3135 0 57.002 -48.5371 75.7061 -78.7852c7.73438 -12.4121 16.9951 -23.3154 25.8506 -33.2529 +l0.130859 -0.145508l0.128906 -0.148438c15.3213 -17.4746 23.2197 -23.668 30.1836 -23.668h2.67871c5.74707 4.95215 13.5361 8 22.1201 8h64c17.6729 0 32 -12.8936 32 -28.7998v-230.4c0 -15.9062 -14.3271 -28.7998 -32 -28.7998h-64 +c-8.58398 0 -16.373 3.04785 -22.1201 8h-2.67871c-28.6885 0 -67.1367 -40 -127.2 -40h-21.2988c-62.542 0 -98.8008 38.6582 -99.9404 91.1445c-12.4814 17.8135 -18.4922 40.7852 -15.9844 62.791c-2.96094 5.8125 -6.51367 15.6973 -7.92969 22.0645h-35.6465 +c-45.4355 0 -83.2002 37.584 -83.2002 83.2002zM48 227.2c0 -18.9756 16.2246 -35.2002 35.2002 -35.2002h91.0244c-12.8369 -14.6689 -14.415 -42.8252 4.9502 -61.0498c-11.2256 -19.6465 -1.68652 -45.624 12.9248 -53.625 +c-6.52246 -39.1279 10.0771 -61.3252 50.6016 -61.3252h21.2988c45.4912 0 77.21 35.9131 120 39.6768v176.752c-25.2393 2.96289 -42.9658 21.2227 -59.0752 39.5967c-11.2744 12.6494 -21.7246 25.2998 -30.7988 39.875 +c-14.4814 23.3877 -26.1318 56.0996 -34.9258 56.0996c-23.375 0 -44 -8.7998 -44 -35.2002c0 -35.2002 26.3994 -53.0752 26.3994 -70.3994h-158.399c-18.4248 0 -35.2002 -16.5 -35.2002 -35.2002zM448 88c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24 +s24 10.7451 24 24s-10.7451 24 -24 24z" /> + <glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="448" +d="M105.6 364.8c0 45.0996 38.1016 83.2002 83.2002 83.2002c45.6162 0 83.2002 -37.7646 83.2002 -83.2002v-35.6465c6.36719 -1.41602 16.252 -4.96875 22.0645 -7.92969c22.0059 2.50684 44.9775 -3.50293 62.791 -15.9844 +c52.4863 -1.14062 91.1445 -37.3984 91.1445 -99.9404v-21.2988c0 -60.0635 -40 -98.5117 -40 -127.2v-2.67871c4.95215 -5.74707 8 -13.5361 8 -22.1201v-64c0 -17.6729 -12.8936 -32 -28.7998 -32h-230.4c-15.9062 0 -28.7998 14.3271 -28.7998 32v64 +c0 8.58398 3.04785 16.373 8 22.1201v2.67871c0 6.96387 -6.19336 14.8623 -23.6689 30.1816l-0.148438 0.128906l-0.145508 0.130859c-9.93652 8.85645 -20.8398 18.1162 -33.2529 25.8506c-30.2471 18.7051 -78.7842 30.3936 -78.7842 75.707 +c0 56.9277 35.2861 92 83.2002 92h0.0839844c6.21777 0 16.2148 -0.974609 22.3154 -2.17578v86.1768zM224 364.8c0 18.9756 -16.2246 35.2002 -35.2002 35.2002c-18.7002 0 -35.2002 -16.7754 -35.2002 -35.2002v-158.399c-17.3242 0 -35.1992 26.3994 -70.3994 26.3994 +c-26.4004 0 -35.2002 -20.625 -35.2002 -44c0 -8.79395 32.7119 -20.4443 56.0996 -34.9258c14.5752 -9.07422 27.2256 -19.5244 39.875 -30.7988c18.374 -16.1094 36.6328 -33.8359 39.5967 -59.0752h176.753c3.7627 42.79 39.6758 74.5088 39.6758 120v21.2988 +c0 40.5244 -22.1973 57.124 -61.3252 50.6006c-8.00098 14.6113 -33.9785 24.1514 -53.625 12.9248c-18.2246 19.3652 -46.3809 17.7871 -61.0498 4.9502v91.0254zM352 24c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24z" /> + <glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="448" +d="M188.8 -64c-45.0986 0 -83.2002 38.1006 -83.2002 83.2002v86.1758c-6.91016 -1.3623 -14.374 -2.17578 -22.3994 -2.17578c-47.9141 0 -83.2002 35.0723 -83.2002 92c0 45.3135 48.5371 57.002 78.7852 75.707c12.4121 7.73438 23.3154 16.9951 33.2529 25.8506 +l0.145508 0.130859l0.148438 0.128906c17.4746 15.3213 23.668 23.2197 23.668 30.1836v2.67871c-4.95215 5.74707 -8 13.5361 -8 22.1201v64c0 17.6729 12.8936 32 28.7998 32h230.4c15.9062 0 28.7998 -14.3271 28.7998 -32v-64.001 +c0 -8.58398 -3.04785 -16.373 -8 -22.1201v-2.67871c0 -28.6885 40 -67.1367 40 -127.2v-21.2988c0 -62.542 -38.6582 -98.8008 -91.1445 -99.9404c-17.8135 -12.4814 -40.7852 -18.4922 -62.791 -15.9844c-5.8125 -2.96094 -15.6973 -6.51367 -22.0645 -7.92969v-35.6465 +c0 -45.4355 -37.584 -83.2002 -83.2002 -83.2002zM188.8 -16c18.9756 0 35.2002 16.2246 35.2002 35.2002v91.0244c14.6689 -12.8369 42.8252 -14.415 61.0498 4.9502c19.6465 -11.2256 45.624 -1.68652 53.625 12.9248c39.1279 -6.52246 61.3252 10.0771 61.3252 50.6016 +v21.2988c0 45.4912 -35.9131 77.21 -39.6768 120h-176.752c-2.96289 -25.2393 -21.2227 -42.9658 -39.5967 -59.0752c-12.6494 -11.2744 -25.2998 -21.7246 -39.875 -30.7988c-23.3877 -14.4814 -56.0996 -26.1318 -56.0996 -34.9258c0 -23.375 8.7998 -44 35.2002 -44 +c35.2002 0 53.0752 26.3994 70.3994 26.3994v-158.399c0 -18.4248 16.5 -35.2002 35.2002 -35.2002zM328 384c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24z" /> + <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448" +d="M433.941 382.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-80v-48c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h80v48c0 26.5098 21.4902 48 48 48 +h172.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM266 -16c3.31152 0 6 2.68848 6 6v42h-96c-26.5098 0 -48 21.4902 -48 48v224h-74c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM394 80c3.31152 0 6 2.68848 6 6v202h-88 +c-13.2549 0 -24 10.7451 -24 24v88h-106c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM400 336v9.63184v0.000976562c0 1.37207 -0.787109 3.27246 -1.75684 4.24219l-48.3682 48.3682c-1.12598 1.125 -2.65234 1.75684 -4.24316 1.75684h-9.63184 +v-64h64z" /> + <glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448" +d="M433.941 318.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM272 368h-128v-80h128v80 +zM394 16c3.31152 0 6 2.68848 6 6v259.632v0.000976562c0 1.37207 -0.787109 3.27246 -1.75684 4.24219l-78.2432 78.2432v-100.118c0 -13.2549 -10.7451 -24 -24 -24h-176c-13.2549 0 -24 10.7451 -24 24v104h-42c-3.31152 0 -6 -2.68848 -6 -6v-340 +c0 -3.31152 2.68848 -6 6 -6h340zM224 216c48.5234 0 88 -39.4766 88 -88s-39.4766 -88 -88 -88s-88 39.4766 -88 88s39.4766 88 88 88zM224 88c22.0557 0 40 17.9443 40 40s-17.9443 40 -40 40s-40 -17.9443 -40 -40s17.9443 -40 40 -40z" /> + <glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM394 16c3.2998 0 6 2.7002 6 6v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340z" /> + <glyph glyph-name="envelope" unicode="&#xf0e0;" +d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM464 336h-416v-40.8047c22.4248 -18.2627 58.1797 -46.6602 134.587 -106.49 +c16.834 -13.2422 50.2051 -45.0762 73.4131 -44.7012c23.2119 -0.371094 56.5723 31.4541 73.4131 44.7012c76.4189 59.8389 112.165 88.2305 134.587 106.49v40.8047zM48 48h416v185.601c-22.915 -18.252 -55.4189 -43.8691 -104.947 -82.6523 +c-22.5439 -17.748 -60.3359 -55.1787 -103.053 -54.9473c-42.9277 -0.231445 -81.2051 37.75 -103.062 54.9551c-49.5293 38.7842 -82.0244 64.3945 -104.938 82.6455v-185.602z" /> + <glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352" +d="M176 368c8.83984 0 16 -7.16016 16 -16s-7.16016 -16 -16 -16c-35.2803 0 -64 -28.7002 -64 -64c0 -8.83984 -7.16016 -16 -16 -16s-16 7.16016 -16 16c0 52.9404 43.0596 96 96 96zM96.0596 -11.1699l-0.0400391 43.1797h159.961l-0.0507812 -43.1797 +c-0.00976562 -3.13965 -0.939453 -6.21973 -2.67969 -8.83984l-24.5098 -36.8398c-2.95996 -4.45996 -7.95996 -7.14062 -13.3203 -7.14062h-78.8496c-5.35059 0 -10.3506 2.68066 -13.3203 7.14062l-24.5098 36.8398c-1.75 2.62012 -2.68066 5.68945 -2.68066 8.83984z +M176 448c97.2002 0 176 -78.7998 176 -176c0 -44.3701 -16.4502 -84.8496 -43.5498 -115.79c-16.6406 -18.9795 -42.7402 -58.79 -52.4199 -92.1602v-0.0498047h-48v0.0996094c0.00390625 4.04199 0.999023 10.4482 2.21973 14.3008 +c5.67969 17.9893 22.9902 64.8496 62.0996 109.46c20.4102 23.29 31.6504 53.1699 31.6504 84.1396c0 70.5801 -57.4199 128 -128 128c-68.2803 0 -128.15 -54.3604 -127.95 -128c0.0898438 -30.9902 11.0703 -60.71 31.6104 -84.1396 +c39.3496 -44.9004 56.5801 -91.8604 62.1699 -109.67c1.42969 -4.56055 2.13965 -9.30078 2.15039 -14.0703v-0.120117h-48v0.0595703c-9.68066 33.3604 -35.7803 73.1709 -52.4209 92.1602c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78 +c0 93.0303 73.7197 176 176 176z" /> + <glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448" +d="M439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29 +c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29zM67.5303 80h312.939 +c-21.2197 27.96 -44.4199 74.3203 -44.5293 159.42c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112s-112 -50.1396 -112 -112c0 -0.200195 0.0595703 -0.379883 0.0595703 -0.580078 +c-0.109375 -85.0898 -23.3096 -131.45 -44.5293 -159.42zM224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" /> + <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448" +d="M128 204v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12zM268 192c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40 +c0 -6.62695 -5.37305 -12 -12 -12h-40zM192 108c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM268 96c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40 +c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.62695 5.37305 12 12 12h19.5v378.965c0 11.6172 10.7451 21.0352 24 21.0352h88.5v40c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-40h88.5 +c13.2549 0 24 -9.41797 24 -21.0352v-378.965h19.5c6.62695 0 12 -5.37305 12 -12zM79.5 -15h112.5v67c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-67h112.5v351h-64.5v-24c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v24 +h-64.5v-351zM266 384h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20 +c0 3.31152 -2.68848 6 -6 6z" /> + <glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448" +d="M352 208v-32c0 -6.59961 -5.40039 -12 -12 -12h-88v-88c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v88h-88c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h88v88c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12 +v-88h88c6.59961 0 12 -5.40039 12 -12zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340 +c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="circle" unicode="&#xf111;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200z" /> + <glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM332 135.4c8.5 10.1992 23.7002 11.5 33.7998 3.09961c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998 +c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.0996 8.40039 25.2998 7.09961 33.7998 -3.09961c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004z" /> + <glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 144c40.2002 0 78 -17.7002 103.8 -48.5996c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008 +c-10.7002 -8.7998 -25.7002 -6.59961 -33.7998 3.10059c-16.6006 20 -41 31.3994 -66.9004 31.3994s-50.2998 -11.5 -66.9004 -31.3994c-8.5 -10.2002 -23.5996 -11.5 -33.7998 -3.10059c-10.2002 8.5 -11.5996 23.6006 -3.09961 33.8008 +c25.7998 30.8994 63.5996 48.5996 103.8 48.5996z" /> + <glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM336 128c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-176c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h176z +" /> + <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576" +d="M528 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480zM536 48v288c0 4.41113 -3.58887 8 -8 8h-480c-4.41113 0 -8 -3.58887 -8 -8v-288c0 -4.41113 3.58887 -8 8 -8 +h480c4.41113 0 8 3.58887 8 8zM170 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM266 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28 +c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM362 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM458 178c0 -6.62695 -5.37305 -12 -12 -12h-28 +c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 96c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 96 +c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28 +c6.62695 0 12 -5.37305 12 -12v-28zM218 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM314 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28 +c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM410 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 260c0 -6.62695 -5.37305 -12 -12 -12h-28 +c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM408 102c0 -6.62695 -5.37305 -12 -12 -12h-216c-6.62695 0 -12 5.37305 -12 12v16c0 6.62695 5.37305 12 12 12h216c6.62695 0 12 -5.37305 12 -12v-16z" /> + <glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448" +d="M400 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12 +v-52h48zM394 -16c3.2998 0 6 2.7002 6 6v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340z" /> + <glyph glyph-name="play-circle" unicode="&#xf144;" +d="M371.7 210c16.3994 -9.2002 16.3994 -32.9004 0 -42l-176 -101c-15.9004 -8.7998 -35.7002 2.59961 -35.7002 21v208c0 18.5 19.9004 29.7998 35.7002 21zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192 +c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200z" /> + <glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448" +d="M108 164c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h232c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-232zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352 +c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448" +d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM400 16v352h-352v-352h352zM364.136 257.724l-172.589 -171.204 +c-4.70508 -4.66699 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66699 4.70508 -4.63672 12.3037 0.0693359 16.9717l22.7188 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l59.792 -60.2773l141.353 140.217 +c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0683594l22.5361 -22.7178c4.66699 -4.70605 4.63672 -12.3047 -0.0683594 -16.9717z" /> + <glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576" +d="M561.938 289.94c18.75 -18.7402 18.75 -49.1406 0 -67.8809l-143.998 -144c-29.9727 -29.9727 -81.9404 -9.05273 -81.9404 33.9404v53.7998c-101.266 -7.83691 -99.625 -31.6406 -84.1104 -78.7598c14.2285 -43.0889 -33.4736 -79.248 -71.0195 -55.7402 +c-51.6924 32.3057 -84.8701 83.0635 -84.8701 144.76c0 39.3408 12.2197 72.7402 36.3301 99.3008c19.8398 21.8398 47.7402 38.4697 82.9102 49.4199c36.7295 11.4395 78.3096 16.1094 120.76 17.9893v57.1982c0 42.9355 51.9258 63.9541 81.9404 33.9404zM384 112l144 144 +l-144 144v-104.09c-110.86 -0.90332 -240 -10.5166 -240 -119.851c0 -52.1396 32.79 -85.6094 62.3096 -104.06c-39.8174 120.65 48.999 141.918 177.69 143.84v-103.84zM408.74 27.5068c6.14844 1.75684 15.5449 5.92383 20.9736 9.30273 +c7.97656 4.95215 18.2861 -0.825195 18.2861 -10.2139v-42.5957c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h132c6.62695 0 12 -5.37305 12 -12v-4.48633c0 -4.91699 -2.9873 -9.36914 -7.56934 -11.1514 +c-13.7021 -5.33105 -26.3955 -11.5371 -38.0498 -18.585c-1.59668 -0.974609 -4.41016 -1.77051 -6.28027 -1.77734h-86.1006c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340c3.31152 0 6 2.68848 6 6v25.9658c0 5.37012 3.5791 10.0596 8.74023 11.541 +z" /> + <glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496" +d="M347.94 318.14c16.6592 7.61035 33.8096 -9.54004 26.1992 -26.1992l-65.9697 -144.341c-2.73047 -5.97363 -9.7959 -13.0391 -15.7695 -15.7695l-144.341 -65.9697c-16.6592 -7.61035 -33.8096 9.5498 -26.1992 26.1992l65.9697 144.341 +c2.73047 5.97363 9.7959 13.0391 15.7695 15.7695zM270.58 169.42c12.4697 12.4697 12.4697 32.6904 0 45.1602s-32.6904 12.4697 -45.1602 0s-12.4697 -32.6904 0 -45.1602s32.6904 -12.4697 45.1602 0zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248 +s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" /> + <glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448" +d="M125.1 240h197.801c10.6992 0 16.0996 -13 8.5 -20.5l-98.9004 -98.2998c-4.7002 -4.7002 -12.2002 -4.7002 -16.9004 0l-98.8994 98.2998c-7.7002 7.5 -2.2998 20.5 8.39941 20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352 +c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448" +d="M322.9 144h-197.801c-10.6992 0 -16.0996 13 -8.5 20.5l98.9004 98.2998c4.7002 4.7002 12.2002 4.7002 16.9004 0l98.8994 -98.2998c7.7002 -7.5 2.2998 -20.5 -8.39941 -20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352 +c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448" +d="M176 93.0996v197.801c0 10.6992 13 16.0996 20.5 8.5l98.2998 -98.9004c4.7002 -4.7002 4.7002 -12.2002 0 -16.9004l-98.2998 -98.8994c-7.5 -7.7002 -20.5 -2.2998 -20.5 8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352 +c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384" +d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288 +h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416z" /> + <glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384" +d="M288 200v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v28c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM276 128c6.59961 0 12 -5.40039 12 -12v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12 +v28c0 6.59961 5.40039 12 12 12h168zM384 316.1v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l83.9004 -83.9004c9 -8.90039 14.0996 -21.2002 14.0996 -33.9004z +M256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288z" /> + <glyph glyph-name="thumbs-up" unicode="&#xf164;" +d="M466.27 161.31c4.6748 -22.6465 0.864258 -44.5371 -8.98926 -62.9893c2.95898 -23.8682 -4.02148 -48.5654 -17.3398 -66.9902c-0.954102 -55.9072 -35.8232 -95.3301 -112.94 -95.3301c-7 0 -15 0.00976562 -22.2197 0.00976562 +c-102.742 0 -133.293 38.9395 -177.803 39.9404c-3.56934 -13.7764 -16.085 -23.9502 -30.9775 -23.9502h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h98.7598c19.1455 16.9531 46.0137 60.6533 68.7598 83.4004 +c13.667 13.667 10.1533 108.6 71.7607 108.6c57.5801 0 95.2695 -31.9355 95.2695 -104.73c0 -18.4092 -3.92969 -33.7295 -8.84961 -46.5391h36.4795c48.6025 0 85.8203 -41.5654 85.8203 -85.5801c0 -19.1504 -4.95996 -34.9902 -13.7305 -49.8408zM404.52 107.48 +c21.5811 20.3838 18.6992 51.0645 5.21094 65.6191c9.44922 0 22.3594 18.9102 22.2695 37.8105c-0.0898438 18.9102 -16.71 37.8203 -37.8203 37.8203h-103.989c0 37.8193 28.3594 55.3691 28.3594 94.5391c0 23.75 0 56.7305 -47.2695 56.7305 +c-18.9102 -18.9102 -9.45996 -66.1797 -37.8203 -94.54c-26.5596 -26.5703 -66.1797 -97.46 -94.54 -97.46h-10.9199v-186.17c53.6113 0 100.001 -37.8203 171.64 -37.8203h37.8203c35.5117 0 60.8203 17.1201 53.1201 65.9004 +c15.2002 8.16016 26.5 36.4395 13.9395 57.5703zM88 16c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" /> + <glyph glyph-name="thumbs-down" unicode="&#xf165;" +d="M466.27 222.69c8.77051 -14.8506 13.7305 -30.6904 13.7305 -49.8408c0 -44.0146 -37.2178 -85.5801 -85.8203 -85.5801h-36.4795c4.91992 -12.8096 8.84961 -28.1299 8.84961 -46.5391c0 -72.7949 -37.6895 -104.73 -95.2695 -104.73 +c-61.6074 0 -58.0938 94.9326 -71.7607 108.6c-22.7461 22.7471 -49.6133 66.4473 -68.7598 83.4004h-7.05176c-5.5332 -9.56152 -15.8662 -16 -27.708 -16h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h64c8.11328 0 15.5146 -3.02539 21.1553 -8 +h10.8447c40.9971 0 73.1953 39.9902 176.78 39.9902c7.21973 0 15.2197 0.00976562 22.2197 0.00976562c77.1172 0 111.986 -39.4229 112.94 -95.3301c13.3184 -18.4248 20.2979 -43.1221 17.3398 -66.9902c9.85352 -18.4521 13.6641 -40.3428 8.98926 -62.9893zM64 152 +c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM394.18 135.27c21.1104 0 37.7305 18.9102 37.8203 37.8203c0.0898438 18.9004 -12.8203 37.8105 -22.2695 37.8105c13.4883 14.5547 16.3701 45.2354 -5.21094 65.6191 +c12.5605 21.1309 1.26074 49.4102 -13.9395 57.5703c7.7002 48.7803 -17.6084 65.9004 -53.1201 65.9004h-37.8203c-71.6387 0 -118.028 -37.8203 -171.64 -37.8203v-186.17h10.9199c28.3604 0 67.9805 -70.8896 94.54 -97.46 +c28.3604 -28.3604 18.9102 -75.6299 37.8203 -94.54c47.2695 0 47.2695 32.9805 47.2695 56.7305c0 39.1699 -28.3594 56.7197 -28.3594 94.5391h103.989z" /> + <glyph glyph-name="sun" unicode="&#xf185;" +d="M494.2 226.1c11.2002 -7.59961 17.7998 -20.0996 17.8994 -33.6992c0 -13.4004 -6.69922 -26 -17.7998 -33.5l-59.7998 -40.5l13.7002 -71c2.5 -13.2002 -1.60059 -26.8008 -11.1006 -36.3008s-22.8994 -13.7998 -36.2998 -11.0996l-70.8994 13.7002l-40.4004 -59.9004 +c-7.5 -11.0996 -20.0996 -17.7998 -33.5 -17.7998s-26 6.7002 -33.5 17.9004l-40.4004 59.8994l-70.7998 -13.7002c-13.3994 -2.59961 -26.7998 1.60059 -36.2998 11.1006s-13.7002 23.0996 -11.0996 36.2998l13.6992 71l-59.7998 40.5 +c-11.0996 7.5 -17.7998 20 -17.7998 33.5s6.59961 26 17.7998 33.5996l59.7998 40.5l-13.6992 71c-2.60059 13.2002 1.59961 26.7002 11.0996 36.3008c9.5 9.59961 23 13.6992 36.2998 11.1992l70.7998 -13.6992l40.4004 59.8994c15.0996 22.2998 51.9004 22.2998 67 0 +l40.4004 -59.8994l70.8994 13.6992c13 2.60059 26.6006 -1.59961 36.2002 -11.0996c9.5 -9.59961 13.7002 -23.2002 11.0996 -36.4004l-13.6992 -71zM381.3 140.5l76.7998 52.0996l-76.7998 52l17.6006 91.1006l-91 -17.6006l-51.9004 76.9004l-51.7998 -76.7998 +l-91 17.5996l17.5996 -91.2002l-76.7998 -52l76.7998 -52l-17.5996 -91.1992l90.8994 17.5996l51.9004 -77l51.9004 76.9004l91 -17.6006zM256 296c57.2998 0 104 -46.7002 104 -104s-46.7002 -104 -104 -104s-104 46.7002 -104 104s46.7002 104 104 104zM256 136 +c30.9004 0 56 25.0996 56 56s-25.0996 56 -56 56s-56 -25.0996 -56 -56s25.0996 -56 56 -56z" /> + <glyph glyph-name="moon" unicode="&#xf186;" +d="M279.135 -64c-141.424 0 -256 114.64 -256 256c0 141.425 114.641 256 256 256c13.0068 -0.00195312 33.9443 -1.91797 46.7354 -4.27734c44.0205 -8.13086 53.7666 -66.8691 15.0215 -88.9189c-41.374 -23.5439 -67.4336 -67.4121 -67.4336 -115.836 +c0 -83.5234 75.9238 -146.475 158.272 -130.792c43.6904 8.32129 74.5186 -42.5693 46.248 -77.4004c-47.8613 -58.9717 -120.088 -94.7754 -198.844 -94.7754zM279.135 400c-114.875 0 -208 -93.125 -208 -208s93.125 -208 208 -208 +c65.2314 0 123.439 30.0361 161.575 77.0244c-111.611 -21.2568 -215.252 64.0957 -215.252 177.943c0 67.5127 36.9326 126.392 91.6934 157.555c-12.3271 2.27637 -25.0312 3.47754 -38.0166 3.47754z" /> + <glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448" +d="M272 290.9v-197.801c0 -10.6992 -13 -16.0996 -20.5 -8.5l-98.2998 98.9004c-4.7002 4.7002 -4.7002 12.2002 0 16.9004l98.2998 98.8994c7.5 7.7002 20.5 2.2998 20.5 -8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352 +c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="dot-circle" unicode="&#xf192;" +d="M256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z +M256 272c44.1826 0 80 -35.8174 80 -80s-35.8174 -80 -80 -80s-80 35.8174 -80 80s35.8174 80 80 80z" /> + <glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448" +d="M128 300v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM268 288c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40 +c0 -6.59961 -5.40039 -12 -12 -12h-40zM140 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM268 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40 +c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM192 108c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM268 96c-6.59961 0 -12 5.40039 -12 12v40 +c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.59961 5.40039 12 12 12h19.5v440c0 13.2998 10.7002 24 24 24h337c13.2998 0 24 -10.7002 24 -24v-440h19.5 +c6.59961 0 12 -5.40039 12 -12zM79.5 -15h112.5v67c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-67h112.5v414l-288.5 1z" /> + <glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384" +d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288 +h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM298.2 127.7c10.5 -10.5 8 -38.7002 -17.5 -38.7002c-14.7998 0 -36.9004 6.7998 -55.7998 17c-21.6006 -3.59961 -46 -12.7002 -68.4004 -20.0996c-50.0996 -86.4004 -79.4004 -47 -76.0996 -31.2002 +c4 20 31 35.8994 51 46.2002c10.5 18.3994 25.3994 50.5 35.3994 74.3994c-7.39941 28.6006 -11.3994 51 -7 67.1006c4.7998 17.6992 38.4004 20.2998 42.6006 -5.90039c4.69922 -15.4004 -1.5 -39.9004 -5.40039 -56c8.09961 -21.2998 19.5996 -35.7998 36.7998 -46.2998 +c17.4004 2.2002 52.2002 5.5 64.4004 -6.5zM100.1 49.9004c0 -0.700195 11.4004 4.69922 30.4004 35c-5.90039 -5.5 -25.2998 -21.3008 -30.4004 -35zM181.7 240.5c-2.5 0 -2.60059 -26.9004 1.7998 -40.7998c4.90039 8.7002 5.59961 40.7998 -1.7998 40.7998zM157.3 103.9 +c15.9004 6.09961 34 14.8994 54.7998 19.1992c-11.1992 8.30078 -21.7998 20.4004 -30.0996 35.5c-6.7002 -17.6992 -15 -37.7998 -24.7002 -54.6992zM288.9 108.9c3.59961 2.39941 -2.2002 10.3994 -37.3008 7.7998c32.3008 -13.7998 37.3008 -7.7998 37.3008 -7.7998z" /> + <glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384" +d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288 +h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM268.1 192v0.200195h15.8008c7.7998 0 13.5 -7.2998 11.5996 -14.9004c-4.2998 -17 -13.7002 -54.0996 -34.5 -136c-1.2998 -5.39941 -6.09961 -9.09961 -11.5996 -9.09961h-24.7002 +c-5.5 0 -10.2998 3.7998 -11.6006 9.09961c-5.2998 20.9004 -17.7998 71 -17.8994 71.4004l-2.90039 17.2998c-0.5 -5.2998 -1.5 -11.0996 -3 -17.2998l-17.8994 -71.4004c-1.30078 -5.39941 -6.10059 -9.09961 -11.6006 -9.09961h-25.2002 +c-5.59961 0 -10.3994 3.7002 -11.6992 9.09961c-6.5 26.5 -25.2002 103.4 -33.2002 136c-1.7998 7.5 3.89941 14.7998 11.7002 14.7998h16.7998c5.7998 0 10.7002 -4.09961 11.7998 -9.69922c5 -25.7002 18.4004 -93.8008 19.0996 -99 +c0.300781 -1.7002 0.400391 -3.10059 0.5 -4.2002c0.800781 7.5 0.400391 4.7002 24.8008 103.7c1.39941 5.2998 6.19922 9.09961 11.6992 9.09961h13.3008c5.59961 0 10.3994 -3.7998 11.6992 -9.2002c23.9004 -99.7002 22.8008 -94.3994 23.6006 -99.5 +c0.299805 -1.7002 0.5 -3.09961 0.700195 -4.2998c0.599609 8.09961 0.399414 5.7998 21 103.5c1.09961 5.5 6 9.5 11.6992 9.5z" /> + <glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384" +d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288 +h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM260 224c9.2002 0 15 -10 10.2998 -18c-16 -27.5 -45.5996 -76.9004 -46.2998 -78l46.4004 -78c4.59961 -8 -1.10059 -18 -10.4004 -18h-28.7998c-4.40039 0 -8.5 2.40039 -10.6006 6.2998 +c-22.6992 41.7998 -13.6992 27.5 -28.5996 57.7002c-5.59961 -12.7002 -6.90039 -17.7002 -28.5996 -57.7002c-2.10059 -3.89941 -6.10059 -6.2998 -10.5 -6.2998h-28.9004c-9.2998 0 -15.0996 10 -10.4004 18l46.3008 78l-46.3008 78c-4.59961 8 1.10059 18 10.4004 18 +h28.9004c4.39941 0 8.5 -2.40039 10.5996 -6.2998c21.7002 -40.4004 14.7002 -28.6006 28.5996 -57.7002c6.40039 15.2998 10.6006 24.5996 28.6006 57.7002c2.09961 3.89941 6.09961 6.2998 10.5 6.2998h28.7998z" /> + <glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384" +d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288 +h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM120 44v168c0 6.59961 5.40039 12 12 12h69.2002c36.7002 0 62.7998 -27 62.7998 -66.2998c0 -74.2998 -68.7002 -66.5 -95.5 -66.5v-47.2002c0 -6.59961 -5.40039 -12 -12 -12h-24.5c-6.59961 0 -12 5.40039 -12 12z +M168.5 131.4h23c7.90039 0 13.9004 2.39941 18.0996 7.19922c8.5 9.80078 8.40039 28.5 0.100586 37.8008c-4.10059 4.59961 -9.90039 7 -17.4004 7h-23.8994v-52h0.0996094z" /> + <glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384" +d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288 +h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM80 32v64l39.5 39.5c4.7002 4.7002 12.2998 4.7002 17 0l39.5 -39.5l87.5 87.5c4.7002 4.7002 12.2998 4.7002 17 0l23.5 -23.5v-128h-224zM128 272c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48 +s21.5 48 48 48z" /> + <glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384" +d="M128.3 288h32v-32h-32v32zM192.3 384v-32h-32v32h32zM128.3 352h32v-32h-32v32zM192.3 320v-32h-32v32h32zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1 +c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-48.2998v-16h-32v16h-79.7002v-416h288zM194.2 182.3l17.2998 -87.7002c6.40039 -32.3994 -18.4004 -62.5996 -51.5 -62.5996 +c-33.2002 0 -58 30.4004 -51.4004 62.9004l19.7002 97.0996v32h32v-32h22.1006c5.7998 0 10.6992 -4.09961 11.7998 -9.7002zM160.3 57.9004c17.9004 0 32.4004 12.0996 32.4004 27c0 14.8994 -14.5 27 -32.4004 27c-17.8994 0 -32.3994 -12.1006 -32.3994 -27 +c0 -14.9004 14.5 -27 32.3994 -27zM192.3 256v-32h-32v32h32z" /> + <glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384" +d="M369.941 350.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM332.118 320 +l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM192 60.0244c0 -10.6914 -12.9258 -16.0459 -20.4854 -8.48535l-35.5146 35.9746h-28c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h28 +l35.5146 36.9473c7.56055 7.56055 20.4854 2.20605 20.4854 -8.48535v-135.951zM233.201 107.154c9.05078 9.29688 9.05957 24.1328 0.000976562 33.4385c-22.1494 22.752 12.2344 56.2461 34.3945 33.4814c27.1982 -27.9404 27.2119 -72.4443 0.000976562 -100.401 +c-21.793 -22.3857 -56.9463 10.3154 -34.3965 33.4814z" /> + <glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384" +d="M369.941 350.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM332.118 320 +l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM276.687 195.303c10.0049 10.0049 27.3135 2.99707 27.3135 -11.3135v-111.976c0 -14.2939 -17.2959 -21.332 -27.3135 -11.3135l-52.6865 52.6738v-37.374 +c0 -11.0459 -8.9541 -20 -20 -20h-104c-11.0459 0 -20 8.9541 -20 20v104c0 11.0459 8.9541 20 20 20h104c11.0459 0 20 -8.9541 20 -20v-37.374z" /> + <glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384" +d="M149.9 98.9004c3.5 -3.30078 3.69922 -8.90039 0.399414 -12.4004l-17.3994 -18.5996c-1.60059 -1.80078 -4 -2.80078 -6.40039 -2.80078c-2.2002 0 -4.40039 0.900391 -6 2.40039l-57.7002 54.0996c-3.7002 3.40039 -3.7002 9.30078 0 12.8008l57.7002 54.0996 +c3.40039 3.2998 9 3.2002 12.4004 -0.400391l17.3994 -18.5996l0.200195 -0.200195c3.2002 -3.59961 2.7998 -9.2002 -0.799805 -12.3994l-32.7998 -28.9004l32.7998 -28.9004zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288 +c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288zM209.6 234l24.4004 -7 +c4.7002 -1.2998 7.40039 -6.2002 6 -10.9004l-54.7002 -188.199c-1.2998 -4.60059 -6.2002 -7.40039 -10.8994 -6l-24.4004 7.09961c-4.7002 1.2998 -7.40039 6.2002 -6 10.9004l54.7002 188.1c1.39941 4.7002 6.2002 7.40039 10.8994 6zM234.1 157.1 +c-3.5 3.30078 -3.69922 8.90039 -0.399414 12.4004l17.3994 18.5996c3.30078 3.60059 8.90039 3.7002 12.4004 0.400391l57.7002 -54.0996c3.7002 -3.40039 3.7002 -9.30078 0 -12.8008l-57.7002 -54.0996c-3.5 -3.2998 -9.09961 -3.09961 -12.4004 0.400391 +l-17.3994 18.5996l-0.200195 0.200195c-3.2002 3.59961 -2.7998 9.2002 0.799805 12.3994l32.7998 28.9004l-32.7998 28.9004z" /> + <glyph glyph-name="life-ring" unicode="&#xf1cd;" +d="M256 -56c-136.967 0 -248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248s-111.033 -248 -248 -248zM152.602 20.7197c63.2178 -38.3184 143.579 -38.3184 206.797 0l-53.4111 53.4111c-31.8467 -13.5215 -68.168 -13.5059 -99.9746 0zM336 192 +c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80zM427.28 88.6016c38.3184 63.2178 38.3184 143.579 0 206.797l-53.4111 -53.4111c13.5215 -31.8467 13.5049 -68.168 0 -99.9746zM359.397 363.28 +c-63.2168 38.3184 -143.578 38.3184 -206.796 0l53.4111 -53.4111c31.8457 13.5215 68.167 13.5049 99.9736 0zM84.7197 295.398c-38.3184 -63.2178 -38.3184 -143.579 0 -206.797l53.4111 53.4111c-13.5215 31.8467 -13.5059 68.168 0 99.9746z" /> + <glyph glyph-name="paper-plane" unicode="&#xf1d8;" +d="M440 441.5c34.5996 19.9004 77.5996 -8.7998 71.5 -48.9004l-59.4004 -387.199c-2.2998 -14.5 -11.0996 -27.3008 -23.8994 -34.5c-7.2998 -4.10059 -15.4004 -6.2002 -23.6006 -6.2002c-6.19922 0 -12.3994 1.2002 -18.2998 3.59961l-111.899 46.2002l-43.8008 -59.0996 +c-27.3994 -36.9004 -86.5996 -17.8008 -86.5996 28.5996v84.4004l-114.3 47.2998c-36.7998 15.0996 -40.1006 66 -5.7002 85.8994zM192 -16l36.5996 49.5l-36.5996 15.0996v-64.5996zM404.6 12.7002l59.4004 387.3l-416 -240l107.8 -44.5996l211.5 184.3 +c14.2002 12.2998 34.4004 -5.7002 23.7002 -21.2002l-140.2 -202.3z" /> + <glyph glyph-name="futbol" unicode="&#xf1e3;" horiz-adv-x="496" +d="M483.8 268.6c42.2998 -130.199 -29 -270.1 -159.2 -312.399c-25.5 -8.2998 -51.2998 -12.2002 -76.6992 -12.2002c-104.5 0 -201.7 66.5996 -235.7 171.4c-42.2998 130.199 29 270.1 159.2 312.399c25.5 8.2998 51.2998 12.2002 76.6992 12.2002 +c104.5 0 201.7 -66.5996 235.7 -171.4zM409.3 74.9004c6.10059 8.39941 12.1006 16.8994 16.7998 26.1992c14.3008 28.1006 21.5 58.5 21.7002 89.2002l-38.8994 36.4004l-71.1006 -22.1006l-24.3994 -75.1992l43.6992 -60.9004zM409.3 310.3 +c-24.5 33.4004 -58.7002 58.4004 -97.8994 71.4004l-47.4004 -26.2002v-73.7998l64.2002 -46.5l70.7002 22zM184.9 381.6c-39.9004 -13.2998 -73.5 -38.5 -97.8008 -71.8994l10.1006 -52.5l70.5996 -22l64.2002 46.5v73.7998zM139 68.5l43.5 61.7002l-24.2998 74.2998 +l-71.1006 22.2002l-39 -36.4004c0.5 -55.7002 23.4004 -95.2002 37.8008 -115.3zM187.2 1.5c64.0996 -20.4004 115.5 -1.7998 121.7 0l22.3994 48.0996l-44.2998 61.7002h-78.5996l-43.6006 -61.7002z" /> + <glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576" +d="M552 384c13.2549 0 24 -10.7451 24 -24v-336c0 -13.2549 -10.7451 -24 -24 -24h-496c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h42.752c6.60547 18.623 24.3896 32 45.248 32h440zM48 56c0 -4.41113 3.58887 -8 8 -8s8 3.58887 8 8v248h-16v-248z +M528 48v288h-416v-280c0 -2.7168 -0.204102 -5.38574 -0.578125 -8h416.578zM172 168c-6.62695 0 -12 5.37305 -12 12v96c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-96c0 -6.62695 -5.37305 -12 -12 -12h-136zM200 248v-40h80v40h-80zM160 108v24 +c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-136c-6.62695 0 -12 5.37305 -12 12zM352 108v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104 +c-6.62695 0 -12 5.37305 -12 12zM352 252v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12zM352 180v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24 +c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12z" /> + <glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640" +d="M633.99 -23.0195c6.91016 -5.52051 8.01953 -15.5908 2.5 -22.4902l-10 -12.4902c-5.53027 -6.88965 -15.5898 -8.00977 -22.4902 -2.49023l-598 467.51c-6.90039 5.52051 -8.01953 15.5908 -2.49023 22.4902l10 12.4902 +c5.52051 6.90039 15.5898 8.00977 22.4902 2.49023zM163.53 80h182.84l61.3994 -48h-279.659c-19.1201 0 -31.9902 15.5996 -32.1006 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c18.3701 19.7402 51.5703 49.6904 54.8398 140.42l45.4697 -35.5498 +c-6.91992 -54.7803 -24.6895 -88.5498 -41.3994 -110.58zM320 352c-23.3496 0 -45 -7.17969 -62.9404 -19.4004l-38.1699 29.8408c19.6807 15.7793 43.1104 27.3096 69.1299 32.7197v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398 +c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -41.3604 6.03027 -70.7197 14.3398 -92.8496l-59.5293 46.54c-1.63086 13.96 -2.77051 28.8896 -2.79004 45.7295c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112zM320 -64 +c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" /> + <glyph glyph-name="copyright" unicode="&#xf1f9;" +d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z +M363.351 93.0645c-9.61328 -9.71289 -45.5293 -41.3965 -104.064 -41.3965c-82.4297 0 -140.484 61.4248 -140.484 141.567c0 79.1514 60.2754 139.4 139.763 139.4c55.5303 0 88.7373 -26.6201 97.5928 -34.7783c2.13379 -1.96289 3.86523 -5.9082 3.86523 -8.80762 +c0 -1.95508 -0.864258 -4.87402 -1.92969 -6.51465l-18.1543 -28.1133c-3.8418 -5.9502 -11.9668 -7.28223 -17.499 -2.9209c-8.5957 6.77637 -31.8145 22.5381 -61.708 22.5381c-48.3037 0 -77.916 -35.3301 -77.916 -80.082c0 -41.5889 26.8877 -83.6924 78.2764 -83.6924 +c32.6572 0 56.8428 19.0391 65.7266 27.2256c5.26953 4.85645 13.5957 4.03906 17.8193 -1.73828l19.8652 -27.1699c1.28613 -1.74512 2.33008 -4.91992 2.33008 -7.08789c0 -2.72363 -1.56055 -6.5 -3.48242 -8.42969z" /> + <glyph glyph-name="closed-captioning" unicode="&#xf20a;" +d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM458 48c3.2998 0 6 2.7002 6 6v276c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-276c0 -3.2998 2.7002 -6 6 -6h404z +M246.9 133.7c1.69922 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.6006 -56.7998 -172.801 -32.0996 -172.801 67.9004c0 97.2998 121.7 119.5 172.5 70.0996c2.10059 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.89941 -3.09961 -6.19922 -4 -9.09961 -1.7002 +c-40.7998 32 -94.5996 14.9004 -94.5996 -31.1992c0 -48 51 -70.5 92.1992 -32.6006c2.80078 2.5 7.10059 2.10059 9.2002 -0.899414zM437.3 133.7c1.7002 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.5996 -56.9004 -172.8 -32.0996 -172.8 67.9004 +c0 97.2998 121.7 119.5 172.5 70.0996c2.09961 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.90039 -3.09961 -6.2002 -4 -9.09961 -1.7002c-40.8008 32 -94.6006 14.9004 -94.6006 -31.1992c0 -48 51 -70.5 92.2002 -32.6006c2.7998 2.5 7.09961 2.10059 9.2002 -0.899414z +" /> + <glyph glyph-name="object-group" unicode="&#xf247;" +d="M500 320h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v256h-12 +c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM448 384v-32h32v32h-32zM32 384v-32h32v32h-32zM64 0v32 +h-32v-32h32zM480 0v32h-32v-32h32zM440 64v256h-12c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h12zM404 256c6.62695 0 12 -5.37207 12 -12v-168 +c0 -6.62793 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37207 -12 12v52h-84c-6.62695 0 -12 5.37207 -12 12v168c0 6.62793 5.37305 12 12 12h200c6.62695 0 12 -5.37207 12 -12v-52h84zM136 280v-112h144v112h-144zM376 104v112h-56v-76 +c0 -6.62793 -5.37305 -12 -12 -12h-76v-24h144z" /> + <glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576" +d="M564 224h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v24h-88v-12 +c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h72 +c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-12v-24h88v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM352 384v-32h32v32h-32zM352 128v-32h32v32h-32zM64 96v32h-32v-32h32zM64 352v32 +h-32v-32h32zM96 136h224v12c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-12zM224 0v32h-32v-32h32zM504 64v160h-12c-6.62695 0 -12 5.37305 -12 12v12 +h-88v-88h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-88v-24h12c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h12zM544 0v32h-32v-32h32zM544 256v32h-32v-32h32z" /> + <glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448" +d="M448 99.8936c0 -10.9746 -6.29883 -26.1797 -14.0586 -33.9404l-83.8828 -83.8818c-7.75977 -7.76074 -22.9658 -14.0596 -33.9404 -14.0596h-268.118c-26.5098 0 -48 21.4902 -48 48v351.988c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-268.106z +M320 19.8936l76.1182 76.1182h-76.1182v-76.1182zM400 368h-352v-351.988h224v104c0 13.2549 10.7451 24 24 24h104v223.988z" /> + <glyph glyph-name="clone" unicode="&#xf24d;" +d="M464 448c26.5098 0 48 -21.4902 48 -48v-320c0 -26.5098 -21.4902 -48 -48 -48h-48v-48c0 -26.5098 -21.4902 -48 -48 -48h-320c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h48v48c0 26.5098 21.4902 48 48 48h320zM362 -16c3.31152 0 6 2.68848 6 6 +v42h-224c-26.5098 0 -48 21.4902 -48 48v224h-42c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308zM458 80c3.31152 0 6 2.68848 6 6v308c0 3.31152 -2.68848 6 -6 6h-308c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308z" /> + <glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384" +d="M368 400c0 -80.0996 -31.8984 -165.619 -97.1797 -208c64.9912 -42.1934 97.1797 -127.436 97.1797 -208h4c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h4 +c0 80.0996 31.8994 165.619 97.1797 208c-64.9912 42.1934 -97.1797 127.436 -97.1797 208h-4c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-4zM64 400 +c0 -101.621 57.3066 -184 128 -184s128 82.3799 128 184h-256zM320 -16c0 101.62 -57.3076 184 -128 184s-128 -82.3799 -128 -184h256z" /> + <glyph glyph-name="hand-rock" unicode="&#xf255;" +d="M408.864 368.948c48.8213 20.751 103.136 -15.0723 103.136 -67.9111v-114.443c0 -15.3955 -3.08887 -30.3906 -9.18262 -44.5674l-42.835 -99.6562c-4.99707 -11.625 -3.98242 -18.8574 -3.98242 -42.3701c0 -17.6729 -14.3271 -32 -32 -32h-252 +c-17.6729 0 -32 14.3271 -32 32c0 27.3301 1.1416 29.2012 -3.11035 32.9033l-97.71 85.0811c-24.8994 21.6797 -39.1797 52.8926 -39.1797 85.6338v56.9531c0 47.4277 44.8457 82.0215 91.0459 71.1807c1.96094 55.751 63.5107 87.8262 110.671 60.8057 +c29.1895 31.0713 78.8604 31.4473 108.334 -0.0214844c32.7051 18.6846 76.4121 10.3096 98.8135 -23.5879zM464 186.594v114.445c0 34.29 -52 33.8232 -52 0.676758c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v26.751 +c0 34.457 -52 33.707 -52 0.676758v-27.4287c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v40.4658c0 34.3525 -52 33.8115 -52 0.677734v-41.1436c0 -8.83594 -7.16406 -16 -16 -16h-7c-8.83594 0 -16 7.16406 -16 16v26.751 +c0 34.4023 -52 33.7744 -52 0.676758v-116.571c0 -8.83203 -7.16797 -16 -16 -16c-3.30664 0 -8.01367 1.7627 -10.5068 3.93359l-7 6.09473c-3.03223 2.64062 -5.49316 8.04688 -5.49316 12.0674v0v41.2275c0 34.2148 -52 33.8857 -52 0.677734v-56.9531 +c0 -18.8555 8.27441 -36.874 22.7002 -49.4365l97.71 -85.0801c12.4502 -10.8398 19.5898 -26.4463 19.5898 -42.8164v-10.2861h220v7.07617c0 13.21 2.65332 26.0791 7.88281 38.25l42.835 99.6553c2.91602 6.75391 5.28223 18.207 5.28223 25.5635v0.0488281z" /> + <glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="448" +d="M372.57 335.359c39.9062 5.63281 75.4297 -25.7393 75.4297 -66.3594v-131.564c-0.00195312 -12.7666 -2.33008 -33.2246 -5.19531 -45.666l-30.1836 -130.958c-3.34668 -14.5234 -16.2783 -24.8125 -31.1816 -24.8125h-222.897 +c-9.10352 0 -20.7793 6.01758 -26.0615 13.4316l-119.97 168.415c-21.2441 29.8203 -14.8047 71.3574 14.5498 93.1533c18.7754 13.9395 42.1309 16.2979 62.083 8.87109v126.13c0 44.0547 41.125 75.5439 82.4053 64.9834c23.8926 48.1963 92.3535 50.2471 117.982 0.74707 +c42.5186 11.1445 83.0391 -21.9346 83.0391 -65.5469v-10.8242zM399.997 137.437l-0.00195312 131.563c0 24.9492 -36.5703 25.5508 -36.5703 -0.691406v-76.3086c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v154.184 +c0 25.501 -36.5703 26.3633 -36.5703 0.691406v-154.875c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v188.309c0 25.501 -36.5703 26.3545 -36.5703 0.691406v-189c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16 +v153.309c0 25.501 -36.5713 26.3359 -36.5713 0.691406v-206.494c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832l-27.1279 38.0791c-14.3711 20.1709 -43.833 -2.33496 -29.3945 -22.6045l115.196 -161.697h201.92l27.3252 118.551 +c2.63086 11.417 3.96484 23.1553 3.96484 34.8857z" /> + <glyph glyph-name="hand-scissors" unicode="&#xf257;" +d="M256 -32c-44.9561 0 -77.3428 43.2627 -64.0244 85.8535c-21.6484 13.71 -34.0156 38.7617 -30.3408 65.0068h-87.6348c-40.8037 0 -74 32.8105 -74 73.1406c0 40.3291 33.1963 73.1396 74 73.1396l94 -9.14062l-78.8496 18.6787 +c-38.3076 14.7422 -57.04 57.4707 -41.9424 95.1123c15.0303 37.4736 57.7549 55.7803 95.6416 41.2012l144.929 -55.7568c24.9551 30.5566 57.8086 43.9932 92.2178 24.7324l97.999 -54.8525c20.9746 -11.7393 34.0049 -33.8457 34.0049 -57.6904v-205.702 +c0 -30.7422 -21.4404 -57.5576 -51.7979 -64.5537l-118.999 -27.4268c-4.97168 -1.14648 -10.0889 -1.72949 -15.2031 -1.72949zM256 16.0127l70 -0.000976562c1.23633 0 3.21777 0.225586 4.42285 0.501953l119.001 27.4277 +c8.58203 1.97754 14.5762 9.29102 14.5762 17.7812v205.701c0 6.4873 -3.62109 12.542 -9.44922 15.8047l-98 54.8545c-8.13965 4.55566 -18.668 2.61914 -24.4873 -4.50781l-21.7646 -26.6475c-2.65039 -3.24512 -8.20215 -5.87891 -12.3926 -5.87891 +c-1.64062 0 -4.21484 0.477539 -5.74609 1.06738l-166.549 64.0908c-32.6543 12.5664 -50.7744 -34.5771 -19.2227 -46.7168l155.357 -59.7852c5.66016 -2.17773 10.2539 -8.86816 10.2539 -14.9326v0v-11.6328c0 -8.83691 -7.16309 -16 -16 -16h-182 +c-34.375 0 -34.4297 -50.2803 0 -50.2803h182c8.83691 0 16 -7.16309 16 -16v-6.85645c0 -8.83691 -7.16309 -16 -16 -16h-28c-25.1221 0 -25.1592 -36.5674 0 -36.5674h28c8.83691 0 16 -7.16211 16 -16v-6.85547c0 -8.83691 -7.16309 -16 -16 -16 +c-25.1201 0 -25.1602 -36.5674 0 -36.5674z" /> + <glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576" +d="M556.686 157.458c12.6357 -19.4863 19.3145 -42.0615 19.3145 -65.2871v-124.171h-224v71.582l-99.751 38.7871c-2.7832 1.08203 -5.70996 1.63086 -8.69727 1.63086h-131.552c-30.8789 0 -56 25.1211 -56 56c0 48.5234 39.4766 88 88 88h113.709l18.333 48h-196.042 +c-44.1123 0 -80 35.8877 -80 80v8c0 30.8779 25.1211 56 56 56h293.917c24.5 0 47.084 -12.2725 60.4111 -32.8291zM528 16v76.1709v0.0478516c0 11.7461 -5.19141 29.2734 -11.5879 39.124l-146.358 225.715c-4.44336 6.85254 -11.9707 10.9424 -20.1367 10.9424h-293.917 +c-4.41113 0 -8 -3.58887 -8 -8v-8c0 -17.6445 14.3555 -32 32 -32h213.471c25.2021 0 42.626 -25.293 33.6299 -48.8457l-24.5518 -64.2812c-7.05371 -18.4658 -25.0732 -30.873 -44.8398 -30.873h-113.709c-22.0557 0 -40 -17.9443 -40 -40c0 -4.41113 3.58887 -8 8 -8 +h131.552h0.0517578c7.44141 0 19.1074 -2.19238 26.041 -4.89355l99.752 -38.7881c18.5898 -7.22852 30.6035 -24.7881 30.6035 -44.7363v-23.582h128z" /> + <glyph glyph-name="hand-spock" unicode="&#xf259;" +d="M21.0957 66.21c-26.9688 25.3818 -28.2471 67.7461 -2.87109 94.707c24.1982 25.7139 64.2881 28.2373 91.4824 5.72168l-31.04 136.509c-9.38379 41.2803 21.4336 81.0127 64.0713 81.8438c1.74414 28.9062 22.2656 54.4912 51.8818 61.2949 +c36.001 8.27539 72.0176 -14.2266 80.3037 -50.2959l21.6748 -131.99l16.9014 105.25c9.02344 36.0947 45.4473 57.7021 81.25 48.75c27.3066 -6.82715 45.7061 -29.1357 49.8496 -53.9922c43.2285 0.212891 75.6436 -40.1133 65.5439 -82.5244l-31.7295 -133.41 +c-0.938477 -3.94141 -1.41406 -7.99414 -1.41406 -12.0449v-36.8389v-0.00683594c0 -9.29102 -2.14355 -24.0596 -4.78516 -32.9668l-31.8145 -107.312c-4.02734 -13.585 -16.5107 -22.9043 -30.6807 -22.9043h-237.6c-7.00586 0 -16.8311 3.89648 -21.9316 8.69824z +M53.1641 128.021c-7.17969 -7.62891 -6.81543 -19.6777 0.813477 -26.8574l124.487 -117.164h219.311l28.4199 95.8613c1.86133 6.27637 2.80469 12.7793 2.80469 19.3281v36.8389c0.000976562 6.48047 1.21973 16.8574 2.71973 23.1621l31.7549 133.407 +c5.83105 24.4893 -31.1445 33.25 -36.9658 8.80273l-26.9229 -113.105c-1.61523 -6.78711 -8.58887 -12.2949 -15.5645 -12.2949h-9.69434c-10.4072 0 -18.043 9.79199 -15.5225 19.8799l38.127 152.512c6.09766 24.376 -30.7607 33.6396 -36.8643 9.21777l-42.3721 -169.49 +c-1.67285 -6.68945 -8.62695 -12.1191 -15.5225 -12.1191h-13.2168v0c-7.0332 0 -14.0195 5.5625 -15.5938 12.417l-45.2207 196.828c-5.64453 24.5684 -42.6572 15.9609 -37.0342 -8.50781l41.6191 -181.153c2.30078 -10.0156 -5.31738 -19.583 -15.5938 -19.583h-8.60352 +h-0.000976562c-7.0498 0 -14.04 5.5791 -15.6025 12.4541l-30.3984 133.757c-5.55273 24.4395 -42.6504 16.1963 -37.0547 -8.4209l34.1299 -150.172c0.263672 -1.16309 0.397461 -2.35352 0.397461 -3.5459v-69.4795c0 -13.9941 -16.7754 -21.2432 -26.9658 -11.6523 +l-53.0117 49.8936c-7.61523 7.16699 -19.6377 6.85938 -26.8564 -0.8125z" /> + <glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448" +d="M358.182 268.639c43.1934 16.6348 89.8184 -15.7949 89.8184 -62.6387v-84c-0.000976562 -4.25 -0.775391 -11.0615 -1.72754 -15.2041l-27.4297 -118.999c-6.98242 -30.2969 -33.7549 -51.7969 -64.5566 -51.7969h-178.286c-21.2588 0 -41.3682 10.4102 -53.791 27.8457 +l-109.699 154.001c-21.2432 29.8193 -14.8047 71.3574 14.5498 93.1523c18.8115 13.9658 42.1748 16.2822 62.083 8.87207v161.129c0 36.9443 29.7363 67 66.2861 67s66.2861 -30.0557 66.2861 -67v-73.6338c20.4131 2.85742 41.4678 -3.94238 56.5947 -19.6289 +c27.1934 12.8467 60.3799 5.66992 79.8721 -19.0986zM80.9854 168.303c-14.4004 20.2119 -43.8008 -2.38281 -29.3945 -22.6055l109.712 -154c3.43457 -4.81934 8.92871 -7.69727 14.6973 -7.69727h178.285c8.49219 0 15.8037 5.99414 17.7822 14.5762l27.4297 119.001 +c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285v84c0 25.1602 -36.5713 25.1211 -36.5713 0c0 -8.83594 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16406 -16 16v21c0 25.1602 -36.5713 25.1201 -36.5713 0v-21c0 -8.83594 -7.16309 -16 -16 -16h-6.85938 +c-8.83691 0 -16 7.16406 -16 16v35c0 25.1602 -36.5703 25.1201 -36.5703 0v-35c0 -8.83594 -7.16309 -16 -16 -16h-6.85742c-8.83691 0 -16 7.16406 -16 16v175c0 25.1602 -36.5713 25.1201 -36.5713 0v-241.493c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832z +M176.143 48v96c0 8.83691 6.26855 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM251.571 48v96c0 8.83691 6.26758 16 14 16h6c7.73145 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26855 -16 -14 -16h-6 +c-7.73242 0 -14 7.16309 -14 16zM327 48v96c0 8.83691 6.26758 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16z" /> + <glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448" +d="M362.146 256.024c42.5908 13.3184 85.8535 -19.0684 85.8535 -64.0244l-0.0117188 -70.001c-0.000976562 -4.25 -0.775391 -11.0615 -1.72949 -15.2031l-27.4268 -118.999c-6.99707 -30.3564 -33.8105 -51.7969 -64.5547 -51.7969h-205.702 +c-23.8447 0 -45.9502 13.0303 -57.6904 34.0059l-54.8525 97.999c-19.2607 34.4092 -5.82422 67.2617 24.7324 92.2178l-55.7568 144.928c-14.5791 37.8867 3.72754 80.6113 41.2012 95.6416c37.6406 15.0977 80.3691 -3.63477 95.1123 -41.9424l18.6787 -78.8496 +l-9.14062 94c0 40.8037 32.8096 74 73.1396 74s73.1406 -33.1963 73.1406 -74v-87.6348c26.2451 3.6748 51.2959 -8.69238 65.0068 -30.3408zM399.987 122l-0.000976562 70c0 25.1602 -36.5674 25.1201 -36.5674 0c0 -8.83691 -7.16309 -16 -16 -16h-6.85547 +c-8.83789 0 -16 7.16309 -16 16v28c0 25.1592 -36.5674 25.1221 -36.5674 0v-28c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v182c0 34.4297 -50.2803 34.375 -50.2803 0v-182c0 -8.83691 -7.16309 -16 -16 -16h-11.6328v0 +c-6.06445 0 -12.7549 4.59375 -14.9326 10.2539l-59.7842 155.357c-12.1396 31.5518 -59.2842 13.4326 -46.7168 -19.2227l64.0898 -166.549c0.589844 -1.53125 1.06738 -4.10547 1.06738 -5.74609c0 -4.19043 -2.63379 -9.74219 -5.87891 -12.3926l-26.6475 -21.7646 +c-7.12695 -5.81934 -9.06445 -16.3467 -4.50781 -24.4873l54.8535 -98c3.26367 -5.82812 9.31934 -9.44922 15.8057 -9.44922h205.701c8.49121 0 15.8037 5.99414 17.7812 14.5762l27.4277 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285z" /> + <glyph glyph-name="registered" unicode="&#xf25d;" +d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z +M366.442 73.791c4.40332 -7.99219 -1.37012 -17.791 -10.5107 -17.791h-42.8096h-0.0126953c-3.97559 0 -8.71582 2.84961 -10.5801 6.36035l-47.5156 89.3027h-31.958v-83.6631c0 -6.61719 -5.38281 -12 -12 -12h-38.5674c-6.61719 0 -12 5.38281 -12 12v248.304 +c0 6.61719 5.38281 12 12 12h78.667c71.251 0 101.498 -32.749 101.498 -85.252c0 -31.6123 -15.2148 -59.2969 -39.4824 -73.1758c3.02148 -4.61719 0.225586 0.199219 53.2715 -96.085zM256.933 208.094c20.9131 0 32.4307 11.5186 32.4316 32.4316 +c0 19.5752 -6.5127 31.709 -38.9297 31.709h-27.377v-64.1406h33.875z" /> + <glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448" +d="M336 156v-24c0 -6.59961 -5.40039 -12 -12 -12h-76v-76c0 -6.59961 -5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12v76h-76c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h76v76c0 6.59961 5.40039 12 12 12h24c6.59961 0 12 -5.40039 12 -12 +v-76h76c6.59961 0 12 -5.40039 12 -12zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40 +c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448" +d="M124 120c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h200c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12h-200zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52 +c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448" +d="M311.7 73.2998l-17 -17c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-53.7002 53.7998l-53.7002 -53.6992c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-17 17c-4.7002 4.69922 -4.7002 12.2998 0 17l53.7002 53.6992l-53.7002 53.7002c-4.7002 4.7002 -4.7002 12.2998 0 17 +l17 17c4.7002 4.7002 12.2998 4.7002 17 0l53.7002 -53.7002l53.7002 53.7002c4.7002 4.7002 12.2998 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17l-53.7998 -53.7998l53.6992 -53.7002c4.80078 -4.7002 4.80078 -12.2998 0.100586 -17zM448 336v-352 +c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10 +v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448" +d="M400 384c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40 +c6.62695 0 12 -5.37305 12 -12v-52h48zM394 -16c3.31152 0 6 2.68848 6 6v298h-352v-298c0 -3.31152 2.68848 -6 6 -6h340zM341.151 184.65l-142.31 -141.169c-4.70508 -4.66699 -12.3027 -4.6377 -16.9707 0.0673828l-75.0908 75.6992 +c-4.66699 4.70508 -4.6377 12.3027 0.0673828 16.9707l22.7197 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l44.1035 -44.4609l111.072 110.182c4.70508 4.66699 12.3027 4.63672 16.9707 -0.0683594l22.5361 -22.7178 +c4.66699 -4.70508 4.63672 -12.3027 -0.0683594 -16.9697z" /> + <glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576" +d="M560.02 416c8.4502 0 15.9805 -6.83008 15.9805 -16.0195v-346.32c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-151.83 -52.8105c-5.32617 -1.7334 -14.1953 -3.13965 -19.7969 -3.13965c-5.7373 0 -14.8105 1.47363 -20.2529 3.29004l-172 60.71l-170.05 -62.8398 +c-1.99023 -0.790039 -4 -1.16016 -5.95996 -1.16016c-8.45996 0 -15.9902 6.83008 -15.9902 16.0195v346.32c0.00292969 11.959 9.0166 25.2686 20.1201 29.71l151.83 52.8105c6.43945 2.08984 13.1201 3.13965 19.8096 3.13965 +c5.73242 -0.00195312 14.8008 -1.47168 20.2402 -3.28027l172 -60.7197h0.00976562l170.05 62.8398c1.98047 0.790039 4 1.16016 5.95996 1.16016zM224 357.58v-285.97l128 -45.1904v285.97zM48 29.9502l127.36 47.0801l0.639648 0.229492v286.2l-128 -44.5303v-288.979z +M528 65.0801v288.97l-127.36 -47.0693l-0.639648 -0.240234v-286.19z" /> + <glyph glyph-name="comment-alt" unicode="&#xf27a;" +d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.5996c-2.19922 -1.7002 -4.69922 -2.40039 -7.09961 -2.40039c-6.2002 0 -12 4.90039 -12 12v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z +M464 96v288c0 8.7998 -7.2002 16 -16 16h-384c-8.7998 0 -16 -7.2002 -16 -16v-288c0 -8.7998 7.2002 -16 16 -16h144v-60l67.2002 50.4004l12.7998 9.59961h160c8.7998 0 16 7.2002 16 16z" /> + <glyph glyph-name="pause-circle" unicode="&#xf28b;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48 +c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16zM240 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16z" /> + <glyph glyph-name="stop-circle" unicode="&#xf28d;" +d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-160 +c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16z" /> + <glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640" +d="M519.2 320.1h120.8v-255.699h-64c-17.5 0 -31.7998 14.1992 -31.9004 31.6992h-57.8994c-1.7998 -8.19922 -5.2998 -16.0996 -10.9004 -23l-26.2002 -32.2998c-15.7998 -19.3994 -41.8994 -25.5 -64 -16.7998c-13.5 -16.5996 -30.5996 -24 -48.7998 -24 +c-15.0996 0 -28.5996 5.09961 -41.0996 15.9004c-31.7998 -21.9004 -74.7002 -21.3008 -105.601 3.7998l-84.5996 76.3994h-9.09961c-0.100586 -17.5 -14.3008 -31.6992 -31.9004 -31.6992h-64v255.699h118l47.5996 47.6006c10.5 10.3994 24.8008 16.2998 39.6006 16.2998 +h226.8v0c12.7812 0 30.5225 -7.30273 39.5996 -16.2998zM48 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM438 103.3c2.7002 3.40039 2.2002 8.5 -1.2002 11.2998l-108.2 87.8008l-8.19922 -7.5 +c-40.3008 -36.8008 -86.7002 -11.8008 -101.5 4.39941c-26.7002 29 -25 74.4004 4.39941 101.3l38.7002 35.5h-56.7002c-2 -0.799805 -3.7002 -1.5 -5.7002 -2.2998l-61.6992 -61.5996h-41.9004v-128.101h27.7002l97.2998 -88 +c16.0996 -13.0996 41.4004 -10.5 55.2998 6.60059l15.6006 19.2002l36.7998 -31.5c3 -2.40039 12 -4.90039 18 2.39941l30 36.5l23.8994 -19.3994c3.5 -2.80078 8.5 -2.2002 11.3008 1.19922zM544 144.1v128h-44.7002l-61.7002 61.6006 +c-1.39941 1.5 -3.39941 2.2998 -5.5 2.2998l-83.6992 -0.200195c-10 0 -19.6006 -3.7002 -27 -10.5l-65.6006 -60.0996c-9.7002 -8.7998 -10.5 -24 -1.2002 -33.9004c8.90039 -9.39941 25.1006 -8.7002 34.6006 0l55.2002 50.6006c6.5 5.89941 16.5996 5.5 22.5996 -1 +l10.9004 -11.7002c6 -6.5 5.5 -16.6006 -1 -22.6006l-12.5 -11.3994l102.699 -83.4004c2.80078 -2.2998 5.40039 -4.89941 7.7002 -7.7002h69.2002zM592 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z +" /> + <glyph glyph-name="envelope-open" unicode="&#xf2b6;" +d="M494.586 283.484c9.6123 -7.94824 17.4141 -24.5205 17.4141 -36.9932v-262.491c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v262.515c0 12.5166 7.84668 29.1279 17.5146 37.0771c4.08008 3.35449 110.688 89.0996 135.15 108.549 +c22.6992 18.1426 60.1299 55.8594 103.335 55.8594c43.4365 0 81.2314 -38.1914 103.335 -55.8594c23.5283 -18.707 130.554 -104.773 135.251 -108.656zM464 -10v253.632v0.00488281c0 1.5791 -0.996094 3.66602 -2.22363 4.6582 +c-15.8633 12.8232 -108.793 87.5752 -132.366 106.316c-17.5527 14.0195 -49.7168 45.3887 -73.4102 45.3887c-23.6016 0 -55.2451 -30.8799 -73.4102 -45.3887c-23.5713 -18.7393 -116.494 -93.4795 -132.364 -106.293 +c-1.40918 -1.13965 -2.22559 -2.85254 -2.22559 -4.66504v-253.653c0 -3.31152 2.68848 -6 6 -6h404c3.31152 0 6 2.68848 6 6zM432.009 177.704c4.24902 -5.15918 3.46484 -12.7949 -1.74512 -16.9814c-28.9746 -23.2822 -59.2734 -47.5967 -70.9287 -56.8623 +c-22.6992 -18.1436 -60.1299 -55.8604 -103.335 -55.8604c-43.4521 0 -81.2871 38.2373 -103.335 55.8604c-11.2793 8.9668 -41.7441 33.4131 -70.9268 56.8643c-5.20996 4.1875 -5.99316 11.8223 -1.74512 16.9814l15.2578 18.5283 +c4.17773 5.07227 11.6572 5.84277 16.7793 1.72559c28.6182 -23.001 58.5654 -47.0352 70.5596 -56.5713c17.5527 -14.0195 49.7168 -45.3887 73.4102 -45.3887c23.6016 0 55.2461 30.8799 73.4102 45.3887c11.9941 9.53516 41.9434 33.5703 70.5625 56.5684 +c5.12207 4.11621 12.6016 3.3457 16.7783 -1.72656z" /> + <glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448" +d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48 +h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM368 -16v416h-320v-416h320zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM118.4 64 +c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002 +h-179.199z" /> + <glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576" +d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v352h-480v-352h480zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z +M118.4 64c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002 +c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199zM360 128c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 192c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112 +c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 256c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112z" /> + <glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496" +d="M248 344c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96zM248 200c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8 +c49.7002 0 95.0996 18.2998 130.1 48.4004c-14.8994 23 -40.3994 38.5 -69.5996 39.5c-20.7998 -6.5 -40.5996 -9.60059 -60.5 -9.60059s-39.7002 3.2002 -60.5 9.60059c-29.2002 -0.900391 -54.7002 -16.5 -69.5996 -39.5c35 -30.1006 80.3994 -48.4004 130.1 -48.4004z +M410.7 76.0996c23.3994 32.7002 37.2998 72.7002 37.2998 115.9c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -43.2002 13.9004 -83.2002 37.2998 -115.9c24.5 31.4004 62.2002 51.9004 105.101 51.9004c10.1992 0 26.0996 -9.59961 57.5996 -9.59961 +c31.5996 0 47.4004 9.59961 57.5996 9.59961c43 0 80.7002 -20.5 105.101 -51.9004z" /> + <glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384" +d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM336 -16v416h-288v-416h288zM144 336c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16 +h-96zM192 160c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM102.4 32c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8 +c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199z" /> + <glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576" +d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v288h-480v-288h32.7998c-1 4.5 -0.799805 -3.59961 -0.799805 22.4004c0 31.7998 30.0996 57.5996 67.2002 57.5996 +c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996c0 -26 0.0996094 -17.9004 -0.799805 -22.4004h224.8zM360 96c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16 +c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 160c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 224c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112 +c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM192 128c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z" /> + <glyph glyph-name="window-maximize" unicode="&#xf2d0;" +d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v234h-416v-234c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="window-minimize" unicode="&#xf2d1;" +d="M480 -32h-448c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h448c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32z" /> + <glyph glyph-name="window-restore" unicode="&#xf2d2;" +d="M464 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-48v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h48v48c0 26.5 21.5 48 48 48h320zM368 -16v208h-320v-208h320zM464 80v320h-320v-48h224 +c26.5 0 48 -21.5 48 -48v-224h48z" /> + <glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448" +d="M440.1 92.7998c7.60059 -4.39941 10.1006 -14.2002 5.5 -21.7002l-7.89941 -13.8994c-4.40039 -7.7002 -14 -10.2998 -21.5 -5.90039l-39.2002 23l9.09961 -34.7002c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.5996l-15.2002 -4.09961 +c-8.39941 -2.30078 -17.0996 2.7998 -19.2998 11.2998l-21.2998 81l-71.9004 42.2002v-84.5l58.2998 -59.3008c6.10059 -6.19922 6.10059 -16.3994 0 -22.5996l-11.0996 -11.2998c-6.09961 -6.2002 -16.0996 -6.2002 -22.2002 0l-24.8994 25.3994v-46.0996 +c0 -8.7998 -7 -16 -15.7002 -16h-15.7002c-8.7002 0 -15.7002 7.2002 -15.7002 16v45.9004l-24.8994 -25.4004c-6.10059 -6.2002 -16.1006 -6.2002 -22.2002 0l-11.1006 11.2998c-6.09961 6.2002 -6.09961 16.4004 0 22.6006l58.3008 59.2998v84.5l-71.9004 -42.2002 +l-21.2998 -81c-2.2998 -8.5 -10.9004 -13.5996 -19.2998 -11.2998l-15.2002 4.09961c-8.40039 2.2998 -13.2998 11.1006 -11.1006 19.6006l9.10059 34.6992l-39.2002 -23c-7.5 -4.39941 -17.2002 -1.7998 -21.5 5.90039l-7.90039 13.9004 +c-4.2998 7.69922 -1.69922 17.5 5.80078 21.8994l39.1992 23l-34.0996 9.2998c-8.40039 2.30078 -13.2998 11.1006 -11.0996 19.6006l4.09961 15.5c2.2998 8.5 10.9004 13.5996 19.2998 11.2998l79.7002 -21.7002l71.9004 42.2002l-71.9004 42.2002l-79.7002 -21.7002 +c-8.39941 -2.2998 -17.0996 2.7998 -19.2998 11.2998l-4.09961 15.5c-2.30078 8.5 2.69922 17.2998 11.0996 19.6006l34.0996 9.09961l-39.1992 23c-7.60059 4.5 -10.1006 14.2002 -5.80078 21.9004l7.90039 13.8994c4.40039 7.7002 14 10.2998 21.5 5.90039l39.2002 -23 +l-9.10059 34.7002c-2.2998 8.5 2.7002 17.2998 11.1006 19.5996l15.2002 4.09961c8.39941 2.30078 17.0996 -2.7998 19.2998 -11.2998l21.2998 -81l71.9004 -42.2002v84.5l-58.3008 59.3008c-6.09961 6.19922 -6.09961 16.3994 0 22.5996l11.5 11.2998 +c6.10059 6.2002 16.1006 6.2002 22.2002 0l24.9004 -25.3994v46.0996c0 8.7998 7 16 15.7002 16h15.6992c8.7002 0 15.7002 -7.2002 15.7002 -16v-45.9004l24.9004 25.4004c6.09961 6.2002 16.0996 6.2002 22.2002 0l11.0996 -11.2998 +c6.09961 -6.2002 6.09961 -16.4004 0 -22.6006l-58.2998 -59.2998v-84.5l71.8994 42.2002l21.3008 81c2.2998 8.5 10.8994 13.5996 19.2998 11.2998l15.2002 -4.09961c8.39941 -2.2998 13.2998 -11.1006 11.0996 -19.6006l-9.09961 -34.6992l39.1992 23 +c7.5 4.39941 17.2002 1.7998 21.5 -5.90039l7.90039 -13.9004c4.2998 -7.69922 1.7002 -17.5 -5.7998 -21.8994l-39.2002 -23l34.0996 -9.2998c8.40039 -2.30078 13.3008 -11.1006 11.1006 -19.6006l-4.10059 -15.5c-2.2998 -8.5 -10.8994 -13.5996 -19.2998 -11.2998 +l-79.7002 21.7002l-71.8994 -42.2002l71.7998 -42.2002l79.7002 21.7002c8.39941 2.2998 17.0996 -2.7998 19.2998 -11.2998l4.09961 -15.5c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.6006l-34.0996 -9.2998z" /> + <glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448" +d="M268 32c-6.62402 0 -12 5.37598 -12 12v216c0 6.62402 5.37598 12 12 12h24c6.62402 0 12 -5.37598 12 -12v-216c0 -6.62402 -5.37598 -12 -12 -12h-24zM432 368c8.83203 0 16 -7.16797 16 -16v-16c0 -8.83203 -7.16797 -16 -16 -16h-16v-336 +c0 -26.4961 -21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48v336h-16c-8.83203 0 -16 7.16797 -16 16v16c0 8.83203 7.16797 16 16 16h82.4102l34.0195 56.7002c7.71875 12.8613 26.1572 23.2998 41.1572 23.2998h0.00292969h100.82h0.0224609 +c15 0 33.4385 -10.4385 41.1572 -23.2998l34 -56.7002h82.4102zM171.84 397.09l-17.4502 -29.0898h139.221l-17.46 29.0898c-0.96582 1.60645 -3.26953 2.91016 -5.14355 2.91016h-0.00683594h-94h-0.0166016c-1.87402 0 -4.17871 -1.30371 -5.14355 -2.91016zM368 -16v336 +h-288v-336h288zM156 32c-6.62402 0 -12 5.37598 -12 12v216c0 6.62402 5.37598 12 12 12h24c6.62402 0 12 -5.37598 12 -12v-216c0 -6.62402 -5.37598 -12 -12 -12h-24z" /> + <glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576" +d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-48h-10c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v10h48zM522 368h-372 +c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v244c0 3.31152 -2.68848 6 -6 6zM528 416c26.5098 0 48 -21.4902 48 -48v-256c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256 +c0 26.5098 21.4902 48 48 48h384zM264 304c0 -22.0908 -17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40s40 -17.9092 40 -40zM192 208l39.5146 39.5146c4.68652 4.68652 12.2842 4.68652 16.9717 0l39.5137 -39.5146l103.515 103.515 +c4.68652 4.68652 12.2842 4.68652 16.9717 0l71.5137 -71.5146v-80h-288v48z" /> + <glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384" +d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24 +s-10.7002 24 -24 24zM336 -10v340c0 3.2998 -2.7002 6 -6 6h-42v-36c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v36h-42c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h276c3.2998 0 6 2.7002 6 6z" /> + <glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM224 308c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-116 +h67c10.7002 0 16.0996 -12.9004 8.5 -20.5l-99 -99c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-99 99c-7.5 7.59961 -2.2002 20.5 8.5 20.5h67v116z" /> + <glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;" +d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM456 192c0 110.5 -89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200zM384 212v-40c0 -6.59961 -5.40039 -12 -12 -12h-116v-67 +c0 -10.7002 -12.9004 -16 -20.5 -8.5l-99 99c-4.7002 4.7002 -4.7002 12.2998 0 17l99 99c7.59961 7.59961 20.5 2.2002 20.5 -8.5v-67h116c6.59961 0 12 -5.40039 12 -12z" /> + <glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;" +d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM128 172v40c0 6.59961 5.40039 12 12 12h116v67 +c0 10.7002 12.9004 16 20.5 8.5l99 -99c4.7002 -4.7002 4.7002 -12.2998 0 -17l-99 -99c-7.59961 -7.59961 -20.5 -2.2002 -20.5 8.5v67h-116c-6.59961 0 -12 5.40039 -12 12z" /> + <glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;" +d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM256 392c-110.5 0 -200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200zM276 64h-40c-6.59961 0 -12 5.40039 -12 12v116h-67 +c-10.7002 0 -16 12.9004 -8.5 20.5l99 99c4.7002 4.7002 12.2998 4.7002 17 0l99 -99c7.59961 -7.59961 2.2002 -20.5 -8.5 -20.5h-67v-116c0 -6.59961 -5.40039 -12 -12 -12z" /> + <glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576" +d="M464 448c4.09961 0 7.7998 -2 10.0996 -5.40039l99.9004 -147.199c2.90039 -4.40039 2.59961 -10.1006 -0.700195 -14.2002l-276 -340.8c-4.7998 -5.90039 -13.7998 -5.90039 -18.5996 0l-276 340.8c-3.2998 4 -3.60059 9.7998 -0.700195 14.2002l100 147.199 +c2.2002 3.40039 6 5.40039 10 5.40039h352zM444.7 400h-56.7998l51.6992 -96h68.4004zM242.6 400l-51.5996 -96h194l-51.7002 96h-90.7002zM131.3 400l-63.2998 -96h68.4004l51.6992 96h-56.7998zM88.2998 256l119.7 -160l-68.2998 160h-51.4004zM191.2 256l96.7998 -243.3 +l96.7998 243.3h-193.6zM368 96l119.6 160h-51.3994z" /> + <glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640" +d="M320 304c53.0195 0 96 -50.1396 96 -112c0 -61.8701 -43 -112 -96 -112c-53.0195 0 -96 50.1504 -96 112c0 61.8604 42.9805 112 96 112zM360 136v16c0 4.41992 -3.58008 8 -8 8h-16v88c0 4.41992 -3.58008 8 -8 8h-13.5801h-0.000976562 +c-4.01074 0 -9.97266 -1.80566 -13.3086 -4.03027l-15.3301 -10.2197c-1.96777 -1.30957 -3.56445 -4.29004 -3.56445 -6.65332c0 -1.33691 0.601562 -3.32422 1.34375 -4.43652l8.88086 -13.3105c1.30859 -1.9668 4.29004 -3.56445 6.65332 -3.56445 +c1.33691 0 3.32422 0.602539 4.43652 1.34473l0.469727 0.310547v-55.4404h-16c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h64c4.41992 0 8 3.58008 8 8zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576 +c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM592 112v160c-35.3496 0 -64 28.6504 -64 64h-416c0 -35.3496 -28.6504 -64 -64 -64v-160c35.3496 0 64 -28.6504 64 -64h416c0 35.3496 28.6504 64 64 64z" /> + <glyph glyph-name="window-close" unicode="&#xf410;" +d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v340c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z +M356.5 253.4l-61.4004 -61.4004l61.4004 -61.4004c4.59961 -4.59961 4.59961 -12.0996 0 -16.7998l-22.2998 -22.2998c-4.60059 -4.59961 -12.1006 -4.59961 -16.7998 0l-61.4004 61.4004l-61.4004 -61.4004c-4.59961 -4.59961 -12.0996 -4.59961 -16.7998 0 +l-22.2998 22.2998c-4.59961 4.60059 -4.59961 12.1006 0 16.7998l61.4004 61.4004l-61.4004 61.4004c-4.59961 4.59961 -4.59961 12.0996 0 16.7998l22.2998 22.2998c4.60059 4.59961 12.1006 4.59961 16.7998 0l61.4004 -61.4004l61.4004 61.4004 +c4.59961 4.59961 12.0996 4.59961 16.7998 0l22.2998 -22.2998c4.7002 -4.60059 4.7002 -12.1006 0 -16.7998z" /> + <glyph glyph-name="comment-dots" unicode="&#xf4ad;" +d="M144 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM256 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM368 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32 +s-32 14.2998 -32 32s14.2998 32 32 32zM256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5 +c-3.80078 8.7998 -2 19 4.59961 26c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160 +c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" /> + <glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM365.8 138.4c10.2002 -8.5 11.6006 -23.6006 3.10059 -33.8008 +c-30 -36 -74.1006 -56.5996 -120.9 -56.5996s-90.9004 20.5996 -120.9 56.5996c-8.39941 10.2002 -7.09961 25.3008 3.10059 33.8008c10.0996 8.39941 25.2998 7.09961 33.7998 -3.10059c20.7998 -25.0996 51.5 -39.3994 84 -39.3994s63.2002 14.3994 84 39.3994 +c8.5 10.2002 23.5996 11.6006 33.7998 3.10059zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 268c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008l-9.5 8.5 +c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996z" /> + <glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 136c33.5996 0 65.2002 -14.7998 86.7998 -40.5996 +c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008c-10.6006 -8.89941 -25.7002 -6.69922 -33.7998 3c-24.8008 29.7002 -75 29.7002 -99.8008 0c-8.5 -10.1992 -23.5996 -11.5 -33.7998 -3s-11.5996 23.6006 -3.09961 33.8008 +c21.5996 25.7998 53.2002 40.5996 86.7998 40.5996zM200 208c0 -17.7002 -14.2998 -32.0996 -32 -32.0996s-32 14.2998 -32 32c0 6.19922 2.2002 11.6992 5.2998 16.5996l-28.2002 8.5c-12.6992 3.7998 -19.8994 17.2002 -16.0996 29.9004 +c3.7998 12.6992 17.0996 20 29.9004 16.0996l80 -24c12.6992 -3.7998 19.8994 -17.2002 16.0996 -29.9004c-3.09961 -10.3994 -12.7002 -17.0996 -23 -17.0996zM399 262.9c3.7998 -12.7002 -3.40039 -26.1006 -16.0996 -29.8008l-28.2002 -8.5 +c3.09961 -4.89941 5.2998 -10.3994 5.2998 -16.5996c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c-10.2998 0 -19.9004 6.7002 -23 17.0996c-3.7998 12.7002 3.40039 26.1006 16.0996 29.9004l80 24c12.8008 3.7998 26.1006 -3.40039 29.9004 -16.0996z" /> + <glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM214.2 209.9 +c-7.90039 -7.90039 -20.5 -7.90039 -28.4004 -0.200195l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998 +c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.9004c7.7998 7.7998 20.5 7.7998 28.2998 0s7.7998 -20.5 0 -28.2998l-17.9004 -17.9004l17.9004 -17.7998c7.7998 -7.7998 7.7998 -20.5 0 -28.2998zM374.2 302.1 +c7.7002 -7.7998 7.7002 -20.3994 0 -28.1992l-17.9004 -17.9004l17.7998 -18c7.80078 -7.7998 7.80078 -20.5 0 -28.2998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0 +c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.7998c7.7998 7.80078 20.5 7.80078 28.2998 0zM248 176 +c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64z" /> + <glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM344 304c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80 +s-80 35.7998 -80 80s35.7998 80 80 80zM344 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM232 224c0 -44.2002 -35.7998 -80 -80 -80 +s-80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80zM152 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM312 104 +c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" /> + <glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32 +s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 160c35.5996 0 88.7998 -21.2998 95.7998 -61.2002c2 -11.7998 -9.09961 -21.5996 -20.5 -18.0996 +c-31.2002 9.59961 -59.3994 15.2998 -75.2998 15.2998s-44.0996 -5.7002 -75.2998 -15.2998c-11.5 -3.40039 -22.5 6.2998 -20.5 18.0996c7 39.9004 60.2002 61.2002 95.7998 61.2002z" /> + <glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM344 192c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-192c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48 +h192zM176 96v24h-40v-8c0 -8.7998 7.2002 -16 16 -16h24zM176 136v24h-24c-8.7998 0 -16 -7.2002 -16 -16v-8h40zM240 96v24h-48v-24h48zM240 136v24h-48v-24h48zM304 96v24h-48v-24h48zM304 136v24h-48v-24h48zM360 112v8h-40v-24h24c8.7998 0 16 7.2002 16 16zM360 136v8 +c0 8.7998 -7.2002 16 -16 16h-24v-24h40z" /> + <glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008 +c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" /> + <glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496" +d="M200.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56 +c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM328.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0 +c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200 +s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006 +s79.7002 4.7998 105.6 13.1006z" /> + <glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008 +c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM117.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998 +c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996 +l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002zM277.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998 +c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002z" /> + <glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="496" +d="M440 288c-29.5 0 -53.2998 26.2998 -53.2998 58.7002c0 25 31.7002 75.5 46.2002 97.2998c3.5 5.2998 10.5996 5.2998 14.1992 0c14.5 -21.7998 46.2002 -72.2998 46.2002 -97.2998c0 -32.4004 -23.7998 -58.7002 -53.2998 -58.7002zM248 48 +c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM378.3 216.3 +c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998 +c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM483.6 269.2c8 -24.2998 12.4004 -50.2002 12.4004 -77.2002c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248 +c45.7002 0 88.4004 -12.5996 125.2 -34.2002c-10.9004 -21.5996 -15.5 -36.2002 -17.2002 -45.7002c-31.2002 20.1006 -68.2002 31.9004 -108 31.9004c-110.3 0 -200 -89.7002 -200 -200s89.7002 -200 200 -200s200 89.7002 200 200 +c0 22.5 -3.90039 44.0996 -10.7998 64.2998c0.399414 0 21.7998 -2.7998 46.3994 12.9004zM168 258.6c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998 +c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" /> + <glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496" +d="M353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM200.8 192.3 +l-70.2002 18.1006c-20.3994 5.2998 -31.8994 27 -24.1992 47.1992c6.69922 17.7002 26.6992 26.7002 44.8994 22l7.10059 -1.89941l2 7.09961c5.09961 18.1006 22.8994 30.9004 41.5 27.9004c21.3994 -3.40039 34.3994 -24.2002 28.7998 -44.5l-19.4004 -69.9004 +c-1.2998 -4.5 -6 -7.2002 -10.5 -6zM389.6 257.6c7.7002 -20.1992 -3.7998 -41.7998 -24.1992 -47.0996l-70.2002 -18.2002c-4.60059 -1.2002 -9.2998 1.5 -10.5 6l-19.4004 69.9004c-5.59961 20.2998 7.40039 41.0996 28.7998 44.5c18.7002 3 36.5 -9.7998 41.5 -27.9004 +l2 -7.09961l7.10059 1.89941c18.2002 4.7002 38.2002 -4.39941 44.8994 -22zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200 +s89.7002 -200 200 -200z" /> + <glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008 +c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM118.9 184.2c-3.80078 4.39941 -3.90039 11 -0.100586 15.5l33.6006 40.2998 +l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5c3.89941 4.40039 10.1992 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5zM361.8 181.7 +l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5.10059 2.90039 11.5 1.90039 15.2998 -2.5c3.80078 -4.5 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5 +c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5z" /> + <glyph glyph-name="grin-squint-tears" unicode="&#xf586;" +d="M117.1 63.9004c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998 +c16.8994 16.9004 75.0996 26.9004 100.899 30.6006zM75.9004 105.6c-19.6006 -3.89941 -35.1006 -8.09961 -47.3008 -12.1992c-39.2998 90.5996 -22.0996 199.899 52 274c48.5 48.3994 111.9 72.5996 175.4 72.5996c38.9004 0 77.7998 -9.2002 113.2 -27.4004 +c-4 -12.1992 -8.2002 -28 -12 -48.2998c-30.4004 17.9004 -65 27.7002 -101.2 27.7002c-53.4004 0 -103.6 -20.7998 -141.4 -58.5996c-61.5996 -61.5 -74.2998 -153.4 -38.6992 -227.801zM428.2 293.2c20.2998 3.89941 36.2002 8 48.5 12 +c47.8994 -93.2002 32.8994 -210.5 -45.2002 -288.601c-48.5 -48.3994 -111.9 -72.5996 -175.4 -72.5996c-33.6992 0 -67.2998 7 -98.6992 20.5996c4.19922 12.2002 8.2998 27.7002 12.1992 47.2002c26.6006 -12.7998 55.9004 -19.7998 86.4004 -19.7998 +c53.4004 0 103.6 20.7998 141.4 58.5996c65.6992 65.7002 75.7998 166 30.7998 242.601zM394.9 320.1c-6.30078 -0.899414 -11.7002 4.5 -10.9004 10.9004c3.7002 25.7998 13.7002 84 30.5996 100.9c22 21.8994 57.9004 21.5 80.3008 -0.900391 +c22.3994 -22.4004 22.7998 -58.4004 0.899414 -80.2998c-16.8994 -16.9004 -75.0996 -26.9004 -100.899 -30.6006zM207.9 211.8c3 -3 4.19922 -7.2998 3.19922 -11.5l-22.5996 -90.5c-1.40039 -5.39941 -6.2002 -9.09961 -11.7002 -9.09961h-0.899414 +c-5.80078 0.5 -10.5 5.09961 -11 10.8994l-4.80078 52.3008l-52.2998 4.7998c-5.7998 0.5 -10.3994 5.2002 -10.8994 11c-0.400391 5.89941 3.39941 11.2002 9.09961 12.5996l90.5 22.7002c4.2002 1 8.40039 -0.200195 11.4004 -3.2002zM247.6 236.9 +c-0.0996094 0 -6.39941 -1.80078 -11.3994 3.19922c-3 3 -4.2002 7.30078 -3.2002 11.4004l22.5996 90.5c1.40039 5.7002 7 9.2002 12.6006 9.09961c5.7998 -0.5 10.5 -5.09961 11 -10.8994l4.7998 -52.2998l52.2998 -4.80078c5.7998 -0.5 10.4004 -5.19922 10.9004 -11 +c0.399414 -5.89941 -3.40039 -11.1992 -9.10059 -12.5996zM299.6 148.4c29.1006 29.0996 53 59.5996 65.3008 83.7998c4.89941 9.2998 17.5996 9.89941 23.3994 1.7002c27.7002 -38.9004 6.10059 -106.9 -30.5996 -143.7s-104.8 -58.2998 -143.7 -30.6006 +c-8.2998 5.90039 -7.5 18.6006 1.7002 23.4004c24.2002 12.5 54.7998 36.2998 83.8994 65.4004z" /> + <glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008 +c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM125.7 200.9l6.09961 34.8994l-25.3994 24.6006 +c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006l34.9004 -5c6.19922 -1 8.7998 -8.69922 4.2998 -13.1992l-25.4004 -24.6006l6 -34.8994c1 -6.2002 -5.39941 -11 -11 -7.90039 +l-31.2998 16.2998l-31.2998 -16.2998c-5.60059 -3.09961 -12 1.7002 -11 7.90039zM385.4 273.6c6.19922 -1 8.89941 -8.59961 4.39941 -13.1992l-25.3994 -24.6006l6 -34.8994c1 -6.2002 -5.40039 -11 -11 -7.90039l-31.3008 16.2998l-31.2998 -16.2998 +c-5.59961 -3.09961 -12 1.7002 -11 7.90039l6 34.8994l-25.3994 24.6006c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006z" /> + <glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="640" +d="M117.1 191.9c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998c16.8994 16.9004 75.0996 26.9004 100.899 30.6006 +zM623.8 161.3c21.9004 -21.8994 21.5 -57.8994 -0.799805 -80.2002c-22.4004 -22.3994 -58.4004 -22.7998 -80.2998 -0.899414c-16.9004 16.8994 -26.9004 75.0996 -30.6006 100.899c-0.899414 6.30078 4.5 11.7002 10.8008 10.8008 +c25.7998 -3.7002 84 -13.7002 100.899 -30.6006zM497.2 99.5996c12.3994 -37.2998 25.0996 -43.7998 28.2998 -46.5c-44.5996 -65.7998 -120 -109.1 -205.5 -109.1s-160.9 43.2998 -205.5 109.1c3.09961 2.60059 15.7998 9.10059 28.2998 46.5 +c33.4004 -63.8994 100.3 -107.6 177.2 -107.6s143.8 43.7002 177.2 107.6zM122.7 223.5c-2.40039 0.299805 -5 2.5 -49.5 -6.90039c12.3994 125.4 118.1 223.4 246.8 223.4s234.4 -98 246.8 -223.5c-44.2998 9.40039 -47.3994 7.2002 -49.5 7 +c-15.2002 95.2998 -97.7998 168.5 -197.3 168.5s-182.1 -73.2002 -197.3 -168.5zM320 48c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996 +c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM450.3 216.3c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17 +c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM240 258.6 +c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004 +c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" /> + <glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0 +l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200 +s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996 +s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32 +s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" /> + <glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0 +l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200 +s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996 +s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998 +l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 3 11.5 1.90039 15.2998 -2.5zM214.2 250.3 +c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5 +c3.89941 4.5 10.2998 5.5 15.2998 2.5z" /> + <glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496" +d="M152 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5 +c-3.7998 -3.39941 -9.2998 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM328 320c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80s-80 35.7998 -80 80s35.7998 80 80 80zM328 192 +c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM328 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z +M312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998 +c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3 +c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998 +c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998z" /> + <glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496" +d="M328 268c25.6904 0 55.8799 -16.9199 59.8701 -42.1201c1.72949 -11.0898 -11.3506 -18.2695 -19.8301 -10.8398l-9.5498 8.47949c-14.8105 13.1904 -46.1602 13.1904 -60.9707 0l-9.5498 -8.47949c-8.33008 -7.40039 -21.5801 -0.379883 -19.8301 10.8398 +c3.98047 25.2002 34.1699 42.1201 59.8604 42.1201zM168 208c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32s-14.3301 -32 -32 -32zM353.55 143.36c10.04 3.13965 19.3906 -5.4502 17.71 -15.3408 +c-7.92969 -47.1494 -71.3193 -80.0195 -123.26 -80.0195s-115.33 32.8701 -123.26 80.0195c-1.69043 9.9707 7.76953 18.4707 17.71 15.3408c25.9297 -8.31055 64.3994 -13.0605 105.55 -13.0605s79.6201 4.75977 105.55 13.0605zM248 440c136.97 0 248 -111.03 248 -248 +s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" /> + <glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496" +d="M168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5 +c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002 +c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM248 440c137 0 248 -111 248 -248 +s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z +" /> + <glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496" +d="M168 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17 +c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8 +c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5 +c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002 +c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM328 296 +c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17 +c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" /> + <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="504" +d="M304 139.5c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002 +c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002 +c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM374.5 223c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-2.5 -2.2998 -7.90039 -4.7002 -13.7002 -1.59961c-4.39941 2.39941 -6.89941 7.39941 -6.09961 12.3994 +c3.89941 25.2002 34.2002 42.1006 59.7998 42.1006s55.7998 -16.9004 59.7998 -42.1006c0.799805 -5 -1.7002 -10 -6.09961 -12.3994c-4.40039 -2.40039 -9.90039 -1.7002 -13.7002 1.59961zM136 239.5c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32 +s-32 14.2998 -32 32zM501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941 +l8.40039 2.2002c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM334 11.7002c17.7002 -64 10.9004 -39.5 13.4004 -46.7998c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 247.9 -248 +c0 -31.7998 -6.2002 -62.0996 -17.1006 -90c-6 1.5 -12.2002 2.7998 -18.5996 2.90039c-5.60059 9.69922 -13.6006 17.5 -22.6006 23.8994c6.7002 19.9004 10.4004 41.1006 10.4004 63.2002c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200 +c30.7998 0 59.9004 7.2002 86 19.7002z" /> + <glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996 +c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM168 224 +c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" /> + <glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996 +c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.700195 -8.5 -10.7998 -11.8994 -14.8994 -4.5 +l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006c-12.3008 0 -23.8008 -7.90039 -31.5 -21.6006l-9.5 -17c-4.10059 -7.39941 -15.6006 -4.09961 -14.9004 4.5c3.2998 42.1006 32.2002 71.4004 56 71.4004zM127 220.1c-4.2002 -7.39941 -15.7002 -4 -15.0996 4.5 +c3.2998 42.1006 32.1992 71.4004 56 71.4004c23.7998 0 52.6992 -29.2998 56 -71.4004c0.699219 -8.5 -10.8008 -11.8994 -14.9004 -4.5l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006s-23.7998 -7.90039 -31.5 -21.6006zM362.4 160c8.19922 0 14.5 -7 13.5 -15 +c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" /> + <glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996 +c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM343.6 252l33.6006 -40.2998c8.59961 -10.4004 -3.90039 -24.7998 -15.4004 -18l-80 48 +c-7.7998 4.7002 -7.7998 15.8994 0 20.5996l80 48c11.6006 6.7998 24 -7.7002 15.4004 -18zM134.2 193.7c-11.6006 -6.7998 -24.1006 7.59961 -15.4004 18l33.6006 40.2998l-33.6006 40.2998c-8.59961 10.2998 3.7998 24.9004 15.4004 18l80 -48 +c7.7998 -4.7002 7.7998 -15.8994 0 -20.5996zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" /> + <glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996 +c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 284c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008 +l-9.5 8.5c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996zM168 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z +M362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" /> + <glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32 +s-32 14.2998 -32 32s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" /> + <glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM336 296c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72 +s-72 32.2002 -72 72s32.2002 72 72 72zM336 184c22.0996 0 40 17.9004 40 40c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998 +c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998c0 -22.0996 17.9004 -40 40 -40zM232 224c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM120 224c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40 +c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998zM312 96 +c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" /> + <glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM392 53.5996c34.5996 35.9004 56 84.7002 56 138.4c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -53.7002 21.4004 -102.4 56 -138.4v114.4 +c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-151.4c28.5 -15.5996 61.2002 -24.5996 96 -24.5996s67.5 9 96 24.5996v151.4c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-114.4zM205.8 213.5c-5.7998 -3.2002 -11.2002 -0.700195 -13.7002 1.59961l-9.5 8.5 +c-14.7998 13.2002 -46.1992 13.2002 -61 0l-9.5 -8.5c-3.7998 -3.39941 -9.2998 -4 -13.6992 -1.59961c-4.40039 2.40039 -6.90039 7.40039 -6.10059 12.4004c3.90039 25.1992 34.2002 42.0996 59.7998 42.0996c25.6006 0 55.8008 -16.9004 59.8008 -42.0996 +c0.799805 -5 -1.7002 -10 -6.10059 -12.4004zM344 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5 +c-3.7998 -3.39941 -9.2002 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM248 176c30.9004 0 56 -28.7002 56 -64s-25.0996 -64 -56 -64s-56 28.7002 -56 64s25.0996 64 56 64z" /> + <glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM256 144c38.0996 0 74 -16.7998 98.5 -46.0996 +c8.5 -10.2002 7.09961 -25.3008 -3.09961 -33.8008c-10.6006 -8.7998 -25.7002 -6.69922 -33.8008 3.10059c-15.2998 18.2998 -37.7998 28.7998 -61.5996 28.7998c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM162.4 173.2c2.7998 3.7002 8.39941 3.7002 11.1992 0c11.4004 -15.2998 36.4004 -50.6006 36.4004 -68.1006 +c0 -22.6992 -18.7998 -41.0996 -42 -41.0996s-42 18.4004 -42 41.0996c0 17.5 25 52.8008 36.4004 68.1006z" /> + <glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM332 135.4c8.5 10.1992 23.5996 11.5 33.7998 3.09961 +c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.2002 8.40039 25.2998 7.09961 33.7998 -3.09961 +c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004zM136.5 237l-9.5 -17c-1.90039 -3.2002 -5.90039 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004 +c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996zM328 296c23.7998 0 52.7002 -29.2998 56 -71.4004 +c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002 +c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" /> + <glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 168c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64 +s-64 28.7002 -64 64s28.7002 64 64 64zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" /> + <glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5 +l-33.6006 -40.2998l33.6006 -40.2998c3.7998 -4.5 3.7002 -11 -0.100586 -15.5c-3.5 -4.10059 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 2.90039 11.5 1.90039 15.2998 -2.5z +M220 240c0 -4.2002 -2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7998 -1.60059 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7998 4.5 -3.7002 11 0.100586 15.5 +c3.7998 4.40039 10.2998 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998zM248 176c45.4004 0 100.9 -38.2998 107.8 -93.2998c1.5 -11.9004 -7 -21.6006 -15.5 -17.9004c-22.7002 9.7002 -56.2998 15.2002 -92.2998 15.2002 +s-69.5996 -5.5 -92.2998 -15.2002c-8.60059 -3.7002 -17 6.10059 -15.5 17.9004c6.89941 55 62.3994 93.2998 107.8 93.2998z" /> + </font> +</defs></svg> diff --git a/webfonts/fa-regular-400.ttf b/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000..ef43cfd Binary files /dev/null and b/webfonts/fa-regular-400.ttf differ diff --git a/webfonts/fa-regular-400.woff b/webfonts/fa-regular-400.woff new file mode 100644 index 0000000..13f0191 Binary files /dev/null and b/webfonts/fa-regular-400.woff differ diff --git a/webfonts/fa-regular-400.woff2 b/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000..004b29b Binary files /dev/null and b/webfonts/fa-regular-400.woff2 differ diff --git a/webfonts/fa-solid-900.eot b/webfonts/fa-solid-900.eot new file mode 100644 index 0000000..8f11368 Binary files /dev/null and b/webfonts/fa-solid-900.eot differ diff --git a/webfonts/fa-solid-900.svg b/webfonts/fa-solid-900.svg new file mode 100644 index 0000000..b80d477 --- /dev/null +++ b/webfonts/fa-solid-900.svg @@ -0,0 +1,4649 @@ +<?xml version="1.0" standalone="no"?> +<!-- +Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com +License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) +--> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> +<metadata> +Created by FontForge 20190112 at Fri Aug 2 14:41:09 2019 + By Robert Madole +Copyright (c) Font Awesome +</metadata> +<defs> +<font id="FontAwesome5Free-Solid" horiz-adv-x="512" > + <font-face + font-family="Font Awesome 5 Free Solid" + font-weight="900" + font-stretch="normal" + units-per-em="512" + panose-1="2 0 5 3 0 0 0 0 0 0" + ascent="448" + descent="-64" + bbox="-0.983398 -64.9834 640.104 448.427" + underline-thickness="25" + underline-position="-51" + unicode-range="U+0020-F897" + /> + <missing-glyph /> + <glyph glyph-name="glass-martini" unicode="&#xf000;" +d="M502.05 390.4l-214.05 -214.04v-192.36h56c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v192.36l-214.05 214.04c-21.25 21.2598 -6.2002 57.5996 23.8496 57.5996h444.4 +c30.0498 0 45.0996 -36.3398 23.8496 -57.5996z" /> + <glyph glyph-name="music" unicode="&#xf001;" +d="M511.99 415.99l0.00976562 -351.99c0 -35.3496 -42.9805 -64 -96 -64s-96 28.6504 -96 64s42.9805 64 96 64c11.2803 0 21.9502 -1.54004 32 -3.91992v184.63l-256 -75.0195v-233.69c0 -35.3496 -42.9805 -64 -96 -64s-96 28.6504 -96 64s42.9805 64 96 64 +c11.2803 0 21.9502 -1.54004 32 -3.91992v261.42c0 14 9.09961 26.2998 22.4004 30.5l319.989 94.5c20.5 6.5 41.6006 -8.7998 41.6006 -30.5098z" /> + <glyph glyph-name="search" unicode="&#xf002;" +d="M505 5.2998c9.2998 -9.39941 9.2998 -24.5996 -0.0996094 -34l-28.3008 -28.2998c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0l-99.7002 99.7002c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208 +s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7zM208 112c70.7998 0 128 57.2998 128 128c0 70.7998 -57.2998 128 -128 128c-70.7998 0 -128 -57.2998 -128 -128c0 -70.7998 57.2998 -128 128 -128z +" /> + <glyph glyph-name="heart" unicode="&#xf004;" +d="M462.3 385.4c62.7998 -53.6006 66.1006 -149.801 9.7998 -207.9l-193.5 -199.8c-12.5 -12.9004 -32.7998 -12.9004 -45.2998 0l-193.5 199.8c-56.2002 58.0996 -52.8994 154.3 9.90039 207.9c54.7998 46.6992 136.399 38.2998 186.6 -13.6006l19.7002 -20.2998 +l19.7002 20.2998c50.2998 51.9004 131.8 60.2998 186.6 13.6006z" /> + <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576" +d="M259.3 430.2c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4l146.1 -21.2998c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002 +c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998z" /> + <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448" +d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996 +c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" /> + <glyph glyph-name="film" unicode="&#xf008;" +d="M488 384c13.2998 0 24 -10.7002 24 -24v-336c0 -13.2998 -10.7002 -24 -24 -24h-8v20c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-20h-320v20c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-20h-8 +c-13.2998 0 -24 10.7002 -24 24v336c0 13.2998 10.7002 24 24 24h8v-20c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v20h320v-20c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v20h8zM96 76v40c0 6.59961 -5.40039 12 -12 12h-40 +c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM96 172v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM96 268v40 +c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM368 60v96c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-96c0 -6.59961 5.40039 -12 12 -12h200 +c6.59961 0 12 5.40039 12 12zM368 228v96c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-96c0 -6.59961 5.40039 -12 12 -12h200c6.59961 0 12 5.40039 12 12zM480 76v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40 +c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 172v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 268v40c0 6.59961 -5.40039 12 -12 12h-40 +c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="th-large" unicode="&#xf009;" +d="M296 416h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v160c0 13.2549 10.7451 24 24 24zM216 416c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192 +c-13.2549 0 -24 10.7451 -24 24v160c0 13.2549 10.7451 24 24 24h192zM0 152c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v160zM296 -32c-13.2549 0 -24 10.7451 -24 24v160 +c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192z" /> + <glyph glyph-name="th" unicode="&#xf00a;" +d="M149.333 392v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24zM330.667 152c0 -13.2549 -10.7451 -24 -24.001 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80 +c0 13.2549 10.7451 24 24 24h101.334c13.2549 0 24 -10.7451 24 -24v-80zM362.667 392c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM330.667 312 +c0 -13.2549 -10.7451 -24 -24.001 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.334c13.2549 0 24 -10.7451 24 -24v-80zM125.333 256c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333 +c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333zM0 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM386.667 128 +c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333zM386.667 -32c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24 +v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333zM181.333 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80z" /> + <glyph glyph-name="th-list" unicode="&#xf00b;" +d="M149.333 232v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24zM0 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80 +c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM125.333 416c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333zM205.333 -32 +c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-282.667zM181.333 392c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80 +c0 -13.2549 -10.7451 -24 -24 -24h-282.667c-13.2549 0 -24 10.7451 -24 24v80zM205.333 128c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-282.667z" /> + <glyph glyph-name="check" unicode="&#xf00c;" +d="M173.898 8.5957l-166.4 166.4c-9.99707 9.99707 -9.99707 26.2061 0 36.2041l36.2031 36.2041c9.99707 9.99805 26.207 9.99805 36.2041 0l112.095 -112.095l240.095 240.095c9.99707 9.99707 26.207 9.99707 36.2041 0l36.2031 -36.2041 +c9.99707 -9.99707 9.99707 -26.2061 0 -36.2041l-294.4 -294.401c-9.99805 -9.99707 -26.207 -9.99707 -36.2031 0.000976562z" /> + <glyph glyph-name="times" unicode="&#xf00d;" horiz-adv-x="352" +d="M242.72 192l100.07 -100.07c12.2803 -12.29 12.2803 -32.1992 0 -44.4795l-22.2402 -22.2402c-12.2803 -12.2803 -32.2002 -12.2803 -44.4795 0l-100.07 100.07l-100.07 -100.07c-12.2793 -12.2803 -32.1992 -12.2803 -44.4795 0l-22.2402 22.2402 +c-12.2803 12.29 -12.2803 32.2002 0 44.4795l100.07 100.07l-100.07 100.07c-12.2803 12.29 -12.2803 32.1992 0 44.4795l22.2402 22.2402c12.29 12.2803 32.2002 12.2803 44.4795 0l100.07 -100.07l100.07 100.07c12.29 12.2803 32.1992 12.2803 44.4795 0 +l22.2402 -22.2402c12.2803 -12.29 12.2803 -32.2002 0 -44.4795z" /> + <glyph glyph-name="search-plus" unicode="&#xf00e;" +d="M304 256v-32c0 -6.59961 -5.40039 -12 -12 -12h-56v-56c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v56h-56c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h56v56c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12 +v-56h56c6.59961 0 12 -5.40039 12 -12zM505 -28.7002l-28.2998 -28.2998c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-99.7998 99.7002c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208 +s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7l99.7002 -99.7002c9.2998 -9.39941 9.2998 -24.5996 0 -34zM344 240c0 75.2002 -60.7998 136 -136 136s-136 -60.7998 -136 -136 +s60.7998 -136 136 -136s136 60.7998 136 136z" /> + <glyph glyph-name="search-minus" unicode="&#xf010;" +d="M304 256v-32c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM505 -28.7002l-28.2998 -28.2998c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-99.7998 99.7002 +c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7l99.7002 -99.7002 +c9.2998 -9.39941 9.2998 -24.5996 0 -34zM344 240c0 75.2002 -60.7998 136 -136 136s-136 -60.7998 -136 -136s60.7998 -136 136 -136s136 60.7998 136 136z" /> + <glyph glyph-name="power-off" unicode="&#xf011;" +d="M400 393.9c63 -45 104 -118.601 104 -201.9c0 -136.8 -110.8 -247.7 -247.5 -248c-136.5 -0.299805 -248.3 111 -248.5 247.6c-0.0996094 83.3008 40.9004 157.101 103.8 202.2c11.7002 8.2998 28 4.7998 35 -7.7002l15.7998 -28.0996 +c5.90039 -10.5 3.10059 -23.7998 -6.59961 -31c-41.5 -30.7998 -68 -79.5996 -68 -134.9c-0.0996094 -92.2998 74.5 -168.1 168 -168.1c91.5996 0 168.6 74.2002 168 169.1c-0.299805 51.8008 -24.7002 101.801 -68.0996 134c-9.7002 7.2002 -12.4004 20.5 -6.5 30.9004 +l15.7998 28.0996c7 12.4004 23.2002 16.1006 34.7998 7.80078zM296 184c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v240c0 13.2998 10.7002 24 24 24h32c13.2998 0 24 -10.7002 24 -24v-240z" /> + <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="640" +d="M216 160c8.83984 0 16 -7.16016 16 -16v-192c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v192c0 8.83984 7.16016 16 16 16h48zM88 64c8.83984 0 16 -7.16016 16 -16v-96c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v96 +c0 8.83984 7.16016 16 16 16h48zM344 256c8.83984 0 16 -7.16016 16 -16v-288c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v288c0 8.83984 7.16016 16 16 16h48zM472 352c8.83984 0 16 -7.16016 16 -16v-384c0 -8.83984 -7.16016 -16 -16 -16h-48 +c-8.83984 0 -16 7.16016 -16 16v384c0 8.83984 7.16016 16 16 16h48zM600 448c8.83984 0 16 -7.16016 16 -16v-480c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v480c0 8.83984 7.16016 16 16 16h48z" /> + <glyph glyph-name="cog" unicode="&#xf013;" +d="M487.4 132.3c4.89941 -2.7998 7.09961 -8.59961 5.59961 -14.0996c-11.0996 -35.7002 -30 -67.9004 -54.7002 -94.6006c-3.7998 -4.19922 -9.89941 -5.09961 -14.7998 -2.2998l-42.5996 24.6006c-18 -15.3008 -38.6006 -27.2002 -60.8008 -35.1006v-49.2002 +c0 -5.59961 -3.89941 -10.5 -9.39941 -11.6992c-34.9004 -7.80078 -72.5 -8.2002 -109.2 0c-5.5 1.19922 -9.40039 6.09961 -9.40039 11.6992v49.2002c-22.2998 7.7998 -42.8994 19.7002 -60.7998 35.1006l-42.5996 -24.6006c-4.7998 -2.7998 -11 -1.7998 -14.7998 2.2998 +c-24.7002 26.8008 -43.6006 59 -54.7002 94.6006c-1.60059 5.39941 0.599609 11.2002 5.5 14l42.5996 24.5996c-4.2998 23.2002 -4.2998 47 0 70.2002l-42.5996 24.5996c-4.90039 2.80078 -7.2002 8.60059 -5.5 14c11.0996 35.7002 30 67.9004 54.7002 94.6006 +c3.7998 4.2002 9.89941 5.09961 14.7998 2.2998l42.5 -24.5996c18 15.2998 38.5996 27.1992 60.7998 35.0996v49.2002c0 5.59961 3.90039 10.5 9.40039 11.7002c34.8994 7.7998 72.5 8.19922 109.199 0c5.5 -1.2002 9.40039 -6.10059 9.40039 -11.7002v-49.1006 +c22.2998 -7.7998 42.9004 -19.6992 60.7998 -35.0996l42.6006 24.5996c4.7998 2.80078 11 1.80078 14.7998 -2.2998c24.7002 -26.7998 43.5996 -59 54.7002 -94.5996c1.59961 -5.40039 -0.600586 -11.2002 -5.5 -14l-42.6006 -24.6006 +c4.2998 -23.1992 4.2998 -47 0 -70.1992zM256 112c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="576" +d="M280.37 299.74c1.84863 1.49023 5.27539 2.69922 7.64941 2.69922c2.375 0 5.80176 -1.20898 7.65039 -2.69922l184.33 -151.74v-164c0 -8.83203 -7.16797 -16 -16 -16l-112.02 0.30957h-0.000976562c-8.83203 0 -16 7.16797 -16 16 +c0 0.0146484 0 0.0371094 0.000976562 0.0507812v95.6396c0 8.83203 -7.16895 16 -16 16h-64c-8.83203 0 -16 -7.16797 -16 -16v-95.71v0c0 -8.78809 -7.13281 -15.9561 -15.9209 -16l-112.06 -0.290039c-8.83203 0 -16 7.16797 -16 16v163.89zM571.6 196.53 +c2.44531 -1.98828 4.42969 -6.15918 4.42969 -9.31055c0 -2.37305 -1.22266 -5.78613 -2.72949 -7.62012l-25.5 -31c-1.98633 -2.40332 -6.13086 -4.35449 -9.24902 -4.35449c-2.38574 0 -5.81348 1.23438 -7.65039 2.75488l-235.23 193.74 +c-1.84863 1.49023 -5.27539 2.69922 -7.65039 2.69922c-2.37402 0 -5.80078 -1.20898 -7.64941 -2.69922l-235.22 -193.74c-1.83691 -1.5166 -5.26074 -2.74805 -7.64258 -2.74805c-3.12793 0 -7.28027 1.96191 -9.26758 4.37793l-25.5 31 +c-1.52051 1.83789 -2.75488 5.26562 -2.75488 7.65039c0 3.11914 1.95117 7.2627 4.35449 9.25l253.13 208.47c7.33594 6.03613 21 10.9355 30.5 10.9355c9.50098 0 23.1641 -4.89941 30.5 -10.9355l89.5303 -73.6602v72.6104c0 6.62402 5.37598 12 12 12h56 +c6.62402 0 12 -5.37598 12 -12v-138.51z" /> + <glyph glyph-name="clock" unicode="&#xf017;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM313.1 89.9004c5.40039 -3.90039 12.9004 -2.7002 16.8008 2.59961l28.1992 38.7998c3.90039 5.40039 2.80078 12.9004 -2.59961 16.7998l-63.5 46.2002v137.7 +c0 6.59961 -5.40039 12 -12 12h-48c-6.59961 0 -12 -5.40039 -12 -12v-168.3c0 -3.7998 1.7998 -7.40039 4.90039 -9.7002z" /> + <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="576" +d="M573.19 45.3301c9.25977 -21.1904 -5.5 -45.3301 -27.7305 -45.3301h-196.84l-10.3105 97.6797c-0.859375 8.14062 -7.71973 14.3203 -15.9092 14.3203h-68.8008c-8.18945 0 -15.0498 -6.17969 -15.9092 -14.3203l-10.3105 -97.6797h-196.84 +c-22.2305 0 -36.9902 24.1396 -27.7402 45.3301l139.79 320c4.96973 11.3799 15.7998 18.6699 27.7305 18.6699h97.5898l-2.4502 -23.1602c-0.5 -4.71973 3.20996 -8.83984 7.95996 -8.83984h29.1602c4.75 0 8.45996 4.12012 7.95996 8.83984l-2.4502 23.1602h97.5898 +c11.9199 0 22.75 -7.29004 27.7207 -18.6699zM260.4 312.84l-4.59082 -43.5801c-0.75 -7.08984 4.80078 -13.2598 11.9307 -13.2598h40.54c7.12012 0 12.6797 6.16992 11.9297 13.2598l-4.59961 43.5801c-0.430664 4.07031 -3.87012 7.16016 -7.95996 7.16016h-39.29 +h-0.00488281c-3.97363 0 -7.53809 -3.20801 -7.95508 -7.16016zM315.64 144c9.5 0 16.9102 8.23047 15.9102 17.6797l-5.06934 48c-0.860352 8.14062 -7.7207 14.3203 -15.9102 14.3203h-45.1504c-8.18945 0 -15.0498 -6.17969 -15.9102 -14.3203l-5.06934 -48 +c-1 -9.44922 6.40918 -17.6797 15.9092 -17.6797h55.29z" /> + <glyph glyph-name="download" unicode="&#xf019;" +d="M216 448h80c13.2998 0 24 -10.7002 24 -24v-168h87.7002c17.7998 0 26.7002 -21.5 14.0996 -34.0996l-152.1 -152.2c-7.5 -7.5 -19.7998 -7.5 -27.2998 0l-152.301 152.2c-12.5996 12.5996 -3.69922 34.0996 14.1006 34.0996h87.7998v168c0 13.2998 10.7002 24 24 24z +M512 72v-112c0 -13.2998 -10.7002 -24 -24 -24h-464c-13.2998 0 -24 10.7002 -24 24v112c0 13.2998 10.7002 24 24 24h146.7l49 -49c20.0996 -20.0996 52.5 -20.0996 72.5996 0l49 49h146.7c13.2998 0 24 -10.7002 24 -24zM388 -16c0 11 -9 20 -20 20s-20 -9 -20 -20 +s9 -20 20 -20s20 9 20 20zM452 -16c0 11 -9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20s20 9 20 20z" /> + <glyph glyph-name="inbox" unicode="&#xf01c;" horiz-adv-x="576" +d="M567.938 204.092c4.4502 -6.6748 8.06152 -18.6025 8.06152 -26.624v-0.000976562v-129.467c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v129.467v0.000976562c0 8.02148 3.61133 19.9492 8.06152 26.624l105.689 158.534 +c7.86621 11.7988 25.7578 21.374 39.9385 21.374h268.621c14.1807 0 32.0732 -9.57617 39.9395 -21.374zM162.252 320l-85.334 -128h123.082l32 -64h112l32 64h123.082l-85.333 128h-251.497z" /> + <glyph glyph-name="redo" unicode="&#xf01e;" +d="M500.33 448c6.62402 0 12 -5.37598 12 -12v-200.34c0 -6.62402 -5.37598 -12 -12 -12h-200.33c-6.62402 0 -12 5.37598 -12 12v47.4102v0.0136719c0 6.62402 5.37598 12 12 12c0.157227 0 0.413086 -0.00683594 0.570312 -0.0136719l101.529 -4.87012 +c-28.8721 42.9609 -94.3145 77.8281 -146.076 77.8281c-97.1514 0 -176 -78.8486 -176 -176c0 -97.1523 78.8486 -176 176 -176c36.6543 0 88.7373 19.6504 116.257 43.8613c1.87207 1.63672 5.40918 2.96387 7.89551 2.96387c2.74316 0 6.54395 -1.57422 8.48438 -3.51367 +l34 -34c1.94141 -1.94043 3.51758 -5.74316 3.51758 -8.48828c0 -2.96094 -1.79102 -6.9668 -3.99805 -8.94141c-38.9707 -35.2783 -113.264 -63.9102 -165.831 -63.9102h-0.348633c-136.9 0 -247.9 110.93 -248 247.81c-0.0996094 136.66 111.34 248.19 248 248.19 +h0.272461c63.2246 0 147.739 -39.124 188.647 -87.3301l-4 82.7598c-0.0078125 0.157227 -0.0136719 0.413086 -0.0136719 0.570312c0 6.62402 5.37598 12 12 12h0.0136719h47.4102z" /> + <glyph glyph-name="sync" unicode="&#xf021;" +d="M440.65 435.43c-0.0078125 0.157227 -0.0136719 0.413086 -0.0136719 0.570312c0 6.62012 5.37305 11.9961 11.9932 12h47.3701c6.62402 0 12 -5.37598 12 -12v-200.35c0 -6.62402 -5.37598 -12 -12 -12h-200.22c-6.62402 0 -12 5.37598 -12 12v47.4092v0.0136719 +c0 6.62402 5.37598 12 12 12c0.157227 0 0.412109 -0.00585938 0.569336 -0.0136719l101.46 -4.85938c-28.8584 42.9248 -94.2598 77.7627 -145.984 77.7627c-76.4834 0 -153.099 -60.3467 -171.016 -134.703c-1.19727 -5.10547 -6.4248 -9.25391 -11.6699 -9.25977 +h-49.0498c-6.62402 0 -12 5.37598 -12 12c0 0.606445 0.0898438 1.58301 0.200195 2.17969c21.6201 114.9 122.44 201.82 243.54 201.82h0.28418c63.2031 0 147.667 -39.1279 188.536 -87.3398zM255.83 16c76.4971 0 153.144 60.3633 171.03 134.74 +c1.19727 5.10547 6.4248 9.25391 11.6699 9.25977h49.0498c6.62402 0 12 -5.37598 12 -12c0 -0.606445 -0.0898438 -1.58301 -0.200195 -2.17969c-21.6201 -114.9 -122.439 -201.82 -243.55 -201.82h-0.234375c-63.1289 0 -147.53 39.0518 -188.396 87.1699 +l4.14941 -82.5703c0.00878906 -0.165039 0.015625 -0.433594 0.015625 -0.599609c0 -6.62402 -5.37598 -12 -12 -12h-0.015625h-47.3496c-6.62402 0 -12 5.37598 -12 12v200.33c0 6.62402 5.37598 12 12 12h200.2c6.62402 0 12 -5.37598 12 -12v-47.4004v-0.0136719 +c0 -6.62402 -5.37598 -12 -12 -12c-0.157227 0 -0.413086 0.00683594 -0.570312 0.0136719l-101.8 4.87012c28.7998 -42.9453 94.1406 -77.7998 145.85 -77.7998h0.150391z" /> + <glyph glyph-name="list-alt" unicode="&#xf022;" +d="M464 -32h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM128 328c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM128 232 +c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM128 136c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM416 272v32c0 6.62695 -5.37305 12 -12 12h-200 +c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12zM416 176v32c0 6.62695 -5.37305 12 -12 12h-200c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12zM416 80v32 +c0 6.62695 -5.37305 12 -12 12h-200c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12z" /> + <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="448" +d="M400 224c26.5 0 48 -21.5 48 -48v-192c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v192c0 26.5 21.5 48 48 48h24v72c0 83.7998 68.2002 152 152 152s152 -68.2002 152 -152v-72h24zM296 224v72c0 39.7002 -32.2998 72 -72 72s-72 -32.2998 -72 -72v-72h144 +z" /> + <glyph glyph-name="flag" unicode="&#xf024;" +d="M349.565 349.217c40.4951 0 82.6113 15.9062 116.949 31.8545c21.2168 9.85352 45.4854 -5.62305 45.4854 -29.0166v-243.1c0 -10.5264 -5.16016 -20.4072 -13.8428 -26.3584c-35.8379 -24.5635 -74.3359 -40.8574 -122.505 -40.8574 +c-67.373 0 -111.629 34.7832 -165.218 34.7832c-50.8525 0 -86.124 -10.0586 -114.435 -22.1221v-94.4004c0 -13.2549 -10.7451 -24 -24 -24h-16c-13.2549 0 -24 10.7451 -24 24v386.055c-14.5029 10.1201 -24 26.9189 -24 45.9453 +c0 31.7041 26.3447 57.2539 58.3379 55.9521c28.4678 -1.1582 51.7793 -23.9668 53.5508 -52.4033c0.0625 -0.980469 0.113281 -2.57324 0.113281 -3.55566c0 -5.71094 -1.65723 -14.6738 -3.69922 -20.0059c20.7363 7.62891 43.0898 12.0127 68.0449 12.0127 +c67.373 0 111.63 -34.7832 165.218 -34.7832z" /> + <glyph glyph-name="headphones" unicode="&#xf025;" +d="M256 416c141.504 0 256 -114.521 256 -256v-48c0 -10.917 -7.9248 -23.7402 -17.6904 -28.6221l-14.3818 -7.19141c-2.01074 -60.0889 -51.3486 -108.187 -111.928 -108.187h-24c-13.2549 0 -24 10.7451 -24 24v176c0 13.2549 10.7451 24 24 24h24 +c31.3418 0 59.6709 -12.8789 80 -33.627v1.62695c0 105.869 -86.1309 192 -192 192s-192 -86.1309 -192 -192v-1.62695c20.3291 20.748 48.6582 33.627 80 33.627h24c13.2549 0 24 -10.7451 24 -24v-176c0 -13.2549 -10.7451 -24 -24 -24h-24 +c-60.5791 0 -109.917 48.0967 -111.928 108.187l-14.3828 7.19141c-9.76465 4.88184 -17.6895 17.7051 -17.6895 28.6221v0v48c0 141.504 114.52 256 256 256z" /> + <glyph glyph-name="volume-off" unicode="&#xf026;" horiz-adv-x="256" +d="M215 377c15 15 41 4.46973 41 -17v-336c0 -21.4697 -26 -32 -41 -17l-88.9404 89h-102.06c-13.248 0 -24 10.752 -24 24v144c0 13.248 10.752 24 24 24h102z" /> + <glyph glyph-name="volume-down" unicode="&#xf027;" horiz-adv-x="384" +d="M215.03 375.96c15.0098 15 40.9697 4.49023 40.9697 -16.9795v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM338.23 267.88 +c28.2393 -15.5498 45.7793 -44.9902 45.7793 -76.8701s-17.54 -61.3301 -45.7695 -76.8799c-11.5605 -6.34961 -26.1807 -2.20996 -32.6104 9.4502c-6.38965 11.6104 -2.16016 26.2002 9.4502 32.6104c12.9004 7.08984 20.9199 20.4297 20.9199 34.8096 +s-8.01953 27.7197 -20.9297 34.8203c-11.6104 6.41016 -15.8398 21 -9.4502 32.6094c6.41992 11.6104 21.0303 15.7803 32.6104 9.4502z" /> + <glyph glyph-name="volume-up" unicode="&#xf028;" horiz-adv-x="576" +d="M215.03 376.95c15.0098 15.0098 40.9697 4.49023 40.9697 -16.9697v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM448.35 428.03 +c79.9199 -52.46 127.65 -140.7 127.65 -236.03s-47.7305 -183.58 -127.65 -236.04c-11.5801 -7.61035 -26.4697 -3.75977 -33.5098 6.9502c-7.33984 11.1602 -4.21973 26.1797 6.9502 33.5c66.2695 43.4902 105.82 116.6 105.82 195.58 +c0 78.9795 -39.5508 152.09 -105.82 195.58c-11.1699 7.33008 -14.29 22.3398 -6.9502 33.5098c7.33008 11.1895 22.3398 14.2803 33.5098 6.9502zM480 192c0 -63.54 -32.0596 -121.94 -85.7695 -156.24c-12 -7.67969 -26.6104 -2.89941 -33.1201 7.45996 +c-7.09082 11.29 -3.78027 26.2207 7.40918 33.3604c39.75 25.3896 63.4805 68.5303 63.4805 115.42s-23.7305 90.0303 -63.4805 115.42c-11.1895 7.15039 -14.5 22.0801 -7.40918 33.3604c7.08984 11.2793 21.9297 14.5996 33.1201 7.45996 +c53.71 -34.2998 85.7695 -92.71 85.7695 -156.24zM338.23 268.87c28.2393 -15.54 45.7793 -44.9805 45.7793 -76.8604s-17.54 -61.3301 -45.7695 -76.8799c-11.5605 -6.34961 -26.1807 -2.20996 -32.6104 9.4502c-6.38965 11.6104 -2.16016 26.2002 9.4502 32.6104 +c12.9004 7.08984 20.9199 20.4297 20.9199 34.8096c0 14.3701 -8.01953 27.7197 -20.9297 34.8096c-11.6104 6.41016 -15.8398 21 -9.4502 32.6104c6.41992 11.6104 21.0303 15.7803 32.6104 9.4502z" /> + <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="448" +d="M0 224v192h192v-192h-192zM64 352v-64h64v64h-64zM256 416h192v-192h-192v192zM384 288v64h-64v-64h64zM0 -32v192h192v-192h-192zM64 96v-64h64v64h-64zM416 160h32v-128h-96v32h-32v-96h-64v192h96v-32h64v32zM416 0h32v-32h-32v32zM352 0h32v-32h-32v32z" /> + <glyph glyph-name="barcode" unicode="&#xf02a;" +d="M0 0v384h18v-384h-18zM26.8574 0.273438v383.727h9.14258v-383.727h-9.14258zM54 0.273438v383.727h8.85742v-383.727h-8.85742zM98.8574 0.273438v383.727h8.85645v-383.727h-8.85645zM134.857 0.273438v383.727h17.7139v-383.727h-17.7139zM179.714 0.273438v383.727 +h8.85742v-383.727h-8.85742zM197.714 0.273438v383.727h8.85742v-383.727h-8.85742zM215.714 0.273438v383.727h8.85742v-383.727h-8.85742zM251.429 0.273438v383.727h18v-383.727h-18zM296.286 0.273438v383.727h18v-383.727h-18zM332.285 0.273438v383.727h18.001 +v-383.727h-18.001zM368.286 0.273438v383.727h18.001v-383.727h-18.001zM395.143 0.273438v383.727h18v-383.727h-18zM440.286 0.273438v383.727h26.8564v-383.727h-26.8564zM476 0.273438v383.727h9.14258v-383.727h-9.14258zM494 0v384h18v-384h-18z" /> + <glyph glyph-name="tag" unicode="&#xf02b;" +d="M0 195.882v204.118c0 26.5098 21.4902 48 48 48h204.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586l211.883 -211.883c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818l-204.118 -204.118c-18.7451 -18.7441 -49.1377 -18.7441 -67.8818 0l-211.883 211.883 +c-7.75977 7.75977 -14.0586 22.9658 -14.0586 33.9404zM112 384c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48z" /> + <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="640" +d="M497.941 222.059c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818l-204.118 -204.118c-18.7461 -18.7451 -49.1387 -18.7441 -67.8818 0l-211.883 211.883c-7.75977 7.75977 -14.0586 22.9658 -14.0586 33.9404v204.118c0 26.5098 21.4902 48 48 48h204.118 +c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM112 288c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM625.941 154.177l-204.118 -204.118c-18.7451 -18.7441 -49.1377 -18.7441 -67.8818 0l-0.360352 0.360352 +l174.059 174.059c16.999 16.999 26.3604 39.6006 26.3604 63.6406s-9.3623 46.6406 -26.3604 63.6396l-196.242 196.242h48.7207c10.9746 0 26.1807 -6.29883 33.9404 -14.0586l211.883 -211.883c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818z" /> + <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="448" +d="M448 88c0 -7.5 -3.5 -14.2998 -8.90039 -18.5996c-4.19922 -15.4004 -4.19922 -59.3008 0 -74.7002c5.40039 -4.40039 8.90039 -11.2002 8.90039 -18.7002v-16c0 -13.2998 -10.7002 -24 -24 -24h-328c-53 0 -96 43 -96 96v320c0 53 43 96 96 96h328 +c13.2998 0 24 -10.7002 24 -24v-336zM128 314v-20c0 -3.2998 2.7002 -6 6 -6h212c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-212c-3.2998 0 -6 -2.7002 -6 -6zM128 250v-20c0 -3.2998 2.7002 -6 6 -6h212c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-212 +c-3.2998 0 -6 -2.7002 -6 -6zM381.4 0c-1.90039 17.0996 -1.90039 46.9004 0 64h-285.4c-17.5996 0 -32 -14.4004 -32 -32c0 -17.7002 14.2998 -32 32 -32h285.4z" /> + <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384" +d="M0 -64v464c0 26.5098 21.4902 48 48 48h288c26.5098 0 48 -21.4902 48 -48v-464l-192 112z" /> + <glyph glyph-name="print" unicode="&#xf02f;" +d="M448 256c35.3496 0 64 -28.6504 64 -64v-112c0 -8.83984 -7.16016 -16 -16 -16h-48v-96c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32v96h-48c-8.83984 0 -16 7.16016 -16 16v112c0 35.3496 28.6504 64 64 64v160c0 17.6699 14.3301 32 32 32 +h274.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l45.2598 -45.25c6 -6.00977 9.37012 -14.1396 9.37012 -22.6299v-114.75zM384 0v96h-256v-96h256zM384 224v96h-48c-8.83984 0 -16 7.16016 -16 16v48h-192v-160h256zM432 152c13.25 0 24 10.75 24 24 +c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" /> + <glyph glyph-name="camera" unicode="&#xf030;" +d="M512 304v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h88l12.2998 32.9004c7 18.6992 24.9004 31.0996 44.9004 31.0996h125.5c20 0 37.8994 -12.4004 44.8994 -31.0996l12.4004 -32.9004h88c26.5 0 48 -21.5 48 -48zM376 160 +c0 66.2002 -53.7998 120 -120 120s-120 -53.7998 -120 -120s53.7998 -120 120 -120s120 53.7998 120 120zM344 160c0 -48.5 -39.5 -88 -88 -88s-88 39.5 -88 88s39.5 88 88 88s88 -39.5 88 -88z" /> + <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="448" +d="M432 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h19.5801l-23.2998 64h-152.561l-23.2998 -64h19.5801c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-128c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h23.4102l130.71 362.31c4.07422 11.9736 17.6465 21.6904 30.2939 21.6904h0.00585938h47.1602h0.00585938c12.6475 0 26.2197 -9.7168 30.2939 -21.6904 +l130.71 -362.31h23.4102zM176.85 176h94.3008l-47.1504 129.49z" /> + <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="384" +d="M333.49 210c34.4395 -27.54 55.5693 -71.1504 50.8301 -119.6c-6.86035 -70.6504 -70.2002 -122.4 -141 -122.4h-209.32c-8.83203 0 -16 7.16797 -16 16v48c0 8.83203 7.16797 16 16 16h31.8701v288h-31.8701c-8.83203 0 -16 7.16797 -16 16v48 +c0 8.83203 7.16797 16 16 16h199.42c74.5801 0 134.45 -64.4902 127.07 -140.79c-2.01367 -20.25 -14.1094 -49.4639 -27 -65.21zM145.66 336v-96h87.7598c26.4961 0 48 21.5039 48 48s-21.5039 48 -48 48h-87.7598zM233.42 48c30.9121 0 56 25.0879 56 56 +s-25.0879 56 -56 56h-87.7598v-112h87.7598z" /> + <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="320" +d="M320 400v-32c0 -8.83203 -7.16797 -16 -16 -16h-62.7598l-80 -320h46.7598c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-192c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h62.7598l80 320h-46.7598 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h192c8.83203 0 16 -7.16797 16 -16z" /> + <glyph glyph-name="text-height" unicode="&#xf034;" horiz-adv-x="576" +d="M304 416c8.83203 0 16 -7.16797 16 -16v-96c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32h-56v-304h40c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-160c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h40v304h-56v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v96c0 8.83203 7.16797 16 16 16h288zM560 80c15.6396 0 20.6396 -18 11.3096 -27.3096l-80 -80c-2.58594 -2.58496 -7.65332 -4.68262 -11.3096 -4.68262 +s-8.72363 2.09766 -11.3096 4.68262l-80 80c-10.0107 10 -3 27.3096 11.3096 27.3096h48v224h-48c-15.6396 0 -20.6396 18 -11.3096 27.3096l80 80c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262l80 -80 +c10.0205 -10 3 -27.3096 -11.3096 -27.3096h-48v-224h48z" /> + <glyph glyph-name="text-width" unicode="&#xf035;" horiz-adv-x="448" +d="M432 416c8.83203 0 16 -7.16797 16 -16v-80c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v16h-120v-112h24c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h24v112h-120v-16c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v80c0 8.83203 7.16797 16 16 16h416zM363.31 155.31l80 -80c2.58496 -2.58594 4.68262 -7.65332 4.68262 -11.3096s-2.09766 -8.72363 -4.68262 -11.3096 +l-80 -80c-10 -10.0205 -27.3096 -3 -27.3096 11.3096v48h-224v-48c0 -15.6396 -18 -20.6396 -27.3096 -11.3096l-80 80c-2.58496 2.58594 -4.68262 7.65332 -4.68262 11.3096s2.09766 8.72363 4.68262 11.3096l80 80c10 10.0107 27.3096 3 27.3096 -11.3096v-48h224v48 +c0 15.6396 18 20.6396 27.3096 11.3096z" /> + <glyph glyph-name="align-left" unicode="&#xf036;" horiz-adv-x="448" +d="M12.8301 96c-7.07715 0 -12.8301 5.74316 -12.8301 12.8203v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h262.34h0.00976562c7.07715 0 12.8203 -5.74316 12.8203 -12.8203v-0.00976562v-38.3398v-0.00976562 +c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-262.34zM12.8301 352c-7.07715 0 -12.8301 5.74316 -12.8301 12.8203v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h262.34h0.00976562 +c7.07715 0 12.8203 -5.74316 12.8203 -12.8203v-0.00976562v-38.3398v-0.00976562c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-262.34zM432 288c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16 +v32c0 8.83203 7.16797 16 16 16h416zM432 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416z" /> + <glyph glyph-name="align-center" unicode="&#xf037;" horiz-adv-x="448" +d="M432 288c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416zM432 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16 +v32c0 8.83203 7.16797 16 16 16h416zM108.1 352c-6.67871 0 -12.0996 5.4209 -12.0996 12.0996v39.8105c0 6.67383 5.41602 12.0898 12.0898 12.0898h0.00976562h231.811c6.67383 0 12.0898 -5.41602 12.0898 -12.0898v-39.8105v-0.00976562 +c0 -6.67383 -5.41602 -12.0898 -12.0898 -12.0898v0h-231.811zM339.91 96h-231.811c-6.67871 0 -12.0996 5.4209 -12.0996 12.0996v39.8105c0 6.67383 5.41602 12.0898 12.0898 12.0898h0.00976562h231.811c6.67383 0 12.0898 -5.41602 12.0898 -12.0898v-39.8105 +v-0.00976562c0 -6.67383 -5.41602 -12.0898 -12.0898 -12.0898v0z" /> + <glyph glyph-name="align-right" unicode="&#xf038;" horiz-adv-x="448" +d="M16 224c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416zM432 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16 +v32c0 8.83203 7.16797 16 16 16h416zM435.17 416c7.07715 0 12.8301 -5.74316 12.8301 -12.8203v-0.00976562v-38.3398v-0.00976562c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-262.34h-0.00976562c-7.07715 0 -12.8203 5.74316 -12.8203 12.8203 +v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h262.34zM435.17 160c7.07715 0 12.8301 -5.74316 12.8301 -12.8203v-0.00976562v-38.3398v-0.00976562c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-262.34 +h-0.00976562c-7.07715 0 -12.8203 5.74316 -12.8203 12.8203v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h262.34z" /> + <glyph glyph-name="align-justify" unicode="&#xf039;" horiz-adv-x="448" +d="M432 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416zM432 160c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16 +v32c0 8.83203 7.16797 16 16 16h416zM432 288c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416zM432 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16 +h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416z" /> + <glyph glyph-name="list" unicode="&#xf03a;" +d="M80 80c8.83203 0 16 -7.16797 16 -16v-64c0 -8.83203 -7.16797 -16 -16 -16h-64c-8.83203 0 -16 7.16797 -16 16v64c0 8.83203 7.16797 16 16 16h64zM80 400c8.83203 0 16 -7.16797 16 -16v-64c0 -8.83203 -7.16797 -16 -16 -16h-64c-8.83203 0 -16 7.16797 -16 16v64 +c0 8.83203 7.16797 16 16 16h64zM80 240c8.83203 0 16 -7.16797 16 -16v-64c0 -8.83203 -7.16797 -16 -16 -16h-64c-8.83203 0 -16 7.16797 -16 16v64c0 8.83203 7.16797 16 16 16h64zM496 64c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-320 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM496 384c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM496 224c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320z" /> + <glyph glyph-name="outdent" unicode="&#xf03b;" horiz-adv-x="448" +d="M100.69 84.71l-96 95.9805c-2.58496 2.58594 -4.68262 7.65332 -4.68262 11.3096s2.09766 8.72363 4.68262 11.3096l96 96c9.97949 10 27.3096 3.01074 27.3096 -11.3096v-191.98c0 -14.2393 -17.3096 -21.3096 -27.3096 -11.3096zM432 32c8.83203 0 16 -7.16797 16 -16 +v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416zM435.17 160c7.07715 0 12.8301 -5.74316 12.8301 -12.8203v-0.00976562v-38.3398v-0.00976562c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562 +h-230.34h-0.00976562c-7.07715 0 -12.8203 5.74316 -12.8203 12.8203v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h230.34zM435.17 288c7.07715 0 12.8301 -5.74316 12.8301 -12.8203v-0.00976562v-38.3398v-0.00976562 +c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-230.34h-0.00976562c-7.07715 0 -12.8203 5.74316 -12.8203 12.8203v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h230.34zM432 416c8.83203 0 16 -7.16797 16 -16 +v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416z" /> + <glyph glyph-name="indent" unicode="&#xf03c;" horiz-adv-x="448" +d="M27.3096 84.7002c-9.97949 -10 -27.3096 -3.00977 -27.3096 11.2998v192c0 14.2197 17.2695 21.3398 27.3096 11.3203l96 -96c2.58496 -2.58691 4.68262 -7.65332 4.68262 -11.3105c0 -3.65625 -2.09766 -8.72363 -4.68262 -11.3096zM432 32 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416zM435.17 160c7.07715 0 12.8301 -5.74316 12.8301 -12.8203v-0.00976562v-38.3398v-0.00976562 +c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-230.34h-0.00976562c-7.07715 0 -12.8203 5.74316 -12.8203 12.8203v0.00976562v38.3398v0.00976562c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h230.34zM435.17 288 +c7.07715 0 12.8301 -5.74316 12.8301 -12.8203v-0.00976562v-38.3398v-0.00976562c0 -7.07715 -5.74316 -12.8203 -12.8203 -12.8203h-0.00976562h-230.34h-0.00976562c-7.07715 0 -12.8203 5.74316 -12.8203 12.8203v0.00976562v38.3398v0.00976562 +c0 7.07715 5.74316 12.8203 12.8203 12.8203h0.00976562h230.34zM432 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416z" /> + <glyph glyph-name="video" unicode="&#xf03d;" horiz-adv-x="576" +d="M336.2 384c26.3994 0 47.7998 -21.4004 47.7998 -47.7998v-288.4c0 -26.3994 -21.4004 -47.7998 -47.7998 -47.7998h-288.4c-26.3994 0 -47.7998 21.4004 -47.7998 47.7998v288.4c0 26.3994 21.4004 47.7998 47.7998 47.7998h288.4zM525.6 346.3 +c21.3008 14.6006 50.4004 -0.399414 50.4004 -25.7998v-256.9c0 -25.5 -29.2002 -40.3994 -50.4004 -25.7998l-109.6 75.5v157.4z" /> + <glyph glyph-name="image" unicode="&#xf03e;" +d="M464 0h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48zM112 328c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56s56 25.0723 56 56s-25.0723 56 -56 56zM64 64h384 +v112l-87.5146 87.5146c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-135.514 -135.515l-55.5146 55.5146c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-71.5137 -71.5146v-48z" /> + <glyph glyph-name="map-marker" unicode="&#xf041;" horiz-adv-x="384" +d="M172.268 -53.6699c-145.298 210.639 -172.268 232.257 -172.268 309.67c0 106.039 85.9609 192 192 192s192 -85.9609 192 -192c0 -77.4131 -26.9697 -99.0312 -172.268 -309.67c-9.53516 -13.7744 -29.9307 -13.7734 -39.4648 0z" /> + <glyph glyph-name="adjust" unicode="&#xf042;" +d="M8 192c0 136.967 111.034 248 248 248s248 -111.034 248 -248s-111.033 -248 -248 -248s-248 111.034 -248 248zM256 8c101.689 0 184 82.2949 184 184c0 101.689 -82.2949 184 -184 184v-368z" /> + <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="352" +d="M205.22 425.91c46.9902 -158.48 146.78 -200.07 146.78 -311.82c0 -98.4395 -78.7197 -178.09 -176 -178.09s-176 79.6504 -176 178.09c0 111.19 100.01 154.061 146.78 311.82c9 30.1201 50.5 28.7803 58.4395 0zM176 0c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16 +c-44.1104 0 -80 35.8896 -80 80c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16c0 -61.75 50.25 -112 112 -112z" /> + <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="576" +d="M402.6 364.8l90.2002 -90.2002c3.7998 -3.7998 3.7998 -10 0 -13.7998l-218.399 -218.399l-92.8008 -10.3008c-12.3994 -1.39941 -22.8994 9.10059 -21.5 21.5l10.3008 92.8008l218.399 218.399c3.7998 3.7998 10 3.7998 13.7998 0zM564.6 387.7 +c15.2002 -15.2002 15.2002 -39.9004 0 -55.2002l-35.3994 -35.4004c-3.7998 -3.7998 -10 -3.7998 -13.7998 0l-90.2002 90.2002c-3.7998 3.7998 -3.7998 10 0 13.7998l35.3994 35.4004c15.3008 15.2002 40 15.2002 55.2002 0zM384 101.8c0 3.2002 1.2998 6.2002 3.5 8.5 +l40 40c7.59961 7.5 20.5 2.2002 20.5 -8.5v-157.8c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h285.8c10.7002 0 16.1006 -12.9004 8.5 -20.5l-40 -40c-2.2998 -2.2002 -5.2998 -3.5 -8.5 -3.5h-229.8v-320h320v101.8z" /> + <glyph glyph-name="step-backward" unicode="&#xf048;" horiz-adv-x="448" +d="M64 -20v424c0 6.59961 5.40039 12 12 12h48c6.59961 0 12 -5.40039 12 -12v-176.4l195.5 181c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-384c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996l-195.5 179.899v-175.3c0 -6.59961 -5.40039 -12 -12 -12h-48 +c-6.59961 0 -12 5.40039 -12 12z" /> + <glyph glyph-name="fast-backward" unicode="&#xf049;" +d="M0 12v360c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-151.9l171.5 156.5c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-131.9l171.5 156.5c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996 +l-171.5 155.3v-130.7c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996l-171.5 155.3v-150.7c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12z" /> + <glyph glyph-name="backward" unicode="&#xf04a;" +d="M11.5 167.4c-15.2998 12.7998 -15.2998 36.3994 0 49.1992l192 160c20.5996 17.2002 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7998 -52.5 -24.5996zM267.5 167.4c-15.2998 12.7998 -15.2998 36.3994 0 49.1992l192 160 +c20.5996 17.2002 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7998 -52.5 -24.5996z" /> + <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="448" +d="M424.4 233.3c31.5 -18.5 31.3994 -64.0996 0 -82.5996l-352 -208c-31.7002 -18.7998 -72.4004 3.7998 -72.4004 41.2998v416.1c0 41.8008 43.7998 58.2002 72.4004 41.3008z" /> + <glyph glyph-name="pause" unicode="&#xf04c;" horiz-adv-x="448" +d="M144 -31h-96c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48zM448 17c0 -26.5 -21.5 -48 -48 -48h-96c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48 -21.5 48 -48v-352z" /> + <glyph glyph-name="stop" unicode="&#xf04d;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352z" /> + <glyph glyph-name="forward" unicode="&#xf04e;" +d="M500.5 216.6c15.2998 -12.7998 15.2998 -36.3994 0 -49.1992l-192 -160c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320c0 27.4004 31.9004 41.7002 52.5 24.5996zM244.5 216.6c15.2998 -12.7998 15.2998 -36.3994 0 -49.1992l-192 -160 +c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320c0 27.4004 31.9004 41.7002 52.5 24.5996z" /> + <glyph glyph-name="fast-forward" unicode="&#xf050;" +d="M512 372v-360c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v151.9l-171.5 -156.5c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v131.9l-171.5 -156.5c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320 +c0 27.4004 31.9004 41.7002 52.5 24.5996l171.5 -155.399v130.8c0 27.4004 31.9004 41.7002 52.5 24.5996l171.5 -155.399v150.8c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12z" /> + <glyph glyph-name="step-forward" unicode="&#xf051;" horiz-adv-x="448" +d="M384 404v-424c0 -6.59961 -5.40039 -12 -12 -12h-48c-6.59961 0 -12 5.40039 -12 12v176.4l-195.5 -181c-20.5996 -17.1006 -52.5 -2.80078 -52.5 24.5996v384c0 27.4004 31.9004 41.7002 52.5 24.5996l195.5 -179.899v175.3c0 6.59961 5.40039 12 12 12h48 +c6.59961 0 12 -5.40039 12 -12z" /> + <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="448" +d="M448 64v-64c0 -17.6729 -14.3271 -32 -32 -32h-384c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h384c17.6729 0 32 -14.3271 32 -32zM48.0527 128c-41.7285 0 -63.5273 49.7324 -35.3828 80.4346l175.946 192.008 +c19.0156 20.7432 51.7529 20.7422 70.7666 0l175.939 -192.008c28.1973 -30.7607 6.26758 -80.4346 -35.3828 -80.4346h-351.887z" /> + <glyph glyph-name="chevron-left" unicode="&#xf053;" horiz-adv-x="320" +d="M34.5195 208.97l194.351 194.34c9.37012 9.37012 24.5703 9.37012 33.9395 0l22.6709 -22.6699c9.35938 -9.35938 9.36914 -24.5195 0.0390625 -33.8994l-154.029 -154.74l154.02 -154.75c9.33984 -9.37988 9.32031 -24.54 -0.0400391 -33.9004l-22.6699 -22.6699 +c-9.37012 -9.37012 -24.5693 -9.37012 -33.9395 0l-194.341 194.351c-9.36914 9.37012 -9.36914 24.5693 0 33.9395z" /> + <glyph glyph-name="chevron-right" unicode="&#xf054;" horiz-adv-x="320" +d="M285.476 175.029l-194.344 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9404 0l-22.667 22.667c-9.35742 9.35742 -9.375 24.5225 -0.0400391 33.9014l154.021 154.746l-154.021 154.745c-9.33496 9.37891 -9.31738 24.5439 0.0400391 33.9014l22.667 22.667 +c9.37305 9.37207 24.5684 9.37207 33.9404 0l194.343 -194.344c9.37305 -9.37207 9.37305 -24.5674 0.000976562 -33.9404z" /> + <glyph glyph-name="plus-circle" unicode="&#xf055;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM400 164v56c0 6.59961 -5.40039 12 -12 12h-92v92c0 6.59961 -5.40039 12 -12 12h-56c-6.59961 0 -12 -5.40039 -12 -12v-92h-92c-6.59961 0 -12 -5.40039 -12 -12v-56 +c0 -6.59961 5.40039 -12 12 -12h92v-92c0 -6.59961 5.40039 -12 12 -12h56c6.59961 0 12 5.40039 12 12v92h92c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="minus-circle" unicode="&#xf056;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM124 152h264c6.59961 0 12 5.40039 12 12v56c0 6.59961 -5.40039 12 -12 12h-264c-6.59961 0 -12 -5.40039 -12 -12v-56c0 -6.59961 5.40039 -12 12 -12z" /> + <glyph glyph-name="times-circle" unicode="&#xf057;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM377.6 126.9l-65.5996 65.0996l65.7002 65c4.7002 4.7002 4.7002 12.2998 0 17l-39.6006 39.5996c-4.69922 4.7002 -12.2998 4.7002 -17 0l-65.0996 -65.5996l-65 65.7002 +c-4.7002 4.7002 -12.2998 4.7002 -17 0l-39.5996 -39.6006c-4.7002 -4.69922 -4.7002 -12.2998 0 -17l65.5996 -65.0996l-65.5996 -65c-4.7002 -4.7002 -4.7002 -12.2998 0 -17l39.5 -39.5996c4.69922 -4.7002 12.2998 -4.7002 17 0l65.0996 65.5996l65 -65.5996 +c4.7002 -4.7002 12.2998 -4.7002 17 0l39.5996 39.5c4.7002 4.69922 4.7002 12.2998 0 17z" /> + <glyph glyph-name="check-circle" unicode="&#xf058;" +d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM227.314 60.6855l184 184c6.24707 6.24805 6.24707 16.3799 0 22.6279l-22.6279 22.627c-6.24707 6.24902 -16.3789 6.24902 -22.6279 0 +l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24805 -16.3799 6.24805 -22.6279 0l-22.6279 -22.627c-6.24707 -6.24805 -6.24707 -16.3799 0 -22.6279l104 -104c6.24902 -6.24805 16.3799 -6.24805 22.6289 -0.000976562z" /> + <glyph glyph-name="question-circle" unicode="&#xf059;" +d="M504 192c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248s248 -111.083 248 -248zM262.655 358c-54.4971 0 -89.2549 -22.957 -116.549 -63.7578c-3.53613 -5.28613 -2.35352 -12.415 2.71484 -16.2578l34.6982 -26.3105 +c5.20508 -3.94727 12.6211 -3.00781 16.665 2.12207c17.8643 22.6582 30.1133 35.7969 57.3037 35.7969c20.4287 0 45.6973 -13.1475 45.6973 -32.958c0 -14.9756 -12.3623 -22.667 -32.5332 -33.9756c-23.5244 -13.1875 -54.6523 -29.6006 -54.6523 -70.6592v-4 +c0 -6.62695 5.37305 -12 12 -12h56c6.62695 0 12 5.37305 12 12v1.33301c0 28.4619 83.1855 29.6475 83.1855 106.667c0 58.002 -60.1641 102 -116.53 102zM256 110c-25.3652 0 -46 -20.6348 -46 -46c0 -25.3643 20.6348 -46 46 -46s46 20.6357 46 46 +c0 25.3652 -20.6348 46 -46 46z" /> + <glyph glyph-name="info-circle" unicode="&#xf05a;" +d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 330c-23.1963 0 -42 -18.8037 -42 -42s18.8037 -42 42 -42s42 18.8037 42 42s-18.8037 42 -42 42zM312 76v24 +c0 6.62695 -5.37305 12 -12 12h-12v100c0 6.62695 -5.37305 12 -12 12h-64c-6.62695 0 -12 -5.37305 -12 -12v-24c0 -6.62695 5.37305 -12 12 -12h12v-64h-12c-6.62695 0 -12 -5.37305 -12 -12v-24c0 -6.62695 5.37305 -12 12 -12h88c6.62695 0 12 5.37305 12 12z" /> + <glyph glyph-name="crosshairs" unicode="&#xf05b;" +d="M500 224c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-30.3643c-13.9121 -93.6748 -87.9609 -167.724 -181.636 -181.636v-30.3643c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v30.3643 +c-93.6748 13.9121 -167.724 87.9609 -181.636 181.636h-30.3643c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h30.3643c13.9121 93.6748 87.9609 167.724 181.636 181.636v30.3643c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-30.3643 +c93.6748 -13.9121 167.724 -87.9609 181.636 -181.636h30.3643zM288 43.3662c58.2432 12.417 104.232 58.46 116.634 116.634h-40.6338c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40.6338c-12.417 58.2432 -58.46 104.232 -116.634 116.634v-40.6338 +c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40.6338c-58.2432 -12.417 -104.232 -58.46 -116.634 -116.634h40.6338c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40.6338 +c12.417 -58.2432 58.46 -104.232 116.634 -116.634v40.6338c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40.6338zM288 192c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" /> + <glyph glyph-name="ban" unicode="&#xf05e;" +d="M256 440c136.967 0 248 -111.034 248 -248s-111.034 -248 -248 -248s-248 111.033 -248 248s111.034 248 248 248zM386.108 322.108c-65.4121 65.4102 -165.435 70.0312 -235.639 20.6758l256.315 -256.313c49.3232 70.1562 44.7705 170.189 -20.6768 235.638z +M125.892 61.8916c65.4121 -65.4111 165.436 -70.0312 235.639 -20.6758l-256.315 256.313c-49.3232 -70.1562 -44.7705 -170.189 20.6768 -235.638z" /> + <glyph glyph-name="arrow-left" unicode="&#xf060;" horiz-adv-x="448" +d="M257.5 2.90039l-22.2002 -22.2002c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-194.4 194.3c-9.40039 9.40039 -9.40039 24.5996 0 33.9004l194.4 194.399c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.2002 -22.2002c9.5 -9.5 9.2998 -25 -0.400391 -34.2998 +l-120.5 -114.8h287.4c13.2998 0 24 -10.7002 24 -24v-32c0 -13.2998 -10.7002 -24 -24 -24h-287.4l120.5 -114.8c9.80078 -9.2998 10 -24.7998 0.400391 -34.2998z" /> + <glyph glyph-name="arrow-right" unicode="&#xf061;" horiz-adv-x="448" +d="M190.5 381.1l22.2002 22.2002c9.39941 9.40039 24.5996 9.40039 33.8994 0l194.4 -194.3c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-194.4 -194.399c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.2002 22.2002c-9.5 9.5 -9.2998 25 0.400391 34.2998 +l120.5 114.8h-287.4c-13.2998 0 -24 10.7002 -24 24v32c0 13.2998 10.7002 24 24 24h287.4l-120.5 114.8c-9.80078 9.2998 -10 24.7998 -0.400391 34.2998z" /> + <glyph glyph-name="arrow-up" unicode="&#xf062;" horiz-adv-x="448" +d="M34.9004 158.5l-22.2002 22.2002c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l194.3 194.4c9.40039 9.40039 24.5996 9.40039 33.9004 0l194.3 -194.3c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-22.2002 -22.2002c-9.5 -9.5 -25 -9.2998 -34.2998 0.400391 +l-114.7 120.4v-287.4c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v287.4l-114.8 -120.5c-9.2998 -9.80078 -24.7998 -10 -34.2998 -0.400391z" /> + <glyph glyph-name="arrow-down" unicode="&#xf063;" horiz-adv-x="448" +d="M413.1 225.5l22.2002 -22.2002c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-194.3 -194.4c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-194.399 194.4c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.2002 22.2002c9.5 9.5 25 9.2998 34.2998 -0.400391 +l114.8 -120.5v287.4c0 13.2998 10.7002 24 24 24h32c13.2998 0 24 -10.7002 24 -24v-287.4l114.8 120.5c9.2998 9.80078 24.7998 10 34.2998 0.400391z" /> + <glyph glyph-name="share" unicode="&#xf064;" +d="M503.691 258.164c11.0859 -9.5752 11.0703 -26.7656 0 -36.3281l-176.005 -152c-15.3867 -13.2891 -39.6865 -2.53613 -39.6865 18.1641v87.915c-155.083 -2.23145 -221.934 -40.7295 -176.59 -185.742c5.03418 -16.0977 -14.4238 -28.5615 -28.0771 -18.6309 +c-43.752 31.8232 -83.333 92.6914 -83.333 154.132c0 152.227 127.371 184.419 288 186.258v80.0537c0 20.668 24.2812 31.4688 39.6865 18.1641z" /> + <glyph glyph-name="expand" unicode="&#xf065;" horiz-adv-x="448" +d="M0 268v124c0 13.2998 10.7002 24 24 24h124c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84v-84c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM288 404c0 6.59961 5.40039 12 12 12h124c13.2998 0 24 -10.7002 24 -24 +v-124c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v84h-84c-6.59961 0 -12 5.40039 -12 12v40zM436 128c6.59961 0 12 -5.40039 12 -12v-124c0 -13.2998 -10.7002 -24 -24 -24h-124c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84 +v84c0 6.59961 5.40039 12 12 12h40zM160 -20c0 -6.59961 -5.40039 -12 -12 -12h-124c-13.2998 0 -24 10.7002 -24 24v124c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-84h84c6.59961 0 12 -5.40039 12 -12v-40z" /> + <glyph glyph-name="compress" unicode="&#xf066;" horiz-adv-x="448" +d="M436 256h-124c-13.2998 0 -24 10.7002 -24 24v124c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-84h84c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM160 280c0 -13.2998 -10.7002 -24 -24 -24h-124 +c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84v84c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-124zM160 -20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v84h-84c-6.59961 0 -12 5.40039 -12 12v40 +c0 6.59961 5.40039 12 12 12h124c13.2998 0 24 -10.7002 24 -24v-124zM352 -20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v124c0 13.2998 10.7002 24 24 24h124c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84v-84z" /> + <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="448" +d="M416 240c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-144v-144c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v144h-144c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h144v144 +c0 17.6699 14.3301 32 32 32h32c17.6699 0 32 -14.3301 32 -32v-144h144z" /> + <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="448" +d="M416 240c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384z" /> + <glyph glyph-name="asterisk" unicode="&#xf069;" +d="M478.21 113.907c11.7949 -6.47754 15.96 -21.3828 9.23242 -33.0361l-19.4805 -33.7412c-6.72754 -11.6533 -21.7207 -15.499 -33.2266 -8.52246l-138.735 84.1104l3.47559 -162.204c0.288086 -13.4531 -10.5391 -24.5137 -23.9941 -24.5137h-38.9619 +c-13.4551 0 -24.2822 11.0605 -23.9941 24.5137l3.47461 162.204l-138.735 -84.1113c-11.5059 -6.97656 -26.499 -3.13086 -33.2266 8.52246l-19.4805 33.7412c-6.72852 11.6533 -2.5625 26.5596 9.23242 33.0371l142.21 78.0928l-142.209 78.0918 +c-11.7949 6.47754 -15.9609 21.3838 -9.2334 33.0371l19.4805 33.7412c6.72754 11.6533 21.7207 15.499 33.2266 8.52246l138.735 -84.1104l-3.47363 162.204c-0.289062 13.4531 10.5381 24.5137 23.9932 24.5137h38.9609c13.4561 0 24.2822 -11.0605 23.9941 -24.5137 +l-3.47461 -162.204l138.735 84.1113c11.5068 6.97656 26.499 3.13086 33.2266 -8.52246l19.4805 -33.7412c6.72852 -11.6533 2.5625 -26.5596 -9.23242 -33.0371l-142.21 -78.0928z" /> + <glyph glyph-name="exclamation-circle" unicode="&#xf06a;" +d="M504 192c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248s248 -111.083 248 -248zM256 142c-25.4053 0 -46 -20.5947 -46 -46s20.5947 -46 46 -46s46 20.5947 46 46s-20.5947 46 -46 46zM212.327 307.346l7.41797 -136 +c0.34668 -6.36328 5.6084 -11.3457 11.9814 -11.3457h48.5469c6.37305 0 11.6348 4.98242 11.9814 11.3457l7.41797 136c0.375 6.87402 -5.09766 12.6543 -11.9814 12.6543h-63.3838c-6.88379 0 -12.3555 -5.78027 -11.9805 -12.6543z" /> + <glyph glyph-name="gift" unicode="&#xf06b;" +d="M32 0v128h192v-160h-160c-17.7002 0 -32 14.2998 -32 32zM288 -32v160h192v-128c0 -17.7002 -14.2998 -32 -32 -32h-160zM480 288c17.7002 0 32 -14.2998 32 -32v-80c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v80c0 17.7002 14.2998 32 32 32 +h44.0996c-6.2998 12.0996 -10.0996 25.5 -10.0996 40c0 48.5 39.5 88 88 88c41.5996 0 68.5 -21.2998 103 -68.2998c34.5 47 61.4004 68.2998 103 68.2998c48.5 0 88 -39.5 88 -88c0 -14.5 -3.90039 -27.9004 -10.0996 -40h42.0996zM153.9 288h86.0996 +c-51.5 76.7002 -66.2002 80 -86.0996 80c-22.1006 0 -40 -17.9004 -40 -40s17.8994 -40 40 -40zM360 288c22.0996 0 40 17.9004 40 40s-17.9004 40 -40 40c-20.4004 0 -34.7002 -3.5 -86.0996 -80h86.0996z" /> + <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="576" +d="M546.2 438.3c19 -42.3994 29.7998 -94.3994 29.7998 -144.6c0 -172.4 -110.5 -313.2 -267.5 -324.601c-80.9004 -8.59961 -142.5 33.3008 -174.9 77.2002c-51 -42.7002 -70.3994 -87 -71.8994 -90.5996c-6.7998 -16.2002 -25.4004 -24.1006 -41.7998 -17.2998 +c-16.3008 6.69922 -24.1006 25.2998 -17.5 41.5996c23.5996 57.9004 130.199 212 381.6 212c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16c-130.6 0 -222.7 -38.7998 -286.5 -84.5c-0.700195 6.7998 -1.5 13.5 -1.5 20.5c0 106 86 192 192 192h80 +c63.4004 0 118.9 33.5996 149.9 87.5c6.69922 11.7998 22.6992 11.2998 28.2998 -1.2002z" /> + <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="384" +d="M216 424.14c0 -103.14 168 -125.85 168 -296.14c0 -105.87 -86.1299 -192 -192 -192s-192 86.1299 -192 192c0 58.6699 27.7998 106.84 54.5703 134.96c14.96 15.7305 41.4297 5.2002 41.4297 -16.5v-85.5098c0 -35.1699 27.9805 -64.4902 63.1504 -64.9404 +c35.7393 -0.469727 64.8496 28.3604 64.8496 63.9902c0 88 -176 96.1504 -52.1504 277.18c13.5 19.7305 44.1504 10.7607 44.1504 -13.04z" /> + <glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576" +d="M572.52 206.6c1.9209 -3.79883 3.47949 -10.3379 3.47949 -14.5947s-1.55859 -10.7959 -3.47949 -14.5947c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947 +s1.55859 10.7959 3.47949 14.5947c54.1992 105.771 161.59 177.41 284.52 177.41s230.29 -71.5898 284.52 -177.4zM288 48h0.0703125c79.4492 0 143.93 64.4805 143.93 143.93v0.0703125c0 79.4883 -64.5117 144 -144 144s-144 -64.5117 -144 -144s64.5117 -144 144 -144z +M288 288h0.225586c52.8701 0 95.7803 -42.9092 95.7803 -95.7793c0 -52.8711 -42.9102 -95.7803 -95.7803 -95.7803c-52.8711 0 -95.7803 42.9092 -95.7803 95.7803c0 7.04785 1.49805 18.2871 3.34473 25.0889c6.9834 -5.13867 19.6895 -9.30957 28.3604 -9.30957 +c26.4131 0 47.8496 21.4365 47.8496 47.8496c0 8.6709 -4.1709 21.377 -9.30957 28.3604c6.84375 1.99219 18.1826 3.69043 25.3096 3.79004z" /> + <glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640" +d="M320 48c7.24121 0.0673828 18.8896 1.23633 26 2.61035l51.8896 -40.1504c-25.0195 -6.45996 -50.9795 -10.46 -77.8896 -10.46c-122.93 0 -230.29 71.5898 -284.52 177.4c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947s1.55859 10.7959 3.47949 14.5947 +c10.2393 20 22.9297 38.29 36.7197 55.5898l104.899 -81.0693c5.65039 -74.4004 67.0508 -133.11 142.9 -133.11zM633.82 -10.0996c3.41309 -2.65234 6.18359 -8.3125 6.18359 -12.6357c0 -3.02734 -1.50684 -7.42383 -3.36426 -9.81445l-19.6396 -25.2705 +c-2.65234 -3.41211 -8.31152 -6.18262 -12.6338 -6.18262c-3.03125 0 -7.43359 1.51172 -9.82617 3.37305l-588.36 454.729c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309c0 3.0293 1.50879 7.42773 3.36816 9.81934l19.6299 25.2705 +c2.65234 3.41211 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51172 9.82617 -3.37305l127.22 -98.3301c38.0117 20.7578 104.011 37.6475 147.32 37.7002c122.93 0 230.29 -71.5898 284.52 -177.4c1.9209 -3.79883 3.47949 -10.3379 3.47949 -14.5947 +s-1.55859 -10.7959 -3.47949 -14.5947c-16.7666 -32.6758 -53.166 -78.4033 -81.25 -102.07zM450.1 131.9c8.61035 18.3203 13.9004 38.4697 13.9004 60.0996v0.0800781c0 79.4434 -64.4766 143.92 -143.92 143.92h-0.0800781 +c-28.4697 -0.0214844 -69.3047 -14.8545 -91.1504 -33.1104l73.6104 -56.8896c0.726562 2.71387 1.41602 7.19336 1.54004 10c-0.015625 8.62891 -4.18652 21.2666 -9.30957 28.21c7.17969 2.09668 19.0781 3.79785 26.5576 3.79785 +c52.3076 0 94.7598 -42.4521 94.7598 -94.7598c0 -0.344727 -0.00292969 -0.90332 -0.0078125 -1.24805c-0.112305 -8.43457 -2.44238 -21.749 -5.2002 -29.7197z" /> + <glyph glyph-name="exclamation-triangle" unicode="&#xf071;" horiz-adv-x="576" +d="M569.517 7.9873c18.458 -31.9941 -4.71094 -71.9873 -41.5762 -71.9873h-479.887c-36.9365 0 -59.999 40.0547 -41.5771 71.9873l239.946 416.027c18.4668 32.0098 64.7197 31.9512 83.1543 0zM288 94c-25.4053 0 -46 -20.5947 -46 -46s20.5947 -46 46 -46 +s46 20.5947 46 46s-20.5947 46 -46 46zM244.327 259.346l7.41797 -136c0.34668 -6.36328 5.6084 -11.3457 11.9814 -11.3457h48.5469c6.37305 0 11.6348 4.98242 11.9814 11.3457l7.41797 136c0.375 6.87402 -5.09766 12.6543 -11.9814 12.6543h-63.3838 +c-6.88379 0 -12.3555 -5.78027 -11.9805 -12.6543z" /> + <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="576" +d="M480 256c35.3496 0 96 -28.6504 96 -64s-60.6504 -64 -96 -64h-114.29l-105.11 -183.94c-2.84961 -4.97949 -8.14941 -8.05957 -13.8896 -8.05957h-65.5c-10.6299 0 -18.2998 10.1797 -15.3799 20.4004l49.0303 171.6h-102.86l-43.2002 -57.5996 +c-3.01953 -4.03027 -7.75977 -6.40039 -12.7998 -6.40039h-39.9902c-10.4102 0 -18.0498 9.78027 -15.5195 19.8799l31.5098 108.12l-31.5098 108.12c-2.53027 10.0996 5.10938 19.8799 15.5195 19.8799h39.9902c5.03027 0 9.78027 -2.37012 12.7998 -6.40039 +l43.2002 -57.5996h102.86l-49.0303 171.61c-2.91992 10.2197 4.75 20.3896 15.3799 20.3896h65.5h0.000976562c5.12598 0 11.3525 -3.61133 13.8994 -8.05957l105.1 -183.94h114.29z" /> + <glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448" +d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM320 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM320 52v-40 +c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM192 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40 +c-6.59961 0 -12 -5.40039 -12 -12zM192 52v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM64 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40 +c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM64 52v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM400 384c26.5 0 48 -21.5 48 -48v-48h-448v48 +c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" /> + <glyph glyph-name="random" unicode="&#xf074;" +d="M504.971 88.9707c9.37305 -9.37305 9.37305 -24.5684 0 -33.9404l-80 -79.9844c-15.0098 -15.0098 -40.9707 -4.49023 -40.9707 16.9707v39.9834h-58.7852c-2.87793 0 -6.80859 1.70801 -8.77246 3.81152l-70.5566 75.5967l53.333 57.1426l52.7812 -56.5508h32v39.9814 +c0 21.4375 25.9434 31.9971 40.9707 16.9707zM12 272c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h110.785h0.000976562c2.87793 0 6.80762 -1.70801 8.77148 -3.81152l70.5566 -75.5967l-53.333 -57.1426l-52.7812 56.5508h-84zM384 272h-32 +l-220.442 -236.188c-2.26953 -2.43066 -5.44629 -3.81152 -8.77246 -3.81152h-110.785c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h84l220.442 236.188c1.96387 2.10352 5.89453 3.81152 8.77246 3.81152h58.7852v39.9814 +c0 21.4365 25.9434 31.9971 40.9707 16.9697l80 -79.9814c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-80 -79.9844c-15.0098 -15.0088 -40.9707 -4.48926 -40.9707 16.9707v39.9844z" /> + <glyph glyph-name="comment" unicode="&#xf075;" +d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002 +c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208z" /> + <glyph glyph-name="magnet" unicode="&#xf076;" +d="M164.07 299.9h-152.07c-6.62402 0 -12 5.37598 -12 12v80c0 19.8721 16.1279 36 36 36h104c19.8721 0 36 -16.1279 36 -36v-80c0 -0.03125 0.000976562 -0.0800781 0.000976562 -0.110352c0 -6.56348 -5.32715 -11.8896 -11.8906 -11.8896h-0.0400391zM512 311.9 +c0 -6.56348 -5.32715 -11.9014 -11.8896 -11.9014c-0.0302734 0 -0.0800781 0.000976562 -0.110352 0.000976562h-152c-6.62402 0 -12 5.37598 -12 12v80c0 19.8721 16.1279 36 36 36h104c19.8721 0 36 -16.1279 36 -36v-80.0996zM348 267.9h151.85h0.000976562 +c6.62402 0 12 -5.37598 12 -12c0 -0.0283203 0 -0.0732422 -0.000976562 -0.100586c-0.199219 -20.2002 -0.599609 -40.3994 0 -53.2002c0 -150.699 -134.42 -246.699 -255 -246.699s-256.75 96 -256.75 246.6c0.600586 13 0.100586 31.9004 0 53.2998v0.100586 +c0 6.62402 5.37598 12 12 12v0h151.9c6.62402 0 12 -5.37598 12 -12v-52c0 -127.9 160 -128.101 160 0v52c0 6.62402 5.37598 12 12 12z" /> + <glyph glyph-name="chevron-up" unicode="&#xf077;" horiz-adv-x="448" +d="M240.971 317.476l194.344 -194.343c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-22.667 -22.667c-9.35742 -9.35742 -24.5225 -9.375 -33.9014 -0.0400391l-154.746 154.02l-154.745 -154.021c-9.37891 -9.33496 -24.5439 -9.31738 -33.9014 0.0400391 +l-22.667 22.667c-9.37207 9.37305 -9.37207 24.5684 0 33.9404l194.344 194.343c9.37207 9.37305 24.5674 9.37305 33.9404 0.000976562z" /> + <glyph glyph-name="chevron-down" unicode="&#xf078;" horiz-adv-x="448" +d="M207.029 66.5244l-194.344 194.344c-9.37207 9.37305 -9.37207 24.5684 0 33.9404l22.667 22.667c9.35742 9.35742 24.5225 9.375 33.9014 0.0400391l154.746 -154.021l154.745 154.021c9.37891 9.33496 24.5439 9.31738 33.9014 -0.0400391l22.667 -22.667 +c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-194.343 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9414 0z" /> + <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="640" +d="M629.657 104.402l-100.687 -100.687c-9.37305 -9.37207 -24.5674 -9.37207 -33.9404 0l-100.688 100.687c-9.37305 9.37305 -9.37305 24.5684 0 33.9404l10.8232 10.8232c9.56152 9.56152 25.1328 9.33984 34.4189 -0.492188l40.415 -42.792v182.118h-187.549 +c-5.4873 0 -13.0908 3.14941 -16.9707 7.0293l-16 16c-15.1191 15.1201 -4.41113 40.9707 16.9707 40.9707h243.549c13.2549 0 24 -10.7451 24 -24v-222.118l40.416 42.792c9.28516 9.83105 24.8564 10.0537 34.4189 0.492188l10.8232 -10.8232 +c9.37207 -9.37207 9.37207 -24.5684 -0.000976562 -33.9404zM364.519 88.9707l16.001 -16c15.1191 -15.1201 4.41113 -40.9707 -16.9707 -40.9707h-243.549c-13.2549 0 -24 10.7451 -24 24v222.119l-40.416 -42.793c-9.28613 -9.83105 -24.8574 -10.0527 -34.4189 -0.491211 +l-10.8223 10.8223c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l100.688 100.687c9.37207 9.37305 24.5674 9.37305 33.9404 0l100.687 -100.686c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-10.8223 -10.8223c-9.5625 -9.5625 -25.1328 -9.33984 -34.4189 0.491211 +l-40.416 42.792v-182.119h187.548h0.000976562c5.4873 0 13.0898 -3.14941 16.9697 -7.0293z" /> + <glyph glyph-name="shopping-cart" unicode="&#xf07a;" horiz-adv-x="576" +d="M528.12 146.681c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -30.9277 -25.0723 -56 -56 -56 +s-56 25.0723 -56 56c0 15.6738 6.44727 29.835 16.8232 40h-209.647c10.377 -10.165 16.8242 -24.3262 16.8242 -40c0 -30.9277 -25.0723 -56 -56 -56s-56 25.0723 -56 56c0 20.7783 11.3252 38.9004 28.1309 48.5654l-70.248 343.435h-69.8828 +c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2285 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782c15.4004 0 26.8154 -14.3008 23.4023 -29.3193z" /> + <glyph glyph-name="folder" unicode="&#xf07b;" +d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192z" /> + <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576" +d="M572.694 155.907l-72.4248 -124.155c-10.2236 -17.5273 -34.9883 -31.752 -55.2793 -31.752h-0.000976562h-399.964c-18.5234 0 -30.0645 20.0928 -20.7314 36.0928l72.4238 124.155c10.2246 17.5273 34.9902 31.752 55.2822 31.752v0h399.964 +c18.5234 0 30.0645 -20.0928 20.7305 -36.0928zM152 224c-34.0107 0 -65.7861 -18.25 -82.9229 -47.6279l-69.0771 -118.418v278.046c0 26.5098 21.4902 48 48 48h160l64 -64h160c26.5098 0 48 -21.4902 48 -48v-48h-328z" /> + <glyph glyph-name="chart-bar" unicode="&#xf080;" +d="M332.8 128c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM428.8 128 +c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM140.8 128 +c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM236.8 128 +c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM496 64c8.83984 0 16 -7.16016 16 -16v-32 +c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-304h432z" /> + <glyph glyph-name="camera-retro" unicode="&#xf083;" +d="M48 416h416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48zM48 384c-8.7998 0 -16 -7.2002 -16 -16v-10c0 -3.2998 2.7002 -6 6 -6h116c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-106z +M474 288c3.2998 0 6 2.7002 6 6v74c0 8.7998 -7.2002 16 -16 16h-252.8c-2 0 -3.90039 -1 -5 -2.7002l-30.2002 -45.2998h-138c-3.2998 0 -6 -2.7002 -6 -6v-36c0 -3.2998 2.7002 -6 6 -6h436zM256 24c66.2002 0 120 53.7998 120 120s-53.7998 120 -120 120 +s-120 -53.7998 -120 -120s53.7998 -120 120 -120zM256 232c48.5 0 88 -39.5 88 -88s-39.5 -88 -88 -88s-88 39.5 -88 88s39.5 88 88 88zM208 128c8.7998 0 16 7.2002 16 16c0 17.5996 14.4004 32 32 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16 +c-35.2998 0 -64 -28.7002 -64 -64c0 -8.7998 7.2002 -16 16 -16z" /> + <glyph glyph-name="key" unicode="&#xf084;" +d="M512 271.999c0 -97.2021 -78.7979 -175.999 -176 -175.999c-11.2197 0 -22.1904 1.06152 -32.8271 3.06934l-24.0117 -27.0146c-3.95215 -4.44629 -11.9883 -8.05469 -17.9375 -8.05469h-0.000976562h-37.2227v-40c0 -13.2549 -10.7451 -24 -24 -24h-40v-40 +c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v78.0586c0 6.36523 2.5293 12.4707 7.0293 16.9717l161.802 161.802c-5.72266 17.3535 -8.83105 35.8965 -8.83105 55.168c0 97.2021 78.7969 175.999 175.999 176 +c97.4893 0.000976562 176.001 -78.5107 176.001 -176.001zM336 320c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48z" /> + <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="640" +d="M512.1 257l-8.19922 -14.2998c-3 -5.2998 -9.40039 -7.5 -15.1006 -5.40039c-11.7998 4.40039 -22.5996 10.7002 -32.0996 18.6006c-4.60059 3.7998 -5.7998 10.5 -2.7998 15.6992l8.19922 14.3008c-6.89941 8 -12.2998 17.2998 -15.8994 27.3994h-16.5 +c-6 0 -11.2002 4.2998 -12.2002 10.2998c-2 12 -2.09961 24.6006 0 37.1006c1 6 6.2002 10.3994 12.2002 10.3994h16.5c3.59961 10.1006 9 19.4004 15.8994 27.4004l-8.19922 14.2998c-3 5.2002 -1.90039 11.9004 2.7998 15.7002 +c9.5 7.90039 20.3994 14.2002 32.0996 18.5996c5.7002 2.10059 12.1006 -0.0996094 15.1006 -5.39941l8.19922 -14.2998c10.5 1.89941 21.2002 1.89941 31.7002 0l8.2002 14.2998c3 5.2998 9.40039 7.5 15.0996 5.39941c11.8008 -4.39941 22.6006 -10.6992 32.1006 -18.5996 +c4.59961 -3.7998 5.7998 -10.5 2.7998 -15.7002l-8.2002 -14.2998c6.90039 -8 12.2998 -17.2998 15.9004 -27.4004h16.5c6 0 11.2002 -4.2998 12.2002 -10.2998c2 -12 2.09961 -24.5996 0 -37.0996c-1 -6 -6.2002 -10.4004 -12.2002 -10.4004h-16.5 +c-3.60059 -10.0996 -9 -19.3994 -15.9004 -27.3994l8.2002 -14.3008c3 -5.19922 1.90039 -11.8994 -2.7998 -15.6992c-9.5 -7.90039 -20.4004 -14.2002 -32.1006 -18.6006c-5.69922 -2.09961 -12.0996 0.100586 -15.0996 5.40039l-8.2002 14.2998 +c-10.3994 -1.90039 -21.2002 -1.90039 -31.7002 0zM501.6 315.8c38.5 -29.5996 82.4004 14.2998 52.8008 52.7998c-38.5 29.7002 -82.4004 -14.2998 -52.8008 -52.7998zM386.3 161.9l33.7002 -16.8008c10.0996 -5.7998 14.5 -18.0996 10.5 -29.0996 +c-8.90039 -24.2002 -26.4004 -46.4004 -42.5996 -65.7998c-7.40039 -8.90039 -20.2002 -11.1006 -30.3008 -5.2998l-29.0996 16.7998c-16 -13.7002 -34.5996 -24.6006 -54.9004 -31.7002v-33.5996c0 -11.6006 -8.2998 -21.6006 -19.6992 -23.6006 +c-24.6006 -4.2002 -50.4004 -4.39941 -75.9004 0c-11.5 2 -20 11.9004 -20 23.6006v33.5996c-20.2998 7.2002 -38.9004 18 -54.9004 31.7002l-29.0996 -16.7002c-10 -5.7998 -22.9004 -3.59961 -30.2998 5.2998c-16.2002 19.4004 -33.2998 41.6006 -42.2002 65.7002 +c-4 10.9004 0.400391 23.2002 10.5 29.0996l33.2998 16.8008c-3.89941 20.8994 -3.89941 42.3994 0 63.3994l-33.2998 16.9004c-10.0996 5.7998 -14.5996 18.0996 -10.5 29c8.90039 24.2002 26 46.3994 42.2002 65.7998c7.39941 8.90039 20.2002 11.0996 30.2998 5.2998 +l29.0996 -16.7998c16 13.7002 34.6006 24.5996 54.9004 31.7002v33.7002c0 11.5 8.2002 21.5 19.5996 23.5c24.6006 4.19922 50.5 4.39941 76 0.0996094c11.5 -2 20 -11.9004 20 -23.5996v-33.6006c20.3008 -7.2002 38.9004 -18 54.9004 -31.7002l29.0996 16.8008 +c10 5.7998 22.9004 3.59961 30.3008 -5.30078c16.1992 -19.3994 33.1992 -41.5996 42.0996 -65.7998c4 -10.8994 0.0996094 -23.2002 -10 -29.0996l-33.7002 -16.7998c3.90039 -21 3.90039 -42.5 0 -63.5zM268.7 140.8c59.2002 77 -28.7002 164.9 -105.7 105.7 +c-59.2002 -77 28.7002 -164.9 105.7 -105.7zM512.1 -41.9004l-8.19922 -14.2998c-3 -5.2998 -9.40039 -7.5 -15.1006 -5.39941c-11.7998 4.39941 -22.5996 10.6992 -32.0996 18.5996c-4.60059 3.7998 -5.7998 10.5 -2.7998 15.7002l8.19922 14.2998 +c-6.89941 8 -12.2998 17.2998 -15.8994 27.4004h-16.5c-6 0 -11.2002 4.2998 -12.2002 10.2998c-2 12 -2.09961 24.5996 0 37.0996c1 6 6.2002 10.4004 12.2002 10.4004h16.5c3.59961 10.0996 9 19.3994 15.8994 27.3994l-8.19922 14.3008 +c-3 5.19922 -1.90039 11.8994 2.7998 15.6992c9.5 7.90039 20.3994 14.2002 32.0996 18.6006c5.7002 2.09961 12.1006 -0.100586 15.1006 -5.40039l8.19922 -14.2998c10.5 1.90039 21.2002 1.90039 31.7002 0l8.2002 14.2998c3 5.2998 9.40039 7.5 15.0996 5.40039 +c11.8008 -4.40039 22.6006 -10.7002 32.1006 -18.6006c4.59961 -3.7998 5.7998 -10.5 2.7998 -15.6992l-8.2002 -14.3008c6.90039 -8 12.2998 -17.2998 15.9004 -27.3994h16.5c6 0 11.2002 -4.2998 12.2002 -10.2998c2 -12 2.09961 -24.6006 0 -37.1006 +c-1 -6 -6.2002 -10.3994 -12.2002 -10.3994h-16.5c-3.60059 -10.1006 -9 -19.4004 -15.9004 -27.4004l8.2002 -14.2998c3 -5.2002 1.90039 -11.9004 -2.7998 -15.7002c-9.5 -7.90039 -20.4004 -14.2002 -32.1006 -18.5996 +c-5.69922 -2.10059 -12.0996 0.0996094 -15.0996 5.39941l-8.2002 14.2998c-10.3994 -1.89941 -21.2002 -1.89941 -31.7002 0zM501.6 17c38.5 -29.5996 82.4004 14.2998 52.8008 52.7998c-38.5 29.6006 -82.4004 -14.2998 -52.8008 -52.7998z" /> + <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576" +d="M416 256c0 -88.4004 -93.0996 -160 -208 -160c-41 0 -79.0996 9.2998 -111.3 25c-21.7998 -12.7002 -52.1006 -25 -88.7002 -25c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002c0.299805 0.299805 22.3994 24.2998 35.7998 54.5 +c-23.9004 26.0996 -38 57.7002 -38 92c0 88.4004 93.0996 160 208 160s208 -71.5996 208 -160zM538 36c13.4004 -30.2998 35.5 -54.2002 35.7998 -54.5c2.2002 -2.40039 2.7998 -5.7998 1.5 -8.7002c-1.2002 -2.89941 -4.09961 -4.7998 -7.2998 -4.7998 +c-36.5996 0 -66.9004 12.2998 -88.7002 25c-32.2002 -15.7998 -70.2998 -25 -111.3 -25c-86.2002 0 -160.2 40.4004 -191.7 97.9004c10.4004 -1.10059 20.9004 -1.90039 31.7002 -1.90039c132.3 0 240 86.0996 240 192c0 6.7998 -0.400391 13.5 -1.2998 20.0996 +c75.7998 -23.8994 129.3 -81.1992 129.3 -148.1c0 -34.2998 -14.0996 -66 -38 -92z" /> + <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="576" +d="M288 448v-439.6l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998z" /> + <glyph glyph-name="thumbtack" unicode="&#xf08d;" horiz-adv-x="384" +d="M298.028 233.733c47.9893 -22.3135 85.9717 -62.5508 85.9727 -113.733c0 -13.2549 -10.7451 -24 -24 -24h-136v-104.007c0 -1.04297 -0.378906 -2.64551 -0.844727 -3.57812l-24 -48c-2.94727 -5.89258 -11.3701 -5.88184 -14.3115 0l-24 48 +c-0.555664 1.11133 -0.844727 2.33594 -0.844727 3.57812v104.007h-136c-13.2549 0 -24 10.7451 -24 24c0 50.7393 37.4648 91.1797 85.9717 113.733l12.2354 118.267h-42.207c-13.2549 0 -24 10.7451 -24 24v48c0 13.2549 10.7451 24 24 24h272 +c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-42.207z" /> + <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="576" +d="M552 384c13.2998 0 24 -10.7002 24 -24v-56c0 -35.7002 -22.5996 -72.4004 -61.9004 -100.7c-31.3994 -22.7002 -69.6992 -37.0996 -110 -41.7002c-31.3994 -52.0996 -68.0996 -73.5996 -68.0996 -73.5996v-72h48c35.2998 0 64 -20.7002 64 -56v-12 +c0 -6.59961 -5.40039 -12 -12 -12h-296c-6.59961 0 -12 5.40039 -12 12v12c0 35.2998 28.7002 56 64 56h48v72s-36.7002 21.5 -68.0996 73.5996c-40.2002 4.60059 -78.5 19 -110 41.7002c-39.4004 28.2998 -61.9004 65 -61.9004 100.7v56c0 13.2998 10.7002 24 24 24h104v40 +c0 13.2998 10.7002 24 24 24h272c13.2998 0 24 -10.7002 24 -24v-40h104zM99.2998 255.2c12.5 -9 26.6006 -16.2002 41.7002 -21.4004c-7 25 -11.7998 53.6006 -12.7998 86.2002h-64.2002v-16c0 -11.5996 10.9004 -31.2002 35.2998 -48.7998zM512 304v16h-64.2998 +c-1 -32.5996 -5.7998 -61.2002 -12.7998 -86.2002c15.0996 5.2002 29.2998 12.4004 41.7998 21.4004c17.5996 12.7002 35.2998 32.7002 35.2998 48.7998z" /> + <glyph glyph-name="upload" unicode="&#xf093;" +d="M296 64h-80c-13.2998 0 -24 10.7002 -24 24v168h-87.7002c-17.7998 0 -26.7002 21.5 -14.0996 34.0996l152.1 152.2c7.5 7.5 19.7998 7.5 27.2998 0l152.2 -152.2c12.6006 -12.5996 3.7002 -34.0996 -14.0996 -34.0996h-87.7002v-168c0 -13.2998 -10.7002 -24 -24 -24z +M512 72v-112c0 -13.2998 -10.7002 -24 -24 -24h-464c-13.2998 0 -24 10.7002 -24 24v112c0 13.2998 10.7002 24 24 24h136v-8c0 -30.9004 25.0996 -56 56 -56h80c30.9004 0 56 25.0996 56 56v8h136c13.2998 0 24 -10.7002 24 -24zM388 -16c0 11 -9 20 -20 20s-20 -9 -20 -20 +s9 -20 20 -20s20 9 20 20zM452 -16c0 11 -9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20s20 9 20 20z" /> + <glyph glyph-name="lemon" unicode="&#xf094;" +d="M489.038 425.037c23.0938 -23.0938 28.8916 -54.3906 16.833 -75.0928c-34.3115 -58.9043 53.0762 -181.249 -86.7461 -321.071s-262.167 -52.4326 -321.068 -86.7432c-20.7031 -12.0586 -52 -6.2627 -75.0947 16.832c-23.0928 23.0938 -28.8916 54.3906 -16.833 75.0928 +c34.3125 58.9043 -53.0781 181.247 86.7451 321.07s262.167 52.4336 321.073 86.7461c20.7012 12.0586 51.9971 6.25879 75.0908 -16.834zM243.881 352.478c8.57227 2.14355 13.7832 10.8291 11.6416 19.4023c-2.14258 8.57324 -10.8281 13.7852 -19.4033 11.6426 +c-69.8027 -17.4521 -154.218 -101.949 -171.643 -171.643c-2.1416 -8.57324 3.07031 -17.2588 11.6426 -19.4033c1.30273 -0.324219 2.6084 -0.480469 3.89258 -0.480469c7.16895 0 13.6943 4.85352 15.5117 12.124c14.5498 58.2031 90.1689 133.811 148.357 148.357z" /> + <glyph glyph-name="phone" unicode="&#xf095;" +d="M493.4 423.4c10.8994 -2.5 18.5996 -12.2002 18.5996 -23.4004c0 -256.5 -207.9 -464 -464 -464c-11.2998 0 -20.9004 7.7998 -23.4004 18.5996l-24 104c-2.59961 11.3008 3.30078 22.9004 14 27.6006l112 48c9.80078 4.2002 21.2002 1.39941 28 -6.90039 +l49.6006 -60.5996c78.2998 36.7002 141.2 100.5 177.2 177.2l-60.6006 49.5996c-8.2998 6.7002 -11.0996 18.2002 -6.89941 28l48 112c4.59961 10.5996 16.1992 16.5 27.5 13.9004z" /> + <glyph glyph-name="phone-square" unicode="&#xf098;" horiz-adv-x="448" +d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM94 32c160.055 0 290 129.708 290 290v0c0 6.58691 -5.20898 13.1338 -11.6279 14.6143l-65 14.998 +c-0.918945 0.211914 -2.42969 0.383789 -3.37305 0.383789c-5.45996 0 -11.6367 -4.07324 -13.7871 -9.09082l-30 -69.998c-0.668945 -1.5625 -1.21191 -4.20898 -1.21191 -5.9082c0 -3.92383 2.46387 -9.125 5.50098 -11.6104l37.8857 -30.9971 +c-22.4834 -47.9219 -61.8369 -87.8164 -110.78 -110.779l-30.9971 37.8848c-2.48535 3.03711 -7.68652 5.50195 -11.6104 5.50195c-1.69922 0 -4.3457 -0.543945 -5.9082 -1.21289l-69.998 -29.999c-5.01855 -2.15039 -9.09082 -8.32715 -9.09082 -13.7871 +c0 -0.943359 0.171875 -2.4541 0.383789 -3.37305l14.998 -65c1.55957 -6.75391 7.58301 -11.627 14.6162 -11.627z" /> + <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="448" +d="M400 192c26.5 0 48 -21.5 48 -48v-160c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v160c0 26.5 21.5 48 48 48h24v102.5c0 84 67.5 153.2 151.5 153.5s152.5 -68 152.5 -152v-16c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v16 +c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-103.1h248z" /> + <glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576" +d="M0 16v176h576v-176c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48zM192 84v-40c0 -6.59961 5.40039 -12 12 -12h136c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-136c-6.59961 0 -12 -5.40039 -12 -12zM64 84v-40 +c0 -6.59961 5.40039 -12 12 -12h72c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-72c-6.59961 0 -12 -5.40039 -12 -12zM576 368v-48h-576v48c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48z" /> + <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="448" +d="M128.081 32.041c0 -35.3691 -28.6719 -64.041 -64.041 -64.041s-64.04 28.6719 -64.04 64.041s28.6719 64.041 64.041 64.041s64.04 -28.6729 64.04 -64.041zM303.741 -15.209c0.494141 -9.13477 -6.84668 -16.791 -15.9951 -16.79h-48.0693 +c-8.41406 0 -15.4707 6.49023 -16.0176 14.8867c-7.29883 112.07 -96.9404 201.488 -208.772 208.772c-8.39648 0.545898 -14.8867 7.60254 -14.8867 16.0176v48.0693c0 9.14746 7.65625 16.4883 16.791 15.9941c154.765 -8.36328 278.596 -132.351 286.95 -286.95z +M447.99 -15.4971c0.324219 -9.03027 -6.97168 -16.5029 -16.0049 -16.5039h-48.0684c-8.62598 0 -15.6455 6.83496 -15.999 15.4531c-7.83789 191.148 -161.286 344.626 -352.465 352.465c-8.61816 0.354492 -15.4531 7.37402 -15.4531 15.999v48.0684 +c0 9.03418 7.47266 16.3301 16.5029 16.0059c234.962 -8.43555 423.093 -197.667 431.487 -431.487z" /> + <glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576" +d="M576 144v-96c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v96c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48zM528 224h-480h-0.0693359c-8.81738 0 -22.5742 -2.76172 -30.708 -6.16504l96.5283 144.791 +c7.86621 11.7988 25.7578 21.374 39.9385 21.374h268.621c14.1807 0 32.0732 -9.57617 39.9395 -21.374l96.5273 -144.791c-8.13379 3.40332 -21.8906 6.16504 -30.708 6.16504h-0.0693359zM480 128c-17.6729 0 -32 -14.3271 -32 -32s14.3271 -32 32 -32s32 14.3271 32 32 +s-14.3271 32 -32 32zM384 128c-17.6729 0 -32 -14.3271 -32 -32s14.3271 -32 32 -32s32 14.3271 32 32s-14.3271 32 -32 32z" /> + <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="576" +d="M576 208c0 -23.6299 -12.9502 -44.04 -32.0098 -55.1299v-152.87c0 -9.21973 -7.08008 -32 -32 -32c-6.19336 0.00585938 -15.1445 3.15039 -19.9805 7.01953l-85.0293 68.0303c-42.7002 34.1406 -96.3203 52.9502 -150.98 52.9502h-28.0801 +c-2.79004 -10.21 -4.41016 -20.8896 -4.41016 -32c0 -29.0801 9.75 -55.9199 26.1504 -77.4404c15.79 -20.7197 0.149414 -50.5596 -25.9004 -50.5596h-74.2793c-11.8809 0 -23.2109 6.37012 -28.4004 17.0596c-16.2998 33.5908 -25.5605 71.1709 -25.5605 110.94 +c0 10.8604 0.790039 21.5195 2.18066 32h-33.7002c-35.3496 0 -64 28.6504 -64 64v96c0 35.3496 28.6504 64 64 64h192c54.6602 0 108.28 18.8096 150.99 52.9502l85.0293 68.0303c5.79004 4.63965 12.8604 7.01953 19.9805 7.01953c25.0195 0 32 -23.2598 32 -32.0098 +v-152.87c19.0498 -11.0801 32 -31.4902 32 -55.1201zM480 66.5801v282.84l-33.0498 -26.4395c-54 -43.2002 -121.83 -66.9805 -190.95 -66.9805v-96c69.1201 0 136.95 -23.7803 190.95 -66.9805z" /> + <glyph glyph-name="certificate" unicode="&#xf0a3;" +d="M458.622 192.08l45.9844 -45.0039c13.7012 -12.9727 7.32227 -36.0371 -10.6641 -40.3389l-62.6504 -15.9902l17.6611 -62.0146c4.99023 -17.834 -11.8252 -34.665 -29.6611 -29.6719l-61.9941 17.667l-15.9834 -62.6709 +c-4.33887 -18.1533 -27.8252 -24.1553 -40.3252 -10.668l-44.9893 46.001l-44.9912 -46.001c-12.6289 -13.3496 -35.8857 -7.90625 -40.3252 10.668l-15.9834 62.6709l-61.9941 -17.667c-17.832 -4.99121 -34.6523 11.833 -29.6611 29.6719l17.6611 62.0146 +l-62.6504 15.9902c-17.9795 4.2998 -24.3721 27.3613 -10.6641 40.3389l45.9854 45.0039l-45.9854 45.0049c-13.7012 12.9707 -7.32227 36.0371 10.665 40.3379l62.6504 15.9902l-17.6611 62.0146c-4.99023 17.834 11.8242 34.665 29.6611 29.6709l61.9951 -17.667 +l15.9834 62.6709c4.27832 17.9023 27.6953 24.0195 40.3252 10.6689l44.9893 -46.3418l44.9902 46.3428c12.7744 13.5039 36.0947 7.03027 40.3252 -10.6689l15.9834 -62.6709l61.9941 17.667c17.832 4.99219 34.6523 -11.833 29.6611 -29.6709l-17.6611 -62.0146 +l62.6504 -15.9902c17.9795 -4.2998 24.3721 -27.3623 10.6641 -40.3389z" /> + <glyph glyph-name="hand-point-right" unicode="&#xf0a4;" +d="M512 248.348c0 -23.625 -20.6504 -43.8252 -44.7998 -43.8252h-99.8516c16.3408 -17.0488 18.3467 -49.7666 -6.29883 -70.9443c14.2881 -22.8291 2.14746 -53.0176 -16.4502 -62.3154c8.97461 -49.1406 -21.9453 -71.2627 -72.5996 -71.2627 +c-2.74609 0 -13.2764 0.203125 -16 0.195312c-61.9707 -0.167969 -76.8936 31.0645 -123.731 38.3145c-11.6729 1.80762 -20.2686 11.8916 -20.2686 23.7041v171.525l0.00195312 0.000976562c0.0107422 18.3662 10.6074 35.8887 28.4639 43.8447 +c28.8857 12.9941 95.4131 49.0381 107.534 77.3232c7.79688 18.1934 21.3838 29.084 40 29.0918c34.2217 0.0136719 57.752 -35.0977 44.1191 -66.9082c-3.58301 -8.3584 -8.3125 -16.6699 -14.1533 -24.918h149.234c23.4502 0 44.7998 -20.543 44.7998 -43.8262zM96 248 +v-192c0 -13.2549 -10.7451 -24 -24 -24h-48c-13.2549 0 -24 10.7451 -24 24v192c0 13.2549 10.7451 24 24 24h48c13.2549 0 24 -10.7451 24 -24zM68 80c0 11.0459 -8.9541 20 -20 20s-20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20z" /> + <glyph glyph-name="hand-point-left" unicode="&#xf0a5;" +d="M44.7998 292.174h149.234c-5.84082 8.24805 -10.5703 16.5586 -14.1533 24.918c-13.6328 31.8105 9.89746 66.9219 44.1191 66.9082c18.6162 -0.0078125 32.2031 -10.8975 40 -29.0918c12.1221 -28.2861 78.6484 -64.3291 107.534 -77.3232 +c17.8564 -7.95605 28.4531 -25.4785 28.4639 -43.8447l0.00195312 -0.000976562v-171.526c0 -11.8115 -8.5957 -21.8965 -20.2686 -23.7031c-46.8379 -7.25 -61.7607 -38.4824 -123.731 -38.3145c-2.72363 0.00683594 -13.2539 -0.195312 -16 -0.195312 +c-50.6543 0 -81.5742 22.1221 -72.5996 71.2627c-18.5977 9.29688 -30.7383 39.4863 -16.4502 62.3154c-24.6455 21.1768 -22.6396 53.8955 -6.29883 70.9443h-99.8516c-24.1494 0 -44.7998 20.2002 -44.7998 43.8252c0 23.2832 21.3496 43.8262 44.7998 43.8262zM440 272 +h48c13.2549 0 24 -10.7451 24 -24v-192c0 -13.2549 -10.7451 -24 -24 -24h-48c-13.2549 0 -24 10.7451 -24 24v192c0 13.2549 10.7451 24 24 24zM464 60c11.0459 0 20 8.9541 20 20s-8.9541 20 -20 20s-20 -8.9541 -20 -20s8.9541 -20 20 -20z" /> + <glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="384" +d="M135.652 448c23.625 0 43.8252 -20.6504 43.8252 -44.7998v-99.8516c17.0488 16.3408 49.7666 18.3467 70.9443 -6.29883c22.8291 14.2881 53.0176 2.14746 62.3154 -16.4502c49.1406 8.97461 71.2627 -21.9453 71.2627 -72.5996 +c0 -2.74609 -0.203125 -13.2764 -0.195312 -16c0.167969 -61.9707 -31.0645 -76.8936 -38.3145 -123.731c-1.80762 -11.6729 -11.8916 -20.2686 -23.7041 -20.2686h-171.525l-0.000976562 0.00195312c-18.3662 0.0107422 -35.8887 10.6074 -43.8447 28.4639 +c-12.9941 28.8857 -49.0381 95.4121 -77.3232 107.534c-18.1943 7.79688 -29.084 21.3838 -29.0918 40c-0.0136719 34.2217 35.0977 57.752 66.9082 44.1191c8.3584 -3.58301 16.6699 -8.3125 24.918 -14.1533v149.234c0 23.4502 20.543 44.7998 43.8262 44.7998zM136 32 +h192c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v48c0 13.2549 10.7451 24 24 24zM304 4c-11.0459 0 -20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20s-8.9541 20 -20 20z" /> + <glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="384" +d="M91.8262 -19.2002v149.234c-8.24805 -5.84082 -16.5586 -10.5703 -24.918 -14.1533c-31.8105 -13.6328 -66.9219 9.89746 -66.9082 44.1191c0.0078125 18.6162 10.8975 32.2031 29.0918 40c28.2861 12.1221 64.3291 78.6484 77.3232 107.534 +c7.95605 17.8564 25.4785 28.4531 43.8447 28.4639l0.000976562 0.00195312h171.526c11.8115 0 21.8965 -8.5957 23.7031 -20.2686c7.25 -46.8379 38.4824 -61.7607 38.3145 -123.731c-0.00683594 -2.72363 0.195312 -13.2539 0.195312 -16 +c0 -50.6543 -22.1221 -81.5742 -71.2627 -72.5996c-9.29688 -18.5977 -39.4863 -30.7383 -62.3154 -16.4502c-21.1768 -24.6455 -53.8955 -22.6396 -70.9443 -6.29883v-99.8516c0 -24.1494 -20.2002 -44.7998 -43.8252 -44.7998 +c-23.2832 0 -43.8262 21.3496 -43.8262 44.7998zM112 376v48c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24zM324 400c0 11.0459 -8.9541 20 -20 20s-20 -8.9541 -20 -20 +s8.9541 -20 20 -20s20 8.9541 20 20z" /> + <glyph glyph-name="arrow-circle-left" unicode="&#xf0a8;" +d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM284.9 87.5996l-75.5 72.4004h182.6c13.2998 0 24 10.7002 24 24v16c0 13.2998 -10.7002 24 -24 24h-182.6l75.5 72.4004c9.69922 9.2998 9.89941 24.7998 0.399414 34.2998 +l-11 10.8994c-9.39941 9.40039 -24.5996 9.40039 -33.8994 0l-132.7 -132.6c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l132.7 -132.699c9.39941 -9.40039 24.5996 -9.40039 33.8994 0l11 10.8994c9.5 9.5 9.2998 25 -0.399414 34.2998z" /> + <glyph glyph-name="arrow-circle-right" unicode="&#xf0a9;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM227.1 296.4l75.5 -72.4004h-182.6c-13.2998 0 -24 -10.7002 -24 -24v-16c0 -13.2998 10.7002 -24 24 -24h182.6l-75.5 -72.4004 +c-9.69922 -9.2998 -9.89941 -24.7998 -0.399414 -34.2998l11 -10.8994c9.39941 -9.40039 24.5996 -9.40039 33.8994 0l132.7 132.6c9.40039 9.40039 9.40039 24.5996 0 33.9004l-132.7 132.8c-9.39941 9.39941 -24.5996 9.39941 -33.8994 0l-11 -10.9004 +c-9.5 -9.59961 -9.2998 -25.0996 0.399414 -34.3994z" /> + <glyph glyph-name="arrow-circle-up" unicode="&#xf0aa;" +d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM151.6 163.1l72.4004 75.5v-182.6c0 -13.2998 10.7002 -24 24 -24h16c13.2998 0 24 10.7002 24 24v182.6l72.4004 -75.5c9.2998 -9.69922 24.7998 -9.89941 34.2998 -0.399414 +l10.8994 11c9.40039 9.39941 9.40039 24.5996 0 33.8994l-132.6 132.7c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-132.8 -132.7c-9.39941 -9.39941 -9.39941 -24.5996 0 -33.8994l10.9004 -11c9.59961 -9.5 25.0996 -9.2998 34.3994 0.399414z" /> + <glyph glyph-name="arrow-circle-down" unicode="&#xf0ab;" +d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM360.4 220.9l-72.4004 -75.5v182.6c0 13.2998 -10.7002 24 -24 24h-16c-13.2998 0 -24 -10.7002 -24 -24v-182.6l-72.4004 75.5 +c-9.2998 9.69922 -24.7998 9.89941 -34.2998 0.399414l-10.8994 -11c-9.40039 -9.39941 -9.40039 -24.5996 0 -33.8994l132.6 -132.7c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l132.699 132.7c9.40039 9.39941 9.40039 24.5996 0 33.8994l-10.8994 11 +c-9.5 9.5 -25 9.2998 -34.2998 -0.399414z" /> + <glyph glyph-name="globe" unicode="&#xf0ac;" horiz-adv-x="496" +d="M336.5 288h-177c14.5 89.2998 48.7002 152 88.5 152s74 -62.7002 88.5 -152zM152 192c0 22.2002 1.2002 43.5 3.2998 64h185.3c2.10059 -20.5 3.30078 -41.7998 3.30078 -64s-1.2002 -43.5 -3.30078 -64h-185.3c-2.09961 20.5 -3.2998 41.7998 -3.2998 64zM476.7 288 +h-108c-8.7998 56.9004 -25.6006 107.8 -50 141.6c71.5 -21.1992 129.399 -73.6992 158 -141.6zM177.2 429.6c-24.4004 -33.7998 -41.2002 -84.6992 -49.9004 -141.6h-108c28.5 67.9004 86.5 120.4 157.9 141.6zM487.4 256c5.39941 -20.5 8.5 -41.7998 8.5 -64 +s-3.10059 -43.5 -8.60059 -64h-114.6c2.09961 21 3.2998 42.5 3.2998 64s-1.2002 43 -3.2998 64h114.7zM120 192c0 -21.5 1.2002 -43 3.2002 -64h-114.601c-5.39941 20.5 -8.59961 41.7998 -8.59961 64s3.2002 43.5 8.59961 64h114.7 +c-2.09961 -21 -3.2998 -42.5 -3.2998 -64zM159.5 96h177c-14.5 -89.2998 -48.7002 -152 -88.5 -152s-74 62.7002 -88.5 152zM318.8 -45.5996c24.4004 33.7998 41.2002 84.6992 50 141.6h108c-28.5996 -67.9004 -86.5996 -120.4 -158 -141.6zM19.2998 96h108 +c8.7998 -56.9004 25.6006 -107.8 50 -141.6c-71.5 21.1992 -129.399 73.6992 -158 141.6z" /> + <glyph glyph-name="wrench" unicode="&#xf0ad;" +d="M507.73 338.9c11.7891 -47.4102 -0.84082 -99.6602 -37.9102 -136.73c-39.9004 -39.9004 -97.25 -50.9297 -147.37 -34.2197l-213.21 -213.21c-24.9902 -24.9902 -65.5098 -24.9902 -90.5 0s-24.9902 65.5098 0 90.5l213.39 213.39 +c-16.5 50.1006 -5.58984 107.561 34.0498 147.2c37.0303 37.0195 89.2002 49.6699 136.58 37.9297c9.08984 -2.25977 12.2803 -13.54 5.66016 -20.1602l-74.3604 -74.3594l11.3105 -67.8799l67.8799 -11.3105l74.3604 74.3604 +c6.58008 6.58008 17.8799 3.51953 20.1201 -5.50977zM64 -24c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" /> + <glyph glyph-name="tasks" unicode="&#xf0ae;" +d="M139.61 412.5l17 -16.5c1.90234 -1.94531 3.44727 -5.7334 3.44727 -8.4541c0 -2.7627 -1.58496 -6.5918 -3.53809 -8.5459l-72.1992 -72.1904l-15.5898 -15.6191c-2.04297 -1.94238 -5.9873 -3.51758 -8.80566 -3.51758c-2.81738 0 -6.7627 1.5752 -8.80469 3.51758 +l-47.5898 47.3994c-1.94824 1.94141 -3.5293 5.75 -3.5293 8.5c0 2.75098 1.58105 6.55859 3.5293 8.5l15.7002 15.7197c1.94141 1.94824 5.74902 3.53027 8.5 3.53027c2.75 0 6.55762 -1.58203 8.5 -3.53027l22.6992 -22.1191l63.6807 63.3096 +c1.94141 1.94824 5.74902 3.5293 8.5 3.5293c2.75 0 6.55859 -1.58105 8.5 -3.5293zM139.61 253.31l16.9795 -17c1.89648 -1.93164 3.43457 -5.69727 3.43457 -8.4043c0 -2.74805 -1.5791 -6.55371 -3.52441 -8.49512l-72.2002 -72.2197l-15.7002 -15.6904 +c-2.04102 -1.94141 -5.9834 -3.5166 -8.7998 -3.5166s-6.75879 1.5752 -8.7998 3.5166l-47.4697 47.5c-1.94824 1.94141 -3.5293 5.74902 -3.5293 8.5s1.58105 6.55859 3.5293 8.5l15.7002 15.6904c1.94141 1.94824 5.74902 3.5293 8.5 3.5293 +c2.75 0 6.55762 -1.58105 8.5 -3.5293l22.6992 -22.1006l63.6807 63.7197c1.94141 1.94824 5.74902 3.53027 8.5 3.53027c2.75 0 6.55859 -1.58203 8.5 -3.53027zM64 80c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48c-26.4697 0 -48.5898 21.5 -48.5898 48 +s22.0996 48 48.5898 48zM496 64c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-288c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h288zM496 384c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-288 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h288zM496 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-288c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h288z" /> + <glyph glyph-name="filter" unicode="&#xf0b0;" +d="M487.976 448c21.3623 0 32.0459 -25.8965 16.9717 -40.9707l-184.947 -184.971v-262.039c0 -19.5127 -21.9805 -30.71 -37.7627 -19.6611l-80 55.9795c-6.41602 4.49219 -10.2373 11.8311 -10.2373 19.6621v206.059l-184.942 184.971 +c-15.1045 15.1045 -4.34766 40.9707 16.9707 40.9707h463.947z" /> + <glyph glyph-name="briefcase" unicode="&#xf0b1;" +d="M320 112v48h192v-144c0 -25.5996 -22.4004 -48 -48 -48h-416c-25.5996 0 -48 22.4004 -48 48v144h192v-48c0 -8.83984 7.16016 -16 16 -16h96c8.83984 0 16 7.16016 16 16zM464 320c25.5996 0 48 -22.4004 48 -48v-80h-512v80c0 25.5996 22.4004 48 48 48h80v48 +c0 25.5996 22.4004 48 48 48h160c25.5996 0 48 -22.4004 48 -48v-48h80zM320 320v32h-128v-32h128z" /> + <glyph glyph-name="arrows-alt" unicode="&#xf0b2;" +d="M352.201 22.2246l-79.1963 -79.1953c-9.37305 -9.37305 -24.5684 -9.37305 -33.9404 0l-79.1963 79.1953c-15.1191 15.1191 -4.41113 40.9717 16.9707 40.9707h51.1621l-0.000976562 100.805h-100.804v-51.1621c0 -21.3818 -25.8516 -32.0898 -40.9717 -16.9707 +l-79.1953 79.1963c-9.37305 9.37207 -9.37305 24.5684 0 33.9404l79.1953 79.1963c15.1191 15.1191 40.9717 4.41113 40.9717 -16.9717v-51.2285h100.804v100.804h-51.2305c-21.3818 0 -32.0898 25.8516 -16.9707 40.9717l79.1963 79.1953 +c9.37305 9.37305 24.5684 9.37305 33.9404 0l79.1963 -79.1953c15.1191 -15.1191 4.41113 -40.9717 -16.9707 -40.9717h-51.1621v-100.804h100.804v51.1621c0 21.3818 25.8516 32.0898 40.9707 16.9707l79.1953 -79.1963c9.37305 -9.37207 9.37305 -24.5684 0 -33.9404 +l-79.1953 -79.1963c-15.1191 -15.1191 -40.9717 -4.41113 -40.9707 16.9717v51.2285h-100.803v-100.804h51.2305c21.3818 0 32.0898 -25.8516 16.9707 -40.9717z" /> + <glyph glyph-name="users" unicode="&#xf0c0;" horiz-adv-x="640" +d="M96 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM544 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM576 192c35.2998 0 64 -28.7002 64 -64v-32 +c0 -17.7002 -14.2998 -32 -32 -32h-66c-6.2002 47.4004 -34.7998 87.2998 -75.0996 109.4c11.5996 11.5 27.5 18.5996 45.0996 18.5996h64zM320 192c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM396.8 160 +c63.6006 0 115.2 -51.5996 115.2 -115.2v-28.7998c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v28.7998c0 63.6006 51.5996 115.2 115.2 115.2h8.2998c20.9004 -10 43.9004 -16 68.5 -16s47.7002 6 68.5 16h8.2998zM173.1 173.4 +c-40.2998 -22.1006 -68.8994 -62 -75.1992 -109.4h-65.9004c-17.7002 0 -32 14.2998 -32 32v32c0 35.2998 28.7002 64 64 64h64c17.5996 0 33.5 -7.09961 45.0996 -18.5996z" /> + <glyph glyph-name="link" unicode="&#xf0c1;" +d="M326.612 262.609c59.7471 -59.8096 58.9268 -155.698 0.359375 -214.591c-0.109375 -0.119141 -0.239258 -0.25 -0.359375 -0.369141l-67.2002 -67.2002c-59.2705 -59.2705 -155.699 -59.2627 -214.96 0c-59.2705 59.2598 -59.2705 155.7 0 214.96l37.1055 37.1055 +c9.84082 9.84082 26.7861 3.30078 27.2939 -10.6055c0.648438 -17.7227 3.82617 -35.5273 9.69043 -52.7207c1.98633 -5.82227 0.567383 -12.2627 -3.7832 -16.6123l-13.0869 -13.0869c-28.0254 -28.0264 -28.9053 -73.6602 -1.15527 -101.96 +c28.0244 -28.5791 74.0859 -28.749 102.325 -0.510742l67.2002 67.1904c28.1914 28.1914 28.0732 73.7568 0 101.83c-3.70117 3.69434 -7.42871 6.56348 -10.3408 8.56934c-3.66504 2.51562 -6.77734 8.16309 -6.94727 12.6055 +c-0.395508 10.5674 3.34766 21.4561 11.6982 29.8057l21.0537 21.0557c5.52148 5.52051 14.1826 6.19922 20.584 1.73047c6.08301 -4.24707 15.2764 -11.9512 20.5225 -17.1963zM467.547 403.551c59.2705 -59.2598 59.2705 -155.7 -0.000976562 -214.959l-37.1055 -37.1055 +c-9.84082 -9.83984 -26.7852 -3.30078 -27.2939 10.6055c-0.648438 17.7227 -3.82617 35.5273 -9.69043 52.7217c-1.98633 5.82129 -0.567383 12.2617 3.7832 16.6113l13.0869 13.0869c28.0264 28.0264 28.9053 73.6602 1.15527 101.96 +c-28.0254 28.5791 -74.0869 28.749 -102.325 0.510742l-67.2002 -67.1904c-28.1914 -28.1914 -28.0732 -73.7568 0 -101.83c3.70117 -3.69434 7.42871 -6.56348 10.3408 -8.56934c3.66504 -2.51562 6.77734 -8.16309 6.94727 -12.6055 +c0.395508 -10.5674 -3.34766 -21.4561 -11.6982 -29.8057l-21.0537 -21.0557c-5.52051 -5.51953 -14.1826 -6.19922 -20.584 -1.73047c-6.08203 4.24609 -15.2754 11.9502 -20.5215 17.1953c-59.7471 59.8096 -58.9258 155.698 -0.359375 214.591 +c0.109375 0.119141 0.239258 0.25 0.359375 0.369141l67.2002 67.2002c59.2705 59.2705 155.699 59.2627 214.96 0z" /> + <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="640" +d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160 +c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996z" /> + <glyph glyph-name="flask" unicode="&#xf0c3;" horiz-adv-x="448" +d="M437.2 44.5c29.2998 -47 -4.40039 -108.5 -60.1006 -108.5h-306.199c-55.6006 0 -89.4004 61.4004 -60.1006 108.5l117.2 188.5v151h-8c-13.2998 0 -24 10.7002 -24 24v16c0 13.2998 10.7002 24 24 24h208c13.2998 0 24 -10.7002 24 -24v-16 +c0 -13.2998 -10.7002 -24 -24 -24h-8v-151zM137.9 128h172l-48.2002 77.5996c-3.60059 5.2002 -5.7998 11.5 -5.7998 18.4004v160h-64v-160c0 -6.7998 -2.10059 -13.2002 -5.80078 -18.4004z" /> + <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="448" +d="M278.06 192l166.421 -166.43c4.68945 -4.69043 4.68945 -12.29 0 -16.9707c-32.8008 -32.7998 -85.9902 -32.7998 -118.79 0l-115.511 115.521l-24.8594 -24.8604c4.30957 -10.9199 6.67969 -22.8096 6.67969 -35.2598c0 -53.0195 -42.9805 -96 -96 -96 +s-96 42.9805 -96 96s42.9805 96 96 96c4.53027 0 8.99023 -0.320312 13.3604 -0.929688l32.9297 32.9297l-32.9297 32.9297c-4.37012 -0.609375 -8.82031 -0.929688 -13.3604 -0.929688c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96 +c0 -12.4502 -2.37012 -24.3398 -6.67969 -35.2598l24.8594 -24.8604l115.511 115.521c32.7998 32.7998 85.9893 32.7998 118.79 0c4.68945 -4.68066 4.68945 -12.2803 0 -16.9707zM96 288c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32 +s14.3604 -32 32 -32zM96 32c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32s14.3604 -32 32 -32z" /> + <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448" +d="M320 0v-40c0 -13.2549 -10.7451 -24 -24 -24h-272c-13.2549 0 -24 10.7451 -24 24v368c0 13.2549 10.7451 24 24 24h72v-296c0 -30.8789 25.1211 -56 56 -56h168zM320 344c0 -13.2002 10.7998 -24 24 -24h104v-264c0 -13.2549 -10.7451 -24 -24 -24h-272 +c-13.2549 0 -24 10.7451 -24 24v368c0 13.2549 10.7451 24 24 24h168v-104zM440.971 375.029c3.87988 -3.88086 7.0293 -11.4834 7.0293 -16.9707v-6.05859h-96v96h6.05859c5.4873 0 13.0898 -3.14941 16.9707 -7.0293z" /> + <glyph glyph-name="paperclip" unicode="&#xf0c6;" horiz-adv-x="448" +d="M43.2461 -18.1416c-58.4297 60.2891 -57.3408 157.511 1.38574 217.581l209.76 214.561c44.3164 45.332 116.352 45.3359 160.672 0c43.8896 -44.8936 43.9424 -117.329 0 -162.276l-182.85 -186.852c-29.8545 -30.5371 -78.6328 -30.1113 -107.981 0.998047 +c-28.2754 29.9697 -27.3682 77.4727 1.45117 106.953l143.743 146.835c6.18262 6.31348 16.3125 6.42188 22.626 0.241211l22.8613 -22.3799c6.31445 -6.18164 6.42188 -16.3115 0.241211 -22.626l-143.729 -146.82c-4.93164 -5.04492 -5.23535 -13.4287 -0.647461 -18.292 +c4.37207 -4.63379 11.2451 -4.71094 15.6875 -0.165039l182.85 186.851c19.6123 20.0625 19.6123 52.7256 -0.0117188 72.7979c-19.1885 19.627 -49.957 19.6377 -69.1533 0l-209.762 -214.56c-34.7627 -35.5605 -35.2988 -93.1201 -1.19043 -128.313 +c34.0098 -35.0928 88.9844 -35.1367 123.058 -0.285156l172.061 175.999c6.17676 6.31836 16.3066 6.43262 22.626 0.255859l22.877 -22.3643c6.31836 -6.17676 6.43359 -16.3066 0.255859 -22.626l-172.061 -175.998c-59.5752 -60.9385 -155.942 -60.2158 -214.77 0.485352 +z" /> + <glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448" +d="M433.941 318.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM224 32 +c35.3457 0 64 28.6543 64 64s-28.6543 64 -64 64s-64 -28.6543 -64 -64s28.6543 -64 64 -64zM320 336.52c0 2.74316 -1.5752 6.5459 -3.51465 8.48535l-3.48047 3.48047c-2.25 2.25098 -5.30176 3.51465 -8.48535 3.51465h-228.52c-6.62695 0 -12 -5.37305 -12 -12v-104 +c0 -6.62695 5.37305 -12 12 -12h232c6.62695 0 12 5.37305 12 12v100.52z" /> + <glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352z" /> + <glyph glyph-name="bars" unicode="&#xf0c9;" horiz-adv-x="448" +d="M16 316c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 156c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40 +c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 -4c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416z" /> + <glyph glyph-name="list-ul" unicode="&#xf0ca;" +d="M48 400c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48s-48 21.5039 -48 48s21.5039 48 48 48zM48 240c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48s-48 21.5039 -48 48s21.5039 48 48 48zM48 80c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48 +s-48 21.5039 -48 48s21.5039 48 48 48zM496 64c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM496 384c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16 +h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM496 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320z" /> + <glyph glyph-name="list-ol" unicode="&#xf0cb;" +d="M61.7695 47c19.6104 -5.12012 28.7002 -20.5 28.7305 -34.8799c0 -21.3701 -14.3398 -44.1201 -48.5 -44.1201c-16.6201 0 -29.29 4.75 -37 9.44043c-5.82031 4.21973 -6.34961 9.80957 -2.62988 15.9395l5.58984 9.31055c3.86035 6.61914 9.11035 7 15.5996 3.11914 +c4.10352 -1.68652 11.0342 -3.08496 15.4707 -3.11914c10.1602 0 14.3594 3.5 14.3594 8.21973c0 6.64941 -5.60938 9.08984 -15.9395 9.08984h-4.73047c-5.95996 0 -9.25 2.12012 -12.25 7.87988l-1.0498 1.92969c-2.4502 4.75 -1.2002 9.81055 2.7998 14.8809l5.61035 7 +c2.85742 3.55664 7.78516 9.07129 11 12.3096h-22.8301c-4.41602 0 -8 3.58398 -8 8v16c0 4.41602 3.58398 8 8 8h57c7.5 0 11.3398 -4 11.3398 -11.3496v-3.31055c0.0107422 -0.245117 0.0205078 -0.644531 0.0205078 -0.890625 +c0 -4.20801 -2.28027 -10.166 -5.09082 -13.2988zM496 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM496 384c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM496 64c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-320c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h320zM16 288 +c-4.41602 0 -8 3.58398 -8 8v16c0 4.41602 3.58398 8 8 8h16v64h-8c-4.4082 0.0078125 -7.98535 3.5918 -7.98535 8c0 1.04297 0.378906 2.64746 0.845703 3.58008l8 16c1.21777 2.43457 4.41699 4.41504 7.13965 4.41992h24c4.41602 0 8 -3.58398 8 -8v-88h16 +c4.41602 0 8 -3.58398 8 -8v-16c0 -4.41602 -3.58398 -8 -8 -8h-64zM12.0898 128c-7.00977 0 -12.0898 4 -12.0898 11.4102v4c0 47.2803 51 56.3994 50.9697 69.1201c0 7.18945 -5.9502 8.75 -9.2793 8.75h-0.0546875c-3.02832 0 -7.24219 -1.7207 -9.40527 -3.83984 +c-5.12012 -4.91016 -10.5107 -7 -16.1201 -2.44043l-8.58008 6.87988c-5.7998 4.53027 -7.16992 9.78027 -2.7998 15.3701c6.65918 8.75 19.0996 18.75 40.46 18.75c19.4697 0 44.4697 -10.5 44.4697 -39.5596c0 -37.7607 -45.0498 -46.1504 -48.3398 -56.4404h38.6797 +c4.41602 0 8 -3.58398 8 -8v-16c0 -4.41602 -3.58398 -8 -8 -8h-67.9102z" /> + <glyph glyph-name="strikethrough" unicode="&#xf0cc;" +d="M496 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-480c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h102.29c-11.6797 16.5303 -19.7803 35.4697 -21.7803 56.3604c-0.319336 3.29297 -0.579102 8.65137 -0.579102 11.96 +c0 68.2158 55.3633 123.624 123.579 123.68h68h0.0117188c43.6865 0 94.9863 -31.7188 114.509 -70.7998l0.529297 -1c0.930664 -1.86328 1.68652 -5.06641 1.68652 -7.14844c0 -5.45898 -3.96289 -11.8711 -8.8457 -14.3115l-42.9404 -21.4707 +c-1.86426 -0.931641 -5.06836 -1.6875 -7.15234 -1.6875c-5.45605 0 -11.8652 3.95996 -14.3076 8.83789c-7.61133 15.2246 -27.6025 27.5801 -44.624 27.5801h-0.0361328h-66.79c-24.0391 -0.000976562 -43.5488 -19.5107 -43.5488 -43.5498 +c0 -17.749 13.7666 -36.3945 30.7295 -41.6201l87.1699 -26.8301h202.1zM315.76 128h94.3906c2.21191 -6.56152 4.60352 -17.4746 5.33984 -24.3604c0.319336 -3.29297 0.579102 -8.65137 0.579102 -11.96c0 -68.2158 -55.3633 -123.624 -123.579 -123.68h-68h-0.0117188 +c-43.6865 0 -94.9863 31.7188 -114.509 70.7998l-0.529297 1c-0.930664 1.86328 -1.68652 5.06641 -1.68652 7.14844c0 5.45898 3.96289 11.8711 8.8457 14.3115l42.9404 21.4707c1.86426 0.931641 5.06836 1.6875 7.15234 1.6875 +c5.45605 0 11.8652 -3.95996 14.3076 -8.83789c7.61133 -15.2246 27.6025 -27.5801 44.624 -27.5801h0.0361328h66.79c24.0176 0.0224609 43.5273 19.5322 43.5498 43.5498c-0.00976562 13.1572 -9.07715 29.4863 -20.2402 36.4502z" /> + <glyph glyph-name="underline" unicode="&#xf0cd;" horiz-adv-x="448" +d="M32 384c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h144c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32v-160c0 -44.1602 35.8398 -80 80 -80s80 35.8398 80 80v160h-32c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h144c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32v-160c0 -88.2197 -71.7803 -160 -160 -160s-160 71.7803 -160 160v160h-32zM432 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h416z" /> + <glyph glyph-name="table" unicode="&#xf0ce;" +d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM224 32v96h-160v-96h160zM224 192v96h-160v-96h160zM448 32v96h-160v-96h160zM448 192v96h-160v-96h160z" /> + <glyph glyph-name="magic" unicode="&#xf0d0;" +d="M224 352l-16 32l-32 16l32 16l16 32l16 -32l32 -16l-32 -16zM80 288l-26.6602 53.3301l-53.3398 26.6699l53.3398 26.6699l26.6602 53.3301l26.6602 -53.3301l53.3398 -26.6699l-53.3398 -26.6699zM432 160l26.6602 -53.3301l53.3398 -26.6699l-53.3398 -26.6699 +l-26.6602 -53.3301l-26.6602 53.3301l-53.3398 26.6699l53.3398 26.6699zM502.62 353.77c12.5 -12.4893 12.5 -32.7598 0 -45.2393l-363.14 -363.15c-6.25 -6.25 -14.4404 -9.37012 -22.6309 -9.37012c-8.17969 0 -16.3691 3.12012 -22.6191 9.37012l-84.8506 84.8506 +c-12.5 12.4893 -12.5 32.75 0 45.25l363.14 363.14c6.25 6.25977 14.4404 9.37988 22.6309 9.37988c8.18945 0 16.3799 -3.12012 22.6191 -9.37988zM359.45 244.54l86.5996 86.5996l-50.9102 50.9102l-86.5996 -86.5996z" /> + <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="640" +d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96h-16c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48 -21.5 48 -48v-48h44.0996 +c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM480 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48 +s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" /> + <glyph glyph-name="money-bill" unicode="&#xf0d6;" horiz-adv-x="640" +d="M608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM48 48h64c0 35.3496 -28.6504 64 -64 64v-64zM48 272c35.3496 0 64 28.6504 64 64h-64v-64zM320 96 +c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96zM592 48v64c-35.3496 0 -64 -28.6504 -64 -64h64zM592 272v64h-64c0 -35.3496 28.6504 -64 64 -64z" /> + <glyph glyph-name="caret-down" unicode="&#xf0d7;" horiz-adv-x="320" +d="M31.2998 256h257.3c17.8008 0 26.7002 -21.5 14.1006 -34.0996l-128.601 -128.7c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-128.6 128.7c-12.6006 12.5996 -3.7002 34.0996 14.0996 34.0996z" /> + <glyph glyph-name="caret-up" unicode="&#xf0d8;" horiz-adv-x="320" +d="M288.662 96h-257.324c-17.8184 0 -26.7412 21.543 -14.1416 34.1416l128.662 128.662c7.80957 7.81055 20.4736 7.81055 28.2832 0l128.662 -128.662c12.6006 -12.5986 3.67676 -34.1416 -14.1416 -34.1416z" /> + <glyph glyph-name="caret-left" unicode="&#xf0d9;" horiz-adv-x="192" +d="M192 320.662v-257.324c0 -17.8184 -21.543 -26.7412 -34.1416 -14.1416l-128.662 128.662c-7.81055 7.80957 -7.81055 20.4736 0 28.2832l128.662 128.662c12.5986 12.6006 34.1416 3.67676 34.1416 -14.1416z" /> + <glyph glyph-name="caret-right" unicode="&#xf0da;" horiz-adv-x="192" +d="M0 63.3379v257.324c0 17.8184 21.543 26.7412 34.1416 14.1416l128.662 -128.662c7.81055 -7.80957 7.81055 -20.4736 0 -28.2832l-128.662 -128.662c-12.5986 -12.6006 -34.1416 -3.67676 -34.1416 14.1416z" /> + <glyph glyph-name="columns" unicode="&#xf0db;" +d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM224 32v256h-160v-256h160zM448 32v256h-160v-256h160z" /> + <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="320" +d="M41 160h238c21.4004 0 32.0996 -25.9004 17 -41l-119 -119c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-119.1 119c-15.0996 15.0996 -4.40039 41 17 41zM296 265c15.0996 -15.0996 4.40039 -41 -17 -41h-238c-21.4004 0 -32.0996 25.9004 -17 41l119.1 119 +c9.30078 9.40039 24.5 9.40039 33.9004 0z" /> + <glyph glyph-name="sort-down" unicode="&#xf0dd;" horiz-adv-x="320" +d="M41 160h238c21.4004 0 32.0996 -25.9004 17 -41l-119 -119c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-119.1 119c-15.0996 15.0996 -4.40039 41 17 41z" /> + <glyph glyph-name="sort-up" unicode="&#xf0de;" horiz-adv-x="320" +d="M279 224h-238c-21.4004 0 -32.0996 25.9004 -17 41l119 119c9.40039 9.40039 24.5996 9.40039 33.9004 0l119 -119c15.1992 -15.0996 4.5 -41 -16.9004 -41z" /> + <glyph glyph-name="envelope" unicode="&#xf0e0;" +d="M502.3 257.2c3.90039 3.09961 9.7002 0.200195 9.7002 -4.7002v-204.5c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v204.4c0 5 5.7002 7.7998 9.7002 4.69922c22.3994 -17.3994 52.0996 -39.5 154.1 -113.6 +c21.1006 -15.4004 56.7002 -47.7998 92.2002 -47.5996c35.7002 -0.300781 72 32.7998 92.2998 47.5996c102 74.0996 131.601 96.2998 154 113.7zM256 128c-23.2002 -0.400391 -56.5996 29.2002 -73.4004 41.4004c-132.699 96.2998 -142.8 104.8 -173.399 128.699 +c-5.7998 4.60059 -9.2002 11.5 -9.2002 18.9004v19c0 26.5 21.5 48 48 48h416c26.5 0 48 -21.5 48 -48v-19c0 -7.40039 -3.40039 -14.4004 -9.2002 -18.9004c-30.5996 -24 -40.7002 -32.3994 -173.399 -128.699c-16.8008 -12.2002 -50.2002 -41.8008 -73.4004 -41.4004z" /> + <glyph glyph-name="undo" unicode="&#xf0e2;" +d="M212.333 223.667h-200.333c-6.62695 0 -12 5.37305 -12 12v200.333c0 6.62695 5.37305 12 12 12h48c6.62695 0 12 -5.37305 12 -12v-78.1123c45.7734 50.833 112.26 82.6426 186.175 82.1055c136.906 -0.994141 246.448 -111.623 246.157 -248.532 +c-0.291016 -136.719 -111.212 -247.461 -247.999 -247.461c-64.0889 0 -122.496 24.3135 -166.51 64.2148c-5.09961 4.62207 -5.33398 12.5537 -0.466797 17.4199l33.9668 33.9668c4.47363 4.47461 11.6621 4.71777 16.4004 0.525391 +c31.0361 -27.4629 71.8564 -44.127 116.609 -44.127c97.2676 0 176 78.7158 176 176c0 97.2666 -78.7158 176 -176 176c-58.4961 0 -110.28 -28.4756 -142.274 -72.333h98.2744c6.62695 0 12 -5.37305 12 -12v-48c0 -6.62695 -5.37305 -12 -12 -12z" /> + <glyph glyph-name="gavel" unicode="&#xf0e3;" +d="M504.971 248.638c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-124.451 -124.451c-9.37109 -9.37305 -24.5674 -9.37305 -33.9404 0l-22.627 22.627c-9.37305 9.37207 -9.37305 24.5684 0 33.9414l5.65723 5.65625l-39.5986 39.5986l-81.04 -81.04l5.65723 -5.65723 +c12.4971 -12.4971 12.4971 -32.7578 0 -45.2549l-114.745 -114.745c-12.4971 -12.4971 -32.7578 -12.4971 -45.2549 0l-45.2549 45.2549c-12.4971 12.4971 -12.4971 32.7578 0 45.2549l114.744 114.746c12.4971 12.4971 32.7578 12.4971 45.2549 0l5.65723 -5.65723 +l81.04 81.04l-39.5986 39.5986l-5.65625 -5.65723c-9.37207 -9.37305 -24.5684 -9.37305 -33.9414 0l-22.627 22.627c-9.37305 9.37207 -9.37305 24.5684 0 33.9404l124.451 124.451c9.37207 9.37305 24.5674 9.37305 33.9404 0l22.627 -22.6279 +c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-5.65625 -5.65723l113.138 -113.137l5.65723 5.65625c9.37207 9.37305 24.5674 9.37305 33.9404 0z" /> + <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="320" +d="M296 288c18.5 0 30 -20.0996 20.7002 -36l-176 -304c-4.40039 -7.59961 -12.4004 -12 -20.7998 -12c-15.3008 0 -26.9004 14.2998 -23.3008 29.5l46.1006 194.5h-118.7c-14.5 0 -25.7002 12.7998 -23.7998 27.2002l32 240 +c1.59961 11.8994 11.7998 20.7998 23.7998 20.7998h144c15.7002 0 27.2002 -15 23.2002 -30.2002l-42.6006 -129.8h115.4z" /> + <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="640" +d="M128 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM104 176v-48h-48v57.5898c0 21.1797 17.2305 38.4102 38.4102 38.4102h201.59v64h-40c-17.6699 0 -32 14.3301 -32 32 +v96c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-40v-64h201.59c21.1797 0 38.4102 -17.2402 38.4102 -38.4102v-57.5898h-48v48h-192v-48h-48v48h-192zM368 96c17.6699 0 32 -14.3301 32 -32v-96 +c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM608 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96z" /> + <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="576" +d="M575.7 167.2c2.2002 -10.1006 -8.40039 -21.4004 -18.7002 -11.4004c-51.5 54.4004 -107.6 52.5 -158.6 -37c-5.30078 -9.5 -14.9004 -8.59961 -19.7002 0c-2.5 4.40039 -32.2002 73.2002 -90.7002 73.2002c-45.7998 0 -70.5 -37.7998 -90.7002 -73.2002 +c-4.7998 -8.59961 -14.3994 -9.5 -19.7002 0c-50.8994 89.4004 -106.6 92 -158.6 37c-10.2002 -9.89941 -20.9004 1.2998 -18.7002 11.4004c29.2002 136.3 138 218.2 255.7 230.899v17.9004c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-17.9004 +c117.3 -12.6992 227.1 -94.5996 255.7 -230.899zM256 146.3c9.59961 8.90039 19.7002 13.6006 32 13.7002c12.2002 0 22.9004 -5.7002 32 -13.5996v-130.301c0 -44.0996 -35.9004 -80 -80 -80c-33.7998 0 -64.2002 21.4004 -75.4004 53.3008 +c-5.89941 16.5996 2.80078 34.8994 19.5 40.7998c16.7002 5.89941 34.9004 -2.7998 40.8008 -19.5c1.89941 -5.40039 7.2998 -10.7002 15.0996 -10.7002c8.7998 0 16 7.2002 16 16v130.3z" /> + <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="448" +d="M128 264v-232h-104c-13.2549 0 -24 10.7451 -24 24v336c0 13.2549 10.7451 24 24 24h80.6104c11.084 19.1104 31.7529 32 55.3896 32s44.3057 -12.8896 55.3896 -32h80.6104c13.2549 0 24 -10.7451 24 -24v-72h-136c-30.8779 0 -56 -25.1211 -56 -56zM160 408 +c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM344 160h104v-200c0 -13.2549 -10.7451 -24 -24 -24h-240c-13.2549 0 -24 10.7451 -24 24v304c0 13.2549 10.7451 24 24 24h136v-104c0 -13.2002 10.7998 -24 24 -24z +M448 198.059v-6.05859h-96v96h6.05859c5.4873 0 13.0898 -3.14941 16.9707 -7.0293l65.9404 -65.9404c3.88086 -3.88086 7.03027 -11.4834 7.03027 -16.9717z" /> + <glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352" +d="M96.0596 -6.34961l-0.0498047 38.3496h159.98l-0.0400391 -38.3496c-0.00585938 -5.3291 -2.40723 -13.2549 -5.36035 -17.6904l-17.0898 -25.6904c-5.24023 -7.88184 -17.1748 -14.2793 -26.6396 -14.2793h-61.71c-9.46582 0 -21.4004 6.39746 -26.6406 14.2793 +l-17.0898 25.6904c-3.49023 5.24023 -5.34961 11.4004 -5.36035 17.6904zM0 272c0 93.0303 73.4404 175.69 175.45 176c97.46 0.299805 176.55 -78.6104 176.55 -176c0 -44.3701 -16.4502 -84.8496 -43.5596 -115.78c-16.5205 -18.8496 -42.3604 -58.2295 -52.21 -91.4502 +c-0.0400391 -0.269531 -0.0703125 -0.519531 -0.110352 -0.779297h-160.24c-0.0400391 0.259766 -0.0703125 0.519531 -0.110352 0.779297c-9.84961 33.2207 -35.6895 72.6006 -52.21 91.4502c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78zM176 352 +c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16c-61.7598 0 -112 -50.2402 -112 -112c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16c0 44.1104 35.8896 80 80 80z" /> + <glyph glyph-name="user-md" unicode="&#xf0f0;" horiz-adv-x="448" +d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM104 24c0 13.2998 10.7002 24 24 24s24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24zM320 159.4c71.2002 -3.5 128 -61.8008 128 -133.801 +v-44.7998c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v44.7998c0 66.6006 48.5 121.4 112.1 132.101v-80.4004c-23.0996 -6.89941 -40 -28.0996 -40 -53.3994c0 -30.9004 25.1006 -56 56 -56 +c30.9004 0 56 25.0996 56 56c0 25.2998 -16.8994 46.5 -40 53.3994v81.6006c7.7002 -1 15.2002 -2.60059 22.6006 -5.2002c18 -6.2998 37.2998 -9.7998 57.3994 -9.7998c20.1006 0 39.4004 3.5 57.4004 9.7998c2.2002 0.799805 4.40039 1.2002 6.59961 1.89941v-45.1992 +c-36.5 -7.5 -64 -39.8008 -64 -78.4004v-43.7998c0 -8.10059 5.90039 -14.7998 13.8008 -15.9004l31.1992 -4.2002c4.30078 -0.799805 8.5 2 9.40039 6.30078l3.09961 15.6992c0.800781 4.30078 -2 8.5 -6.2998 9.40039l-19.2998 3.90039v26.6992 +c0 67 96 64.7002 96 1.90039v-28.5l-19.2998 -3.90039c-4.40039 -0.799805 -7.2002 -5.09961 -6.2998 -9.39941l3.09961 -15.7002c0.900391 -4.40039 5.09961 -7.2002 9.40039 -6.2998l32.1992 6.39941c7.5 1.5 12.9004 8.10059 12.9004 15.7002v41.7002 +c0 38.5996 -27.5 71 -64 78.4004v49z" /> + <glyph glyph-name="stethoscope" unicode="&#xf0f1;" +d="M447.1 336c35.7002 0.5 64.9004 -28.2998 64.9004 -64c0 -23.7002 -12.9004 -44.2998 -32 -55.4004v-112.6c0 -92.5996 -79 -168 -176 -168c-95.4004 0 -173.3 72.7998 -175.9 163.2c-73 14.7998 -128.1 79.5 -128.1 156.8v155.4c0 11.5 8.09961 21.2998 19.2998 23.5996 +l62.7998 12.4004c13 2.59961 25.6006 -5.80078 28.2002 -18.8008l3.10059 -15.6992c2.59961 -13 -5.80078 -25.6006 -18.8008 -28.2002l-30.6992 -6.10059v-122.5c0 -53.2998 43.5 -96.5 96.8994 -96c52.9004 0.5 95.1006 44.3008 95.1006 97.2002v121.4l-30.7002 6.09961 +c-13 2.60059 -21.4004 15.2002 -18.7998 28.2002l3.19922 15.7002c2.60059 13 15.2002 21.3994 28.2002 18.7998l62.9004 -12.5996c11.2002 -2.2002 19.2998 -12.1006 19.2998 -23.5v-155.4c0 -77.2002 -55 -141.8 -127.8 -156.8 +c2.7002 -55.1006 51.8994 -99.2002 111.899 -99.2002c61.8008 0 112 46.7002 112 104v112.6c-19.5 11.2002 -32.5 32.5 -32 56.8008c0.700195 34.1992 28.8008 62.0996 63 62.5996zM448 256c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16 +s7.2002 -16 16 -16z" /> + <glyph glyph-name="suitcase" unicode="&#xf0f2;" +d="M128 -32v400c0 26.5 21.5 48 48 48h160c26.5 0 48 -21.5 48 -48v-400h-256zM192 352v-32h128v32h-128zM512 272v-256c0 -26.5 -21.5 -48 -48 -48h-48v352h48c26.5 0 48 -21.5 48 -48zM96 -32h-48c-26.5 0 -48 21.5 -48 48v256c0 26.5 21.5 48 48 48h48v-352z" /> + <glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448" +d="M224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64zM439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32 +c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398 +c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29z" /> + <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="640" +d="M192 64c-53 0 -96 43 -96 96v232c0 13.2998 10.7002 24 24 24h392c70.5996 0 128 -57.4004 128 -128s-57.4004 -128 -128 -128h-32c0 -53 -43 -96 -96 -96h-192zM512 352h-32v-128h32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64zM559.7 -32h-511.4 +c-47.5996 0 -61 64 -36 64h583.3c25 0 11.8008 -64 -35.8994 -64z" /> + <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448" +d="M448 -44v-20h-448v20c0 6.62695 5.37305 12 12 12h20v360c0 13.2549 10.7451 24 24 24h88v72c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-72h88c13.2549 0 24 -10.7451 24 -24v-360h20c6.62695 0 12 -5.37305 12 -12zM308 256h-40 +c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12zM140 192h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40 +c0 -6.62695 5.37305 -12 12 -12zM244 64h-40c-6.62695 0 -12 -5.37305 -12 -12v-84h64v84c0 6.62695 -5.37305 12 -12 12zM308 160h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12 +zM192 148c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40zM182 352h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20 +c0 3.31152 -2.68848 6 -6 6h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6z" /> + <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="640" +d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96h-16c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48 -21.5 48 -48v-48h44.0996 +c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM304 232v48c0 4.40039 -3.59961 8 -8 8h-56v56 +c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8zM480 -16c26.5 0 48 21.5 48 48 +s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" /> + <glyph glyph-name="medkit" unicode="&#xf0fa;" +d="M96 -32v352h32v48c0 26.5098 21.4902 48 48 48h160c26.5098 0 48 -21.4902 48 -48v-48h32v-352h-320zM192 352v-32h128v32h-128zM512 272v-256c0 -26.5098 -21.4902 -48 -48 -48h-16v352h16c26.5098 0 48 -21.4902 48 -48zM64 -32h-16c-26.5098 0 -48 21.4902 -48 48v256 +c0 26.5098 21.4902 48 48 48h16v-352zM352 176c0 8.83691 -7.16309 16 -16 16h-48v48c0 8.83691 -7.16309 16 -16 16h-32c-8.83691 0 -16 -7.16309 -16 -16v-48h-48c-8.83691 0 -16 -7.16309 -16 -16v-32c0 -8.83691 7.16309 -16 16 -16h48v-48 +c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v48h48c8.83691 0 16 7.16309 16 16v32z" /> + <glyph glyph-name="fighter-jet" unicode="&#xf0fb;" horiz-adv-x="640" +d="M544 224c96 -21.333 96 -26.583 96 -32s0 -10.667 -96 -32l-128 -16l-48 -16h-24l-116.842 -148h39.5088c11.666 0 21.333 -2.625 21.333 -6s-9.66602 -6 -21.333 -6h-114.667v12h16v164h-48l-66.666 -80h-34.667l-10.667 10.667v69.333h8v16h48v2.66699l-64 8v42.667 +l64 8v2.66602h-48v16h-8v69.333l10.667 10.667h34.666l66.667 -80h48v164h-16v12h114.667c11.666 0 21.333 -2.625 21.333 -6s-9.66699 -6 -21.333 -6h-39.5088l116.842 -148h24l48 -16z" /> + <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="448" +d="M368 352c44.1123 0 80 -35.8877 80 -80v-128.86c0 -31.5273 -18.6035 -60.2031 -47.3936 -73.0527l-80.6064 -35.9766v-42.1104c0 -13.2549 -10.7451 -24 -24 -24h-272c-13.2549 0 -24 10.7451 -24 24v400c0 13.2549 10.7451 24 24 24h272c13.2549 0 24 -10.7451 24 -24 +v-40h48zM384 143.14v128.86c0 8.82227 -7.17773 16 -16 16h-48v-183.805l54.5215 24.334c5.22754 2.33789 9.47461 8.88379 9.47852 14.6104zM208 64c8.83594 0 16 7.16406 16 16v224c0 8.83594 -7.16406 16 -16 16s-16 -7.16406 -16 -16v-224 +c0 -8.83594 7.16406 -16 16 -16zM112 64c8.83594 0 16 7.16406 16 16v224c0 8.83594 -7.16406 16 -16 16s-16 -7.16406 -16 -16v-224c0 -8.83594 7.16406 -16 16 -16z" /> + <glyph glyph-name="h-square" unicode="&#xf0fd;" horiz-adv-x="448" +d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM336 320h-32c-8.83691 0 -16 -7.16309 -16 -16v-80h-128v80c0 8.83691 -7.16309 16 -16 16h-32 +c-8.83691 0 -16 -7.16309 -16 -16v-224c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v80h128v-80c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v224c0 8.83691 -7.16309 16 -16 16z" /> + <glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM368 164v56c0 6.59961 -5.40039 12 -12 12h-92v92c0 6.59961 -5.40039 12 -12 12h-56c-6.59961 0 -12 -5.40039 -12 -12v-92h-92 +c-6.59961 0 -12 -5.40039 -12 -12v-56c0 -6.59961 5.40039 -12 12 -12h92v-92c0 -6.59961 5.40039 -12 12 -12h56c6.59961 0 12 5.40039 12 12v92h92c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="angle-double-left" unicode="&#xf100;" horiz-adv-x="448" +d="M223.7 209l136 136c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.6006 -22.5996c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-96.2998 -96.5l96.3994 -96.4004c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.7002 +c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-136 136c-9.5 9.40039 -9.5 24.5996 -0.0996094 34zM31.7002 175c-9.40039 9.40039 -9.40039 24.5996 0.0996094 34l136 136c9.2998 9.40039 24.5 9.40039 33.9004 0l22.5996 -22.7002 +c9.40039 -9.2998 9.40039 -24.5 0 -33.8994l-96.3994 -96.4004l96.2998 -96.5c9.39941 -9.2998 9.39941 -24.5 0 -33.9004l-22.6006 -22.5996c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0z" /> + <glyph glyph-name="angle-double-right" unicode="&#xf101;" horiz-adv-x="448" +d="M224.3 175l-136 -136c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.6006 22.5996c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l96.4004 96.4004l-96.4004 96.3994c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l22.5 22.7998 +c9.40039 9.40039 24.6006 9.40039 33.9004 0l136 -136c9.5 -9.40039 9.5 -24.5996 0.0996094 -34zM416.3 209c9.40039 -9.40039 9.40039 -24.5996 0 -33.7998l-136 -136c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0l-22.6006 22.5996 +c-9.39941 9.2998 -9.39941 24.5 0 33.9004l96.4004 96.3994l-96.4004 96.4004c-9.39941 9.2998 -9.39941 24.5 0 33.9004l22.6006 22.5996c9.2998 9.40039 24.5 9.40039 33.8994 0z" /> + <glyph glyph-name="angle-double-up" unicode="&#xf102;" horiz-adv-x="320" +d="M177 192.3l136 -136c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.6006c-9.40039 -9.39941 -24.6006 -9.39941 -33.9004 0l-96.5 96.2998l-96.4004 -96.3994c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.7002 22.5996 +c-9.40039 9.40039 -9.40039 24.6006 0 33.9004l136 136c9.40039 9.5 24.5996 9.5 34 0.0996094zM143 384.3c9.40039 9.40039 24.5996 9.40039 33.7998 0l136 -136c9.40039 -9.2998 9.40039 -24.5 0 -33.8994l-22.5996 -22.6006c-9.2998 -9.39941 -24.5 -9.39941 -33.9004 0 +l-96.3994 96.4004l-96.4004 -96.4004c-9.2998 -9.39941 -24.5 -9.39941 -33.9004 0l-22.5996 22.6006c-9.40039 9.2998 -9.40039 24.5 0 33.8994z" /> + <glyph glyph-name="angle-double-down" unicode="&#xf103;" horiz-adv-x="320" +d="M143 191.7l-136 136c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.5996 22.6006c9.40039 9.39941 24.6006 9.39941 33.9004 0l96.4004 -96.4004l96.3994 96.4004c9.40039 9.39941 24.6006 9.39941 33.9004 0l22.7998 -22.5 +c9.40039 -9.40039 9.40039 -24.6006 0 -33.9004l-136 -136c-9.40039 -9.5 -24.5996 -9.5 -34 -0.0996094zM177 -0.299805c-9.40039 -9.40039 -24.5996 -9.40039 -34 0.0996094l-136 136c-9.40039 9.2998 -9.40039 24.5 0 33.9004l22.7002 22.5996 +c9.2998 9.40039 24.5 9.40039 33.8994 0l96.4004 -96.3994l96.5 96.2998c9.2998 9.39941 24.5 9.39941 33.9004 0l22.5996 -22.6006c9.40039 -9.2998 9.40039 -24.5 0 -33.8994z" /> + <glyph glyph-name="angle-left" unicode="&#xf104;" horiz-adv-x="256" +d="M31.7002 209l136 136c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.6006 -22.5996c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-96.2998 -96.5l96.3994 -96.4004c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.7002 +c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-136 136c-9.5 9.40039 -9.5 24.5996 -0.0996094 34z" /> + <glyph glyph-name="angle-right" unicode="&#xf105;" horiz-adv-x="256" +d="M224.3 175l-136 -136c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.6006 22.5996c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l96.4004 96.4004l-96.4004 96.3994c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l22.5 22.7998 +c9.40039 9.40039 24.6006 9.40039 33.9004 0l136 -136c9.5 -9.40039 9.5 -24.5996 0.0996094 -34z" /> + <glyph glyph-name="angle-up" unicode="&#xf106;" horiz-adv-x="320" +d="M177 288.3l136 -136c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.6006c-9.40039 -9.39941 -24.6006 -9.39941 -33.9004 0l-96.5 96.2998l-96.4004 -96.3994c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.7002 22.5996 +c-9.40039 9.40039 -9.40039 24.6006 0 33.9004l136 136c9.40039 9.5 24.5996 9.5 34 0.0996094z" /> + <glyph glyph-name="angle-down" unicode="&#xf107;" horiz-adv-x="320" +d="M143 95.7002l-136 136c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.5996 22.6006c9.40039 9.39941 24.6006 9.39941 33.9004 0l96.4004 -96.4004l96.3994 96.4004c9.40039 9.39941 24.6006 9.39941 33.9004 0l22.5996 -22.6006 +c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-136 -136c-9.2002 -9.40039 -24.3994 -9.40039 -33.7998 0z" /> + <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="576" +d="M528 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-192l16 -48h72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24h-272c-13.2998 0 -24 10.7002 -24 24s10.7002 24 24 24h72l16 48h-192c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h480z +M512 96v288h-448v-288h448z" /> + <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="640" +d="M624 32c8.7998 0 16 -7.2002 16 -16v-16c0 -35.2002 -28.7998 -64 -64 -64h-512c-35.2002 0 -64 28.7998 -64 64v16c0 8.7998 7.2002 16 16 16h239.23c-0.25 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46zM576 400v-336h-512v336 +c0 26.4004 21.5996 48 48 48h416c26.4004 0 48 -21.5996 48 -48zM512 128v256h-384v-256h384z" /> + <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="448" +d="M400 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h352zM224 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="mobile" unicode="&#xf10b;" horiz-adv-x="320" +d="M272 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-224c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h224zM160 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="quote-left" unicode="&#xf10d;" +d="M464 192c26.5 0 48 -21.5 48 -48v-128c0 -26.5 -21.5 -48 -48 -48h-128c-26.5 0 -48 21.5 -48 48v240c0 88.4004 71.5996 160 160 160h8c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8c-35.2998 0 -64 -28.7002 -64 -64v-64h80zM176 192 +c26.5 0 48 -21.5 48 -48v-128c0 -26.5 -21.5 -48 -48 -48h-128c-26.5 0 -48 21.5 -48 48v240c0 88.4004 71.5996 160 160 160h8c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8c-35.2998 0 -64 -28.7002 -64 -64v-64h80z" /> + <glyph glyph-name="quote-right" unicode="&#xf10e;" +d="M464 416c26.5 0 48 -21.5 48 -48v-240c0 -88.4004 -71.5996 -160 -160 -160h-8c-13.2998 0 -24 10.7002 -24 24v48c0 13.2998 10.7002 24 24 24h8c35.2998 0 64 28.7002 64 64v64h-80c-26.5 0 -48 21.5 -48 48v128c0 26.5 21.5 48 48 48h128zM176 416 +c26.5 0 48 -21.5 48 -48v-240c0 -88.4004 -71.5996 -160 -160 -160h-8c-13.2998 0 -24 10.7002 -24 24v48c0 13.2998 10.7002 24 24 24h8c35.2998 0 64 28.7002 64 64v64h-80c-26.5 0 -48 21.5 -48 48v128c0 26.5 21.5 48 48 48h128z" /> + <glyph glyph-name="spinner" unicode="&#xf110;" +d="M304 400c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM256 32c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM464 240c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48 +s-48 21.4902 -48 48s21.4902 48 48 48zM96 192c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM108.922 92.9219c26.5088 0 48 -21.4912 48 -48c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48z +M403.078 92.9219c26.5098 0 48 -21.4912 48 -48c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM108.922 387.078c26.5088 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48z" /> + <glyph glyph-name="circle" unicode="&#xf111;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z" /> + <glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32 +s32 14.2998 32 32s-14.2998 32 -32 32zM362.8 101.8c13.5 16.2998 -11.2002 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002s-67.7998 15.3008 -90.2002 42.2002c-13.5996 16.2002 -38.2002 -4.2002 -24.5996 -20.5 +c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7998z" /> + <glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32 +s32 14.2998 32 32s-14.2998 32 -32 32zM338.2 53.7998c13.5 -16.2998 38.0996 4.2002 24.5 20.4004c-28.4004 34.2002 -70.2998 53.7998 -114.7 53.7998s-86.2998 -19.5996 -114.8 -53.7002c-13.5 -16.2998 11.0996 -36.7998 24.5996 -20.5 +c22.4004 26.7998 55.2998 42.2002 90.2002 42.2002s67.7998 -15.4004 90.2002 -42.2002z" /> + <glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM344 80c21.2002 0 21.2002 32 0 32h-192c-21.2002 0 -21.2002 -32 0 -32 +h192zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="640" +d="M480 352c88.4004 0 159.9 -71.5996 159.9 -160s-71.6006 -160 -160 -160c-44.7002 0 -85.2002 18.4004 -114.2 48h-91.5c-29 -29.5996 -69.4004 -48 -114.2 -48c-88.4004 0 -160 71.5996 -160 160s71.5996 160 160 160h320zM256 172v40c0 6.59961 -5.40039 12 -12 12h-52 +v52c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-52h-52c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h52v-52c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v52h52c6.59961 0 12 5.40039 12 12zM440 104 +c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM520 184c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" /> + <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576" +d="M528 0h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48zM128 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40 +c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM224 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 268v40c0 6.62695 -5.37305 12 -12 12h-40 +c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM416 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM512 268v40 +c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM176 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40 +c6.62695 0 12 5.37305 12 12zM272 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM368 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40 +c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM464 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM128 76v40c0 6.62695 -5.37305 12 -12 12h-40 +c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM416 76v40c0 6.62695 -5.37305 12 -12 12h-232c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h232c6.62695 0 12 5.37305 12 12zM512 76v40 +c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12z" /> + <glyph glyph-name="flag-checkered" unicode="&#xf11e;" +d="M243.2 258.1c24.2002 -6.69922 47.5996 -16.3994 73.5996 -22.1992v-68.2002c-24.2998 6.7002 -47.5 16.3994 -73.5996 22.2998v68.0996zM466.5 381.1c21.2002 9.80078 45.5 -5.69922 45.4004 -29v-243.1c0 -10.5996 -5.10059 -20.4004 -13.8008 -26.4004 +c-35.7998 -24.5996 -74.2998 -40.8994 -122.5 -40.8994c-67.3994 0 -111.6 34.7998 -165.199 34.7998c-50.8008 0 -86.1006 -10 -114.4 -22.0996v-94.4004c0 -13.2998 -10.7002 -24 -24 -24h-16c-13.2998 0 -24 10.7002 -24 24v386.1c-14.5 10.1006 -24 26.9004 -24 45.9004 +c0 31.7002 26.2998 57.2998 58.2998 56c28.5 -1.2002 51.7998 -24 53.6006 -52.4004c0.5 -8.39941 -0.800781 -16.2998 -3.60059 -23.5996c20.7002 7.59961 43 12 68 12c67.4004 0 111.7 -34.7998 165.2 -34.7998c40.5 0 82.7002 16 117 31.8994zM169.6 122.5v71.2998 +c-26.0996 -2.39941 -47.3994 -8.09961 -73.5996 -17.3994v-70.5c23.5996 8.39941 47.7998 13.8994 73.5996 16.5996zM464 257v70.5c-21.2998 -8.90039 -46.5996 -17.7002 -73.5996 -22.5v-71.9004c-26 -4.19922 -49.9004 -2.59961 -73.6006 2.7002v68.4004 +c-26.3994 4.59961 -49.8994 13.8994 -73.5996 21.2998v-67.4004c-25.2002 7 -46.6006 9.40039 -73.6006 5.7002v71.6006c-23.5 -2.2002 -40.3994 -9.80078 -73.5996 -22v-70.5c29 10.6992 51.2002 17.7998 73.5996 20.8994v-70c32.8008 3 53.9004 0.600586 73.6006 -3.7998 +v-68.5c26.2998 -4.59961 49.7002 -13.9004 73.5996 -21.2998v67.3994c25.7002 -7.09961 46.6006 -9.2998 73.6006 -5.59961v-71.5996c25.0996 2.39941 48.5 11 73.5996 27.0996v70.5c-22.2002 -14.2002 -48.7998 -22.5996 -73.5996 -26v71.0996 +c27.2998 4.40039 50 14.1006 73.5996 23.9004z" /> + <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="640" +d="M257.981 175.029l-194.344 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9404 0l-22.668 22.667c-9.35742 9.35742 -9.375 24.5225 -0.0400391 33.9014l154.021 154.746l-154.021 154.745c-9.33496 9.37891 -9.31738 24.5439 0.0400391 33.9014l22.667 22.667 +c9.37305 9.37207 24.5684 9.37207 33.9404 0l194.344 -194.344c9.37207 -9.37207 9.37207 -24.5674 0 -33.9404zM640 -8c0 -13.2549 -10.7451 -24 -24 -24h-304c-13.2549 0 -24 10.7451 -24 24v32c0 13.2549 10.7451 24 24 24h304c13.2549 0 24 -10.7451 24 -24v-32z" /> + <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="640" +d="M278.9 -63.5l-61 17.7002c-6.40039 1.7998 -10 8.5 -8.2002 14.8994l136.5 470.2c1.7998 6.40039 8.5 10 14.8994 8.2002l61 -17.7002c6.40039 -1.7998 10 -8.5 8.2002 -14.8994l-136.5 -470.2c-1.89941 -6.40039 -8.5 -10.1006 -14.8994 -8.2002zM164.9 48.7002 +c-4.5 -4.90039 -12.1006 -5.10059 -17 -0.5l-144.101 135.1c-5.09961 4.7002 -5.09961 12.7998 0 17.5l144.101 135c4.89941 4.60059 12.5 4.2998 17 -0.5l43.5 -46.3994c4.69922 -4.90039 4.2998 -12.7002 -0.800781 -17.2002l-90.5996 -79.7002l90.5996 -79.7002 +c5.10059 -4.5 5.40039 -12.2998 0.800781 -17.2002zM492.1 48.0996c-4.89941 -4.5 -12.5 -4.2998 -17 0.600586l-43.5 46.3994c-4.69922 4.90039 -4.2998 12.7002 0.800781 17.2002l90.5996 79.7002l-90.5996 79.7998c-5.10059 4.5 -5.40039 12.2998 -0.800781 17.2002 +l43.5 46.4004c4.60059 4.7998 12.2002 5 17 0.5l144.101 -135.2c5.09961 -4.7002 5.09961 -12.7998 0 -17.5z" /> + <glyph glyph-name="reply-all" unicode="&#xf122;" horiz-adv-x="576" +d="M136.309 258.164l176.005 151.985c15.4062 13.3047 39.6865 2.50293 39.6865 -18.1641v-82.7637c129.182 -10.2305 224 -52.2119 224 -183.548c0 -61.4404 -39.582 -122.309 -83.333 -154.132c-13.6533 -9.93066 -33.1113 2.5332 -28.0771 18.6309 +c38.5117 123.162 -3.92188 169.482 -112.59 182.016v-84.1758c0 -20.7012 -24.2998 -31.4531 -39.6865 -18.1641l-176.005 151.987c-11.0703 9.56152 -11.0859 26.7529 0 36.3281zM8.30859 221.836c-11.0703 9.56152 -11.0859 26.7529 0 36.3281l176.005 151.985 +c15.4062 13.3047 39.6865 2.50293 39.6865 -18.1641v-15.8174l-108.607 -93.7861c-10.7041 -9.23926 -19.3926 -28.2158 -19.3926 -42.3564v-0.0234375v-0.0244141c0 -14.1416 8.68848 -33.1191 19.3936 -42.3604l108.606 -93.7852v-15.8184 +c0 -20.7002 -24.2998 -31.4531 -39.6865 -18.1641z" /> + <glyph glyph-name="location-arrow" unicode="&#xf124;" +d="M444.52 444.48c38.3809 16 79.9609 -25.5801 63.9707 -63.9707l-191.9 -415.779c-22.3896 -47.9805 -92.75 -31.9805 -92.75 19.1895v175.91h-175.91c-51.1699 0 -67.1602 70.3604 -19.1895 92.75z" /> + <glyph glyph-name="crop" unicode="&#xf125;" +d="M488 96c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-40v-40c0 -13.25 -10.75 -24 -24 -24h-48c-13.25 0 -24 10.75 -24 24v282.75l-146.75 -146.75h114.75v-96h-232c-13.25 0 -24 10.75 -24 24v264h-40c-13.25 0 -24 10.75 -24 24v48 +c0 13.2598 10.75 24 24 24h40v40c0 13.2598 10.75 24 24 24h48c13.25 0 24 -10.7402 24 -24v-282.75l146.75 146.75h-114.75v96h210.75l59.3096 59.3096c6.25 6.25 16.3809 6.25 22.6309 0l22.6191 -22.6191c6.25 -6.25 6.25 -16.3809 0 -22.6309l-59.3096 -59.3096v-242.75 +h40z" /> + <glyph glyph-name="code-branch" unicode="&#xf126;" horiz-adv-x="384" +d="M384 304c0 -35.2002 -22.7998 -65.0996 -54.4004 -75.9004c-0.5 -28.0996 -7.59961 -50.5 -21.5996 -67.8994c-28.2002 -35 -76 -39.5 -118.2 -43.4004c-25.7002 -2.39941 -49.8994 -4.59961 -66.0996 -12.7998c-7.10059 -3.59961 -11.7998 -8.2002 -14.9004 -13.4004 +c30 -11.5 51.2002 -40.5996 51.2002 -74.5996c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 35.7998 23.5 66.0996 56 76.4004v199.3c-32.5 10.2002 -56 40.5 -56 76.2998c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80c0 -35.7998 -23.5 -66.0996 -56 -76.2998 +v-144c23.9004 11.5 53.0996 14.2998 81.2998 16.8994c35.9004 3.30078 69.7998 6.5 85.2002 25.7002c6.7998 8.40039 10.4004 20.7998 11 36.9004c-33.2002 9.7002 -57.5 40.3994 -57.5 76.7998c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80zM80 384 +c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16s16 7.2002 16 16s-7.2002 16 -16 16zM80 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM304 320c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16s16 7.2002 16 16 +s-7.2002 16 -16 16z" /> + <glyph glyph-name="unlink" unicode="&#xf127;" +d="M304.083 42.0928c4.68555 -4.68555 4.68555 -12.2842 0 -16.9707l-44.6738 -44.6738c-59.2627 -59.2627 -155.693 -59.2666 -214.961 0c-59.2646 59.2646 -59.2646 155.695 0 214.96l44.6748 44.6748c4.68555 4.68555 12.2842 4.68555 16.9707 0l39.5986 -39.5977 +c4.68555 -4.68652 4.68555 -12.2842 0 -16.9717l-44.6758 -44.6738c-28.0713 -28.0732 -28.0713 -73.75 0 -101.823c28.0723 -28.0713 73.75 -28.0723 101.824 0l44.6738 44.6748c4.68652 4.68555 12.2842 4.68555 16.9717 0zM247.515 302.309l-39.5967 39.5986 +c-4.68555 4.68652 -4.68555 12.2852 0 16.9707l44.6738 44.6738c59.2666 59.2646 155.695 59.2646 214.961 0s59.2656 -155.694 0 -214.96l-44.6748 -44.6748c-4.68652 -4.68555 -12.2852 -4.68555 -16.9707 0l-39.5986 39.5977c-4.68555 4.6875 -4.68555 12.2852 0 16.9717 +l44.6758 44.6738c28.0713 28.0732 28.0713 73.75 0 101.823c-28.0742 28.0723 -73.752 28.0742 -101.824 0l-44.6738 -44.6748c-4.6875 -4.68555 -12.2852 -4.68555 -16.9717 0zM482.343 -56.9707c-9.37207 -9.37207 -24.5674 -9.37207 -33.9404 0l-441.373 441.373 +c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l22.6279 22.6279c9.37207 9.37305 24.5674 9.37305 33.9404 0l441.372 -441.374c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404z" /> + <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="384" +d="M202.021 448c84.8809 0 175.482 -66.2559 175.481 -153.6c0 -115.982 -125.268 -117.768 -125.268 -160.627v-5.77344c0 -13.2549 -10.7451 -24 -24 -24h-72.4717c-13.2549 0 -24 10.7451 -24 24v9.78809c0 61.8291 46.876 86.5449 82.2998 106.405 +c30.376 17.0293 48.9922 28.6113 48.9922 51.1641c0 29.832 -38.0518 49.6309 -68.8154 49.6309c-39.127 0 -57.708 -18.0684 -82.7568 -49.4492c-8.12109 -10.1738 -22.8809 -12.0127 -33.2529 -4.14844l-43.1387 32.709c-10.2705 7.78809 -12.541 22.2939 -5.17773 32.874 +c40.5889 58.3232 92.2881 91.0264 172.107 91.0264zM192 74.541c38.1963 0 69.2715 -31.0742 69.2715 -69.2695c0 -38.1963 -31.0752 -69.2715 -69.2715 -69.2715s-69.2715 31.0752 -69.2715 69.2695c0 38.1963 31.0752 69.2715 69.2715 69.2715z" /> + <glyph glyph-name="info" unicode="&#xf129;" horiz-adv-x="192" +d="M20 23.7715h20v144.457h-20c-11.0459 0 -20 8.9541 -20 20v47.7715c0 11.0459 8.9541 20 20 20h112c11.0459 0 20 -8.9541 20 -20v-212.229h20c11.0459 0 20 -8.9541 20 -20v-47.7715c0 -11.0459 -8.9541 -20 -20 -20h-152c-11.0459 0 -20 8.9541 -20 20v47.7715 +c0 11.0459 8.9541 20 20 20zM96 448c39.7637 0 72 -32.2354 72 -72s-32.2354 -72 -72 -72s-72 32.2354 -72 72s32.2354 72 72 72z" /> + <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="192" +d="M176 16c0 -44.1123 -35.8877 -80 -80 -80s-80 35.8877 -80 80s35.8877 80 80 80s80 -35.8877 80 -80zM25.2598 422.801c-0.68457 13.709 10.2441 25.1992 23.9707 25.1992h93.5391c13.7266 0 24.6553 -11.4902 23.9707 -25.1992l-13.6006 -272 +c-0.638672 -12.7725 -11.1807 -22.8008 -23.9697 -22.8008h-66.3398c-12.7891 0 -23.3311 10.0283 -23.9697 22.8008z" /> + <glyph glyph-name="superscript" unicode="&#xf12b;" +d="M496 288c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h16v96h-16c-8.82422 0.0078125 -15.9863 7.17578 -15.9863 16c0 2.08984 0.759766 5.30176 1.69629 7.16992l16 32 +c2.44141 4.87012 8.84277 8.8252 14.29 8.83008h48c8.83203 0 16 -7.16797 16 -16v-144h16zM336 384c8.83203 0 16 -7.16797 16 -16v-48c0 -8.83203 -7.16797 -16 -16 -16h-33.4805l-77.8096 -112l77.8096 -112h33.4805c8.83203 0 16 -7.16797 16 -16v-48 +c0 -8.83203 -7.16797 -16 -16 -16h-67c-4.58984 0.0224609 -10.4404 3.10059 -13.0596 6.87012l-79.9004 115l-79.9004 -115c-2.63477 -3.79199 -8.52148 -6.87012 -13.1387 -6.87012h-0.000976562h-67c-8.83203 0 -16 7.16797 -16 16v48c0 8.83203 7.16797 16 16 16 +h33.4805l77.8096 112l-77.8096 112h-33.4805c-8.83203 0 -16 7.16797 -16 16v48c0 8.83203 7.16797 16 16 16h67c4.58984 -0.0224609 10.4404 -3.10059 13.0596 -6.87012l79.9004 -115l79.9004 115c2.63477 3.79199 8.52148 6.87012 13.1387 6.87012h0.000976562h67z" /> + <glyph glyph-name="subscript" unicode="&#xf12c;" +d="M496 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h16v96h-16c-8.82422 0.0078125 -15.9863 7.17578 -15.9863 16c0 2.08984 0.759766 5.30176 1.69629 7.16992l16 32 +c2.44141 4.87012 8.84277 8.8252 14.29 8.83008h48c8.83203 0 16 -7.16797 16 -16v-144h16zM336 384c8.83203 0 16 -7.16797 16 -16v-48c0 -8.83203 -7.16797 -16 -16 -16h-33.4805l-77.8096 -112l77.8096 -112h33.4805c8.83203 0 16 -7.16797 16 -16v-48 +c0 -8.83203 -7.16797 -16 -16 -16h-67c-4.58984 0.0224609 -10.4404 3.10059 -13.0596 6.87012l-79.9004 115l-79.9004 -115c-2.63477 -3.79199 -8.52148 -6.87012 -13.1387 -6.87012h-0.000976562h-67c-8.83203 0 -16 7.16797 -16 16v48c0 8.83203 7.16797 16 16 16 +h33.4805l77.8096 112l-77.8096 112h-33.4805c-8.83203 0 -16 7.16797 -16 16v48c0 8.83203 7.16797 16 16 16h67c4.58984 -0.0224609 10.4404 -3.10059 13.0596 -6.87012l79.9004 -115l79.9004 115c2.63477 3.79199 8.52148 6.87012 13.1387 6.87012h0.000976562h67z" /> + <glyph glyph-name="eraser" unicode="&#xf12d;" +d="M497.941 174.059l-142.059 -142.059h144.117c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-356c-10.9756 0 -26.1816 6.29883 -33.9424 14.0586l-96 96c-18.7441 18.7451 -18.7441 49.1377 0 67.8828l256 256 +c18.7471 18.7451 49.1387 18.7441 67.8838 0l160 -160c18.7441 -18.7451 18.7441 -49.1377 0 -67.8828zM195.314 236.686l-124.687 -124.686l80 -80h114.745l67.3135 67.3135z" /> + <glyph glyph-name="puzzle-piece" unicode="&#xf12e;" horiz-adv-x="576" +d="M519.442 159.349c37.5957 0 56.5576 -31.5928 56.5576 -65.792c0 -33.5469 -19.2881 -61.5566 -54.9229 -61.5557c-39.8848 0 -50.3457 36.1523 -86.3086 36.1523c-60.5518 0 -25.8262 -120.102 -25.8262 -120.102c-51.5557 0 -181.23 -35.0732 -181.23 25.7305 +c0 35.8271 36.2881 46.25 36.2881 85.9844c0 35.501 -28.1152 54.7178 -61.7881 54.7178c-34.3271 0 -63.5771 -18.8906 -63.5771 -56.3467c0 -41.3633 40 -58.998 40 -81.4707c0 -69.709 -178.635 -28.6621 -178.635 -28.6621v333.237s175.885 -40.9609 175.884 28.6621 +c0 22.4727 -31.7109 40.3857 -31.7109 81.75c0 37.4551 31.7119 56.3457 66.3662 56.3457c33.3457 0 61.4609 -19.2158 61.4609 -54.7178c0 -39.7354 -36.2881 -50.1582 -36.2881 -85.9854c0 -83.2969 196.288 -3.29688 196.288 -3.29688 +s-54.5908 -176.244 5.38379 -176.244c22.5586 0 40.5391 31.5928 82.0586 31.5928z" /> + <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="352" +d="M176 96c-53.0195 0 -96 42.9805 -96 96v160c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96v-160c0 -53.0195 -42.9805 -96 -96 -96zM336 256c8.83984 0 16 -7.16016 16 -16v-48c0 -88.9004 -66.29 -162.47 -152 -174.23v-33.7695h56c8.83984 0 16 -7.16016 16 -16v-16 +c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v40.1602c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-42.2998 +c0 -66.8105 48.71 -126.59 115.21 -133.08c76.2998 -7.44043 140.79 52.5801 140.79 127.38v48c0 8.83984 7.16016 16 16 16h16z" /> + <glyph glyph-name="microphone-slash" unicode="&#xf131;" horiz-adv-x="640" +d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705 +c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l178.54 -137.99v45.3604c0 53.0195 42.9805 96 96 96c53.0205 0 96 -42.9805 96 -96v-160.01c0 -10.4502 -2.17969 -20.2705 -5.2793 -29.6699l26.5498 -20.5205c6.75977 15.4004 10.7197 32.2803 10.7197 50.2002v48 +c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-48c0 -29.0098 -7.38965 -56.1299 -19.9805 -80.1396zM400 -16c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56 +v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v6.85059l52.0303 -40.2305c12.4395 -53.2197 55.3301 -96.4004 111.18 -101.85c6.94043 -0.669922 13.6396 -0.200195 20.3496 0.199219l50.1104 -38.7295c-10.8203 -3.77051 -22.0098 -6.70996 -33.6699 -8.31055 +v-33.7695h56z" /> + <glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448" +d="M12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM448 300c0 -6.59961 -5.40039 -12 -12 -12h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52 +c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36z" /> + <glyph glyph-name="fire-extinguisher" unicode="&#xf134;" horiz-adv-x="448" +d="M434.027 421.671c7.31445 1.21875 13.9727 -4.4209 13.9727 -11.8369v-115.668c0 -7.41602 -6.6582 -13.0557 -13.9727 -11.8369l-168 28c-11.7305 1.95508 -10.0273 14.6973 -10.0273 17.6709h-40v-27.0303c41.4043 -10.6582 72 -48.2383 72 -92.9697v-248 +c0 -13.2549 -10.7451 -24 -24 -24h-144c-13.2549 0 -24 10.7451 -24 24v246.795c0 44.8945 30.457 83.2666 72 94.1289v27.0762c-61.0361 0 -92.9424 7.00977 -121.711 -64.9141c-4.91699 -12.2949 -18.8789 -18.2959 -31.1963 -13.3701 +c-12.3066 4.92285 -18.293 18.8906 -13.3701 31.1973c14.668 36.6709 38.0107 77.833 90.0498 90.8838c-14.1406 36.5273 12.793 76.2031 52.2275 76.2031c37.4463 0 64.3525 -36.1084 53.668 -72h58.332c0 4.2002 -1.30664 15.7822 10.0273 17.6709zM144 376 +c8.82227 0 16 7.17773 16 16s-7.17773 16 -16 16s-16 -7.17773 -16 -16s7.17773 -16 16 -16z" /> + <glyph glyph-name="rocket" unicode="&#xf135;" +d="M505.05 428.9c6.9502 -32.2002 6.9502 -57.4004 6.85059 -82.6006c0 -102.689 -55.4102 -164.79 -128 -211.09v-104.41v-0.0400391c0 -16.3516 -11.8721 -35.5527 -26.5 -42.8594l-98.7002 -49.3906c-2.79004 -1.38965 -7.58398 -2.5166 -10.7002 -2.5166 +c-13.248 0 -24 10.752 -24 24v0.00683594v103.84l-22.4697 -22.4697c-5.17383 -5.1748 -15.3125 -9.375 -22.6299 -9.375c-7.31836 0 -17.4561 4.2002 -22.6309 9.375l-50.8994 50.9102c-5.17285 5.17285 -9.37012 15.3096 -9.37012 22.625s4.19727 17.4512 9.37012 22.625 +l22.4697 22.4697h-103.77h-0.0126953c-13.248 0 -24 10.752 -24 24c0 3.12012 1.12988 7.91797 2.52246 10.71l49.4199 98.7998c7.32324 14.6094 26.5283 26.4766 42.8701 26.4902h104.2c46.1895 72.7998 108.09 128 211.29 128c25.0996 0 50.29 0 82.4893 -6.90039 +c5.54395 -1.19043 11.0098 -6.65527 12.2002 -12.1992zM384 280c22.0801 0 40 17.9199 40 40s-17.9199 40 -40 40s-40 -17.9199 -40 -40s17.9199 -40 40 -40z" /> + <glyph glyph-name="chevron-circle-left" unicode="&#xf137;" +d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM142.1 175l135.5 -135.5c9.40039 -9.40039 24.6006 -9.40039 33.9004 0l17 17c9.40039 9.40039 9.40039 24.5996 0 33.9004l-101.6 101.6l101.6 101.6 +c9.40039 9.40039 9.40039 24.6006 0 33.9004l-17 17c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-135.5 -135.5c-9.39941 -9.40039 -9.39941 -24.5996 0 -34z" /> + <glyph glyph-name="chevron-circle-right" unicode="&#xf138;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM369.9 209l-135.5 135.5c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-17 -17c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l101.6 -101.6l-101.6 -101.6 +c-9.40039 -9.40039 -9.40039 -24.6006 0 -33.9004l17 -17c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l135.5 135.5c9.39941 9.40039 9.39941 24.5996 0 34z" /> + <glyph glyph-name="chevron-circle-up" unicode="&#xf139;" +d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM239 305.9l-135.5 -135.5c-9.40039 -9.40039 -9.40039 -24.6006 0 -33.9004l17 -17c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l101.6 101.6l101.6 -101.6 +c9.40039 -9.40039 24.6006 -9.40039 33.9004 0l17 17c9.40039 9.40039 9.40039 24.5996 0 33.9004l-135.5 135.5c-9.40039 9.39941 -24.5996 9.39941 -34 0z" /> + <glyph glyph-name="chevron-circle-down" unicode="&#xf13a;" +d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM273 78.0996l135.5 135.5c9.40039 9.40039 9.40039 24.6006 0 33.9004l-17 17c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-101.6 -101.6l-101.6 101.6 +c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-17 -17c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l135.5 -135.5c9.40039 -9.39941 24.5996 -9.39941 34 0z" /> + <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="576" +d="M12.9707 96c-10.6904 0 -16.0449 12.9258 -8.48535 20.4854l67.0283 67.0283c4.6875 4.68652 12.2852 4.68652 16.9717 0l67.0283 -67.0283c7.56055 -7.55957 2.20605 -20.4854 -8.48438 -20.4854h-35.1465c20.2969 -54.3359 85.1816 -86.6162 144.117 -94.0146v190.015 +h-52c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h52v5.46973c-37.2842 13.1807 -64 48.7324 -64 90.5303c0 53.4746 43.7227 96.7393 97.3701 95.9902c52.2354 -0.728516 94.6348 -43.7627 94.6289 -96.002 +c-0.00488281 -41.793 -26.7188 -77.3398 -64 -90.5186v-5.46973h52c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-52v-190.015c59.1543 7.42676 123.827 39.6973 144.117 94.0146h-35.1465c-10.6904 0 -16.0449 12.9248 -8.48438 20.4854 +l67.0283 67.0283c4.6875 4.68652 12.2852 4.68652 16.9717 0l67.0283 -67.0283c7.56055 -7.55957 2.20605 -20.4854 -8.48438 -20.4854h-32.3945c-21.7822 -102.62 -136.406 -160 -242.635 -160c-106.056 0 -220.828 57.2646 -242.635 160h-32.3945zM288 384 +c-17.6445 0 -32 -14.3555 -32 -32s14.3555 -32 32 -32s32 14.3555 32 32s-14.3555 32 -32 32z" /> + <glyph glyph-name="unlock-alt" unicode="&#xf13e;" horiz-adv-x="448" +d="M400 192c26.5 0 48 -21.5 48 -48v-160c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v160c0 26.5 21.5 48 48 48h24v102.5c0 84 67.5 153.2 151.5 153.5s152.5 -68 152.5 -152v-16c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v16 +c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-103.1h248zM264 40v48c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-48c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40z" /> + <glyph glyph-name="bullseye" unicode="&#xf140;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 8c101.71 0 184 82.3096 184 184c0 101.71 -82.3096 184 -184 184c-101.71 0 -184 -82.3096 -184 -184c0 -101.71 82.3096 -184 184 -184zM248 320 +c70.6904 0 128 -57.3096 128 -128s-57.3096 -128 -128 -128s-128 57.3096 -128 128s57.3096 128 128 128zM248 128c35.29 0 64 28.71 64 64s-28.71 64 -64 64s-64 -28.71 -64 -64s28.71 -64 64 -64z" /> + <glyph glyph-name="ellipsis-h" unicode="&#xf141;" +d="M328 192c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM432 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72zM80 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72 +s-72 32.2002 -72 72s32.2002 72 72 72z" /> + <glyph glyph-name="ellipsis-v" unicode="&#xf142;" horiz-adv-x="192" +d="M96 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72zM24 368c0 39.7998 32.2002 72 72 72s72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72zM24 16c0 39.7998 32.2002 72 72 72s72 -32.2002 72 -72 +s-32.2002 -72 -72 -72s-72 32.2002 -72 72z" /> + <glyph glyph-name="rss-square" unicode="&#xf143;" horiz-adv-x="448" +d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM112 32c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM269.533 32 +c6.53516 0 11.7764 5.46777 11.4248 11.9941c-5.9668 110.428 -94.418 198.99 -204.964 204.964c-6.52637 0.351562 -11.9941 -4.88965 -11.9941 -11.4248v-34.335c0 -6.00977 4.63574 -11.0508 10.6328 -11.4414c79.8799 -5.20312 143.909 -69.0732 149.123 -149.123 +c0.391602 -5.99805 5.43066 -10.6338 11.4424 -10.6338h34.335zM372.56 32c6.4541 0 11.6641 5.33789 11.4326 11.7871c-5.99512 167.014 -140.375 302.18 -308.205 308.205c-6.44922 0.231445 -11.7871 -4.97852 -11.7871 -11.4326v-34.334 +c0 -6.16016 4.88184 -11.1748 11.0391 -11.4277c136.556 -5.59863 246.162 -115.225 251.76 -251.76c0.251953 -6.15625 5.2666 -11.0381 11.4268 -11.0381h34.334z" /> + <glyph glyph-name="play-circle" unicode="&#xf144;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM371.7 168c16.3994 9.09961 16.3994 32.7998 0 42l-176 107c-15.9004 8.7998 -35.7002 -2.59961 -35.7002 -21v-208c0 -18.5 19.9004 -29.7998 35.7002 -21z" /> + <glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM92 152h264c6.59961 0 12 5.40039 12 12v56c0 6.59961 -5.40039 12 -12 12h-264c-6.59961 0 -12 -5.40039 -12 -12v-56 +c0 -6.59961 5.40039 -12 12 -12z" /> + <glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448" +d="M400 -32h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM195.314 66.0586l184 184c6.24707 6.24805 6.24707 16.3799 0 22.627l-22.6279 22.6279 +c-6.24707 6.24707 -16.3789 6.24805 -22.6279 0l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24707 -16.3799 6.24707 -22.6279 0l-22.6279 -22.6279c-6.24707 -6.24707 -6.24707 -16.3789 0 -22.627l104 -104c6.24902 -6.25 16.3799 -6.25 22.6289 -0.000976562z" /> + <glyph glyph-name="pen-square" unicode="&#xf14b;" horiz-adv-x="448" +d="M400 -32h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48zM238.1 270.1l-135.699 -135.699l-6.30078 -57.1006c-0.799805 -7.59961 5.60059 -14.0996 13.3008 -13.2998l57.0996 6.2998l135.7 135.7 +c2.2998 2.2998 2.2998 6.09961 0 8.5l-55.5 55.5c-2.5 2.40039 -6.2998 2.40039 -8.60059 0.0996094zM345 282.9l-30.0996 30.0996c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-23.0996 -23.0996c-2.30078 -2.30078 -2.30078 -6.10059 0 -8.5l55.5 -55.5 +c2.2998 -2.30078 6.09961 -2.30078 8.5 0l23.0996 23.0996c9.2998 9.2998 9.2998 24.5 0 33.9004z" /> + <glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576" +d="M568.482 270.552l-144.004 -135.984c-15.1787 -14.335 -40.4785 -3.70703 -40.4785 17.4473v71.9629c-144.575 -0.969727 -205.566 -35.1123 -164.775 -171.353c4.4834 -14.9727 -12.8457 -26.5674 -25.0059 -17.3301 +c-38.9668 29.5996 -74.2188 86.2168 -74.2188 143.366c0 143.937 117.599 172.5 264 173.312v72.0156c0 21.1738 25.3174 31.7676 40.4785 17.4473l144.004 -135.987c10.0195 -9.46289 10.0273 -25.4248 0 -34.8965zM384 68.8721c0 7.34473 6.53027 12.9053 13.7998 11.8594 +c2.81152 -0.405273 7.39844 -0.734375 10.2393 -0.734375c6.80469 0 17.5342 1.8418 23.9502 4.11133c7.81348 2.76367 16.0107 -3.01465 16.0107 -11.3027v-88.8057c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48 +h121.033c12.5508 0 16.6748 -16.8301 5.54492 -22.6309c-18.7773 -9.78613 -36.0615 -22.1084 -51.0137 -37.6758c-1.95312 -2.03711 -5.82715 -3.69141 -8.64844 -3.69336h-50.916v-320h320v68.8721z" /> + <glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496" +d="M225.38 214.63c12.4902 12.4902 32.75 12.4902 45.25 0s12.5 -32.75 0 -45.25c-12.4902 -12.5 -32.7598 -12.5 -45.25 0c-12.5 12.4902 -12.5 32.75 0 45.25zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248z +M374.14 291.95c7.61035 16.6494 -9.54004 33.7998 -26.1895 26.2002l-144.34 -65.9707c-5.97461 -2.73047 -13.04 -9.7959 -15.7705 -15.7695l-65.9795 -144.351c-7.61035 -16.6494 9.5498 -33.8096 26.1992 -26.1992l144.341 65.9697 +c5.97363 2.73047 13.0391 9.7959 15.7695 15.7695z" /> + <glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448" +d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM92.5 227.5l123 -123c4.7002 -4.7002 12.2998 -4.7002 17 0l123 123c7.59961 7.59961 2.2002 20.5 -8.5 20.5h-246 +c-10.7002 0 -16.0996 -12.9004 -8.5 -20.5z" /> + <glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448" +d="M0 16v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48zM355.515 156.485l-123.029 123.029c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-123.028 -123.029 +c-7.56055 -7.56055 -2.20605 -20.4854 8.48438 -20.4854h246.06c10.6904 0 16.0449 12.9258 8.48535 20.4854z" /> + <glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448" +d="M48 416h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48zM188.485 60.4854l123.028 123.028c4.68652 4.68652 4.68652 12.2842 0 16.9717l-123.028 123.029 +c-7.56055 7.56055 -20.4854 2.20605 -20.4854 -8.48438v-246.06c0 -10.6904 12.9258 -16.0449 20.4854 -8.48535z" /> + <glyph glyph-name="euro-sign" unicode="&#xf153;" horiz-adv-x="320" +d="M310.706 34.2354l8.81836 -44.4902c1.23828 -6.24902 -2.62109 -12.3623 -8.78809 -13.957c-12.5391 -3.24414 -34.8008 -7.78809 -61.1016 -7.78809c-104.371 0 -182.496 65.3076 -207.521 155.64h-30.1143c-6.62695 0 -12 5.37305 -12 12v28.3604 +c0 6.62695 5.37305 12 12 12h21.3877c-1 12.958 -0.828125 28.6377 0.181641 42.2451h-21.5693c-6.62695 0 -12 5.37305 -12 12v29.7549c0 6.62695 5.37305 12 12 12h33.0752c28.9551 83.748 107.376 144 204.56 144c21.0752 0 40.582 -2.91211 52.6865 -5.20703 +c6.86035 -1.30078 11.1475 -8.17578 9.32617 -14.917l-11.9912 -44.3682c-1.65527 -6.125 -7.78613 -9.89062 -14.002 -8.62305c-9.28711 1.89551 -23.3652 4.14551 -37.8516 4.14551c-54.9287 0 -96.9854 -30.0391 -117.619 -75.0303h138.278 +c7.66211 0 13.3613 -7.08203 11.7227 -14.5664l-6.51172 -29.7549c-1.13965 -5.20703 -6.3916 -9.43359 -11.7227 -9.43359v0h-146.593c-1.55176 -13.958 -1.34766 -27.917 -0.137695 -42.2451h134.237c7.68945 0 13.3936 -7.12891 11.708 -14.6309l-6.37305 -28.3604 +c-1.16211 -5.17188 -6.40723 -9.36914 -11.708 -9.36914h-113.689c19.5322 -50.6582 64.6982 -85.4482 121.462 -85.4482c18.0039 0 34.7334 2.97363 45.4258 5.41211c6.58887 1.50391 13.1094 -2.73828 14.4238 -9.36816z" /> + <glyph glyph-name="pound-sign" unicode="&#xf154;" horiz-adv-x="320" +d="M308 96c6.62695 0 12 -5.37305 12 -12v-104c0 -6.62695 -5.37305 -12 -12 -12h-296c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h36v128h-28c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h28v66.0391 +c0 73.2188 58.0264 125.961 139.931 125.961c48.6455 0 85.1934 -22.5596 101.575 -34.9277c5.39844 -4.07617 6.35254 -11.8057 2.11914 -17.0811l-28.4932 -35.5137c-3.7998 -4.73535 -10.5371 -5.89746 -15.6875 -2.68457 +c-11.7744 7.34375 -33.9941 18.8486 -57.6523 18.8486c-37.2305 0 -61.792 -24.8193 -61.792 -57.0859v-63.5557h84c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-84v-126.848h122.505v50.8477c0 6.62695 5.37305 12 12 12h45.4951z" /> + <glyph glyph-name="dollar-sign" unicode="&#xf155;" horiz-adv-x="288" +d="M209.2 214.6c57.8994 -16.8994 94 -80.0996 72.5 -141.699c-15.4004 -44.1006 -59.1006 -71.8008 -105.7 -72.7002v-48.2002c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v48c-31.4004 0.0996094 -62 10.7998 -86.5 30 +c-7.90039 6.09961 -8.90039 17.5996 -1.7998 24.5l34.7998 34c5.2002 5.09961 13.4004 6.09961 19.5 2c10 -6.7998 22 -10.5 34.2002 -10.5h66.2998c16.2998 0 29.5 13.2002 29.5 29.5c0 13 -8.7002 24.5996 -21.2002 28.2998l-102.5 30 +c-44.3994 13 -79.5996 50.5 -83.7998 96.6006c-5.90039 64.8994 45.2998 119.6 109 119.6h2.5v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48c31.4004 -0.0996094 62 -10.7998 86.5 -30c7.90039 -6.09961 8.90039 -17.5996 1.7998 -24.5l-34.7998 -34 +c-5.2002 -5.09961 -13.4004 -6.09961 -19.5 -2c-10 6.7998 -22 10.5 -34.2002 10.5h-66.2998c-16.2998 0 -29.5 -13.2002 -29.5 -29.5c0 -13 8.7002 -24.7002 21.2002 -28.2998z" /> + <glyph glyph-name="rupee-sign" unicode="&#xf156;" horiz-adv-x="320" +d="M308 352h-72.9424c5.97266 -9.75391 10.7666 -20.459 14.252 -32h58.6904c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-52.8105c-7.1748 -74.5107 -61.8193 -125.566 -138.318 -127.906l150.882 -139.275 +c8.02734 -7.41016 2.78516 -20.8184 -8.13867 -20.8184h-82.5625c-2.58984 0 -6.23535 1.42578 -8.13867 3.18164l-165.052 152.356c-2.46094 2.27148 -3.86133 5.46875 -3.86133 8.81836v53.0117c0 6.62695 5.37305 12 12 12h84c41.7959 0 68.54 22.5459 74.7568 58.6318 +h-158.757c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h146.25c-12.709 17.2939 -33.6621 27.252 -60.9697 27.252h-85.2803c-6.62695 0 -12 5.37305 -12 12v44.748c0 6.62695 5.37305 12 12 12h296c6.62695 0 12 -5.37305 12 -12v-40 +c0 -6.62695 -5.37305 -12 -12 -12z" /> + <glyph glyph-name="yen-sign" unicode="&#xf157;" horiz-adv-x="384" +d="M351.2 416c9.09961 0 14.8994 -9.7002 10.5996 -17.5996l-80.0996 -150.4h58.2998c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-88.2002l-19.7998 -37.2002v-26.7998h108c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12 +h-108v-92c0 -6.59961 -5.40039 -12 -12 -12h-56c-6.59961 0 -12 5.40039 -12 12v92h-108c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h108v26.7998l-19.7998 37.2002h-88.2002c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h58.2998 +l-80.0996 150.4c-4.2002 7.89941 1.5 17.5996 10.5996 17.5996h65.2002c4.59961 0 8.7998 -2.59961 10.7998 -6.7002l55.4004 -113.2c14.5 -34.6992 27.0996 -71.8994 27.0996 -71.8994h1.2998s12.6006 37.2002 27.1006 71.8994l55.3994 113.2 +c2 4.10059 6.2002 6.7002 10.8008 6.7002h65.2998z" /> + <glyph glyph-name="ruble-sign" unicode="&#xf158;" horiz-adv-x="384" +d="M239.36 128h-92.8008v-32h161.44c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-161.44v-52c0 -6.62695 -5.37305 -12 -12 -12h-58.5596c-6.62695 0 -12 5.37305 -12 12v52h-52c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h52 +v32h-52c-6.62695 0 -12 5.37305 -12 12v45.3682c0 6.62695 5.37305 12 12 12h52v206.632c0 6.62695 5.37305 12 12 12h163.36c85.1201 0 144.64 -57.5996 144.64 -143.071c0 -85.4707 -59.5195 -144.929 -144.64 -144.929zM146.56 347.252v-149.884h77.4404 +c48 0 76.1602 29.7285 76.1602 75.5605c0 45.2129 -28.1602 74.3232 -74.8799 74.3232h-78.7207z" /> + <glyph glyph-name="won-sign" unicode="&#xf159;" horiz-adv-x="576" +d="M564 256h-62.7002l-7.39941 -32h70.0996c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84.9004l-42.0996 -182.7c-1.2998 -5.39941 -6.09961 -9.2998 -11.7002 -9.2998h-56.7998c-5.59961 0 -10.4004 3.90039 -11.7002 9.2998l-42.3994 182.7 +h-55.1006l-42.2998 -182.7c-1.2998 -5.39941 -6.09961 -9.2998 -11.7002 -9.2998h-56.7998c-5.59961 0 -10.5 3.90039 -11.7002 9.40039l-40.8994 182.6h-83.9004c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h69.5l-7.2002 32h-62.2998 +c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h48l-18.0996 80.7002c-1.7002 7.5 4 14.5996 11.6992 14.5996h42.1006c5.7002 0 10.7002 -4 11.7998 -9.59961l17.5 -85.7002h108.7l20 86c1.2998 5.5 6.09961 9.2998 11.7002 9.2998h44 +c5.59961 0 10.3994 -3.7998 11.6992 -9.2998l19.7002 -86h109.9l14.3994 85.7998c1.10059 5.5 6 9.5 11.7002 9.5h46.1006c7.69922 0 13.3994 -7.2002 11.6992 -14.7002l-18.5996 -80.5996h48c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM183.8 106 +l12.6006 54h-38.8008l11 -54c5.10059 -25.2002 6.80078 -47.2002 6.80078 -47.2002h1.09961c0.5 0 1.09961 21.4004 7.2998 47.2002zM211.3 224l7.5 32h-80.7998l6.5 -32h66.7998zM274.2 224h25.3994l-2 8.59961c-1.89941 8 -3.5 16 -4.7998 23.4004h-11.7998 +c-1.2998 -7.40039 -2.90039 -15.4004 -4.7998 -23.4004zM405.1 106l11.5 54h-39.0996l12.4004 -54c6.19922 -25.7998 6.69922 -47.2002 7.2998 -47.2002h1.09961s1.7002 22 6.7998 47.2002zM430.3 224l6.90039 32h-81.6006l7.30078 -32h67.3994z" /> + <glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98 +c4.5 -4.5 7 -10.5996 7 -16.9004z" /> + <glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM288 76v8c0 6.59961 -5.40039 12 -12 12h-168c-6.59961 0 -12 -5.40039 -12 -12v-8 +c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12zM288 140v8c0 6.59961 -5.40039 12 -12 12h-168c-6.59961 0 -12 -5.40039 -12 -12v-8c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12zM288 212c0 6.59961 -5.40039 12 -12 12h-168 +c-6.59961 0 -12 -5.40039 -12 -12v-8c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12v8zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" /> + <glyph glyph-name="sort-alpha-down" unicode="&#xf15d;" horiz-adv-x="448" +d="M176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.58691 -2.58496 -7.65332 -4.68262 -11.3105 -4.68262c-3.65625 0 -8.72266 2.09766 -11.3096 4.68262l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83203 7.16797 16 16 16h32 +c8.83203 0 16 -7.16797 16 -16v-304h48zM416 160c8.83203 0 16 -7.16797 16 -16v-17.6299v-0.00292969c0 -7.93262 -4.81152 -18.6475 -10.7402 -23.917l-61.2598 -70.4502h56c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128 +c-8.83203 0 -16 7.16797 -16 16v17.6299v0.00292969c0 7.93262 4.81152 18.6475 10.7402 23.917l61.2598 70.4502h-56c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128zM447.06 245.38c0.514648 -1.44043 0.931641 -3.85059 0.931641 -5.37988 +c0 -8.82715 -7.16406 -15.9951 -15.9912 -16h-24.8398h-0.0449219c-6.42773 0 -13.249 4.96387 -15.2256 11.0801l-4.40918 12.9199h-71l-4.4209 -12.9199c-1.97559 -6.11621 -8.79688 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301 +c-8.82715 0.00488281 -15.9912 7.17285 -15.9912 16c0 1.5293 0.416992 3.93945 0.931641 5.37988l59.2695 160c2.09277 5.8623 8.84375 10.6201 15.0684 10.6201h0.00195312h41.4395h0.00195312c6.22461 0 12.9756 -4.75781 15.0684 -10.6201zM335.61 304h32.7793 +l-16.3896 48z" /> + <glyph glyph-name="sort-alpha-up" unicode="&#xf15e;" horiz-adv-x="448" +d="M16 288c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83203 -7.16797 -16 -16 -16h-32 +c-8.83203 0 -16 7.16797 -16 16v304h-48zM416 160c8.83203 0 16 -7.16797 16 -16v-17.6299v-0.00292969c0 -7.93262 -4.81152 -18.6475 -10.7402 -23.917l-61.2598 -70.4502h56c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128 +c-8.83203 0 -16 7.16797 -16 16v17.6299v0.00292969c0 7.93262 4.81152 18.6475 10.7402 23.917l61.2598 70.4502h-56c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128zM447.06 245.38c0.514648 -1.44043 0.931641 -3.85059 0.931641 -5.37988 +c0 -8.82715 -7.16406 -15.9951 -15.9912 -16h-24.8398h-0.0449219c-6.42773 0 -13.249 4.96387 -15.2256 11.0801l-4.40918 12.9199h-71l-4.4209 -12.9199c-1.97559 -6.11621 -8.79688 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301 +c-8.82715 0.00488281 -15.9912 7.17285 -15.9912 16c0 1.5293 0.416992 3.93945 0.931641 5.37988l59.2695 160c2.09277 5.8623 8.84375 10.6201 15.0684 10.6201h0.00195312h41.4395h0.00195312c6.22461 0 12.9756 -4.75781 15.0684 -10.6201zM335.61 304h32.7793 +l-16.3896 48z" /> + <glyph glyph-name="sort-amount-down" unicode="&#xf160;" +d="M304 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-64c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h64zM176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96 +c-2.58691 -2.58496 -7.65332 -4.68262 -11.3105 -4.68262c-3.65625 0 -8.72266 2.09766 -11.3096 4.68262l-80 96c-10.0801 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83203 7.16797 16 16 16h32c8.83203 0 16 -7.16797 16 -16v-304h48zM432 288 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-192c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h192zM368 160c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h128zM496 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-256c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h256z" /> + <glyph glyph-name="sort-amount-up" unicode="&#xf161;" +d="M304 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-64c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h64zM16 288c-14.2305 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262 +s8.72363 -2.09766 11.3096 -4.68262l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v304h-48zM432 288c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16 +h-192c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h192zM368 160c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128zM496 416c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-256c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h256z" /> + <glyph glyph-name="sort-numeric-down" unicode="&#xf162;" horiz-adv-x="448" +d="M304 352c-8.82422 0.0078125 -15.9863 7.17578 -15.9863 16c0 2.08984 0.759766 5.30176 1.69629 7.16992l16 32c2.44141 4.87012 8.84277 8.8252 14.29 8.83008h48c8.83203 0 16 -7.16797 16 -16v-112h16c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h16v64h-16zM330.15 189.09c53.4502 14.25 101.85 -25.8799 101.869 -77.0898v-10.7695c0 -70.3906 -28.25 -107.24 -86.25 -132 +c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408c6.2793 2.71387 15.6201 8.49805 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8496 102.53c6.80762 23.4512 31.4473 47.7197 55 54.1699z +M352 92c11.04 0 20 8.95996 20 20s-8.95996 20 -20 20s-20 -8.95996 -20 -20s8.95996 -20 20 -20zM176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.58691 -2.58496 -7.65332 -4.68262 -11.3105 -4.68262c-3.65625 0 -8.72266 2.09766 -11.3096 4.68262 +l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83203 7.16797 16 16 16h32c8.83203 0 16 -7.16797 16 -16v-304h48z" /> + <glyph glyph-name="sort-numeric-up" unicode="&#xf163;" horiz-adv-x="448" +d="M330.17 189.09c53.4502 14.25 101.83 -25.8799 101.85 -77.0898v-10.7695c0 -70.3906 -28.25 -107.24 -86.25 -132c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408 +c6.2793 2.71387 15.6201 8.49805 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8301 102.53c6.80762 23.4512 31.4482 47.7197 55 54.1699zM352 92c11.04 0 20 8.95996 20 20s-8.95996 20 -20 20s-20 -8.95996 -20 -20s8.95996 -20 20 -20zM304 352 +c-8.82422 0.0078125 -15.9863 7.17578 -15.9863 16c0 2.08984 0.759766 5.30176 1.69629 7.16992l16 32c2.44141 4.87012 8.84277 8.8252 14.29 8.83008h48c8.83203 0 16 -7.16797 16 -16v-112h16c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-96 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h16v64h-16zM107.31 411.31l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v304h-48 +c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262z" /> + <glyph glyph-name="thumbs-up" unicode="&#xf164;" +d="M104 224c13.2549 0 24 -10.7451 24 -24v-240c0 -13.2549 -10.7451 -24 -24 -24h-80c-13.2549 0 -24 10.7451 -24 24v240c0 13.2549 10.7451 24 24 24h80zM64 -24c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM384 366.548 +c0 -42.416 -25.9697 -66.208 -33.2773 -94.5479h101.724c33.3965 0 59.3965 -27.7461 59.5527 -58.0977c0.0839844 -17.9385 -7.5459 -37.249 -19.4395 -49.1973l-0.109375 -0.110352c9.83594 -23.3369 8.23633 -56.0371 -9.30859 -79.4688 +c8.68164 -25.8945 -0.0683594 -57.7041 -16.3818 -74.7568c4.29785 -17.5977 2.24414 -32.5752 -6.14746 -44.6318c-20.4102 -29.3242 -70.9961 -29.7373 -113.773 -29.7373l-2.84473 0.000976562c-48.2871 0.0166016 -87.8057 17.5977 -119.561 31.7246 +c-15.957 7.09961 -36.8203 15.8877 -52.6504 16.1787c-6.54004 0.120117 -11.7832 5.45703 -11.7832 11.998v213.77c0 3.2002 1.28223 6.27148 3.55762 8.52148c39.6143 39.1436 56.6484 80.5869 89.1172 113.11c14.8037 14.832 20.1885 37.2363 25.3936 58.9023 +c4.44629 18.501 13.749 57.7939 33.9316 57.7939c24 0 72 -8 72 -81.4521z" /> + <glyph glyph-name="thumbs-down" unicode="&#xf165;" +d="M0 392c0 13.2549 10.7451 24 24 24h80c13.2549 0 24 -10.7451 24 -24v-240c0 -13.2549 -10.7451 -24 -24 -24h-80c-13.2549 0 -24 10.7451 -24 24v240zM40 192c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24zM312 -64 +c-20.1826 0 -29.4854 39.293 -33.9307 57.7949c-5.20605 21.666 -10.5889 44.0703 -25.3936 58.9023c-32.4688 32.5234 -49.5029 73.9668 -89.1172 113.11c-1.96387 1.94141 -3.55762 5.75879 -3.55762 8.52051v0.000976562v213.77 +c0 6.54102 5.24316 11.8779 11.7832 11.998c15.8311 0.290039 36.6934 9.0791 52.6504 16.1787c31.7549 14.127 71.2744 31.708 119.561 31.7246h2.84375c42.7773 0 93.3633 -0.413086 113.774 -29.7373c8.3916 -12.0566 10.4453 -27.0342 6.14746 -44.6318 +c16.3125 -17.0527 25.0635 -48.8633 16.3818 -74.7568c17.5439 -23.4316 19.1436 -56.1318 9.30859 -79.4688l0.109375 -0.110352c11.8936 -11.9492 19.5234 -31.2588 19.4395 -49.1973c-0.15625 -30.3516 -26.1572 -58.0977 -59.5527 -58.0977h-101.725 +c7.30762 -28.3398 33.2773 -52.1318 33.2773 -94.5479c0 -73.4521 -48 -81.4521 -72 -81.4521z" /> + <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="256" +d="M128 448c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM247.283 93.8213c3.78809 -15.1504 -7.69238 -29.8213 -23.2832 -29.8213h-56v-104c0 -13.2549 -10.7451 -24 -24 -24h-32c-13.2549 0 -24 10.7451 -24 24v104h-56 +c-15.6172 0 -27.0654 14.6953 -23.2832 29.8213l48 192c2.50879 10.0342 12.9395 18.1787 23.2832 18.1787h11.3604c23.6895 -10.8936 50.5684 -10.4434 73.2793 0h11.3604c10.3438 0 20.7744 -8.14453 23.2832 -18.1787z" /> + <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="192" +d="M96 448c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM144 304c26.5098 0 48 -21.4902 48 -48v-136c0 -13.2549 -10.7451 -24 -24 -24h-16v-136c0 -13.2549 -10.7451 -24 -24 -24h-64c-13.2549 0 -24 10.7451 -24 24v136h-16 +c-13.2549 0 -24 10.7451 -24 24v136c0 26.5098 21.4902 48 48 48h11.3604c23.6895 -10.8936 50.5684 -10.4434 73.2793 0h11.3604z" /> + <glyph glyph-name="sun" unicode="&#xf185;" +d="M256 288c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM502.4 207.5c12.7998 -6.40039 12.7998 -24.5996 -0.200195 -31.0996l-94.7002 -47.3008l33.5 -100.399c4.59961 -13.5 -8.2998 -26.4004 -21.9004 -21.9004 +l-100.399 33.5l-47.2998 -94.7002c-6.40039 -12.7998 -24.6006 -12.7998 -31 0l-47.3008 94.7002l-100.399 -33.5c-13.5 -4.59961 -26.4004 8.2998 -21.9004 21.9004l33.5 100.5l-94.7002 47.2998c-12.7998 6.40039 -12.7998 24.5996 0 31l94.7002 47.4004l-33.5 100.399 +c-4.59961 13.5 8.2998 26.4004 21.9004 21.9004l100.5 -33.5l47.2998 94.7002c6.40039 12.7998 24.5996 12.7998 31 0l47.4004 -94.8008l100.399 33.5c13.5 4.60059 26.4004 -8.2998 21.9004 -21.8994l-33.5 -100.4zM346.5 101.5c49.9004 49.9004 49.9004 131.1 0 181 +s-131.1 49.9004 -181 0s-49.9004 -131.1 0 -181s131.1 -49.9004 181 0z" /> + <glyph glyph-name="moon" unicode="&#xf186;" +d="M283.211 -64c-141.489 0 -256 114.691 -256 256c0 141.489 114.691 256 256 256c13.0176 -0.00195312 33.9727 -1.91895 46.7754 -4.28027c11.0059 -2.0332 13.4414 -16.7178 3.75586 -22.2295c-62.8359 -35.7588 -101.498 -102.172 -101.498 -174.395 +c0 -125.378 114.059 -220.607 238.262 -196.954c10.9229 2.08008 18.6299 -10.6416 11.5625 -19.3496c-47.7783 -58.8672 -119.896 -94.792 -198.857 -94.792z" /> + <glyph glyph-name="archive" unicode="&#xf187;" +d="M32 0v288h448v-288c0 -17.7002 -14.2998 -32 -32 -32h-384c-17.7002 0 -32 14.2998 -32 32zM192 212v-8c0 -6.59961 5.40039 -12 12 -12h104c6.59961 0 12 5.40039 12 12v8c0 6.59961 -5.40039 12 -12 12h-104c-6.59961 0 -12 -5.40039 -12 -12zM480 416 +c17.7002 0 32 -14.2998 32 -32v-48c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v48c0 17.7002 14.2998 32 32 32h448z" /> + <glyph glyph-name="bug" unicode="&#xf188;" +d="M511.988 159.1c-0.478516 -17.4297 -15.2168 -31.0996 -32.6533 -31.0996h-55.335v-16c0 -21.8643 -4.88184 -42.584 -13.5996 -61.1445l60.2275 -60.2285c12.4961 -12.4971 12.4961 -32.7578 0 -45.2549c-12.498 -12.4971 -32.7588 -12.4961 -45.2559 0 +l-54.7363 54.7363c-24.75 -20.0732 -56.2852 -32.1084 -90.6357 -32.1084v244c0 6.62695 -5.37305 12 -12 12h-24c-6.62695 0 -12 -5.37305 -12 -12v-244c-34.3506 0 -65.8857 12.0352 -90.6357 32.1084l-54.7363 -54.7363c-12.498 -12.4971 -32.7588 -12.4961 -45.2559 0 +c-12.4961 12.4971 -12.4961 32.7578 0 45.2549l60.2275 60.2285c-8.71777 18.5605 -13.5996 39.2803 -13.5996 61.1445v16h-55.334c-17.4355 0 -32.1748 13.6699 -32.6533 31.0996c-0.49707 18.084 14.0156 32.9004 31.9873 32.9004h56v58.7451l-46.6279 46.6279 +c-12.4961 12.4971 -12.4961 32.7578 0 45.2549c12.498 12.4971 32.7578 12.4971 45.2559 0l54.627 -54.6279h229.489l54.627 54.627c12.498 12.4971 32.7578 12.4971 45.2559 0c12.4961 -12.4971 12.4961 -32.7578 0 -45.2549l-46.627 -46.627v-58.7451h56 +c17.9717 0 32.4844 -14.8164 31.9883 -32.9004zM257 448c61.8564 0 112 -50.1436 112 -112h-224c0 61.8564 50.1436 112 112 112z" /> + <glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448" +d="M400 -32h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM259.515 323.515l-123.029 -123.029c-4.68652 -4.68652 -4.68652 -12.2842 0 -16.9717l123.028 -123.028 +c7.56055 -7.56055 20.4854 -2.20605 20.4854 8.48438v246.06c0.000976562 10.6904 -12.9248 16.0449 -20.4844 8.48535z" /> + <glyph glyph-name="dot-circle" unicode="&#xf192;" +d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM336 192c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80z" /> + <glyph glyph-name="wheelchair" unicode="&#xf193;" +d="M496.101 62.3311l14.2275 -28.6631c3.92871 -7.91504 0.697266 -17.5156 -7.21777 -21.4453l-65.4658 -32.8857c-16.0488 -7.9668 -35.5557 -1.19434 -43.1885 15.0547l-62.7773 133.608h-139.679c-15.9248 0 -29.4258 11.71 -31.6787 27.4746 +c-33.8887 237.218 -31.9414 222.481 -32.3213 228.525c0 36.3584 30.3184 65.6348 67.0518 63.9287c33.2715 -1.54492 60.0479 -28.9043 60.9248 -62.2012c0.868164 -32.9326 -23.1514 -60.4229 -54.6074 -65.0381l4.66992 -32.6904h129.961c8.83691 0 16 -7.16309 16 -16 +v-32c0 -8.83691 -7.16309 -16 -16 -16h-120.818l4.57227 -32h132.246c11.2168 0 24.1924 -8.24023 28.9619 -18.3916l57.5146 -122.407l36.1787 18.3486c7.91504 3.92871 17.5166 0.697266 21.4453 -7.21777zM311.358 96l25.752 -54.8076 +c-27.3047 -61.8848 -89.2402 -105.192 -161.11 -105.192c-97.0469 0 -176 78.9531 -176 176c0 74.0371 45.9561 137.536 110.836 163.489c2.64453 -18.4736 5.77637 -40.3682 9.48828 -66.333c-33.6299 -19.3477 -56.3242 -55.6514 -56.3242 -97.1562 +c0 -61.7568 50.2432 -112 112 -112c56.3242 0 103.064 41.7959 110.852 96h24.5068z" /> + <glyph glyph-name="lira-sign" unicode="&#xf195;" horiz-adv-x="384" +d="M371.994 192c6.78613 0 12.2578 -5.62598 11.9971 -12.4082c-5.15332 -133.758 -94.3174 -211.592 -228.408 -211.592h-79.583c-6.62695 0 -12 5.37305 -12 12v193.442l-49.3975 -10.9775c-7.49316 -1.66602 -14.6025 4.03711 -14.6025 11.7139v40.9766 +c0 5.31348 4.20996 10.5615 9.39746 11.7139l54.6025 12.1338v30.4395l-49.3975 -10.9775c-7.49316 -1.66602 -14.6025 4.03711 -14.6025 11.7139v40.9766c0 5.31348 4.20996 10.5615 9.39746 11.7139l54.6025 12.1338v68.9971c0 6.62695 5.37305 12 12 12h56 +c6.62695 0 12 -5.37305 12 -12v-51.2188l129.397 28.7539c7.49316 1.66602 14.6025 -4.03711 14.6025 -11.7139v-40.9756c0 -5.31348 -4.20996 -10.5615 -9.39746 -11.7139l-134.603 -29.9121v-30.4385l129.397 28.7539c7.49316 1.66602 14.6025 -4.03711 14.6025 -11.7139 +v-40.9766c0 -5.31348 -4.20996 -10.5615 -9.39746 -11.7139l-134.603 -29.9121v-159.219c86.1787 0 168 48 168 148.754c0 6.33398 5.63965 11.2461 11.9746 11.2461h48.0195z" /> + <glyph glyph-name="space-shuttle" unicode="&#xf197;" horiz-adv-x="640" +d="M592.604 239.756c29.6787 -13.9111 47.3965 -31.7637 47.3965 -47.7559s-17.7178 -33.8447 -47.3965 -47.7559c-32.8682 -15.4082 -76.8262 -24.2441 -120.604 -24.2441h-285.674c-4.95215 -6.55469 -10.585 -11.9775 -16.7197 -16h206.394 +c-146.843 -30.2529 -156.597 -136 -279.997 -136h-0.00292969v128h-16v-128c-26.5098 0 -48 28.6543 -48 64v64c-23.1807 0 -32 10.0166 -32 24v40c0 13.9678 8.80273 24 32 24v16c-23.1807 0 -32 10.0166 -32 24v40c0 13.9678 8.80273 24 32 24v64 +c0 35.3457 21.4902 64 48 64v-128h16v128h0.00292969c123.4 0 133.154 -105.747 279.997 -136h-206.393c6.13477 -4.02246 11.7676 -9.44531 16.7197 -16h285.673c43.7773 0 87.7354 -8.83594 120.604 -24.2441zM488 152c31.9424 0 31.9092 80 0 80 +c-4.41602 0 -8 -3.58398 -8 -8v-64c0 -4.41602 3.58398 -8 8 -8z" /> + <glyph glyph-name="envelope-square" unicode="&#xf199;" horiz-adv-x="448" +d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM178.117 185.896c10.5156 -7.66895 31.3799 -26.1133 45.8828 -25.8955 +c14.4912 -0.225586 35.3828 18.2393 45.8828 25.8936c90.6836 65.8145 89.7461 65.9697 114.117 84.9385v25.167c0 13.2549 -10.7451 24 -24 24h-272c-13.2549 0 -24 -10.7451 -24 -24v-25.167c24.3525 -18.9541 23.4287 -19.1201 114.117 -84.9365zM384 230.225 +c-13.958 -10.793 -33.3252 -25.2334 -95.2832 -70.1982c-13.6826 -9.98438 -37.833 -32.1592 -64.7197 -32.0254c-26.7188 -0.134766 -50.5322 21.6689 -64.6943 32.0098c-61.9736 44.9785 -81.3447 59.4199 -95.3027 70.2139v-142.225c0 -13.2549 10.7451 -24 24 -24h272 +c13.2549 0 24 10.7451 24 24v142.225z" /> + <glyph glyph-name="university" unicode="&#xf19c;" +d="M496 320v-16c0 -4.41602 -3.58398 -8 -8 -8h-24v-12c0 -6.62695 -5.37305 -12 -12 -12h-392c-6.62695 0 -12 5.37305 -12 12v12h-24c-4.41602 0 -8 3.58398 -8 8v16c0 2.95215 2.21387 6.26367 4.94141 7.3916l232 88 +c0.810547 0.335938 2.18066 0.608398 3.05859 0.608398s2.24805 -0.272461 3.05859 -0.608398l232 -88c2.72754 -1.12793 4.94141 -4.43945 4.94141 -7.3916zM472 16c13.2549 0 24 -10.7451 24 -24v-16c0 -4.41602 -3.58398 -8 -8 -8h-464c-4.41602 0 -8 3.58398 -8 8v16 +c0 13.2549 10.7451 24 24 24h432zM96 256h64v-192h64v192h64v-192h64v192h64v-192h36c6.62695 0 12 -5.37305 12 -12v-20h-416v20c0 6.62695 5.37305 12 12 12h36v192z" /> + <glyph glyph-name="graduation-cap" unicode="&#xf19d;" horiz-adv-x="640" +d="M622.34 294.8c23.5498 -7.24023 23.5498 -38.3594 0 -45.5996l-278.95 -85.7002c-20.3496 -6.25 -37.7295 -2.78027 -46.79 0l-195.569 60.0898c-12.25 -8.41992 -19.9307 -21.7002 -20.6904 -36.7197c9.19043 -5.62012 15.6602 -15.2998 15.6602 -26.8701 +c0 -10.7803 -5.67969 -19.8496 -13.8604 -25.6504l25.5303 -114.88c2.21973 -9.98926 -5.37988 -19.4697 -15.6201 -19.4697h-56.1094c-10.2305 0 -17.8301 9.48047 -15.6104 19.4697l25.5303 114.88c-8.18066 5.80078 -13.8604 14.8701 -13.8604 25.6504 +c0 11.8896 6.78027 21.8496 16.4102 27.3701c0.649414 17.6201 7.20996 33.71 17.8799 46.8994l-48.6299 14.9404c-23.54 7.23047 -23.54 38.3604 0 45.5898l278.95 85.7002c15.1895 4.66992 31.5898 4.66992 46.79 0zM352.79 132.91l145.03 44.5596l14.1797 -113.47 +c0 -35.3496 -85.96 -64 -192 -64s-192 28.6504 -192 64l14.1797 113.46l145.021 -44.5498c12.75 -3.91992 37.0596 -8.75977 65.5898 0z" /> + <glyph glyph-name="language" unicode="&#xf1ab;" horiz-adv-x="640" +d="M152.1 211.8l10.9004 -37.5h-38.0996l11.0996 37.5c3.5 12.1006 7.7998 33.2002 7.7998 33.2002h0.5s4.2998 -21.0996 7.7998 -33.2002zM616 352c13.2998 0 24 -10.7002 24 -24v-272c0 -13.2998 -10.7002 -24 -24 -24h-280v320h280zM592 232v16 +c0 6.59961 -5.40039 12 -12 12h-64v16c0 6.59961 -5.40039 12 -12 12h-16c-6.59961 0 -12 -5.40039 -12 -12v-16h-64c-6.59961 0 -12 -5.40039 -12 -12v-16c0 -6.59961 5.40039 -12 12 -12h114.3c-6.2002 -14.2998 -16.5 -29 -30 -43.2002 +c-6.59961 6.90039 -12.3994 13.9004 -17.3994 20.9004c-3.60059 5.09961 -10.6006 6.59961 -16 3.39941l-7.30078 -4.2998l-6.5 -3.89941c-5.89941 -3.5 -7.69922 -11.4004 -3.69922 -17.1006c6.09961 -8.7002 13.0996 -17.2998 21 -25.7002 +c-8.10059 -6.2998 -16.8008 -12.2998 -26.1006 -18c-5.59961 -3.39941 -7.39941 -10.5996 -4.2002 -16.1992l7.90039 -13.9004c3.40039 -5.90039 10.9004 -7.7998 16.7002 -4.2998c12.7002 7.7998 24.5 16.2002 35.3994 24.8994 +c10.9004 -8.7998 22.8008 -17.0996 35.4004 -24.8994c5.7998 -3.5 13.2998 -1.60059 16.7002 4.2998l7.89941 13.9004c3.2002 5.69922 1.40039 12.7998 -4.09961 16.1992c-9 5.5 -17.7002 11.6006 -26.0996 18c21 22.5 35.7998 46.3008 42.6992 69.9004h11.4004 +c6.59961 0 12 5.40039 12 12zM0 328c0 13.2998 10.7002 24 24 24h280v-320h-280c-13.2998 0 -24 10.7002 -24 24v272zM58.9004 111.9c-2.60059 -7.80078 3.19922 -15.9004 11.3994 -15.9004h22.9004c5.2998 0 10 3.59961 11.5 8.7002l9.09961 31.7998h60.2002 +l9.40039 -31.9004c1.40137 -4.74316 6.55273 -8.59668 11.5 -8.59961h22.8994c8.2998 0 14 8.09961 11.4004 15.9004l-57.5 169.1c-1.7002 4.7998 -6.2998 8.09961 -11.4004 8.09961h-32.5c-5.2002 0 -9.7002 -3.19922 -11.3994 -8.09961z" /> + <glyph glyph-name="fax" unicode="&#xf1ac;" +d="M64 320c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h32zM480 288c17.6699 0 32 -14.3301 32 -32v-288c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32 +v448c0 17.6699 14.3301 32 32 32h242.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l45.2598 -45.25c6 -6.00977 9.37012 -14.1396 9.37012 -22.6299v-82.75zM288 16v32c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-32 +c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM288 144v32c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM416 16v32c0 8.83984 -7.16016 16 -16 16h-32 +c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM416 144v32c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM432 256v96h-32 +c-8.83984 0 -16 7.16016 -16 16v32h-208v-144h256z" /> + <glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448" +d="M436 -32c6.62695 0 12 -5.37305 12 -12v-20h-448v20c0 6.62695 5.37305 12 12 12h20v456c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-456h20zM128 372v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40 +c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12zM128 276v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12zM180 128c6.62695 0 12 5.37305 12 12v40 +c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40zM256 -32v84c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-84h64zM320 140v40c0 6.62695 -5.37305 12 -12 12h-40 +c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 236v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 332v40 +c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12z" /> + <glyph glyph-name="child" unicode="&#xf1ae;" horiz-adv-x="384" +d="M120 376c0 39.7646 32.2354 72 72 72s72 -32.2354 72 -72c0 -39.7637 -32.2354 -72 -72 -72s-72 32.2363 -72 72zM374.627 374.627c12.4971 -12.4971 12.4971 -32.7568 0 -45.2539l-94.627 -94.627v-266.746c0 -17.6729 -14.3271 -32 -32 -32h-16 +c-17.6729 0 -32 14.3271 -32 32v112h-16v-112c0 -17.6729 -14.3271 -32 -32 -32h-16c-17.6729 0 -32 14.3271 -32 32v266.746l-94.627 94.626c-12.4971 12.4971 -12.4971 32.7578 0 45.2549c12.4961 12.4971 32.7578 12.4971 45.2539 0l86.627 -86.627h101.491 +l86.6279 86.627c12.4961 12.4971 32.7578 12.4971 45.2539 0z" /> + <glyph glyph-name="paw" unicode="&#xf1b0;" +d="M256 224c79.4102 0 192 -122.76 192 -200.25c0 -34.9004 -26.8096 -55.75 -71.7402 -55.75c-48.4102 0 -80.75 25.0801 -120.26 25.0801c-39.1699 0 -71.4199 -25.0801 -120.26 -25.0801c-44.9307 0 -71.7402 20.8496 -71.7402 55.75c0 77.4902 112.59 200.25 192 200.25 +zM108.72 236.61c10.4004 -34.6504 -4.76953 -68.3799 -33.8896 -75.3408c-29.1201 -6.95996 -61.1602 15.4805 -71.5605 50.1309c-10.3994 34.6494 4.77051 68.3799 33.8906 75.3398s61.1602 -15.4805 71.5596 -50.1299zM193.44 257.39 +c-30.9307 -8.14941 -65.6201 20.4502 -77.46 63.8701c-11.8408 43.4199 3.63965 85.2207 34.5791 93.3604c30.9404 8.13965 65.6201 -20.4502 77.46 -63.8701c11.8408 -43.4199 -3.63965 -85.2197 -34.5791 -93.3604zM474.83 286.73 +c29.1201 -6.96094 44.29 -40.6904 33.8896 -75.3408c-10.4102 -34.6494 -42.4395 -57.0898 -71.5596 -50.1299s-44.29 40.6904 -33.8906 75.3398c10.4102 34.6504 42.4404 57.0908 71.5605 50.1309zM318.56 257.39c-30.9395 8.14062 -46.4199 49.9404 -34.5791 93.3604 +c11.8398 43.4199 46.5195 72.0195 77.46 63.8701c30.9395 -8.15039 46.4199 -49.9404 34.5791 -93.3604c-11.8398 -43.4199 -46.5195 -72.0098 -77.46 -63.8701z" /> + <glyph glyph-name="cube" unicode="&#xf1b2;" +d="M239.1 441.7c10.9004 4.09961 22.9004 4.09961 33.7002 -0.100586l208 -78c18.7002 -7 31.1006 -24.8994 31.1006 -44.8994v-225.101c0 -18.0996 -10.2002 -34.7998 -26.5 -42.8994l-208 -104c-13.5 -6.7998 -29.4004 -6.7998 -42.9004 0l-208 104 +c-16.2002 8.09961 -26.5 24.7002 -26.5 42.8994v225.101c0 20 12.4004 38 31.0996 45zM256 379.6l-192 -72v-1.09961l192 -78l192 78v1.09961zM288 23.5996l160 80v133.9l-160 -65v-148.9z" /> + <glyph glyph-name="cubes" unicode="&#xf1b3;" +d="M488.6 197.8c14.1006 -5.2998 23.4004 -18.7002 23.4004 -33.7002v-110.1c0 -13.5996 -7.7002 -26.0996 -19.9004 -32.2002l-100 -50c-10.0996 -5.09961 -22.0996 -5.09961 -32.1992 0l-103.9 52l-103.9 -52c-10.0996 -5.09961 -22.0996 -5.09961 -32.1992 0l-100 50 +c-12.2002 6.10059 -19.9004 18.6006 -19.9004 32.2002v110.1c0 15 9.2998 28.4004 23.2998 33.7002l96.6006 36.2002v108.5c0 15 9.2998 28.4004 23.3994 33.7002l100 37.5c8.2002 3.09961 17.2002 3.09961 25.2998 0l100 -37.5 +c14.1006 -5.2998 23.4004 -18.7002 23.4004 -33.7002v-108.5zM358 233.2v73.2998l-85 -37v-68.2002zM154 343.9v-0.600586l102 -41.3994l102 41.3994v0.600586l-102 38.1992zM238 52.7998v75.4004l-85 -38.7998v-79.1006zM238 164.8v0.600586l-102 38.1992l-102 -38.1992 +v-0.600586l102 -41.3994zM478 52.7998v75.4004l-85 -38.7998v-79.1006zM478 164.8v0.600586l-102 38.1992l-102 -38.1992v-0.600586l102 -41.3994z" /> + <glyph glyph-name="recycle" unicode="&#xf1b8;" +d="M184.561 186.097c3.23242 -13.9971 -12.1221 -24.6348 -24.0674 -17.168l-40.7363 25.4551l-50.8672 -81.4014c-13.2832 -21.2559 2.07031 -48.9824 27.1221 -48.9824h51.9883c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-51.8848 +c-75.334 0 -121.302 83.0479 -81.4082 146.88l50.8223 81.3877l-40.7256 25.4482c-12.0811 7.54688 -8.96582 25.9609 4.87891 29.1582l110.237 25.4502c8.61133 1.9873 17.2012 -3.38086 19.1895 -11.9902zM283.122 369.012 +c-12.2842 19.6543 -41.5449 20.3193 -54.2568 -0.0214844l-17.9609 -28.7432c-3.5127 -5.62012 -10.916 -7.3291 -16.5361 -3.81738l-33.9189 21.1953c-5.62012 3.51172 -7.33008 10.9131 -3.82031 16.5332l17.9629 28.7656c37.6074 60.1709 125.295 60.0332 162.816 0 +l41.2627 -66.082l40.6875 25.4238c12.0771 7.55176 27.2646 -3.32324 24.0674 -17.168l-25.4502 -110.236c-1.97363 -8.55273 -10.5166 -13.9893 -19.1885 -11.9902l-110.237 25.4502c-13.8789 3.20508 -16.9297 21.6299 -4.87891 29.1572l40.7402 25.457zM497.288 146.88 +c39.9268 -63.8828 -6.13379 -146.88 -81.4082 -146.88h-95.8799v-47.9893c0 -14.3105 -17.3105 -21.3184 -27.3135 -11.3145l-80 79.9883c-6.24805 6.24805 -6.24805 16.3799 0 22.627l80 79.9814c10.0713 10.0703 27.3135 2.90039 27.3135 -11.3125v-47.9814h95.9844 +c25.0791 0 40.3926 27.749 27.1357 48.96l-27.5645 44.1123c-3.51172 5.62109 -1.80176 13.0234 3.81836 16.5361l33.8613 21.1582c5.62207 3.51367 13.0264 1.80273 16.5381 -3.82031z" /> + <glyph glyph-name="car" unicode="&#xf1b9;" +d="M499.99 272c7.80957 0 13.54 -7.33984 11.6494 -14.9102l-6 -24c-1.33008 -5.33984 -6.12988 -9.08984 -11.6396 -9.08984h-20.0703c13.4199 -11.7305 22.0703 -28.7803 22.0703 -48v-48c0 -16.1299 -6.16016 -30.6797 -16 -41.9297v-54.0703 +c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v54.0703c-9.83984 11.2598 -16 25.8096 -16 41.9297v48c0 19.2197 8.65039 36.2695 22.0801 48h-20.0703 +c-5.50977 0 -10.3096 3.75 -11.6396 9.08984l-6 24c-1.90039 7.57031 3.83008 14.9102 11.6396 14.9102h59.8604l16.6396 41.5996c17.1104 42.7705 57.9307 70.4004 103.99 70.4004h127c46.0703 0 86.8799 -27.6299 103.98 -70.4004l16.6396 -41.5996h59.8701z +M147.93 289.83l-19.9297 -49.8301h256l-19.9297 49.8301c-7.29004 18.2197 -24.9404 30.1699 -44.5703 30.1699h-127c-19.6299 0 -37.2803 -11.9502 -44.5703 -30.1699zM96 128.2c19.2002 0 48 -3.19043 48 15.9502c0 19.1396 -28.7998 47.8496 -48 47.8496 +s-32 -12.7598 -32 -31.9004c0 -19.1396 12.7998 -31.8994 32 -31.8994zM416 128.2c19.2002 0 32 12.7598 32 31.8994c0 19.1406 -12.7998 31.9004 -32 31.9004s-48 -28.71 -48 -47.8496c0 -19.1406 28.7998 -15.9502 48 -15.9502z" /> + <glyph glyph-name="taxi" unicode="&#xf1ba;" +d="M462 206.36c28.5898 -6.40039 50 -31.8301 50 -62.3604v-48c0 -23.6201 -12.9502 -44.0303 -32 -55.1201v-40.8799c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32 +v40.8799c-19.0498 11.0801 -32 31.4902 -32 55.1201v48c0 30.5303 21.4102 55.96 50 62.3604l22 84.8398c9.59961 35.2002 41.5996 60.7998 76.7998 60.7998h11.2002v32c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32v-32h11.2002 +c35.2002 0 67.2002 -25.5996 76.7998 -60.7998zM96 96c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM116.55 208h278.9l-17.3906 67.1396c-2.01953 7.37988 -9.37988 12.8604 -14.8496 12.8604h-214.4 +c-5.46973 0 -12.8291 -5.48047 -15.0596 -13.6396zM416 96c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="tree" unicode="&#xf1bb;" horiz-adv-x="384" +d="M378.31 69.5098c6 -6.79004 7.36035 -16.0898 3.56055 -24.2598c-3.75 -8.0498 -12 -13.25 -21.0098 -13.25h-136.86v-24.4502l30.29 -48.3994c5.32031 -10.6406 -2.41992 -23.1602 -14.3096 -23.1602h-95.9609c-11.8896 0 -19.6299 12.5195 -14.3096 23.1602 +l30.29 48.3994v24.4502h-136.86c-9.00977 0 -17.2598 5.2002 -21.0098 13.25c-3.7998 8.16992 -2.43945 17.4697 3.56055 24.2598l79.8896 90.4902h-30.6299c-9.02051 0 -16.9805 5 -20.7803 13.0498c-3.79004 8.0498 -2.54004 17.2598 3.27051 24.04l78.1396 90.9102 +h-28.8896c-9.10059 0 -17.3105 5.34961 -20.8701 13.6104c-3.51074 8.12988 -1.86035 17.5898 4.23926 24.0801l110.28 117.479c6.04004 6.4502 17.29 6.4502 23.3203 0l110.27 -117.479c6.10059 -6.49023 7.76074 -15.9502 4.24023 -24.0801 +c-3.55957 -8.26074 -11.7598 -13.6104 -20.8604 -13.6104h-28.8896l78.1299 -90.8896c5.83008 -6.79004 7.08008 -16.0107 3.28027 -24.0508c-3.7998 -8.05957 -11.7705 -13.0596 -20.7803 -13.0596h-30.6299z" /> + <glyph glyph-name="database" unicode="&#xf1c0;" horiz-adv-x="448" +d="M448 374.857v-45.7148c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426v45.7148c0 40.2852 100.333 73.1426 224 73.1426s224 -32.8574 224 -73.1426zM448 272v-102.857c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426 +v102.857c48.125 -33.1426 136.208 -48.5723 224 -48.5723s175.874 15.4297 224 48.5723zM448 112v-102.857c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426v102.857c48.125 -33.1426 136.208 -48.5723 224 -48.5723s175.874 15.4297 224 48.5723z +" /> + <glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384" +d="M181.9 191.9c-5 16 -4.90039 46.8994 -2 46.8994c8.39941 0 7.59961 -36.8994 2 -46.8994zM180.2 144.7c9.59961 -17.4004 21.7998 -31.2002 34.5 -40.7998c-23.9004 -4.7002 -44.6006 -14.9004 -62.9004 -21.9004c11.1006 19.4004 20.7002 42.5 28.4004 62.7002z +M86.0996 19.9004c5.80078 15.6992 28.2002 33.8994 34.9004 40.1992c-21.7002 -34.7998 -34.9004 -41 -34.9004 -40.1992zM248 288h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136 +c0 -13.2002 10.7998 -24 24 -24zM240 116.2c-20 12.2002 -33.2998 29 -42.7002 53.7998c4.5 18.5 11.6006 46.5996 6.2002 64.2002c-4.7002 29.3994 -42.4004 26.5 -47.7998 6.7998c-5 -18.2998 -0.400391 -44.0996 8.09961 -77 +c-11.5996 -27.5996 -28.7002 -64.5996 -40.7998 -85.7998c-0.0996094 0 -0.0996094 -0.100586 -0.200195 -0.100586c-27.0996 -13.8994 -73.5996 -44.5 -54.5 -68c5.60059 -6.89941 16 -10 21.5 -10c17.9004 0 35.7002 18 61.1006 61.8008 +c25.7998 8.5 54.0996 19.0996 79 23.1992c21.6992 -11.7998 47.0996 -19.5 64 -19.5c29.1992 0 31.1992 32 19.6992 43.4004c-13.8994 13.5996 -54.2998 9.7002 -73.5996 7.2002zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6c6.40039 0 12.5 -2.5 17 -7z +M302.9 87.7002c0 0 -5.7002 -6.7998 -42.8008 9c40.3008 2.89941 46.9004 -6.2998 42.8008 -9z" /> + <glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM281.1 192c-5.59961 0 -10.5 -3.90039 -11.5 -9.5c-24.1992 -111.4 -21.7998 -118 -21.5996 -129.2 +c-0.799805 5.40039 -5.59961 29 -29.5996 129.4c-1.30078 5.39941 -6.10059 9.2002 -11.7002 9.2002h-29.1006c-5.59961 0 -10.3994 -3.7002 -11.6992 -9.10059c-22.1006 -90 -27.8008 -112.5 -29.4004 -122.7c-0.900391 12.7002 -5.40039 44.2002 -21 122.2 +c-1.09961 5.7002 -6.09961 9.7002 -11.7998 9.7002h-24.5c-7.7002 0 -13.4004 -7.09961 -11.7002 -14.5996l37.7998 -168c1.2002 -5.5 6.10059 -9.40039 11.7002 -9.40039h37.0996c5.5 0 10.3008 3.7998 11.6006 9.09961c23.2002 93.1006 24.5 96.2002 25.5996 110.5h0.5 +c4.7998 -29.2998 -0.200195 -7 25.6006 -110.5c1.2998 -5.2998 6.09961 -9.09961 11.5996 -9.09961h38c5.59961 0 10.5 3.7998 11.7002 9.2998l38 168c1.7002 7.60059 -4 14.7002 -11.7002 14.7002h-23.9004zM384 326.1v-6.09961h-128v128h6.09961 +c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" /> + <glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM284.1 205.5c5.10059 8 -0.599609 18.5 -10.0996 18.4004h-34.7998 +c-4.40039 0 -8.5 -2.40039 -10.6006 -6.30078c-30.5 -56.7998 -36.5996 -68.5 -36.5996 -68.5c-16.5996 34.9004 -10.5 19.7002 -36.5996 68.5c-2.10059 3.90039 -6.2002 6.30078 -10.6006 6.30078h-34.7998c-9.5 0 -15.2998 -10.5 -10.0996 -18.5l60.2998 -93.5 +l-60.2998 -93.5c-5.10059 -8 0.599609 -18.5 10.0996 -18.5h34.9004c4.39941 0 8.39941 2.39941 10.5 6.2998c26.5996 48.7998 30.1992 54 36.5996 68.7998c0 0 16.9004 -32.5 36.5 -68.7002c2.09961 -3.89941 6.2002 -6.2998 10.5996 -6.2998h34.9004 +c9.5 0 15.2002 10.5 10.0996 18.5l-60.0996 93.5zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" /> + <glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384" +d="M193.7 176.8c8.7998 0 15.5 -2.7002 20.2998 -8.09961c9.59961 -10.9004 9.7998 -32.7002 -0.200195 -44.1006c-4.89941 -5.59961 -11.8994 -8.5 -21.0996 -8.5h-26.9004v60.7002h27.9004zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6 +c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM277 146.8c0 44.2002 -28.4004 77 -72.9004 77h-81 +c-6.59961 0 -12 -5.39941 -12 -12v-199.8c0 -6.59961 5.40039 -12 12 -12h30.8008c6.59961 0 12 5.40039 12 12v57.2002c22.2998 0 111.1 -12.7002 111.1 77.5996z" /> + <glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384" +d="M384 326.059v-6.05859h-128v128h6.05859c5.4873 0 13.0898 -3.14941 16.9707 -7.0293l97.9404 -97.9404c3.88086 -3.88086 7.03027 -11.4834 7.03027 -16.9717zM248 288h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v464 +c0 13.2549 10.7451 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24zM112.545 272c-26.5088 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48zM320.545 32v112l-39.5137 39.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0 +l-103.515 -103.515l-39.5146 39.5146c-4.68652 4.68652 -11.7988 5.1709 -16.4854 0.485352l-39.5146 -39.5146l-0.485352 -48.4854h256z" /> + <glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384" +d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM128.4 112c17.8994 0 32.5 -12.0996 32.5 -27s-14.5 -27 -32.4004 -27s-32.5 12 -32.5 27c0 14.9004 14.5 27 32.4004 27zM224 312c0 -13.2002 10.7998 -24 24 -24h136 +v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h104.4v-32h32v32h63.5996v-136zM95.9004 416v-32h32v32h-32zM128.2 32c33 0 57.7998 30.2002 51.3994 62.5996l-17.2998 87.7002 +c-1.09961 5.60059 -6.09961 9.7002 -11.7998 9.7002h-22.0996v32h32v32h-32v32h32v32h-32v32h32v32h-32v-32h-32v-32h32v-32h-32v-32h32v-32h-32v-32l-19.6006 -97.0996c-6.59961 -32.5 18.2002 -62.9004 51.4004 -62.9004z" /> + <glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM160 44v136c0 10.7002 -12.9004 16.0996 -20.5 8.5l-35.5 -36.5h-28c-6.59961 0 -12 -5.40039 -12 -12 +v-56c0 -6.59961 5.40039 -12 12 -12h28l35.5 -36.5c7.59961 -7.5 20.5 -2.2002 20.5 8.5zM193.2 91.5996c-22.5 -23.0996 12.5996 -55.7998 34.3994 -33.5c27.2002 28 27.2002 72.5 0 100.4c-22.1992 22.7002 -56.5 -10.7002 -34.3994 -33.5 +c9.09961 -9.2998 9.09961 -24.0996 0 -33.4004zM279.2 208.7c-22.1006 22.7998 -56.5 -10.7002 -34.4004 -33.5c36.2998 -37.2998 36.2002 -96.6006 0 -133.8c-22.5996 -23.2002 12.6006 -55.9004 34.4004 -33.5c54.3994 56 54.3994 144.899 0 200.8zM384 326.1v-6.09961 +h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" /> + <glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384" +d="M384 326.059v-6.05859h-128v128h6.05859c6.36523 0 12.4707 -2.5293 16.9717 -7.0293l97.9404 -97.9404c3.87988 -3.88086 7.0293 -11.4834 7.0293 -16.9717zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336 +c-13.2549 0 -24 10.7451 -24 24v464c0 13.2549 10.7451 24 24 24h200v-136zM320 167.984c0 21.4609 -25.96 31.9795 -40.9707 16.9697l-55.0293 -55.0127v38.0586c0 13.2549 -10.7451 24 -24 24h-112c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24 +h112c13.2549 0 24 10.7451 24 24v38.0586l55.0293 -55.0088c15.0273 -15.0264 40.9707 -4.47363 40.9707 16.9717v111.963z" /> + <glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384" +d="M384 326.059v-6.05859h-128v128h6.05859c6.36523 0 12.4707 -2.5293 16.9717 -7.0293l97.9404 -97.9404c3.87988 -3.88086 7.0293 -11.4834 7.0293 -16.9717zM248 288h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v464 +c0 13.2549 10.7451 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24zM123.206 47.4951l19.5791 20.8838c0.805664 0.860352 1.45996 2.51465 1.45996 3.69336c0 1.34766 -0.820312 3.16309 -1.83203 4.05371l-40.7627 35.874l40.7627 35.874 +c1.01172 0.890625 1.83203 2.70605 1.83203 4.05371c0 1.17871 -0.654297 2.83301 -1.45996 3.69336l-19.5791 20.8848c-0.882812 0.942383 -2.64844 1.70703 -3.93945 1.70703c-1.17871 0 -2.83398 -0.654297 -3.69336 -1.46094l-64.8662 -60.8115 +c-0.942383 -0.883789 -1.70703 -2.64844 -1.70703 -3.93945c0 -1.29199 0.764648 -3.05664 1.70703 -3.94043l64.8662 -60.8115c0.859375 -0.806641 2.51465 -1.46094 3.69336 -1.46094c1.29102 0 3.05664 0.764648 3.93945 1.70703zM174.501 -2.98438 +c0.407227 -0.118164 1.08203 -0.213867 1.50586 -0.213867c2.23926 0 4.56152 1.74512 5.18457 3.89551l61.4395 211.626c0.118164 0.407227 0.214844 1.08203 0.214844 1.50586c0 2.23828 -1.74512 4.56152 -3.89453 5.18555l-27.4521 7.9707 +c-0.407227 0.117188 -1.08105 0.213867 -1.50488 0.213867c-2.23828 0 -4.5625 -1.74512 -5.1875 -3.89551l-61.4395 -211.626c-0.118164 -0.40625 -0.213867 -1.08105 -0.213867 -1.50391c0 -2.23926 1.74512 -4.56348 3.89453 -5.1875zM335.293 108.061 +c0.942383 0.883789 1.70703 2.64844 1.70703 3.94043c0 1.29102 -0.764648 3.05566 -1.70605 3.93945l-64.8662 60.8115c-0.859375 0.806641 -2.51465 1.46094 -3.69336 1.46094c-1.29102 0 -3.05566 -0.764648 -3.93945 -1.70703l-19.5801 -20.8848 +c-0.805664 -0.860352 -1.45996 -2.51465 -1.45996 -3.69336c0 -1.34766 0.820312 -3.16309 1.83203 -4.05371l40.7627 -35.874l-40.7637 -35.873c-1.01172 -0.890625 -1.83203 -2.70605 -1.83203 -4.05371c0 -1.17871 0.654297 -2.83301 1.45996 -3.69336l19.5801 -20.8848 +c0.882812 -0.942383 2.64844 -1.70703 3.93945 -1.70703c1.17871 0 2.83398 0.654297 3.69336 1.46094z" /> + <glyph glyph-name="life-ring" unicode="&#xf1cd;" +d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM429.696 320.441c-10.6406 14.3398 -30.915 34.6143 -45.2549 45.2549l-63.3994 -63.3994c18.585 -11.0029 34.2676 -26.6963 45.2549 -45.2549zM256 96 +c53.0186 0 96 42.9814 96 96s-42.9814 96 -96 96s-96 -42.9814 -96 -96s42.9814 -96 96 -96zM127.559 365.696c-14.3398 -10.6406 -34.6143 -30.915 -45.2549 -45.2549l63.3994 -63.3994c11.0029 18.585 26.6963 34.2676 45.2549 45.2549zM82.3037 63.5586 +c10.6406 -14.3398 30.915 -34.6143 45.2549 -45.2549l63.3994 63.3994c-18.585 11.0029 -34.2676 26.6963 -45.2549 45.2549zM384.441 18.3037c14.3398 10.6406 34.6143 30.915 45.2549 45.2549l-63.3994 63.3994c-11.0029 -18.585 -26.6963 -34.2676 -45.2549 -45.2549z +" /> + <glyph glyph-name="circle-notch" unicode="&#xf1ce;" +d="M288 408.944c0 15.5996 14.6777 27.167 29.7891 23.292c107.071 -27.457 186.211 -124.604 186.211 -240.236c0 -136.788 -110.745 -247.711 -247.466 -247.999c-137.054 -0.289062 -247.812 109.615 -248.531 246.667c-0.609375 116.126 78.5996 213.85 185.951 241.502 +c15.2119 3.91895 30.0459 -7.52539 30.0459 -23.2344v-16.6475c0 -10.8047 -7.28125 -20.1621 -17.6885 -23.0693c-77.5254 -21.6543 -134.312 -92.749 -134.312 -177.219c0 -101.705 82.3105 -184 184 -184c101.705 0 184 82.3105 184 184 +c0 84.4824 -56.7959 155.566 -134.314 177.219c-10.4043 2.90723 -17.6855 12.2627 -17.6855 23.0664v16.6592z" /> + <glyph glyph-name="paper-plane" unicode="&#xf1d8;" +d="M476 444.8c17.2998 10 39 -4.59961 35.5996 -24.7998l-72 -432c-2.59961 -15.2998 -18.7998 -24.2002 -33 -18.2002l-124.6 52.2002l-63.5 -77.2998c-14 -17.1006 -42.5 -7.7998 -42.5 15.7998v80.5l240.9 293.5c4.69922 5.7002 -3.10059 13.2002 -8.60059 8.2998 +l-287.3 -253.2l-106.3 44.6006c-18 7.59961 -20.2998 32.7998 -2.2002 43.2002z" /> + <glyph glyph-name="history" unicode="&#xf1da;" +d="M504 192.469c0.25293 -136.64 -111.18 -248.372 -247.82 -248.468c-59.0146 -0.0419922 -113.223 20.5303 -155.821 54.9111c-11.0771 8.93945 -11.9053 25.541 -1.83984 35.6064l11.2676 11.2676c8.6084 8.6084 22.3525 9.55078 31.8906 1.9834 +c31.3848 -24.9043 71.1045 -39.7695 114.323 -39.7695c101.705 0 184 82.3105 184 184c0 101.705 -82.3105 184 -184 184c-48.8145 0 -93.1494 -18.9688 -126.068 -49.9316l50.7539 -50.7539c10.0801 -10.0801 2.94141 -27.3145 -11.3125 -27.3145h-145.373 +c-8.83691 0 -16 7.16309 -16 16v145.373c0 14.2539 17.2344 21.3926 27.3145 11.3135l49.3711 -49.3711c44.5234 42.5488 104.866 68.6846 171.314 68.6846c136.81 0 247.747 -110.78 248 -247.531zM323.088 113.685c-8.1377 -10.4629 -23.2158 -12.3467 -33.6787 -4.20996 +l-65.4092 50.874v135.651c0 13.2549 10.7451 24 24 24h16c13.2549 0 24 -10.7451 24 -24v-104.349l40.7012 -31.6572c10.4629 -8.13672 12.3477 -23.2158 4.20996 -33.6787z" /> + <glyph glyph-name="heading" unicode="&#xf1dc;" +d="M448 352v-320h32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-160c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32v128h-192v-128h32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-160 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32v320h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h160c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32v-128h192v128h-32c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h160c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32z" /> + <glyph glyph-name="paragraph" unicode="&#xf1dd;" horiz-adv-x="448" +d="M448 400v-32c0 -8.83203 -7.16797 -16 -16 -16h-48v-368c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v368h-32v-368c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v112h-32c-88.3203 0 -160 71.6797 -160 160 +s71.6797 160 160 160h240c8.83203 0 16 -7.16797 16 -16z" /> + <glyph glyph-name="sliders-h" unicode="&#xf1de;" +d="M496 64c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-336v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-80c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h80v16c0 8.7998 7.2002 16 16 16h32 +c8.7998 0 16 -7.2002 16 -16v-16h336zM496 224c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-80v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-336c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h336v16 +c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-16h80zM496 384c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-208v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-208c-8.7998 0 -16 7.2002 -16 16v32 +c0 8.7998 7.2002 16 16 16h208v16c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-16h208z" /> + <glyph glyph-name="share-alt" unicode="&#xf1e0;" horiz-adv-x="448" +d="M352 128c53.0186 0 96 -42.9814 96 -96s-42.9814 -96 -96 -96s-96 42.9814 -96 96v0.0283203c0 5.8125 1.01953 15.1367 2.27637 20.8125l-102.486 64.0537c-16.4033 -13.0752 -37.1816 -20.8945 -59.79 -20.8945c-53.0186 0 -96 42.9814 -96 96s42.9814 96 96 96 +c22.6084 0 43.3867 -7.81934 59.79 -20.8945l102.486 64.0537c-1.48633 6.71094 -2.27637 13.6826 -2.27637 20.8408c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96s-42.9814 -96 -96 -96c-22.6084 0 -43.3867 7.81934 -59.79 20.8965l-102.486 -64.0547 +c1.25684 -5.68359 2.27637 -15.0205 2.27637 -20.8408c0 -5.82129 -1.01953 -15.1582 -2.27637 -20.8418l102.486 -64.0537c16.4033 13.0752 37.1816 20.8945 59.79 20.8945z" /> + <glyph glyph-name="share-alt-square" unicode="&#xf1e1;" horiz-adv-x="448" +d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM304 152c-14.5615 0 -27.8232 -5.56055 -37.7832 -14.6709l-67.958 40.7744 +c0.960938 3.77539 1.74121 10.001 1.74121 13.8975c0 3.89551 -0.780273 10.1211 -1.74121 13.8965l67.958 40.7744c9.95996 -9.11133 23.2217 -14.6719 37.7832 -14.6719c30.9277 0 56 25.0723 56 56s-25.0723 56 -56 56s-56 -25.0723 -56 -56 +c0 -4.79688 0.605469 -9.45312 1.74023 -13.8975l-67.958 -40.7744c-9.95898 9.11133 -23.2207 14.6719 -37.7822 14.6719c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56c14.5615 0 27.8232 5.56055 37.7832 14.6709l67.958 -40.7744 +c-0.960938 -3.7666 -1.74023 -9.97656 -1.74023 -13.8623v-0.0351562c0 -30.9277 25.0723 -56 56 -56s56 25.0723 56 56c-0.000976562 30.9287 -25.0732 56.001 -56.001 56.001z" /> + <glyph glyph-name="bomb" unicode="&#xf1e2;" +d="M440.5 359.5l-52 -52l26.5 -26.5c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-17.4004 -17.3994c11.8008 -26.1006 18.4004 -55.1006 18.4004 -85.6006c0 -114.899 -93.0996 -208 -208 -208s-208 93 -208 207.9s93.0996 208 208 208 +c30.5 0 59.5 -6.59961 85.5996 -18.4004l17.4004 17.4004c9.40039 9.40039 24.5996 9.40039 33.9004 0l26.5 -26.5l52 52zM500 388c6.59961 0 12 -5.40039 12 -12s-5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12s5.40039 12 12 12h24zM440 448 +c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12s-12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12zM473.9 393c-4.60059 -4.7002 -12.2002 -4.7002 -17 0c-4.7002 4.7002 -4.7002 12.2998 0 17l17 17c4.69922 4.7002 12.2998 4.7002 17 0 +c4.69922 -4.7002 4.69922 -12.2998 0 -17zM406.1 393l-17 17c-4.69922 4.7002 -4.69922 12.2998 0 17c4.7002 4.7002 12.3008 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17c-4.69922 -4.7002 -12.2998 -4.7002 -17 0zM473.9 359l17 -17 +c4.69922 -4.7002 4.69922 -12.2998 0 -17c-4.7002 -4.7002 -12.3008 -4.7002 -17 0l-17 17c-4.7002 4.7002 -4.7002 12.2998 0 17c4.69922 4.7002 12.2998 4.7002 17 0zM112 176c0 35.2998 28.7002 64 64 64c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16 +c-52.9004 0 -96 -43.0996 -96 -96c0 -8.7998 7.2002 -16 16 -16s16 7.2002 16 16z" /> + <glyph glyph-name="futbol" unicode="&#xf1e3;" +d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM456 192l-0.00292969 0.282227l-26.0645 -22.7412l-62.6787 58.5l16.4541 84.3555l34.3027 -3.07227 +c-24.8887 34.2158 -60.0039 60.0889 -100.709 73.1406l13.6514 -31.9385l-74.9531 -41.5264l-74.9531 41.5254l13.6514 31.9385c-40.6309 -13.0283 -75.7803 -38.8701 -100.709 -73.1406l34.5645 3.07324l16.1924 -84.3555l-62.6777 -58.5l-26.0645 22.7412 +l-0.00292969 -0.282227c0 -43.0146 13.4971 -83.9521 38.4717 -117.991l7.7041 33.8975l85.1387 -10.4473l36.3008 -77.8262l-29.9023 -17.7861c40.2021 -13.1221 84.29 -13.1475 124.572 0l-29.9023 17.7861l36.3008 77.8262l85.1387 10.4473l7.7041 -33.8975 +c24.9756 34.0391 38.4727 74.9766 38.4727 117.991zM207.898 122.429l-29.8945 91.3125l77.9961 56.5264l77.9961 -56.5264l-29.6221 -91.3125h-96.4756z" /> + <glyph glyph-name="tty" unicode="&#xf1e4;" +d="M5.37012 344.178c138.532 138.532 362.936 138.326 501.262 0c6.07812 -6.07812 7.07422 -15.4961 2.58301 -22.6807l-43.2139 -69.1377c-2.97266 -4.75684 -9.9375 -8.61719 -15.5459 -8.61719c-1.94922 0 -5 0.587891 -6.81055 1.31152l-86.4219 34.5693 +c-6.36133 2.54492 -11.5244 10.1719 -11.5244 17.0234c0 0.503906 0.0410156 1.32031 0.0908203 1.82227l5.95215 59.5312c-62.1455 22.4541 -130.636 21.9863 -191.483 0l5.95312 -59.5322c0.0507812 -0.501953 0.0908203 -1.32031 0.0908203 -1.8252 +c0 -6.85156 -5.16309 -14.4766 -11.5244 -17.0205l-86.4238 -34.5684c-1.80957 -0.723633 -4.85938 -1.31152 -6.80859 -1.31152c-5.60938 0 -12.5742 3.86035 -15.5469 8.61719l-43.2109 69.1387c-1.53809 2.46094 -2.78711 6.81445 -2.78711 9.7168 +c0 4.19141 2.40625 9.99902 5.37012 12.9629zM96 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM192 140c0 -6.62695 -5.37305 -12 -12 -12h-40 +c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM288 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM384 140 +c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM480 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40 +c6.62695 0 12 -5.37305 12 -12v-40zM144 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM240 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40 +c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM336 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM432 44c0 -6.62695 -5.37305 -12 -12 -12h-40 +c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM96 -52c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM384 -52 +c0 -6.62695 -5.37305 -12 -12 -12h-232c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h232c6.62695 0 12 -5.37305 12 -12v-40zM480 -52c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40 +c6.62695 0 12 -5.37305 12 -12v-40z" /> + <glyph glyph-name="binoculars" unicode="&#xf1e5;" +d="M416 400v-48h-96v48c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16zM63.9102 288.01c0.479492 17.6201 14.2998 31.9902 31.9297 31.9902h96.1602v-160h-32v-160c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v44 +c3.45996 129.78 61.4004 150.16 63.9102 244.01zM448.09 288.01c2.50977 -93.8496 60.4502 -114.229 63.9102 -244.01v-44c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v160h-32v160h96.1602c17.6299 0 31.4502 -14.3701 31.9297 -31.9902zM176 416 +c8.83984 0 16 -7.16016 16 -16v-48h-96v48c0 8.83984 7.16016 16 16 16h64zM224 160v160h64v-160h-64z" /> + <glyph glyph-name="plug" unicode="&#xf1e6;" horiz-adv-x="384" +d="M256 304v112c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-112h-64zM368 288c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-16v-32c0 -77.4062 -54.9688 -141.971 -128 -156.796v-99.2041h-64v99.2041 +c-73.0312 14.8252 -128 79.3896 -128 156.796v32h-16c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h352zM128 304h-64v112c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-112z" /> + <glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576" +d="M552 384c13.2549 0 24 -10.7451 24 -24v-312c0 -26.5098 -21.4902 -48 -48 -48h-472c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h40v8c0 13.2549 10.7451 24 24 24h464zM56 48c4.41602 0 8 3.58398 8 8v248h-16v-248c0 -4.41602 3.58398 -8 8 -8z +M292 64c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 64c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8 +c0 -6.62695 5.37305 -12 12 -12h152zM292 160c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 160c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152 +c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 256c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-360c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h360z" /> + <glyph glyph-name="wifi" unicode="&#xf1eb;" horiz-adv-x="640" +d="M634.91 293.12c6.66016 -6.16016 6.79004 -16.5898 0.359375 -22.9805l-34.2393 -33.9697c-6.14062 -6.08984 -16.0205 -6.22949 -22.4004 -0.379883c-145.95 133.71 -371.33 133.68 -517.25 0c-6.37988 -5.84961 -16.2598 -5.71973 -22.3994 0.379883l-34.2402 33.9697 +c-6.44043 6.39062 -6.31055 16.8203 0.349609 22.9805c177.101 163.81 452.65 163.87 629.82 0zM320 96c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64s-64 28.6504 -64 64s28.6504 64 64 64zM522.67 179.59c6.88965 -6.08984 7.12012 -16.6895 0.560547 -23.1494 +l-34.4404 -33.9902c-6 -5.93066 -15.6602 -6.32031 -22.0498 -0.799805c-83.75 72.4092 -209.54 72.5693 -293.49 0c-6.38965 -5.52051 -16.0498 -5.12012 -22.0498 0.799805l-34.4404 33.9902c-6.5498 6.45996 -6.33008 17.0498 0.570312 23.1494 +c115.13 101.82 290.08 101.93 405.34 0z" /> + <glyph glyph-name="calculator" unicode="&#xf1ec;" horiz-adv-x="448" +d="M400 448c25.5996 0 48 -22.4004 48 -48v-416c0 -25.5996 -22.4004 -48 -48 -48h-352c-25.5996 0 -48 22.4004 -48 48v416c0 25.5996 22.4004 48 48 48h352zM128 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM128 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM256 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM256 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM384 12.7998v166.4c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-166.4c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM384 268.8v102.4c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-294.4 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-102.4c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h294.4c6.39941 0 12.7998 6.40039 12.7998 12.7998z" /> + <glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640" +d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.80957 -22.4502l-19.6396 -25.2705c-5.43066 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.351 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705 +c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l144.96 -112.04c22.9307 31.5 57.2607 54.1904 97.5898 62.5703v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8301c73.46 -15.2598 127.939 -77.46 127.939 -155.16 +c0 -102.3 36.1504 -133.529 55.4697 -154.29c6 -6.43945 8.66016 -14.1602 8.61035 -21.71c0 -1.39941 -0.610352 -2.67969 -0.799805 -4.05957zM157.23 196.46l212.789 -164.46h-241.92c-19.1191 0 -31.9893 15.5996 -32.0996 32 +c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c16.21 17.4199 44.0098 42.79 52.6201 110.75zM320 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" /> + <glyph glyph-name="trash" unicode="&#xf1f8;" horiz-adv-x="448" +d="M432 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781 +c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002h120zM53.2002 -19l-21.2002 339h384l-21.2002 -339c-1.55469 -24.8369 -23.0146 -44.9971 -47.8994 -45h-245.801c-24.8848 0.00292969 -46.3447 20.1631 -47.8994 45z" /> + <glyph glyph-name="copyright" unicode="&#xf1f9;" +d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM373.134 93.2471c1.58203 1.85645 2.86621 5.34375 2.86621 7.7832c0 2.16309 -1.03613 5.33594 -2.31348 7.08301l-24.5469 33.5713 +c-4.44824 6.08691 -13.376 6.61816 -18.5078 1.05371c-0.263672 -0.287109 -26.8467 -28.625 -65.5439 -28.625c-48.7627 0 -74.2773 40.0898 -74.2773 79.6914c0 42.5068 27.8008 76.082 73.916 76.082c35.3516 0 61.6475 -23.666 61.8809 -23.8799 +c5.45996 -5.05566 14.1846 -3.97168 18.2334 2.29492l22.3799 34.6553c1.05957 1.64062 1.91992 4.55762 1.91992 6.51074c0 2.57812 -1.41504 6.21191 -3.15723 8.1123c-1.45703 1.58887 -36.4658 38.9043 -103.423 38.9043 +c-81.7578 0 -143.762 -62.0986 -143.762 -143.401c0 -82.3066 59.792 -145.567 144.484 -145.567c70.0752 0 108.259 43.8643 109.851 45.7314z" /> + <glyph glyph-name="at" unicode="&#xf1fa;" +d="M256 440c138.023 0 248 -87.6533 248 -224c0 -75.7979 -41.3906 -147.41 -150.299 -147.41c-30.0977 0 -61.1885 -0.000976562 -70.71 34.1035c-17.6221 -22.6963 -48.0068 -38.333 -74.9912 -38.333c-59.2148 0 -96 40.5664 -96 105.87 +c0 89.2256 63.251 151.46 137.831 151.46c19.5225 0 45.2744 -3.87402 59.9707 -21.7754l0.00976562 0.0917969c0.751953 6.62012 6.76953 11.9932 13.4326 11.9932v0h44.9805c15.083 0 26.4287 -13.75 23.5625 -28.5586l-23.4336 -121.11 +c-3.43359 -17.167 -3.87207 -29.5703 13.4766 -30.0244c37.0771 3.95117 58.1699 44.9072 58.1699 83.6934c0 102.381 -83.8613 160 -184 160c-101.458 0 -184 -82.542 -184 -184s82.542 -184 184 -184c35.3145 0 69.9199 10.2432 99.4102 29.1572 +c10.1934 6.53809 23.7021 4.24219 31.373 -5.12891l10.1768 -12.4336c9.07324 -11.084 6.45312 -27.5566 -5.55176 -35.3721c-40.0664 -26.083 -87.2539 -40.2227 -135.408 -40.2227c-137.081 0 -248 110.941 -248 248c0 137.081 110.941 248 248 248zM234.32 135.57 +c24.2861 0 58.1611 27.6689 58.1611 72.7295c0 25.5293 -13.3096 40.7705 -35.6016 40.7705c-27.8506 0 -58.6299 -27.7363 -58.6299 -72.7295c0 -25.1475 13.8213 -40.7705 36.0703 -40.7705z" /> + <glyph glyph-name="eye-dropper" unicode="&#xf1fb;" +d="M50.75 114.75l126.63 126.61l128 -128l-126.64 -126.62c-12 -12 -28.2803 -18.7402 -45.25 -18.7402h-45.4902l-56 -32l-32 32l32 56v45.4902c0 16.9795 6.75 33.2598 18.75 45.2598zM483.88 419.88c37.5 -37.4902 37.5 -98.2695 -0.00976562 -135.75l-77.0898 -77.0898 +l13.0996 -13.0996c9.37012 -9.37012 9.37012 -24.5703 0 -33.9404l-40.9697 -40.96c-9.29004 -9.30957 -24.5 -9.44043 -33.9404 0l-161.939 161.94c-9.37012 9.36914 -9.37012 24.5693 0 33.9395l40.9697 40.9697c9.29004 9.31055 24.5 9.44043 33.9404 0l13.0996 -13.0996 +l77.0898 77.0898c37.4697 37.5 98.2803 37.5 135.75 0z" /> + <glyph glyph-name="paint-brush" unicode="&#xf1fc;" +d="M167.02 138.66l88.0107 -73.3398c0.319336 -3.05078 0.969727 -6.02051 0.969727 -9.12988c0 -76.4209 -52.1396 -120.19 -128 -120.19c-90.0703 0 -128 72.3799 -128.01 154.73c9.79004 -6.68066 44.1396 -34.3506 55.25 -34.3506 +c6.58984 0 12.2402 3.77051 14.5898 9.98047c20.6602 54.4395 57.0703 69.7197 97.1895 72.2998zM457.89 448c28.1104 0 54.1104 -20.6396 54.1104 -49.5498c0 -16.1406 -6.51953 -31.6406 -13.9004 -45.9902c-113.05 -210.99 -149.05 -256.46 -211.159 -256.46 +c-7.75 0 -15.1807 1.23047 -22.3906 3.03027l-63.8193 53.1797c-5.48047 11.9404 -8.73047 25 -8.73047 38.7002c0 53.75 21.2695 58.04 225.68 240.64c10.8398 9.74023 25.0508 16.4502 40.21 16.4502z" /> + <glyph glyph-name="birthday-cake" unicode="&#xf1fd;" horiz-adv-x="448" +d="M448 64c-28.0195 0 -31.2598 32 -74.5 32c-43.4297 0 -46.8252 -32 -74.75 -32c-27.6953 0 -31.4541 32 -74.75 32c-42.8418 0 -47.2178 -32 -74.5 -32c-28.1484 0 -31.2021 32 -74.75 32c-43.5469 0 -46.6533 -32 -74.75 -32v80c0 26.5 21.5 48 48 48h16v144h64v-144h64 +v144h64v-144h64v144h64v-144h16c26.5 0 48 -21.5 48 -48v-80zM448 -64h-448v96c43.3564 0 46.7666 32 74.75 32c27.9512 0 31.2529 -32 74.75 -32c42.8428 0 47.2168 32 74.5 32c28.1484 0 31.2012 -32 74.75 -32c43.3574 0 46.7666 32 74.75 32 +c27.4883 0 31.252 -32 74.5 -32v-96zM96 352c-17.75 0 -32 14.25 -32 32c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40zM224 352c-17.75 0 -32 14.25 -32 32c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40zM352 352c-17.75 0 -32 14.25 -32 32 +c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40z" /> + <glyph glyph-name="chart-area" unicode="&#xf1fe;" +d="M500 64c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-488c-6.59961 0 -12 5.40039 -12 12v360c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-308h436zM372.7 288.5c6 4 14.2002 1.7998 17.3994 -4.7002l89.9004 -187.8h-384v104 +l86.7998 144.7c4.40039 7.2998 14.7998 7.7998 19.9004 1l85.2998 -113.7z" /> + <glyph glyph-name="chart-pie" unicode="&#xf200;" horiz-adv-x="544" +d="M527.79 160c9.5498 0 17.4004 -8.38965 16.0596 -17.8496c-7.80957 -55.25 -34.4297 -104.4 -73.1299 -140.86c-6.20996 -5.84961 -16.1494 -5.36035 -22.1895 0.679688l-158.03 158.03h237.29zM511.96 224.8c0.629883 -9.12012 -7.0498 -16.7998 -16.1904 -16.7998 +h-223.77v223.76c0 9.14062 7.67969 16.8301 16.7998 16.2002c119.46 -8.24023 214.92 -103.7 223.16 -223.16zM224 160l155.86 -155.87c6.84961 -6.84961 6.33008 -18.4795 -1.57031 -24.0801c-38.29 -27.1602 -84.8604 -43.3994 -135.26 -44.0303 +c-128.2 -1.60938 -238.53 103.471 -242.891 231.61c-4.23926 124.771 86.8506 228.88 206.021 245.72c9.4502 1.34082 17.8398 -6.50977 17.8398 -16.0596v-237.29z" /> + <glyph glyph-name="chart-line" unicode="&#xf201;" +d="M496 64c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-304h432zM464 352c8.83984 0 16 -7.16016 15.9902 -16v-118.05 +c0 -21.3799 -25.8506 -32.0898 -40.9707 -16.9697l-32.3994 32.3994l-96 -96c-12.4902 -12.5 -32.75 -12.5 -45.25 0l-73.3701 73.3701l-46.0596 -46.0703c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6191 22.6201c-6.25 6.25 -6.25 16.3799 0 22.6299l68.6895 68.6904 +c12.4902 12.5 32.75 12.5 45.25 0l73.3701 -73.3701l73.3701 73.3799l-32.4004 32.4004c-15.1201 15.1201 -4.41016 40.9697 16.9707 40.9697h118.06z" /> + <glyph glyph-name="toggle-off" unicode="&#xf204;" horiz-adv-x="576" +d="M384 384c106.039 0 192 -85.9609 192 -192s-85.9609 -192 -192 -192h-192c-106.039 0 -192 85.9609 -192 192s85.9609 192 192 192h192zM64 192c0 -70.751 57.2588 -128 128 -128c70.751 0 128 57.2588 128 128c0 70.751 -57.2588 128 -128 128 +c-70.751 0 -128 -57.2588 -128 -128zM384 64c70.751 0 128 57.2598 128 128c0 70.751 -57.2588 128 -128 128h-48.9053c65.2363 -72.8799 65.2168 -183.142 0 -256h48.9053z" /> + <glyph glyph-name="toggle-on" unicode="&#xf205;" horiz-adv-x="576" +d="M384 384c106 0 192 -86 192 -192s-86 -192 -192 -192h-192c-106 0 -192 86 -192 192s86 192 192 192h192zM384 64c70.7002 0 128 57.2002 128 128c0 70.7002 -57.2002 128 -128 128c-70.7002 0 -128 -57.2002 -128 -128c0 -70.7002 57.2002 -128 128 -128z" /> + <glyph glyph-name="bicycle" unicode="&#xf206;" horiz-adv-x="640" +d="M512.509 255.999c70.9502 -0.276367 128.562 -59.0547 127.477 -129.996c-1.07422 -70.1934 -58.6494 -126.681 -129.255 -125.996c-68.8301 0.667969 -126.584 58.8857 -126.729 127.719c-0.078125 37.3564 15.8516 70.9893 41.3066 94.4375l-14.9375 24.0674 +l-85.9619 -138.863c-3.88477 -6.27441 -13.0264 -11.3672 -20.4062 -11.3672h-52.0332c-14.209 -55.207 -64.3252 -96 -123.967 -96c-70.9473 0 -128.415 57.7207 -128 128.764c0.410156 70.2246 58.0918 127.406 128.317 127.236 +c15.0879 -0.0371094 29.5586 -2.69043 42.9912 -7.51953l29.417 47.5195h-48.7256c-13.1191 0 -23.7627 10.5186 -23.9951 23.5635c-0.241211 13.4375 11.0947 24.4365 24.5361 24.4365h87.459c8.83691 0 16 -7.16309 16 -16v-16h113.544l-14.8955 24h-50.6494 +c-8.83691 0 -16 7.16309 -16 16v16c0 8.83691 7.16309 16 16 16h64h0.000976562c7.36914 0 16.5049 -5.08203 20.3906 -11.3428l77.6807 -125.153c14.4053 5.54004 30.0625 8.55957 46.4355 8.49512zM186.75 182.228l-23.6641 -38.2275h43.3057 +c-2.96875 14.5674 -9.91504 27.6992 -19.6416 38.2275zM128.002 48c32.7383 0 60.9297 19.7754 73.2998 48h-81.2998c-18.7891 0 -30.2871 20.6729 -20.4062 36.6318l45.5049 73.5088c-5.5127 1.20605 -11.2295 1.85938 -17.0986 1.85938c-44.1123 0 -80 -35.8877 -80 -80 +s35.8877 -80 80 -80zM290.632 144l74.2861 120h-127.547l-24.7461 -39.9736c22.8271 -20.1328 38.4229 -48.2705 42.3828 -80.0264h35.624zM507.689 48.1143c46.0605 -2.43164 84.3115 34.3447 84.3125 79.8848c0 44.1123 -35.8877 80 -80 80h-0.0390625 +c-5.55664 0 -14.4355 -1.11914 -19.8193 -2.49707l44.4688 -71.6426c4.66113 -7.50879 2.35156 -17.3721 -5.15625 -22.0322l-13.5938 -8.4375c-7.50879 -4.65918 -17.3721 -2.35156 -22.0322 5.15625l-44.4326 71.5859 +c-12.7021 -14.7451 -20.1475 -34.1416 -19.3359 -55.2627c1.57812 -41.0635 34.5918 -74.5898 75.6279 -76.7549z" /> + <glyph glyph-name="bus" unicode="&#xf207;" +d="M488 320c13.25 0 24 -10.7402 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-8v-166.4c0 -12.7998 -9.59961 -25.5996 -25.5996 -25.5996h-6.40039v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32 +c-17.6699 0 -32 14.3301 -32 32v32c-17.6699 0 -32 14.3301 -32 32v160h-8c-13.25 0 -24 10.75 -24 24v80c0 13.2598 10.75 24 24 24h8v48c0 44.7998 99.2002 80 224 80s224 -35.2002 224 -80v-48h8zM112 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 160h256c17.6699 0 32 14.3301 32 32v128c0 17.6699 -14.3301 32 -32 32h-256c-17.6699 0 -32 -14.3301 -32 -32v-128c0 -17.6699 14.3301 -32 32 -32zM400 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="closed-captioning" unicode="&#xf20a;" +d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM218.1 160.3c-41.1992 -37.8994 -92.1992 -15.3994 -92.2998 32.6006c0 46.0996 53.7998 63.1992 94.6006 31.1992 +c2.89941 -2.2998 7.19922 -1.39941 9.09961 1.7002l17.5 30.5c1.5 2.5 1.09961 3.7002 -1 5.7002c-50.7998 49.4004 -172.5 27.2002 -172.5 -70.0996c0 -100 119.2 -124.7 172.8 -67.9004c2 2.09961 2.2002 5.2998 0.5 7.7002l-19.5 27.7002 +c-2.09961 3 -6.39941 3.39941 -9.2002 0.899414zM408.5 160.3c-41.2002 -37.8994 -92.2002 -15.3994 -92.2002 32.6006c0 46.0996 53.7998 63.1992 94.6006 31.1992c2.89941 -2.2998 7.19922 -1.39941 9.09961 1.7002l17.5 30.5c1.5 2.5 1.09961 3.7002 -1 5.7002 +c-50.7998 49.4004 -172.5 27.2002 -172.5 -70.0996c0 -100 119.2 -124.801 172.7 -67.9004c2 2.09961 2.2002 5.2998 0.5 7.7002l-19.5 27.7002c-2.10059 3 -6.40039 3.39941 -9.2002 0.899414z" /> + <glyph glyph-name="shekel-sign" unicode="&#xf20b;" horiz-adv-x="448" +d="M248 280c0 30.9297 -25.0703 56 -56 56h-112v-352c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v408c0 13.2598 10.75 24 24 24h168c75.1104 0 136 -60.8896 136 -136v-168c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16 +v168zM432 416c8.83984 0 16 -7.16016 16 -16v-296c0 -75.1104 -60.8896 -136 -136 -136h-168c-13.25 0 -24 10.75 -24 24v280c0 8.83984 7.16016 16 16 16h48c8.83984 0 16 -7.16016 16 -16v-224h112c30.9297 0 56 25.0703 56 56v296c0 8.83984 7.16016 16 16 16h48z" /> + <glyph glyph-name="cart-plus" unicode="&#xf217;" horiz-adv-x="576" +d="M504.717 128h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -31.2021 -25.5186 -56.4443 -56.8242 -55.9941 +c-29.8232 0.428711 -54.3496 24.6309 -55.1543 54.4473c-0.44043 16.2871 6.08496 31.0488 16.8027 41.5479h-209.648c10.377 -10.166 16.8242 -24.3271 16.8242 -40.001c0 -31.8135 -26.5283 -57.4307 -58.6699 -55.9385c-28.54 1.3252 -51.751 24.3857 -53.251 52.917 +c-1.1582 22.0342 10.4355 41.4551 28.0508 51.5869l-70.2471 343.435h-69.8828c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2275 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782 +c15.4004 0 26.8154 -14.3008 23.4023 -29.3193l-47.2725 -208c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807zM408 280h-48v40c0 8.83691 -7.16309 16 -16 16h-16c-8.83691 0 -16 -7.16309 -16 -16v-40h-48c-8.83691 0 -16 -7.16309 -16 -16v-16 +c0 -8.83691 7.16309 -16 16 -16h48v-40c0 -8.83691 7.16309 -16 16 -16h16c8.83691 0 16 7.16309 16 16v40h48c8.83691 0 16 7.16309 16 16v16c0 8.83691 -7.16309 16 -16 16z" /> + <glyph glyph-name="cart-arrow-down" unicode="&#xf218;" horiz-adv-x="576" +d="M504.717 128h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -31.2021 -25.5186 -56.4443 -56.8242 -55.9941 +c-29.8232 0.428711 -54.3496 24.6309 -55.1543 54.4473c-0.44043 16.2871 6.08496 31.0488 16.8027 41.5479h-209.648c10.377 -10.166 16.8242 -24.3271 16.8242 -40.001c0 -31.8135 -26.5283 -57.4307 -58.6699 -55.9385c-28.54 1.3252 -51.751 24.3857 -53.251 52.917 +c-1.1582 22.0342 10.4355 41.4551 28.0508 51.5869l-70.2471 343.435h-69.8828c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2275 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782 +c15.4004 0 26.8154 -14.3008 23.4023 -29.3193l-47.2725 -208c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807zM403.029 256h-43.0293v60c0 6.62695 -5.37305 12 -12 12h-24c-6.62695 0 -12 -5.37305 -12 -12v-60h-43.0293 +c-10.6904 0 -16.0449 -12.9258 -8.48438 -20.4854l67.0283 -67.0283c4.68652 -4.68652 12.2842 -4.68652 16.9717 0l67.0283 67.0283c7.55957 7.55957 2.20508 20.4854 -8.48535 20.4854z" /> + <glyph glyph-name="ship" unicode="&#xf21a;" horiz-adv-x="640" +d="M496.616 75.3613c17.8418 -44.3604 58.5664 -75.3613 119.384 -75.3613c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c-61.0322 0 -107.505 20.6162 -143.258 59.3965c-14.4189 -34.8281 -48.7637 -59.3965 -88.7422 -59.3965h-128 +c-39.9785 0 -74.3232 24.5684 -88.7422 59.3965c-35.7588 -38.7861 -82.2344 -59.3965 -143.258 -59.3965c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c61.5869 0 101.828 31.7129 119.384 75.3613l-70.0117 70.0117 +c-16.918 16.9189 -9.91699 45.7793 12.8359 53.0918l41.792 13.4336v140.102c0 17.6729 14.3271 32 32 32h64v40c0 13.2549 10.7451 24 24 24h144c13.2549 0 24 -10.7451 24 -24v-40h64c17.6729 0 32 -14.3271 32 -32v-140.102l41.792 -13.4336 +c22.7783 -7.32129 29.7354 -36.1914 12.8359 -53.0918zM192 320v-87.5312l118.208 37.9951c2.63574 0.847656 7.02344 1.53516 9.79199 1.53516s7.15625 -0.6875 9.79199 -1.53516l118.208 -37.9951v87.5312h-256z" /> + <glyph glyph-name="user-secret" unicode="&#xf21b;" horiz-adv-x="448" +d="M383.9 139.7c38.2998 -23.7002 64.0996 -65.7002 64.0996 -114.101v-44.7998c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v44.7998c0 49.7002 27.2998 92.6006 67.4004 115.9l-25.8008 60.2002 +c-4.5 10.5996 3.2002 22.2998 14.7002 22.2998h57.5c-11 18.9004 -17.7998 40.5996 -17.7998 64v0.299805c-39.2002 7.7998 -64 19.1006 -64 31.7002c0 13.2998 27.2998 25.0996 70 33c9.2002 32.7998 27.0996 65.7998 40.5996 82.7998 +c9.5 11.9004 25.9004 15.6006 39.5 8.7998l27.6006 -13.7998c9 -4.5 19.5996 -4.5 28.5996 0l27.6006 13.7998c13.5996 6.80078 30 3.10059 39.5 -8.7998c13.5996 -17 31.3994 -50 40.5996 -82.7998c42.7998 -7.90039 70.0996 -19.7002 70.0996 -33 +c0 -12.5996 -24.7998 -23.9004 -64 -31.7002v-0.299805c0 -23.4004 -6.7998 -45.0996 -17.7998 -64h58.5c11.2998 0 19 -11.2002 15 -21.7002zM176 -32l32 120l-24 40l-49.5996 32zM272 -32l41.5996 192l-49.5996 -32l-24 -40zM313.7 266.5 +c0.799805 2.59961 6.2998 5.7002 6.39941 5.7998v10.7998c-28.2998 -3.69922 -61 -5.7998 -96 -5.7998s-67.6992 2.2002 -96 5.7998v-10.7998c0 -0.0996094 5.5 -3.2998 6.30078 -5.7998c3.7998 -11.9004 7 -24.5996 16.5 -33.4004c8 -7.39941 47 -25.1992 64 25 +c2.89941 8.40039 15.5 8.40039 18.2998 0c16 -47.3994 53.8994 -34.2998 64 -25c9.5 8.80078 12.5996 21.5 16.5 33.4004z" /> + <glyph glyph-name="motorcycle" unicode="&#xf21c;" horiz-adv-x="640" +d="M512.9 256c69.5996 -0.5 126.5 -57.2998 127.199 -126.9c0.600586 -71.5996 -57.5996 -129.8 -129.199 -129.1c-69.6006 0.599609 -126.301 57.5 -126.801 127.1c-0.299805 39.3008 17.2002 74.5 44.8008 98.2002l-12.5 20.7998 +c-38.7002 -31.2998 -58.3008 -77.8994 -56.2002 -125c0.599609 -13.6992 -10.2998 -25.0996 -24 -25.0996h-84.2002c-14.2998 -55.2002 -64.4004 -96 -124 -96c-71.7002 0 -129.6 58.9004 -128 131c1.59961 67.4004 55.9004 122.5 123.2 124.9 +c14.3994 0.5 28.2998 -1.30078 41.2998 -5.2002l11.2998 20.5c-9.09961 13.8994 -23.2998 24.7998 -47.7998 24.7998h-56c-13.0996 0 -23.7998 10.5 -24 23.5c-0.299805 13.5 11 24.5 24.5 24.5h55.5c55 0 82.2002 -16.9004 99.9004 -40h153.699l-19.1992 32h-66.4004 +c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h80c8.40039 0 16.2002 -4.40039 20.5996 -11.5996l22.8008 -38l37.5 41.6992c4.5 5 11 7.90039 17.7998 7.90039h45.2998c13.2998 0 24 -10.7002 24 -24v-32c0 -13.2998 -10.7002 -24 -24 -24h-82.4004 +l32.9004 -54.9004c13.2998 4.60059 27.5 7 42.4004 6.90039zM128 48c32.7002 0 60.9004 19.7998 73.2998 48h-81.2998c-18.2002 0 -29.7998 19.5996 -21 35.5996l41.5 75.4004c-4.09961 0.700195 -8.2998 1 -12.5 1c-44.0996 0 -80 -35.9004 -80 -80s35.9004 -80 80 -80z +M591.9 123.6c2.39941 46.1006 -34.3008 84.4004 -79.9004 84.3008c-5.40039 0 -10.7002 -0.5 -15.9004 -1.60059l48.6006 -80.8994c4.5 -7.60059 2.09961 -17.5 -5.5 -22l-13.7002 -8.2002c-7.59961 -4.5 -17.5 -2.10059 -22 5.5l-49.4004 82.3994 +c-13.6992 -14.2998 -22.0996 -33.6992 -22.0996 -55.0996c0 -45.5996 38.2998 -82.4004 84.4004 -79.9004c40.5 2.10059 73.2998 34.9004 75.5 75.5z" /> + <glyph glyph-name="street-view" unicode="&#xf21d;" +d="M367.9 118.24c85.2295 -15.5801 144.1 -48.29 144.1 -86.2402c0 -53.0195 -114.62 -96 -256 -96s-256 42.9805 -256 96c0 37.9502 58.8701 70.6602 144.1 86.2402c4.62012 -5.2998 9.78027 -10.1006 15.9004 -13.6504v-22.9395 +c-66.5195 -9.35059 -112 -28.0508 -112 -49.6504c0 -30.9297 93.1201 -56 208 -56s208 25.0703 208 56c0 21.5996 -45.4805 40.3096 -112 49.6504v22.9395c6.12012 3.5498 11.2803 8.35059 15.9004 13.6504zM256 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64 +s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM192 128c-17.6699 0 -32 14.3301 -32 32v96c0 26.5098 21.4902 48 48 48h11.7998c11.0703 -5.03027 23.2598 -8 36.2002 -8s25.1299 2.96973 36.2002 8h11.7998c26.5098 0 48 -21.4902 48 -48v-96 +c0 -17.6699 -14.3301 -32 -32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v96z" /> + <glyph glyph-name="heartbeat" unicode="&#xf21e;" +d="M320.2 204.2l22.0996 -44.2002h109.101l-182.601 -186.5c-7.09961 -7.2998 -18.5996 -7.2998 -25.7002 0l-182.5 186.5h94.1006l30 71.7002l56.8994 -126.3c5.5 -12.3008 22.9004 -12.7002 28.9004 -0.600586zM473.7 374.1 +c48.7002 -49.7998 50.7998 -129.1 7.2998 -182.1h-118.9l-27.5996 55.2002c-5.90039 11.7998 -22.7002 11.7998 -28.5996 0l-49 -97.9004l-58.2002 129.3c-5.7998 12.8008 -24 12.5 -29.4004 -0.399414l-35.8994 -86.2002h-102.4c-43.5 53 -41.4004 132.3 7.2998 182.1 +l2.40039 2.40039c51.5 52.7002 135.899 52.7002 187.399 0l27.9004 -28.5l27.9004 28.5996c51.5996 52.6006 135.899 52.6006 187.399 0z" /> + <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="288" +d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40 +c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM64 272c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80z" /> + <glyph glyph-name="mars" unicode="&#xf222;" horiz-adv-x="384" +d="M372 384c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 144 144 +c28.2002 0 54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 64c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="mercury" unicode="&#xf223;" horiz-adv-x="288" +d="M288 240c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40 +c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 44.2002 19.9004 83.7002 51.2002 110c-2.5 1.90039 -4.90039 3.7998 -7.2002 5.7998c-24.7998 21.2002 -39.7998 48.7998 -43.2002 78.9004 +c-0.899414 7.09961 4.7002 13.2998 11.9004 13.2998h40.5c5.7002 0 10.5996 -4.09961 11.7002 -9.7998c2.5 -12.5 9.59961 -24.2998 20.6992 -33.7998c15.4004 -13.2002 36.1006 -20.4004 58.4004 -20.4004s43 7.2002 58.2998 20.4004 +c11.1006 9.5 18.2998 21.2998 20.7002 33.7998c1.09961 5.7002 6 9.7998 11.7998 9.7998h40.5c7.2002 0 12.7998 -6.2002 11.9004 -13.2998c-3.40039 -30 -18.5 -57.6006 -43.2002 -78.7998c-2.2998 -2 -4.7002 -4 -7.2002 -5.80078 +c31.2998 -26.3994 51.2002 -65.8994 51.2002 -110.1zM64 240c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80z" /> + <glyph glyph-name="transgender" unicode="&#xf224;" horiz-adv-x="384" +d="M372 448c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -68.5 -47.9004 -125.8 -112 -140.4v-27.5996h36c6.59961 0 12 -5.40039 12 -12v-40 +c0 -6.59961 -5.40039 -12 -12 -12h-36v-28c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v28h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v27.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144 +c28.2002 0 54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 128c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="transgender-alt" unicode="&#xf225;" horiz-adv-x="480" +d="M468 448c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -68.5 -47.9004 -125.8 -112 -140.4v-27.5996h36c6.59961 0 12 -5.40039 12 -12v-40 +c0 -6.59961 -5.40039 -12 -12 -12h-36v-28c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v28h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v27.5996c-64.0996 14.5 -112 71.9004 -112 140.4 +c0 28.2002 8.09961 54.5 22.2002 76.5996l-16.5 16.5l-19.7998 -19.7998c-4.7002 -4.7002 -12.3008 -4.7002 -17 0l-28.3008 28.2998c-4.69922 4.7002 -4.69922 12.3008 0 17l19.8008 19.8008l-19 19l-16.9004 -16.9004c-7.59961 -7.5 -20.5 -2.2002 -20.5 8.5v79 +c0 6.59961 5.40039 12 12 12h79c10.7002 0 16.0996 -12.9004 8.40039 -20.4004l-16.9004 -16.8994l19 -19l19.7998 19.7998c4.7002 4.7002 12.2998 4.7002 17 0l28.2998 -28.2998c4.7002 -4.7002 4.7002 -12.2998 0 -17l-19.7998 -19.7998l16.5 -16.5 +c22.2002 14 48.5 22.0996 76.7002 22.0996s54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM240 128c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="venus-double" unicode="&#xf226;" +d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40 +c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM64 272c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80zM400 131.6v-51.5996h36 +c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v51.5996 +c-21.2002 4.80078 -40.5996 14.3008 -57.2002 27.3008c14 16.6992 25 36 32.1006 57.0996c14.5 -14.7998 34.6992 -24 57.0996 -24c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80c-22.2998 0 -42.5996 -9.2002 -57.0996 -24 +c-7.10059 21.0996 -18 40.4004 -32.1006 57.0996c24.6006 19.3008 55.5 30.9004 89.2002 30.9004c79.5 0 144 -64.5 144 -144c0 -68.5 -47.9004 -125.9 -112 -140.4z" /> + <glyph glyph-name="mars-double" unicode="&#xf227;" +d="M340 448c6.59961 0 12 -5.40039 12 -12v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-2.90039 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144 +s64.5 144 144 144c28.2002 0 54.5 -8.09961 76.7002 -22.0996l48.7002 48.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 160c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80zM500 288.1 +c6.59961 0 12 -5.39941 12 -12.0996v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-3 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144c-74.4004 0 -135.6 56.4004 -143.2 128.9 +c21.7998 2 43.2998 8.19922 63.2998 18.3994c-0.0996094 -1 -0.0996094 -2.09961 -0.0996094 -3.2002c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80c0 44.1006 -35.9004 80 -80 80c-1 0 -2.09961 -0.0996094 -3.2002 -0.0996094 +c10.2002 20 16.2998 41.5 18.4004 63.2998c22.5 -2.39941 43.2998 -9.89941 61.5 -21.2998l48.7002 48.7002l-16.9004 16.8994c-7.5 7.60059 -2.2002 20.5 8.5 20.5h79z" /> + <glyph glyph-name="venus-mars" unicode="&#xf228;" horiz-adv-x="576" +d="M564 448c6.59961 0 12 -5.40039 12 -12v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-3 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144 +c-33.7002 0 -64.7002 11.5 -89.2002 30.9004c14.1006 16.6992 25 36 32.1006 57.0996c14.5 -14.7998 34.7998 -24 57.0996 -24c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80c-22.4004 0 -42.5996 -9.2002 -57.0996 -24 +c-7.10059 21.0996 -18.1006 40.4004 -32.1006 57.0996c24.6006 19.3008 55.5 30.9004 89.2002 30.9004c28.2002 0 54.5 -8.09961 76.7002 -22.0996l48.7002 48.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 384c79.5 0 144 -64.5 144 -144 +c0 -68.5 -47.9004 -125.8 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12 +h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144zM144 160c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="mars-stroke" unicode="&#xf229;" horiz-adv-x="384" +d="M372 384c6.59961 0 12 -5.40039 12.0996 -12v-78.9004c0 -10.6992 -12.8994 -16.0996 -20.5 -8.5l-16.8994 16.9004l-17.5 -17.5l14.0996 -14.0996c4.7002 -4.7002 4.7002 -12.3008 0 -17l-28.2998 -28.3008c-4.7002 -4.69922 -12.2998 -4.69922 -17 0l-14.0996 14.1006 +l-18 -18c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 143.9 144c28.1992 0 54.5 -8.09961 76.6992 -22.0996l18 18l-14.0996 14.0996c-4.7002 4.7002 -4.7002 12.2998 0 17l28.2998 28.2002 +c4.7002 4.7002 12.2998 4.7002 17 0l14.1006 -14.1006l17.5 17.5l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 64c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="mars-stroke-v" unicode="&#xf22a;" horiz-adv-x="288" +d="M245.8 213.8c56.2998 -56.2002 56.2998 -147.399 0 -203.6c-56.2002 -56.2002 -147.399 -56.2002 -203.6 0s-56.2002 147.399 0 203.6c19.8994 19.9004 44.2002 32.7998 69.7998 38.6006v25.3994h-20c-6.59961 0 -12 5.40039 -12 12v40c0 6.60059 5.40039 12 12 12h20 +v24.7002h-23.9004c-10.6992 0 -16.0996 12.9004 -8.5 20.5l55.9004 55.9004c4.7002 4.69922 12.2998 4.69922 17 0l55.9004 -55.8008c7.5 -7.59961 2.19922 -20.5 -8.5 -20.5h-23.9004v-24.7998h20c6.59961 0 12 -5.39941 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20 +v-25.3994c25.5996 -5.80078 49.9004 -18.7002 69.7998 -38.6006zM200.6 55.4004c31.2002 31.1992 31.2002 82 0 113.1c-31.1992 31.2002 -81.8994 31.2002 -113.1 0s-31.2002 -81.9004 0 -113.1c31.2002 -31.2002 81.9004 -31.2002 113.1 0z" /> + <glyph glyph-name="mars-stroke-h" unicode="&#xf22b;" horiz-adv-x="480" +d="M476.2 200.5c4.7002 -4.7002 4.7002 -12.2998 0.0996094 -17l-55.8994 -55.9004c-7.60059 -7.5 -20.5 -2.19922 -20.5 8.5v23.9004h-23.9004v-20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v20h-27.5996 +c-5.80078 -25.5996 -18.7002 -49.9004 -38.6006 -69.7998c-56.2002 -56.2002 -147.399 -56.2002 -203.6 0s-56.2002 147.399 0 203.6s147.399 56.2002 203.6 0c19.9004 -19.8994 32.7998 -44.2002 38.6006 -69.7998h27.5996v20c0 6.59961 5.40039 12 12 12h40 +c6.59961 0 12 -5.40039 12 -12v-20h23.7998v23.9004c0 10.6992 12.9004 16.0996 20.5 8.5zM200.6 135.4c31.2002 31.1992 31.2002 82 0 113.1c-31.1992 31.2002 -81.8994 31.2002 -113.1 0s-31.2002 -81.9004 0 -113.1c31.2002 -31.2002 81.9004 -31.2002 113.1 0z" /> + <glyph glyph-name="neuter" unicode="&#xf22c;" horiz-adv-x="288" +d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-151.6c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v151.6c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM144 192c44.0996 0 80 35.9004 80 80 +s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" /> + <glyph glyph-name="genderless" unicode="&#xf22d;" horiz-adv-x="288" +d="M144 272c-44.0996 0 -80 -35.9004 -80 -80s35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80zM144 336c79.5 0 144 -64.5 144 -144s-64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 144 144z" /> + <glyph glyph-name="server" unicode="&#xf233;" +d="M480 288h-448c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 376c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 376 +c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM480 128h-448c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 216 +c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 216c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM480 -32h-448c-17.6729 0 -32 14.3271 -32 32v64 +c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 56c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 56c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24 +s24 10.7451 24 24s-10.7451 24 -24 24z" /> + <glyph glyph-name="user-plus" unicode="&#xf234;" horiz-adv-x="640" +d="M624 240c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-64v-64c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v64h-64c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h64v64c0 8.7998 7.2002 16 16 16h32 +c8.7998 0 16 -7.2002 16 -16v-64h64zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352 +c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" /> + <glyph glyph-name="user-times" unicode="&#xf235;" horiz-adv-x="640" +d="M589.6 208l45.6006 -45.5996c6.2998 -6.30078 6.2998 -16.5 0 -22.8008l-22.7998 -22.7998c-6.30078 -6.2998 -16.5 -6.2998 -22.8008 0l-45.5996 45.6006l-45.5996 -45.6006c-6.30078 -6.2998 -16.5 -6.2998 -22.8008 0l-22.7998 22.7998 +c-6.2998 6.30078 -6.2998 16.5 0 22.8008l45.6006 45.5996l-45.6006 45.5996c-6.2998 6.30078 -6.2998 16.5 0 22.8008l22.7998 22.7998c6.30078 6.2998 16.5 6.2998 22.8008 0l45.5996 -45.6006l45.5996 45.6006c6.30078 6.2998 16.5 6.2998 22.8008 0l22.7998 -22.7998 +c6.2998 -6.30078 6.2998 -16.5 0 -22.8008zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352 +c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" /> + <glyph glyph-name="bed" unicode="&#xf236;" horiz-adv-x="640" +d="M176 192c-44.1104 0 -80 35.8896 -80 80s35.8896 80 80 80s80 -35.8896 80 -80s-35.8896 -80 -80 -80zM528 320c61.8604 0 112 -50.1396 112 -112v-192c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48h-512v-48c0 -8.83984 -7.16016 -16 -16 -16 +h-32c-8.83984 0 -16 7.16016 -16 16v352c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-208h224v144c0 8.83984 7.16016 16 16 16h224z" /> + <glyph glyph-name="train" unicode="&#xf238;" horiz-adv-x="448" +d="M448 352v-256c0 -51.8154 -61.624 -96 -130.022 -96l62.9805 -49.7207c5.94727 -4.69629 2.60352 -14.2793 -4.95801 -14.2793h-304c-7.57812 0 -10.8916 9.59375 -4.95703 14.2793l62.9795 49.7207c-68.2021 0 -130.022 44.0459 -130.022 96v256c0 53.0186 64 96 128 96 +h192c65 0 128 -42.9814 128 -96zM400 216v112c0 13.2549 -10.7451 24 -24 24h-304c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24h304c13.2549 0 24 10.7451 24 24zM224 152c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56s56 25.0723 56 56 +s-25.0723 56 -56 56z" /> + <glyph glyph-name="subway" unicode="&#xf239;" horiz-adv-x="448" +d="M448 352v-256c0 -51.8154 -61.624 -96 -130.022 -96l62.9805 -49.7207c5.94727 -4.69629 2.60352 -14.2793 -4.95801 -14.2793h-304c-7.57812 0 -10.8916 9.59375 -4.95703 14.2793l62.9795 49.7207c-68.2021 0 -130.022 44.0459 -130.022 96v256c0 53.0186 64 96 128 96 +h192c65 0 128 -42.9814 128 -96zM200 216v112c0 13.2549 -10.7451 24 -24 24h-104c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24h104c13.2549 0 24 10.7451 24 24zM400 216v112c0 13.2549 -10.7451 24 -24 24h-104c-13.2549 0 -24 -10.7451 -24 -24 +v-112c0 -13.2549 10.7451 -24 24 -24h104c13.2549 0 24 10.7451 24 24zM352 160c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48zM96 160c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48 +s-21.4902 48 -48 48z" /> + <glyph glyph-name="battery-full" unicode="&#xf240;" horiz-adv-x="640" +d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224 +c0 26.5098 21.4902 48 48 48h512zM512 256v-128h-416v128h416z" /> + <glyph glyph-name="battery-three-quarters" unicode="&#xf241;" horiz-adv-x="640" +d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224 +c0 26.5098 21.4902 48 48 48h512zM416 256v-128h-320v128h320z" /> + <glyph glyph-name="battery-half" unicode="&#xf242;" horiz-adv-x="640" +d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224 +c0 26.5098 21.4902 48 48 48h512zM320 256v-128h-224v128h224z" /> + <glyph glyph-name="battery-quarter" unicode="&#xf243;" horiz-adv-x="640" +d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224 +c0 26.5098 21.4902 48 48 48h512zM224 256v-128h-128v128h128z" /> + <glyph glyph-name="battery-empty" unicode="&#xf244;" horiz-adv-x="640" +d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224 +c0 26.5098 21.4902 48 48 48h512z" /> + <glyph glyph-name="mouse-pointer" unicode="&#xf245;" horiz-adv-x="320" +d="M302.189 118.874h-106.084l55.8301 -135.993c3.88965 -9.42773 -0.554688 -19.999 -9.44336 -23.999l-49.165 -21.4268c-9.16504 -4 -19.4434 0.571289 -23.332 9.71387l-53.0527 129.136l-86.6641 -89.1377c-11.5498 -11.877 -30.2783 -2.7207 -30.2783 12.8564v429.678 +c0 16.3994 19.9209 24.3945 30.2773 12.8555l284.412 -292.542c11.4717 -11.1787 3.00684 -31.1406 -12.5 -31.1406z" /> + <glyph glyph-name="i-cursor" unicode="&#xf246;" horiz-adv-x="256" +d="M256 395.952c0 -6.64648 -5.4043 -12.0098 -12.0498 -11.9922c-27.875 0.0712891 -83.9502 -3.20996 -83.9502 -48.1416v-111.818h36c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-36v-112c0 -44.9395 57.8887 -48.5527 83.8555 -48.2422 +c6.68652 0.0800781 12.1445 -5.31055 12.1445 -11.998v-39.6445c0 -6.5957 -5.31836 -11.957 -11.9131 -12c-35.0654 -0.228516 -78.3525 0.62207 -116.087 37.8447c-38.4688 -37.9482 -83.6211 -38.3027 -116.158 -37.8936 +c-6.56738 0.0820312 -11.8418 5.42969 -11.8418 11.999v39.9824c0 6.64648 5.4043 12.0098 12.0498 11.9932c27.875 -0.0722656 83.9502 3.02734 83.9502 47.959v112h-36c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h36v111.818 +c0 44.9385 -57.8887 48.7344 -83.8555 48.4248c-6.68652 -0.0800781 -12.1445 5.31055 -12.1445 11.998v39.6445c0 6.5957 5.31836 11.957 11.9131 12c35.0654 0.228516 78.3525 -0.62207 116.087 -37.8447c38.4688 37.9482 83.6211 38.3027 116.158 37.8926 +c6.56738 -0.0820312 11.8418 -5.42969 11.8418 -11.999v-39.9824z" /> + <glyph glyph-name="object-group" unicode="&#xf247;" +d="M480 320v-288h20c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v20h-384v-20c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h20v320h-20 +c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-20h384v20c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-20v-32zM96 172c0 -6.62695 5.37305 -12 12 -12h168 +c6.62695 0 12 5.37305 12 12v136c0 6.62695 -5.37305 12 -12 12h-168c-6.62695 0 -12 -5.37305 -12 -12v-136zM416 76v136c0 6.62695 -5.37305 12 -12 12h-84v-72c0 -13.2549 -10.7451 -24 -24 -24h-72v-52c0 -6.62695 5.37305 -12 12 -12h168c6.62695 0 12 5.37305 12 12z +" /> + <glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576" +d="M64 128v-26c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h26v192h-26c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h52c3.31152 0 6 -2.68848 6 -6v-26h288v26c0 3.31152 2.68848 6 6 6h52 +c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-26v-192h26c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v26h-288zM544 192v-160h26c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-52 +c-3.31152 0 -6 2.68848 -6 6v26h-288v-26c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h26v72h136v-8c0 -13.2549 10.7451 -24 24 -24h64c13.2549 0 24 10.7451 24 24v64c0 13.2549 -10.7451 24 -24 24h-8v72h104v26 +c0 3.31152 2.68848 6 6 6h52c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-26v-32z" /> + <glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448" +d="M312 128c-13.2002 0 -24 -10.7998 -24 -24v-136h-264c-13.2998 0 -24 10.7002 -24 24v400c0 13.2998 10.7002 24 24 24h400c13.2998 0 24 -10.7002 24 -24v-264h-136zM441 73l-98 -98c-4.5 -4.5 -10.5996 -7 -17 -7h-6v128h128v-6.09961 +c0 -6.30078 -2.5 -12.4004 -7 -16.9004z" /> + <glyph glyph-name="clone" unicode="&#xf24d;" +d="M464 448c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h288zM176 32h208v-48c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v288 +c0 26.5098 21.4902 48 48 48h48v-208c0 -44.1123 35.8877 -80 80 -80z" /> + <glyph glyph-name="balance-scale" unicode="&#xf24e;" horiz-adv-x="640" +d="M256 112c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51h0.0195312zM128 272l-72 -144h144zM639.98 112 +c0 -44.1797 -57.29 -80 -127.98 -80s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51zM440 128h144l-72 144zM528 0c8.83984 0 16 -7.16016 16 -16v-32 +c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v294.75c-23.5195 10.29 -41.1602 31.4902 -46.3896 57.25h-129.61c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h144.36 +c14.5996 19.3203 37.5498 32 63.6396 32s49.04 -12.6797 63.6396 -32h144.36c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-129.61c-5.22949 -25.7695 -22.8799 -46.96 -46.3896 -57.25v-294.75h176z" /> + <glyph glyph-name="hourglass-start" unicode="&#xf251;" horiz-adv-x="384" +d="M360 448c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336 +c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336zM296 0c0 77.4834 -46.2139 144 -104 144 +c-57.7959 0 -104 -66.542 -104 -144h208z" /> + <glyph glyph-name="hourglass-half" unicode="&#xf252;" horiz-adv-x="384" +d="M360 448c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336 +c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336zM284.922 64 +c-17.0596 46.8037 -52.1006 80 -92.9219 80c-40.8242 0 -75.8613 -33.2031 -92.9199 -80h185.842zM284.941 320c7.07129 19.4131 11.0586 41.1953 11.0586 64h-208c0 -22.748 3.98828 -44.5479 11.0781 -64h185.863z" /> + <glyph glyph-name="hourglass-end" unicode="&#xf253;" horiz-adv-x="384" +d="M360 384c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24 +c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24zM192 240c57.4902 0 104 66.0547 104 144 +h-208c0 -77.4824 46.2129 -144 104 -144z" /> + <glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384" +d="M360 384c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24 +c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24z" /> + <glyph glyph-name="hand-rock" unicode="&#xf255;" +d="M464.8 368c26.2998 -0.400391 47.2002 -22.5 47.2002 -48.7998v-133.5c0 -12.7998 -2.5 -25.5 -7.5 -37.2998l-49 -116.301c-4.90039 -11.7998 -7.5 -24.5 -7.5 -37.2998v-2.89941c0 -13.3008 -10.7002 -24 -24 -24h-240c-13.2998 0 -24 10.6992 -24 24v6.69922 +c0 13.7002 -5.90039 26.8008 -16.0996 35.9004l-111.7 99.2998c-20.5 18.2998 -32.2002 44.4004 -32.2002 71.7998v66.4004c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-48.1006l8 -7.09961v136 +c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-31.2002h8v48c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-47.2002h8v32c0 26.7998 21.9004 48.4004 48.7998 48 +c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-31.2002h8c0 26.7998 21.9004 48.4004 48.7998 48z" /> + <glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="448" +d="M408.781 319.993c21.7305 -0.416016 39.2188 -18.1621 39.2178 -39.9932v-150.359c0 -12.2998 -2.28711 -32.001 -5.10449 -43.9746l-26.5078 -112.66c-5.10156 -21.6816 -24.4502 -37.0059 -46.7236 -37.0059h-197.59c-13.4922 0 -30.8838 8.85645 -38.8193 19.7676 +l-125.601 172.705c-12.9932 17.8672 -9.04297 42.8838 8.82129 55.877c17.8682 12.9941 42.8848 9.04297 55.877 -8.82227l31.6484 -43.5195v235.992c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-175.21h8v216 +c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-215.21h8v177c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-176.21h8v87.21 +c0 22.4297 18.3564 41.2119 40.7812 40.7832z" /> + <glyph glyph-name="hand-scissors" unicode="&#xf257;" +d="M216 8c0 22.0918 17.9092 40 40 40v8h-32c-22.0908 0 -40 17.9082 -40 40s17.9092 40 40 40h32v8h-208c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48h208v13.5723l-177.551 69.7393c-24.6738 9.69434 -36.8184 37.5557 -27.125 62.2285 +c9.69238 24.6738 37.5537 36.8174 62.2275 27.124l190.342 -74.7646l24.8721 31.0898c12.3066 15.3809 33.9785 19.5146 51.0811 9.74121l112 -64c11.125 -6.3584 20.1533 -21.917 20.1533 -34.7305v-240c0 -18.5615 -12.7695 -34.6855 -30.8379 -38.9365l-136 -32 +c-2.49414 -0.586914 -6.59668 -1.06348 -9.1582 -1.06348h-0.00390625h-80c-22.0908 0 -40 17.9082 -40 40z" /> + <glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576" +d="M384 -32v61.4609c0 7.28906 -4.99707 16.3711 -11.1543 20.2734l-111.748 70.8105c-6.49316 4.11523 -18.0029 7.45508 -25.6904 7.45508h-0.000976562h-147.406c-13.2549 0 -24 10.7451 -24 24v8c0 35.3457 28.6543 64 64 64h123.648 +c11.7754 0 25.0088 8.82227 29.5371 19.6924l21.4102 51.3848c4.94141 11.8555 -3.77051 24.9229 -16.6143 24.9229h-229.981c-30.9277 0 -56 25.0723 -56 56v16c0 13.2549 10.7451 24 24 24h333.544c14.6035 0 32.7852 -10.0205 40.583 -22.3682l163.04 -258.146 +c8.1875 -12.9639 14.833 -35.9297 14.833 -51.2627v-0.000976562v-116.222h-192z" /> + <glyph glyph-name="hand-spock" unicode="&#xf259;" +d="M481.3 350.9c21.4004 -5.10059 34.7002 -26.7002 29.7002 -48.2002l-36.2998 -152.5c-1.7002 -7.2002 -2.60059 -14.7002 -2.60059 -22.2002v-42c0 -9.2998 -1.39941 -18.4004 -4 -27.2998l-26.1992 -88.2998c-6 -20.4004 -24.7002 -34.4004 -46 -34.4004h-216.7 +c-12.2002 0 -24 4.59961 -32.9004 13l-133.7 125.9c-16.0996 15.0996 -16.7998 40.3994 -1.69922 56.5c15.0996 16.0996 40.3994 16.7998 56.5 1.69922l60.5996 -57v79.4004l-39 171.6c-4.90039 21.6006 8.59961 43 30.0996 47.9004 +c21.6006 4.90039 43 -8.59961 47.9004 -30.0996l34.7998 -152.801h9.7998l-47.5996 207c-5 21.5 8.5 43 30 47.9004c21.5996 4.90039 43 -8.5 48 -30.0996l51.7002 -224.9h15.0996l48.4004 193.7c5.39941 21.3994 27.0996 34.5 48.5 29.0996 +c21.3994 -5.39941 34.5 -27.0996 29.0996 -48.5l-43.5996 -174.3h11.0996l30.7998 129.3c5.10059 21.4004 26.7002 34.7002 48.2002 29.6006z" /> + <glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448" +d="M448 208v-96c0 -3.08398 -0.356445 -6.15918 -1.06348 -9.16211l-32 -136c-4.25098 -18.0684 -20.375 -30.8379 -38.9365 -30.8379h-208c-11.2432 0 -25.7363 7.37988 -32.3496 16.4727l-127.997 176c-12.9932 17.8662 -9.04297 42.8838 8.82129 55.876 +c17.8672 12.9941 42.8848 9.04297 55.877 -8.82227l31.6484 -43.5186v275.992c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-200h8v40c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-40h8v24c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-24h8 +c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40zM192 128h-8v-96h8v96zM280 128h-8v-96h8v96zM368 128h-8v-96h8v96z" /> + <glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448" +d="M408 232c22.0918 0 40 -17.9092 40 -40v-80v-0.00488281c0 -2.56152 -0.476562 -6.66406 -1.06348 -9.15723l-32 -136c-4.25098 -18.0684 -20.375 -30.8379 -38.9365 -30.8379h-240h-0.000976562c-12.8125 0 -28.3711 9.0293 -34.7275 20.1543l-64 112 +c-9.77441 17.1025 -5.64062 38.7744 9.74023 51.0811l31.0898 24.8721l-74.7646 190.342c-9.69336 24.6738 2.4502 52.5342 27.124 62.2266c24.6729 9.69434 52.5332 -2.4502 62.2275 -27.125l69.7393 -177.551h13.5723v208c0 26.5098 21.4902 48 48 48s48 -21.4902 48 -48 +v-208h8v32c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-32h8c0 22.0908 17.9082 40 40 40z" /> + <glyph glyph-name="trademark" unicode="&#xf25c;" horiz-adv-x="640" +d="M260.6 352c6.60059 0 12 -5.40039 11.9004 -12v-43.0996c0 -6.60059 -5.40039 -12 -12 -12h-85.0996v-240.9c0 -6.59961 -5.40039 -12 -12 -12h-54.3008c-6.59961 0 -12 5.40039 -12 12v240.9h-85.0996c-6.59961 0 -12 5.39941 -12 12v43.0996 +c0 6.59961 5.40039 12 12 12h248.6zM640 45c0.5 -7 -5 -13 -12 -13h-53.9004c-6.2998 0 -11.5996 4.90039 -12 11.2002l-9.09961 132.899c-1.7998 24.2002 0 53.7002 0 53.7002h-0.900391s-10.6992 -33.5996 -17.8994 -53.7002l-30.7002 -84.6992 +c-1.7002 -4.7002 -6.2002 -7.90039 -11.2998 -7.90039h-50.2998c-5.10059 0 -9.60059 3.2002 -11.3008 7.90039l-30.6992 84.6992c-7.2002 20.1006 -17.9004 53.7002 -17.9004 53.7002h-0.900391s1.80078 -29.5 0 -53.7002l-9.09961 -132.899 +c-0.5 -6.2998 -5.7002 -11.2002 -12 -11.2002h-54.5c-7.09961 0 -12.5996 6 -12 13l24.4004 296c0.599609 6.2002 5.7998 11 12 11h65.3994c5.10059 0 9.60059 -3.2998 11.2998 -8.09961l43.8008 -127.101c7.19922 -20.5996 16.0996 -52.7998 16.0996 -52.7998h0.900391 +s8.89941 32.2002 16.0996 52.7998l43.7998 127.101c1.60059 4.7998 6.2002 8.09961 11.2998 8.09961h65.4004c6.2998 0 11.5 -4.7998 12 -11z" /> + <glyph glyph-name="registered" unicode="&#xf25d;" +d="M285.363 240.525c0 -18.6006 -9.83105 -28.4316 -28.4316 -28.4316h-29.876v56.1406h23.3779c28.668 0 34.9297 -8.77344 34.9297 -27.709zM504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248z +M363.411 87.5859c-46.7295 84.8252 -43.2988 78.6357 -44.7021 80.9805c23.4316 15.1719 37.9453 42.9785 37.9453 74.4854c0 54.2441 -31.5 89.252 -105.498 89.252h-70.667c-13.2549 0 -24 -10.7451 -24 -24v-232.304c0 -13.2549 10.7451 -24 24 -24h22.5664 +c13.2549 0 24 10.7451 24 24v71.6631h25.5566l44.1289 -82.9375c3.73828 -7.02441 13.2305 -12.7266 21.1875 -12.7266h24.4639c18.2617 0.000976562 29.8291 19.5908 21.0186 35.5869z" /> + <glyph glyph-name="tv" unicode="&#xf26c;" horiz-adv-x="640" +d="M592 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-234.9v-32h160c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32h-384c-17.6992 0 -32 14.2998 -32 32s14.3008 32 32 32h160v32h-245.1c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h544z +M576 96v288h-512v-288h512z" /> + <glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448" +d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36 +c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM328 116c0 6.59961 -5.40039 12 -12 12h-60v60c0 6.59961 -5.40039 12 -12 12h-40 +c-6.59961 0 -12 -5.40039 -12 -12v-60h-60c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h60v-60c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v60h60c6.59961 0 12 5.40039 12 12v40z" /> + <glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448" +d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36 +c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM316 64c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-184 +c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h184z" /> + <glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448" +d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36 +c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM269.3 96l48.1006 48.0996c4.69922 4.7002 4.69922 12.3008 0 17l-28.3008 28.3008 +c-4.69922 4.69922 -12.2998 4.69922 -17 0l-48.0996 -48.1006l-48.0996 48.1006c-4.7002 4.69922 -12.3008 4.69922 -17 0l-28.3008 -28.3008c-4.69922 -4.69922 -4.69922 -12.2998 0 -17l48.1006 -48.0996l-48.1006 -48.0996c-4.69922 -4.7002 -4.69922 -12.3008 0 -17 +l28.3008 -28.3008c4.69922 -4.69922 12.2998 -4.69922 17 0l48.0996 48.1006l48.0996 -48.1006c4.7002 -4.69922 12.3008 -4.69922 17 0l28.3008 28.3008c4.69922 4.69922 4.69922 12.2998 0 17z" /> + <glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448" +d="M436 288h-424c-6.62695 0 -12 5.37305 -12 12v36c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h48c26.5098 0 48 -21.4902 48 -48v-36 +c0 -6.62695 -5.37305 -12 -12 -12zM12 256h424c6.62695 0 12 -5.37305 12 -12v-260c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v260c0 6.62695 5.37305 12 12 12zM345.296 160.053l-28.1689 28.3984 +c-4.66699 4.70508 -12.2646 4.73535 -16.9697 0.0673828l-106.037 -105.184l-45.9805 46.3516c-4.66699 4.70508 -12.2656 4.73633 -16.9707 0.0683594l-28.3965 -28.1699c-4.70508 -4.66699 -4.73633 -12.2646 -0.0683594 -16.9697l82.6006 -83.2695 +c4.66699 -4.70508 12.2656 -4.73535 16.9707 -0.0673828l142.952 141.805c4.70508 4.66699 4.73633 12.2646 0.0683594 16.9697z" /> + <glyph glyph-name="industry" unicode="&#xf275;" +d="M475.115 284.219c15.9541 10.1514 36.8848 -1.33105 36.8848 -20.248v-271.971c0 -13.2549 -10.7451 -24 -24 -24h-464c-13.2549 0 -24 10.7451 -24 24v400c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-196.309l139.115 88.5273 +c15.9541 10.1514 36.8848 -1.33203 36.8848 -20.248v-68.2793z" /> + <glyph glyph-name="map-pin" unicode="&#xf276;" horiz-adv-x="288" +d="M112 131.06c10.3896 -1.91992 21.0596 -3.05957 32 -3.05957s21.6104 1.13965 32 3.05957v-156.689l-22.0098 -33.0205c-4.75 -7.11914 -15.2207 -7.11914 -19.9707 0l-22.0195 33.0205v156.689zM144 448c79.5303 0 144 -64.4697 144 -144s-64.4697 -144 -144 -144 +s-144 64.4697 -144 144s64.4697 144 144 144zM144 372c6.62012 0 12 5.37988 12 12s-5.37988 12 -12 12c-50.7197 0 -92 -41.2695 -92 -92c0 -6.62012 5.37988 -12 12 -12s12 5.37988 12 12c0 37.5 30.5 68 68 68z" /> + <glyph glyph-name="map-signs" unicode="&#xf277;" +d="M507.31 363.31c6.25 -6.25 6.25 -16.3691 0 -22.6299l-43.3096 -43.3096c-6.00977 -6 -14.1396 -9.37012 -22.6299 -9.37012h-385.37c-13.25 0 -24 10.75 -24 24v80c0 13.25 10.75 24 24 24h168v16c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-16 +h153.37c8.49023 0 16.6299 -3.37012 22.6299 -9.37012zM224 -48v112h64v-112c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16zM456 224c13.25 0 24 -10.75 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-385.37 +c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-43.3096 43.3096c-6.25 6.25 -6.25 16.3799 0 22.6299l43.3096 43.3203c6.00977 6 14.1396 9.37012 22.6299 9.37012h153.37v32h64v-32h168z" /> + <glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576" +d="M0 330.34c0.00292969 11.959 9.0166 25.2686 20.1201 29.71l139.88 55.9502v-384l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v346.32zM192 32v384l192 -64v-384zM554.06 414.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-346.32 +c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-139.88 -55.9502v384z" /> + <glyph glyph-name="comment-alt" unicode="&#xf27a;" +d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.7002c-7.89941 -5.7998 -19.0996 -0.0996094 -19.0996 9.7002v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z" /> + <glyph glyph-name="pause-circle" unicode="&#xf28b;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM240 112v160c0 8.7998 -7.2002 16 -16 16h-48c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16zM352 112v160 +c0 8.7998 -7.2002 16 -16 16h-48c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16z" /> + <glyph glyph-name="stop-circle" unicode="&#xf28d;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM352 112v160c0 8.7998 -7.2002 16 -16 16h-160c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h160c8.7998 0 16 7.2002 16 16z" /> + <glyph glyph-name="shopping-bag" unicode="&#xf290;" horiz-adv-x="448" +d="M352 288h96v-272c0 -44.1826 -35.8174 -80 -80 -80h-288c-44.1826 0 -80 35.8174 -80 80v272h96v32c0 70.5801 57.4199 128 128 128c70.5791 0 128 -57.4199 128 -128v-32zM160 320v-32h128v32c0 35.29 -28.71 64 -64 64s-64 -28.71 -64 -64zM320 200 +c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM128 200c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24z" /> + <glyph glyph-name="shopping-basket" unicode="&#xf291;" horiz-adv-x="576" +d="M576 232v-16c0 -13.2549 -10.7451 -24 -24 -24h-8l-26.1133 -182.788c-3.37793 -23.6465 -23.6299 -41.2119 -47.5166 -41.2119h-364.74c-23.8867 0 -44.1387 17.5654 -47.5176 41.2119l-26.1123 182.788h-8c-13.2549 0 -24 10.7451 -24 24v16 +c0 13.2549 10.7451 24 24 24h67.3408l106.78 146.821c10.3945 14.292 30.4072 17.4531 44.7012 7.05762c14.293 -10.3945 17.4531 -30.4082 7.05762 -44.7012l-79.4033 -109.178h235.047l-79.4033 109.179c-10.3955 14.292 -7.23438 34.3066 7.05859 44.7012 +c14.291 10.3955 34.3066 7.23535 44.7012 -7.05762l106.779 -146.822h67.3408c13.2549 0 24 -10.7451 24 -24zM312 56v112c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24zM424 56v112 +c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24zM200 56v112c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24z" /> + <glyph glyph-name="hashtag" unicode="&#xf292;" horiz-adv-x="448" +d="M440.667 265.891c-0.974609 -5.45898 -6.2666 -9.89062 -11.8135 -9.89062h-79.0957l-22.8564 -128h74.8096c7.4707 0 13.126 -6.75391 11.8135 -14.1094l-7.14355 -40c-0.974609 -5.45898 -6.2666 -9.89062 -11.8125 -9.89062h-79.0967l-15.377 -86.1094 +c-0.974609 -5.45898 -6.2666 -9.89062 -11.8125 -9.89062h-40.6318c-7.47266 0 -13.127 6.75391 -11.8135 14.1094l14.623 81.8906h-98.6338l-15.3779 -86.1094c-0.974609 -5.45898 -6.26758 -9.89062 -11.8135 -9.89062h-40.6318 +c-7.4707 0 -13.126 6.75391 -11.8125 14.1094l14.623 81.8906h-74.8105c-7.4707 0 -13.126 6.75391 -11.8125 14.1094l7.14258 40c0.974609 5.45898 6.2666 9.89062 11.8135 9.89062h79.0957l22.8564 128h-74.8096c-7.4707 0 -13.126 6.75391 -11.8135 14.1094l7.14355 40 +c0.974609 5.45898 6.2666 9.89062 11.8125 9.89062h79.0967l15.377 86.1094c0.974609 5.45898 6.2666 9.89062 11.8125 9.89062h40.6318c7.47266 0 13.127 -6.75391 11.8135 -14.1094l-14.623 -81.8906h98.6348l15.377 86.1094 +c0.974609 5.45898 6.26758 9.89062 11.8135 9.89062h40.6318c7.4707 0 13.126 -6.75391 11.8125 -14.1094l-14.623 -81.8906h74.8105c7.4707 0 13.126 -6.75391 11.8125 -14.1094zM261.889 128l22.8574 128h-98.6338l-22.8574 -128h98.6338z" /> + <glyph glyph-name="percent" unicode="&#xf295;" horiz-adv-x="448" +d="M112 224c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM112 384c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48s48 21.5 48 48s-21.5 48 -48 48zM336 160c61.9004 0 112 -50.0996 112 -112 +s-50.0996 -112 -112 -112s-112 50.0996 -112 112s50.0996 112 112 112zM336 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM392.3 447.8l31.6006 0.100586c19.3994 0.0996094 30.8994 -21.8008 19.6992 -37.8008l-366.199 -463.699 +c-3.94629 -5.62793 -12.7275 -10.1973 -19.6006 -10.2002l-33.3994 -0.100586c-19.5 0 -30.9004 21.9004 -19.7002 37.8008l368 463.699c4.5 6.40039 11.7998 10.2002 19.5996 10.2002z" /> + <glyph glyph-name="universal-access" unicode="&#xf29a;" +d="M256 400c-114.971 0 -208 -93.0469 -208 -208c0 -114.971 93.0469 -208 208 -208c114.971 0 208 93.0469 208 208c0 114.971 -93.0469 208 -208 208zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z +M256 384c106.039 0 192 -85.9609 192 -192s-85.9609 -192 -192 -192s-192 85.9609 -192 192s85.9609 192 192 192zM256 340c-19.8818 0 -36 -16.1182 -36 -36s16.1182 -36 36 -36s36 16.1182 36 36s-16.1182 36 -36 36zM373.741 241.977 +c8.59961 2.03027 13.9258 10.6484 11.8965 19.249c-2.03027 8.60156 -10.6494 13.9258 -19.249 11.8955c-96.4912 -22.7832 -124.089 -22.8291 -220.774 0c-8.60254 2.03125 -17.2178 -3.29395 -19.249 -11.8955c-2.03125 -8.60059 3.29492 -17.2178 11.8945 -19.249 +c28.7129 -6.7793 55.5127 -12.749 82.1416 -15.8066c-0.852539 -101.08 -12.3242 -123.08 -25.0371 -155.621c-3.61719 -9.25879 0.957031 -19.6982 10.2168 -23.3145c9.26465 -3.61914 19.7002 0.961914 23.3154 10.2168c8.72754 22.3408 17.0947 40.6982 22.2617 78.5488 +h9.68555c5.1748 -37.9131 13.5566 -56.2412 22.2617 -78.5488c3.61621 -9.25977 14.0547 -13.834 23.3154 -10.2168c9.25977 3.61621 13.834 14.0547 10.2168 23.3145c-12.7305 32.5693 -24.1855 54.5986 -25.0371 155.621c26.6299 3.05859 53.4287 9.02832 82.1406 15.8066 +z" /> + <glyph glyph-name="blind" unicode="&#xf29d;" horiz-adv-x="384" +d="M380.15 -62.8369c-1.05664 -0.640625 -2.91602 -1.16113 -4.15137 -1.16113c-2.48438 0 -5.54785 1.72363 -6.83789 3.84766l-125.33 206.428c4.25684 1.68848 10.0615 5.9375 12.958 9.48438l126.048 -207.607c0.641602 -1.05664 1.16211 -2.91699 1.16211 -4.15234 +c0 -2.48535 -1.72461 -5.5498 -3.84863 -6.83887zM142.803 133.662l62.8145 -153.537c6.69141 -16.3584 -1.14453 -35.042 -17.501 -41.7344c-16.3564 -6.69043 -35.04 1.1416 -41.7334 17.501l-36.1201 88.2852zM96 360c-24.3008 0 -44 19.6992 -44 44s19.6992 44 44 44 +s44 -19.6992 44 -44s-19.6992 -44 -44 -44zM250.837 190.872c8.19336 -10.374 6.44434 -25.4922 -3.96582 -33.708c-9.33984 -7.37402 -24.5635 -7.61914 -33.708 3.96484l-102.3 129.217c-0.663086 0.836914 -2.06738 1.51562 -3.13477 1.51562 +c-2.20801 0 -4 -1.79297 -4 -4.00098c0 -0.769531 0.387695 -1.88281 0.865234 -2.48535l31.4062 -39.8164v-107.196l-65.9258 -181.288c-6.04102 -16.6143 -24.4072 -25.1768 -41.0088 -19.1387c-16.6104 6.04004 -25.1787 24.4004 -19.1387 41.0098l54.0732 148.693 +v140.698l-16 -20.5713v-79.7656c0 -13.0996 -10.4951 -23.748 -23.5361 -23.9961c-13.4531 -0.254883 -24.4639 11.0811 -24.4639 24.5361v95.6943l61.0557 78.5c4.72754 6.0791 11.7979 9.23633 18.9443 9.23926v0.0263672h32v-0.015625 +c7.08691 -0.00390625 14.1035 -3.11719 18.8369 -9.1123z" /> + <glyph glyph-name="audio-description" unicode="&#xf29e;" +d="M162.925 209.291l8.82227 -30.6553h-25.6064l9.04102 30.6523c1.27734 4.4209 2.65137 9.99414 3.87207 15.2451c1.2207 -5.25098 2.59473 -10.8232 3.87109 -15.2422zM329.399 241.39c28.6846 0 46.1748 -16.7656 46.1748 -49.0049 +c0 -32.0977 -16.3994 -49.7754 -46.1748 -49.7754h-14.5234v98.7803h14.5234zM512 336v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48zM245.459 111.861l-57.0967 168 +c-1.52734 4.49219 -6.61719 8.13867 -11.3623 8.13867h-35.8936c-4.74512 0 -9.83594 -3.64648 -11.3623 -8.13867l-57.0967 -168c-2.64453 -7.7832 3.1416 -15.8613 11.3613 -15.8613h29.1328c4.99219 0 10.1602 3.89453 11.5352 8.69336l8.57422 29.9053h51.3672 +l8.79297 -29.9766c1.39648 -4.75977 6.55469 -8.62207 11.5146 -8.62207v0h29.1719c8.2207 0 14.0059 8.07812 11.3613 15.8613zM430.16 192.386c0 58.9775 -37.9189 95.6143 -98.96 95.6143h-57.3662c-6.62695 0 -12 -5.37305 -12 -12v-168c0 -6.62695 5.37305 -12 12 -12 +h57.3662c61.041 0 98.96 36.9326 98.96 96.3857z" /> + <glyph glyph-name="phone-volume" unicode="&#xf2a0;" horiz-adv-x="384" +d="M97.333 -58.9658c-129.874 129.874 -129.681 340.252 0 469.933c5.69824 5.69824 14.5273 6.63184 21.2627 2.42188l64.8174 -40.5127c4.45898 -2.78711 8.07812 -9.31641 8.07812 -14.5752c0 -1.82715 -0.550781 -4.68652 -1.22949 -6.38281l-32.4082 -81.0205 +c-2.38477 -5.96484 -9.53418 -10.8047 -15.958 -10.8047c-0.473633 0 -1.23926 0.0380859 -1.71094 0.0849609l-55.8096 5.58008c-21.0508 -58.2607 -20.6123 -122.471 0 -179.515l55.8105 5.58105c0.47168 0.046875 1.2373 0.0849609 1.71094 0.0849609 +c6.42383 0 13.5732 -4.83984 15.959 -10.8037l32.4072 -81.0225c0.678711 -1.69629 1.22949 -4.55566 1.22949 -6.38281c0 -5.25879 -3.61914 -11.7881 -8.07812 -14.5752l-64.8174 -40.5127c-2.30762 -1.44238 -6.38867 -2.6123 -9.10938 -2.6123 +c-3.92969 0 -9.375 2.25488 -12.1543 5.03418zM247.126 352.527c11.832 -20.0469 11.832 -45.0088 0 -65.0557c-3.9502 -6.69238 -13.1084 -7.95898 -18.7178 -2.58105l-5.97559 5.72656c-3.91016 3.74805 -4.79297 9.62207 -2.26074 14.4102 +c2.04883 3.87793 3.71094 10.5859 3.71094 14.9717c0 4.38672 -1.66211 11.0947 -3.71094 14.9727c-2.5332 4.78809 -1.64941 10.6621 2.26074 14.4102l5.97559 5.72656c5.60938 5.37793 14.7676 4.11133 18.7178 -2.58105zM338.913 443.714 +c60.1396 -71.6035 60.0918 -175.882 0 -247.428c-4.47363 -5.32715 -12.5303 -5.74609 -17.5518 -0.933594l-5.79785 5.55762c-4.56055 4.37109 -4.97754 11.5293 -0.930664 16.3789c49.6875 59.5381 49.6465 145.933 0 205.422 +c-4.04688 4.84961 -3.63086 12.0078 0.930664 16.3789l5.79785 5.55762c5.02148 4.8125 13.0781 4.39355 17.5518 -0.933594zM292.941 398.773c36.0498 -46.3223 36.1074 -111.149 0 -157.547c-4.39062 -5.64062 -12.6973 -6.25098 -17.8564 -1.30371l-5.81836 5.5791 +c-4.39941 4.21875 -4.99805 11.0947 -1.28418 15.9307c26.5352 34.5645 26.5332 82.5723 0 117.135c-3.71387 4.83594 -3.11523 11.7109 1.28418 15.9307l5.81836 5.5791c5.15918 4.94727 13.4658 4.33691 17.8564 -1.30371z" /> + <glyph glyph-name="braille" unicode="&#xf2a1;" horiz-adv-x="640" +d="M128 192c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64s64 -28.6543 64 -64zM64 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM64 416c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64 +s-64 28.6543 -64 64s28.6543 64 64 64zM224 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM224 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM224 416 +c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM448 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM448 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32 +s-32 14.3271 -32 32s14.3271 32 32 32zM448 416c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM608 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM608 64 +c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM608 384c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32z" /> + <glyph glyph-name="assistive-listening-systems" unicode="&#xf2a2;" +d="M216 188c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 44.1123 35.8877 80 80 80s80 -35.8877 80 -80c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 13.2344 -10.7666 24 -24 24s-24 -10.7656 -24 -24zM240 364c97.0469 0 176 -78.9531 176 -176 +c0 -95.9863 -71.4053 -109.798 -72 -144.226c-0.124023 -59.4463 -48.5254 -107.774 -108 -107.774c-15.4639 0 -28 12.5361 -28 28s12.5361 28 28 28c28.6729 0 52 23.3271 52 52l0.00292969 0.37793c0.988281 73.3115 71.9971 68.458 71.9971 143.622 +c0 66.168 -53.832 120 -120 120s-120 -53.832 -120 -120c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 97.0469 78.9531 176 176 176zM160 128c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM32 0 +c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM512 187.993c0 -15.4639 -12.5371 -28 -28.001 -28s-28 12.5361 -28 28c0 1.12695 -0.00683594 2.24512 -0.0332031 3.36328l-0.00292969 0.1875 +c-1.4668 91.4404 -60.1709 172.599 -146.077 201.953c-14.6318 5.00098 -22.4414 20.917 -17.4414 35.5498c5.00098 14.6328 20.917 22.4404 35.5498 17.4424c108.163 -36.959 182.082 -139.015 183.961 -253.965c0.0332031 -1.50684 0.0449219 -3.01367 0.0449219 -4.53125 +zM152.971 8.9707l-33.9404 -33.9404l-80 80l33.9404 33.9404z" /> + <glyph glyph-name="american-sign-language-interpreting" unicode="&#xf2a3;" horiz-adv-x="640" +d="M290.547 258.961c-20.2949 10.1494 -44.1465 11.1992 -64.7393 3.88965c42.6064 0 71.208 -20.4746 85.5781 -50.5752c8.57617 -17.8994 -5.14746 -38.0713 -23.6172 -38.0713c18.4297 0 32.2119 -20.1357 23.6172 -38.0713 +c-14.7246 -30.8457 -46.123 -50.8535 -80.2979 -50.8535c-0.556641 0 -94.4707 8.61426 -94.4707 8.61426l-66.4062 -33.3467c-9.38379 -4.69336 -19.8145 -0.378906 -23.8945 7.78125l-44.4561 88.9248c-4.16699 8.61523 -1.11133 18.8975 6.94531 23.6211l58.0723 33.0693 +l41.1221 74.1953c6.38965 57.2451 34.7314 109.768 79.7432 146.727c11.3906 9.44824 28.3408 7.78125 37.5098 -3.61328c9.44629 -11.3936 7.78027 -28.0674 -3.6123 -37.5156c-12.5029 -10.5596 -23.6172 -22.5098 -32.5088 -35.5703 +c21.6719 14.7285 46.6787 24.7324 74.1865 28.0674c14.7246 1.94434 28.0625 -8.33594 29.7295 -23.0654c1.94531 -14.7275 -8.33594 -28.0674 -23.0615 -29.7344c-16.1162 -1.94434 -31.1201 -7.50293 -44.1787 -15.2832c26.1143 5.71289 58.7119 3.1377 88.0791 -11.1152 +c13.3359 -6.66895 18.8936 -22.5088 12.2246 -35.8486c-6.38965 -13.0596 -22.5039 -18.6162 -35.5645 -12.2256zM263.318 189.489c-6.1123 12.5049 -18.3379 20.2861 -32.2314 20.2861h-0.105469c-19.5732 0 -35.46 -15.8867 -35.46 -35.46 +c0 -0.0302734 0 -0.0800781 0.000976562 -0.110352c0 -21.4277 17.8076 -35.5703 35.5645 -35.5703c13.8936 0 26.1191 7.78125 32.2314 20.2861c4.44531 9.44922 13.6133 15.0059 23.3389 15.2842c-9.72559 0.277344 -18.8936 5.83496 -23.3389 15.2842zM638.139 226.726 +c4.16797 -8.61426 1.11133 -18.8965 -6.94531 -23.6201l-58.0713 -33.0693l-41.1221 -74.1963c-6.38965 -57.2451 -34.7314 -109.767 -79.7432 -146.726c-10.9316 -9.1123 -27.7988 -8.14453 -37.5098 3.6123c-9.44629 11.3945 -7.78027 28.0674 3.61328 37.5166 +c12.5029 10.5586 23.6162 22.5088 32.5078 35.5703c-21.6719 -14.7295 -46.6787 -24.7324 -74.1865 -28.0674c-10.0205 -2.50586 -27.5518 5.64258 -29.7295 23.0645c-1.94531 14.7285 8.33594 28.0674 23.0615 29.7344c16.1162 1.94629 31.1201 7.50293 44.1787 15.2842 +c-26.1143 -5.71289 -58.7119 -3.1377 -88.0791 11.1152c-13.3359 6.66895 -18.8936 22.5088 -12.2246 35.8477c6.38965 13.0605 22.5049 18.6191 35.5654 12.2266c20.2949 -10.1484 44.1465 -11.1982 64.7393 -3.88965c-42.6064 0 -71.208 20.4746 -85.5781 50.5762 +c-8.57617 17.8984 5.14746 38.0713 23.6172 38.0713c-18.4297 0 -32.2109 20.1357 -23.6172 38.0703c14.0332 29.3965 44.0391 50.8877 81.9658 50.8545l92.8027 -8.61523l66.4062 33.3467c9.4082 4.7041 19.8281 0.354492 23.8936 -7.78027zM408.912 245.344 +c-13.8936 0 -26.1191 -7.78027 -32.2314 -20.2861c-4.44531 -9.44824 -13.6133 -15.0059 -23.3389 -15.2832c9.72559 -0.27832 18.8936 -5.83594 23.3389 -15.2842c6.1123 -12.5049 18.3379 -20.2861 32.2314 -20.2861h0.105469c19.5732 0 35.46 15.8857 35.46 35.46 +c0 0.0302734 0 0.0791016 -0.000976562 0.110352c0 21.4287 -17.8076 35.5693 -35.5645 35.5693z" /> + <glyph glyph-name="deaf" unicode="&#xf2a4;" +d="M216 188c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 44.1123 35.8877 80 80 80s80 -35.8877 80 -80c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 13.2344 -10.7666 24 -24 24s-24 -10.7656 -24 -24zM240 364c97.0469 0 176 -78.9531 176 -176 +c0 -95.9863 -71.4053 -109.798 -72 -144.226c-0.124023 -59.4463 -48.5254 -107.774 -108 -107.774c-15.4639 0 -28 12.5361 -28 28s12.5361 28 28 28c28.6729 0 52 23.3271 52 52l0.00292969 0.37793c0.988281 73.3115 71.9971 68.458 71.9971 143.622 +c0 66.168 -53.832 120 -120 120s-120 -53.832 -120 -120c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 97.0469 78.9531 176 176 176zM508.485 416.201c4.68652 -4.68652 4.68652 -12.2842 0 -16.9727l-87.0303 -87.0283 +c-4.68652 -4.68652 -12.2842 -4.68652 -16.9697 0l-28.2852 28.2852c-4.68652 4.68652 -4.68652 12.2842 0 16.9707l87.0283 87.0293c4.6875 4.68555 12.2842 4.68555 16.9717 0zM168.97 133.255l28.2861 -28.2842c4.68652 -4.68652 4.68652 -12.2852 0 -16.9707 +l-148.484 -148.485c-4.6875 -4.68555 -12.2842 -4.68555 -16.9717 0l-28.2852 28.2842c-4.68555 4.6875 -4.68555 12.2852 0 16.9707l148.485 148.485c4.68555 4.68652 12.2842 4.68652 16.9697 0z" /> + <glyph glyph-name="sign-language" unicode="&#xf2a7;" horiz-adv-x="448" +d="M91.4336 -35.9873c-0.306641 16.0186 13.1094 29.1289 29.1309 29.1289h62.293v5.71484h-125.864c-16.0215 0 -29.4375 13.1104 -29.1299 29.1289c0.296875 15.5234 12.9717 28.0146 28.5645 28.0146h126.43v5.71387h-153.722 +c-16.0205 0 -29.4365 13.1113 -29.1299 29.1289c0.296875 15.5225 12.9727 28.0137 28.5664 28.0137h154.286v5.71387h-125.151c-16.0215 0 -29.4375 13.1104 -29.1299 29.1289c0.296875 15.5215 12.9727 28.0127 28.5654 28.0127h168.566l-31.085 22.6064 +c-12.7617 9.28027 -15.583 27.1484 -6.30176 39.9121c9.28027 12.7607 27.1494 15.5811 39.9121 6.30176l123.36 -89.7148c7.79395 -5.66895 14.1201 -18.0908 14.1201 -27.7285v-141.136c0 -15.9102 -10.9463 -29.7305 -26.4326 -33.374l-80.4717 -18.9346 +c-8.55176 -2.01172 -22.624 -3.64551 -31.4102 -3.64551h-107.4c-15.5928 0.000976562 -28.2686 12.4922 -28.5664 28.0137zM164.683 189.714l-36.3711 46.71c-9.5791 12.3027 -7.51172 29.9795 4.55371 39.75c12.4502 10.083 31.0371 7.55273 40.8799 -5.08789 +l13.0039 -16.7002c-17.1426 -15.6484 -15.4092 -43.0244 3.16992 -56.5361l11.1875 -8.13574h-36.4238zM447.981 191.817c0.00976562 -0.311523 0.0175781 -0.81543 0.0175781 -1.12695c0 -9.24902 -5.92188 -21.3682 -13.2197 -27.0508l-61.0645 -47.5488v16.999 +c0 13.4834 -6.51074 26.2686 -17.415 34.1982l-123.359 89.7139c-12.6357 9.18945 -29.1934 9.16113 -41.6904 0.904297l-52.0527 66.8486c-9.84375 12.6416 -7.74121 31.2822 5.08594 40.8809c12.4297 9.30273 30.0732 6.97559 39.6523 -5.32812l77.6758 -99.7539 +l4.50879 3.51172l-94.4434 121.287c-9.84277 12.6416 -7.74121 31.2822 5.08594 40.8818c12.4307 9.30176 30.0732 6.97461 39.6533 -5.32812l94.79 -121.734l4.50879 3.51074l-76.8887 98.7451c-9.84277 12.6416 -7.74121 31.2822 5.08594 40.8809 +c12.4297 9.30273 30.0732 6.97559 39.6533 -5.32715l103.562 -133.001l-1.26172 38.4141c-0.518555 15.7715 11.8457 28.9756 27.6191 29.4932c15.7705 0.517578 28.9746 -11.8477 29.4922 -27.6191z" /> + <glyph glyph-name="low-vision" unicode="&#xf2a8;" horiz-adv-x="576" +d="M569.344 216.369c3.67383 -6.22461 6.65625 -17.1416 6.65625 -24.3691s-2.98242 -18.1455 -6.65723 -24.3701c-31.9746 -54.2607 -79.6484 -98.3232 -136.81 -126.301l0.00683594 -0.00878906l43.1201 -58.377c7.60156 -10.8594 4.95996 -25.8252 -5.90039 -33.4268 +l-13.1133 -9.17773c-10.8594 -7.59863 -25.8223 -4.95801 -33.4238 5.90039l-251.836 356.544c-11.1797 -5.09375 -28.5518 -14.7539 -38.7764 -21.5635l189.979 -271.399c-9.52637 -1.00488 -25.0342 -1.82031 -34.6133 -1.82031 +c-12.29 0 -32.1484 1.33984 -44.3262 2.99023l-40.6309 58.04h-0.00976562l-119.399 170.58c-8.64453 -9.25391 -21.3203 -25.3428 -28.2939 -35.9121l124.19 -177.417c-73.1172 25.4863 -134.358 76.0166 -172.858 141.349c-8.96484 15.2109 -8.76562 33.8643 0 48.7393 +c0.0107422 0.0166016 0.0234375 0.0332031 0.0332031 0.0498047c33.5459 56.8984 82.7676 99.8506 136.79 126.242l-43.1309 58.3945c-7.60156 10.8604 -4.95996 25.8252 5.90039 33.4268l13.1143 9.17773c10.8584 7.59961 25.8213 4.95801 33.4229 -5.90039 +l52.7705 -72.1689c26.3496 6.79004 53.9834 10.4092 82.4512 10.4092c119.81 0 224.96 -63.9492 281.344 -159.631zM390.026 102.06c21.1406 23.9658 33.9736 55.4365 33.9736 89.9404c0 75.1738 -60.8379 136 -136 136c-17.5117 0 -34.2422 -3.30566 -49.6084 -9.32324 +l19.0684 -27.2363c25.9883 7.96289 54.7598 5.56836 79.5098 -7.68066h-0.0292969c-23.6504 0 -42.8203 -19.1699 -42.8203 -42.8193c0 -23.4717 18.9922 -42.8203 42.8203 -42.8203c23.6494 0 42.8193 19.1699 42.8193 42.8203v0.0292969 +c18.9111 -35.3271 15.8818 -79.1123 -8.7998 -111.68z" /> + <glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640" +d="M434.7 384c8.5 0 16.7002 -3.40039 22.5996 -9.40039l54.6006 -54.5996v-193.5c-2.40039 2.7002 -5 5.2998 -7.90039 7.7002l-145.6 118.2l26.0996 23.8994c6.5 6 7 16.1006 1 22.6006c-5.90039 6.5 -16.0996 6.89941 -22.5996 1l-79.9004 -73.2002 +c-0.0996094 -0.100586 -0.299805 -0.100586 -0.400391 -0.200195c-16.6992 -14.9004 -43.3994 -11.2002 -56.0996 2.7002c-14.2002 15.5 -14.5 40.3994 2.09961 56c0.100586 0.0996094 0.200195 0.299805 0.300781 0.399414l98.2998 90 +c5.89941 5.40039 13.5996 8.40039 21.5996 8.40039h85.9004zM544 319.8h96v-255.899h-64c-17.7002 0 -32 14.2998 -32 32v223.899zM592 95.9004c8.7998 0 16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM0 64v255.8h96 +v-223.8c0 -17.7002 -14.2998 -32 -32 -32h-64zM48 127.9c-8.7998 0 -16 -7.10059 -16 -16c0 -8.80078 7.2002 -16 16 -16s16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16zM483.9 109.3c13.6992 -11.2002 15.7998 -31.2998 4.59961 -45.0996l-9.5 -11.7002 +c-11.0996 -13.7998 -31.2998 -15.7998 -45 -4.7002l-5.40039 4.40039l-31.3994 -38.6006c-12.9004 -15.8994 -36.4004 -18.3994 -52.2998 -5.39941l-17.9004 15.5l-0.200195 -0.200195c-22.2998 -27.4004 -62.5996 -31.5996 -90 -9.2998l-90.5 81.8994h-18.2998v223.9 +l54.7002 54.5996c6 6 14.0996 9.40039 22.5996 9.40039h83.7998l-81.7998 -74.9004c-29.2002 -26.7998 -31.2998 -72.2998 -4.39941 -101.699c26.5 -28.9004 72 -31.5 101.699 -4.40039l30 27.5z" /> + <glyph glyph-name="envelope-open" unicode="&#xf2b6;" +d="M512 -16c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v263.276c0 12.8955 8.2373 29.8193 18.3867 37.7754c24.9131 19.5293 45.501 35.3652 164.2 121.512c16.8252 12.2666 50.21 41.7832 73.4131 41.4336 +c23.1982 0.353516 56.5957 -29.1719 73.4131 -41.4326c118.687 -86.1377 139.303 -101.995 164.2 -121.513c10.1494 -7.95605 18.3867 -24.8799 18.3867 -37.7754v-263.276zM446.334 180.605c-2.5625 3.72754 -7.7002 4.59473 -11.3389 1.90625 +c-22.8447 -16.873 -55.4619 -40.7051 -105.582 -77.0791c-16.8252 -12.2656 -50.21 -41.7803 -73.4131 -41.4297c-23.2109 -0.34375 -56.5586 29.1436 -73.4131 41.4297c-50.1143 36.3701 -82.7344 60.2041 -105.582 77.0791 +c-3.63867 2.68848 -8.77637 1.82129 -11.3389 -1.90625l-9.07227 -13.1963c-0.777344 -1.13086 -1.4082 -3.16113 -1.4082 -4.5332c0 -2.22754 1.45508 -5.11035 3.24707 -6.43359c22.8877 -16.8994 55.4541 -40.6904 105.304 -76.8682 +c20.2734 -14.7812 56.5234 -47.8135 92.2637 -47.5732c35.7236 -0.242188 71.9609 32.7715 92.2627 47.5732c49.8506 36.1787 82.418 59.9697 105.304 76.8682c1.79199 1.32324 3.24707 4.20605 3.24707 6.43359c0 1.37207 -0.630859 3.40234 -1.4082 4.5332z" /> + <glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448" +d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48 +h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM208 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM320 83.2002v19.2002 +c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199 +c12.4004 0 22.4004 8.59961 22.4004 19.2002z" /> + <glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576" +d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM176 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM288 83.2002v19.2002 +c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199 +c12.4004 0 22.4004 8.59961 22.4004 19.2002zM512 136v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM512 200v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16 +c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM512 264v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 344c-48.5996 0 -88 -39.4004 -88 -88s39.4004 -88 88 -88s88 39.4004 88 88s-39.4004 88 -88 88zM248 0c58.7002 0 111.3 26.5996 146.5 68.2002 +c-18.7998 35.3994 -55.5996 59.7998 -98.5 59.7998c-2.40039 0 -4.7998 -0.400391 -7.09961 -1.09961c-12.9004 -4.2002 -26.6006 -6.90039 -40.9004 -6.90039s-27.9004 2.7002 -40.9004 6.90039c-2.2998 0.699219 -4.69922 1.09961 -7.09961 1.09961 +c-42.9004 0 -79.7002 -24.4004 -98.5 -59.7998c35.2002 -41.6006 87.7998 -68.2002 146.5 -68.2002z" /> + <glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384" +d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM144 416c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h96c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16h-96zM192 288 +c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM304 51.2002v19.2002c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5 +c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199c12.4004 0 22.4004 8.59961 22.4004 19.2002z" /> + <glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576" +d="M528 416c26.5 0 48 -21.5 48 -48v-16h-576v16c0 26.5 21.5 48 48 48h480zM0 16v304h576v-304c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48zM352 248v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-144 +c-4.40039 0 -8 -3.59961 -8 -8zM352 184v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8zM352 120v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16 +c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8zM176 256c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM67.0996 51.7998c-3.19922 -9.7998 5.2002 -19.7998 15.6006 -19.7998h186.6 +c10.4004 0 18.7998 9.90039 15.6006 19.7998c-8.40039 25.7002 -32.5 44.2002 -60.9004 44.2002h-8.2002c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-8.2002c-28.4004 0 -52.5 -18.5 -60.9004 -44.2002z" /> + <glyph glyph-name="thermometer-full" unicode="&#xf2c7;" horiz-adv-x="256" +d="M224 352v-203.347c19.9121 -22.5635 32 -52.1943 32 -84.6533c0 -70.6963 -57.3018 -128 -128 -128c-0.298828 0 -0.610352 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1973 12.2227 61.5771 31.998 83.9863 +v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96zM128 -16c44.1123 0 80 35.8877 80 80c0 34.3379 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7334 -14.4277 -31.8262 -32.0996 -31.999 -66.0801 +c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199zM192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v232.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-232.583c19.124 -11.0684 32 -31.7324 32 -55.417z" /> + <glyph glyph-name="thermometer-three-quarters" unicode="&#xf2c8;" horiz-adv-x="256" +d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v168.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-168.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533 +c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z +M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312 +c44.1123 0 80 35.8877 80 80z" /> + <glyph glyph-name="thermometer-half" unicode="&#xf2c9;" horiz-adv-x="256" +d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v104.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-104.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533 +c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z +M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312 +c44.1123 0 80 35.8877 80 80z" /> + <glyph glyph-name="thermometer-quarter" unicode="&#xf2ca;" horiz-adv-x="256" +d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v40.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-40.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533 +c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z +M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312 +c44.1123 0 80 35.8877 80 80z" /> + <glyph glyph-name="thermometer-empty" unicode="&#xf2cb;" horiz-adv-x="256" +d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64s64 -28.6543 64 -64zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969 +c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347zM208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48 +s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312c44.1123 0 80 35.8877 80 80z" /> + <glyph glyph-name="shower" unicode="&#xf2cc;" +d="M389.66 312.4l-158.061 -158.061c-9.36914 -9.37012 -24.5693 -9.37012 -33.9395 0l-11.3203 11.3203c-9.37012 9.37012 -9.37012 24.5703 0 33.9395l0.110352 0.110352c-34.0303 40.21 -35.1602 98.9404 -3.39062 140.38 +c-11.9697 7.5498 -26.1396 11.9102 -41.2998 11.9102c-42.8799 0 -77.7598 -34.8799 -77.7598 -77.7598v-306.24h-64v306.24c0 78.1699 63.5898 141.76 141.76 141.76c36.9307 0 70.6104 -14.2002 95.8604 -37.4199c35.8994 11.5098 76.5 4.5 106.67 -21.0303 +l0.110352 0.110352c9.36914 9.37012 24.5693 9.37012 33.9395 0l11.3203 -11.3203c9.37012 -9.37012 9.37012 -24.5703 0 -33.9395zM384 240c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM416 240c0 8.83691 7.16309 16 16 16 +s16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16zM512 240c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM352 208c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16z +M400 224c8.83691 0 16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16zM480 208c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 176c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16 +s7.16309 16 16 16s16 -7.16309 16 -16zM352 176c0 8.83691 7.16309 16 16 16s16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16zM448 176c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 144 +c0 8.83691 7.16309 16 16 16s16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16zM416 144c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 112c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16 +s7.16309 16 16 16s16 -7.16309 16 -16zM384 112c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM352 80c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 48 +c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16z" /> + <glyph glyph-name="bath" unicode="&#xf2cd;" +d="M488 192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-8v-32c0 -28.4297 -12.3623 -53.9688 -32 -71.5469v-32.4531c0 -13.2549 -10.7451 -24 -24 -24h-16c-13.2549 0 -24 10.7451 -24 24v8h-256v-8c0 -13.2549 -10.7451 -24 -24 -24h-16 +c-13.2549 0 -24 10.7451 -24 24v32.4531c-19.6377 17.5781 -32 43.1172 -32 71.5469v32h-8c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h8v144c0 44.1123 35.8877 80 80 80c27.2119 0 51.2812 -13.667 65.7393 -34.4873 +c21.8838 6.06445 46.2285 1.10449 64.1777 -15.3643c4.71289 4.1748 11.916 4.02051 16.4277 -0.491211l11.3145 -11.3145c4.68555 -4.68652 4.68555 -12.2852 0 -16.9707l-95.0303 -95.0293c-4.68652 -4.68555 -12.2852 -4.68555 -16.9707 0l-11.3145 11.3145 +c-4.51172 4.51172 -4.66699 11.7148 -0.491211 16.4277c-21.5244 23.459 -23.3291 57.8281 -6.83789 83.0352c-5.68262 8.93457 -15.6641 14.8799 -27.0146 14.8799c-17.6445 0 -32 -14.3555 -32 -32v-144h408z" /> + <glyph glyph-name="podcast" unicode="&#xf2ce;" horiz-adv-x="448" +d="M267.429 -40.5635c-5.14258 -19.0098 -24.5703 -23.4365 -43.4287 -23.4365c-18.8574 0 -38.2861 4.42676 -43.4277 23.4365c-7.64551 28.4297 -20.5723 99.665 -20.5723 132.813c0 35.1562 31.1416 43.75 64 43.75s64 -8.59375 64 -43.75 +c0 -32.9492 -12.8711 -104.179 -20.5713 -132.813zM156.867 159.446c2.6748 -2.61914 2.39941 -6.98535 -0.628906 -9.18555c-9.3125 -6.76465 -16.4609 -15.3418 -21.2354 -25.3623c-1.74219 -3.65723 -6.5 -4.6582 -9.45312 -1.8877 +c-28.0176 26.2891 -45.5498 63.6279 -45.5498 104.989c0 80.7852 66.8691 146.247 148.163 143.941c76.1982 -2.16113 137.938 -64.1631 139.793 -140.369c1.04199 -42.7822 -16.6846 -81.5225 -45.5107 -108.565c-2.95215 -2.76855 -7.70801 -1.7627 -9.44922 1.8916 +c-4.77441 10.0195 -11.9219 18.5977 -21.2344 25.3623c-3.02832 2.20117 -3.30273 6.56738 -0.62793 9.1875c17.8018 17.4355 28.8662 41.7246 28.8662 68.5518c0 54.1934 -45.1377 98.042 -99.793 95.9258c-49.7295 -1.9248 -90.0703 -42.1572 -92.124 -91.8809 +c-1.17383 -28.4258 10.0908 -54.291 28.7842 -72.5986zM224 448c123.815 0 224 -100.205 224 -224c0 -90.1865 -52.7734 -165.727 -125.739 -201.407c-4.33203 -2.11914 -9.2666 1.54297 -8.53516 6.31055c2.55566 16.6416 4.625 33.1924 5.62402 47.2295 +c48.4922 31.377 80.6504 85.9355 80.6504 147.867c0 97.2031 -79.207 176.253 -176.468 175.999c-96.2393 -0.250977 -174.938 -78.6621 -175.529 -174.899c-0.376953 -61.3311 30.7871 -115.541 78.1875 -147.347c1.52832 -1.02637 2.53125 -2.67578 2.67773 -4.51172 +c1.06348 -13.3936 3.02344 -28.8271 5.40625 -44.3389c0.731445 -4.7666 -4.20215 -8.42871 -8.53516 -6.31055c-73.1377 35.7607 -125.739 111.416 -125.739 201.408c0 123.815 100.204 224 224 224zM224 288c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64 +s-64 28.6543 -64 64s28.6543 64 64 64z" /> + <glyph glyph-name="window-maximize" unicode="&#xf2d0;" +d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM448 256v84c0 6.59961 -5.40039 12 -12 12h-360c-6.59961 0 -12 -5.40039 -12 -12v-84h384z" /> + <glyph glyph-name="window-minimize" unicode="&#xf2d1;" +d="M464 96c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48h416z" /> + <glyph glyph-name="window-restore" unicode="&#xf2d2;" +d="M512 400v-288c0 -26.5 -21.5 -48 -48 -48h-48v208c0 44.0996 -35.9004 80 -80 80h-208v48c0 26.5 21.5 48 48 48h288c26.5 0 48 -21.5 48 -48zM384 272v-288c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h288 +c26.5 0 48 -21.5 48 -48zM316 244c0 6.59961 -5.40039 12 -12 12h-228c-6.59961 0 -12 -5.40039 -12 -12v-52h252v52z" /> + <glyph glyph-name="microchip" unicode="&#xf2db;" +d="M416 400v-416c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h224c26.5098 0 48 -21.4902 48 -48zM512 342v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42 +c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 246v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 150v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6 +c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 54v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM30 72h42 +v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6zM30 168h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6 +c0 3.31152 2.68848 6 6 6zM30 264h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6zM30 360h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12 +c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6z" /> + <glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448" +d="M440.3 102.8c7.40039 -4.2002 9.90039 -13.7002 5.60059 -21l-15.5 -26.7998c-4.30078 -7.40039 -13.7002 -10 -21.1006 -5.7002l-33.7998 19.5l7 -26c2.2002 -8.2002 -2.7002 -16.7002 -10.9004 -18.8994l-14.8994 -4 +c-8.2002 -2.2002 -16.7002 2.69922 -18.9004 10.8994l-19 70.7998l-62.7998 36.2002v-77.5l53.4004 -53.7002c6.19922 -6.19922 6.19922 -16.3994 0 -22.5996l-11.3008 -11.2998c-6.19922 -6.2002 -16.3994 -6.2002 -22.5996 0l-19.7002 19.7002v-40.4004 +c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v40.2998l-19.7002 -19.7002c-6.19922 -6.19922 -16.3994 -6.19922 -22.5996 0l-11.2998 11.3008c-6.2998 6.19922 -6.2998 16.3994 0 22.5996l53.7002 53.7002v77.5l-62.8008 -36.2002l-19 -70.7998 +c-2.19922 -8.2002 -10.6992 -13.1006 -18.8994 -10.9004l-14.9004 4c-8.2002 2.2002 -13.0996 10.7002 -10.8994 18.9004l7 26l-33.8008 -19.5c-7.39941 -4.2002 -16.7998 -1.7002 -21.0996 5.7002l-15.5 26.7998c-4.2002 7.39941 -1.7002 16.7998 5.7002 21.0996 +l33.7998 19.6006l-26 7c-8.2002 2.19922 -13.0996 10.6992 -10.9004 18.8994l4 14.9004c2.2002 8.2002 10.7002 13.0996 18.9004 10.8994l70.7998 -19l63.7998 36.9004l-63.7998 36.9004l-70.7998 -19c-8.2002 -2.2002 -16.7002 2.69922 -18.9004 10.8994l-4 14.9004 +c-2.19922 8.2998 2.7002 16.7998 11 19l26 7l-33.7998 19.5c-7.39941 4.2998 -10 13.7002 -5.7002 21.0996l15.5 26.7002c4.30078 7.40039 13.7002 10 21.1006 5.7002l33.7998 -19.5l-7 26c-2.2002 8.2002 2.7002 16.7002 10.9004 18.8994l14.8994 4 +c8.2002 2.2002 16.7002 -2.69922 18.9004 -10.8994l19 -70.7998l62.7998 -36.2002v77.5l-53.7002 53.7002c-6.2998 6.19922 -6.2998 16.3994 0 22.5996l11.4004 11.2998c6.2002 6.2002 16.3994 6.2002 22.5996 0l19.7002 -19.7002v40.4004c0 8.7998 7.2002 16 16 16h32 +c8.7998 0 16 -7.2002 16 -16v-40.4004l19.7998 19.7002c6.2002 6.2002 16.4004 6.2002 22.6006 0l11.2998 -11.2998c6.2002 -6.2002 6.2002 -16.4004 0 -22.5996l-53.7002 -53.7002v-77.5l62.7998 36.2002l19 70.7998c2.2002 8.2002 10.7002 13.0996 18.9004 10.8994 +l14.8994 -4c8.2002 -2.19922 13.1006 -10.6992 10.9004 -18.8994l-7 -26l33.7998 19.5c7.40039 4.2002 16.7998 1.7002 21.1006 -5.7002l15.5 -26.7998c4.19922 -7.40039 1.69922 -16.7998 -5.7002 -21.1006l-33.7998 -19.5l26 -7 +c8.19922 -2.19922 13.0996 -10.6992 10.8994 -18.8994l-4 -14.9004c-2.2002 -8.2002 -10.7002 -13.0996 -18.8994 -10.8994l-70.8008 19l-63.7998 -36.9004l63.9004 -37l70.7998 19c8.2002 2.2002 16.7002 -2.7002 18.9004 -10.9004l4 -14.8994 +c2.19922 -8.2002 -2.7002 -16.7002 -10.9004 -18.9004l-26 -7z" /> + <glyph glyph-name="utensil-spoon" unicode="&#xf2e5;" +d="M480.1 416.1c55.1006 -55 34.5 -164.899 -28.5 -227.8c-49.2998 -49.2998 -110 -55.0996 -160.399 -28.7998l-192.4 -214.4c-10.3994 -11.5996 -28.5 -12.0996 -39.5 -1.09961l-51.2998 51.2998c-11.0996 11 -10.5996 29 1 39.5l214.5 192.4 +c-26.2998 50.3994 -20.5 111.1 28.7998 160.399c62.9004 63 172.8 83.6006 227.8 28.5z" /> + <glyph glyph-name="utensils" unicode="&#xf2e7;" horiz-adv-x="416" +d="M207.9 432.8c0.799805 -4.7002 16.0996 -94.5 16.0996 -128.8c0 -52.2998 -27.7998 -89.5996 -68.9004 -104.6l12.9004 -238.101c0.700195 -13.7002 -10.2002 -25.2998 -24 -25.2998h-64c-13.7002 0 -24.7002 11.5 -24 25.2998l12.9004 238.101 +c-41.2002 15 -68.9004 52.3994 -68.9004 104.6c0 34.4004 15.2998 124.1 16.0996 128.8c3.2002 20.2998 45.3008 20.6006 47.9004 -1.09961v-141.2c1.2998 -3.40039 15.0996 -3.2002 16 0c1.40039 25.2998 7.90039 139.2 8 141.8c3.2998 20.7998 44.7002 20.7998 47.9004 0 +c0.199219 -2.7002 6.59961 -116.5 8 -141.8c0.899414 -3.2002 14.7998 -3.40039 16 0v141.2c2.59961 21.5996 44.7998 21.3994 48 1.09961zM327.1 147.1c-156.5 122.4 -17.5996 300.9 64.9004 300.9c13.2998 0 24 -10.7998 24 -24v-464c0 -13.2998 -10.7002 -24 -24 -24h-56 +c-14 0 -25.0996 12 -23.9004 26z" /> + <glyph glyph-name="undo-alt" unicode="&#xf2ea;" +d="M255.545 440c136.809 0.245117 248.456 -111.193 248.455 -248.002c-0.000976562 -136.965 -111.034 -247.998 -248 -247.998c-63.9258 0 -122.202 24.1865 -166.178 63.9082c-5.11328 4.61816 -5.35449 12.5605 -0.482422 17.4326l39.6621 39.6621 +c4.46191 4.46094 11.625 4.71387 16.3682 0.552734c30.6328 -26.8779 69.5029 -41.5557 110.63 -41.5557c93.8164 0 167.236 75.9912 167.994 166.552c0.798828 95.4648 -77.0859 170.24 -169.484 169.442c-42.4287 -0.366211 -82.3662 -16.374 -113.229 -45.2734 +l41.75 -41.75c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-134.059c-13.2549 0 -24 10.7451 -24 24v134.059c0 21.3828 25.8506 32.0908 40.9707 16.9707l35.7139 -35.7139c44.4229 42.4512 104.592 68.5654 170.86 68.6846z" /> + <glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448" +d="M32 -16v336h384v-336c0 -26.4961 -21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48zM304 240v-224c0 -8.83203 7.16797 -16 16 -16s16 7.16797 16 16v224c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM208 240v-224c0 -8.83203 7.16797 -16 16 -16 +s16 7.16797 16 16v224c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM112 240v-224c0 -8.83203 7.16797 -16 16 -16s16 7.16797 16 16v224c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM432 416c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002 +h120z" /> + <glyph glyph-name="sync-alt" unicode="&#xf2f1;" +d="M370.72 314.72c-31.2617 29.2725 -71.832 45.3184 -114.872 45.2803c-77.458 -0.0683594 -144.328 -53.1777 -162.791 -126.85c-1.34375 -5.36328 -6.12207 -9.15039 -11.6504 -9.15039h-57.3037c-7.49707 0 -13.1934 6.80664 -11.8066 14.1758 +c21.6367 114.9 122.518 201.824 243.704 201.824c66.4482 0 126.791 -26.1357 171.315 -68.6846l35.7148 35.7148c15.1191 15.1191 40.9697 4.41113 40.9697 -16.9717v-134.059c0 -13.2549 -10.7451 -24 -24 -24h-134.059c-21.3828 0 -32.0908 25.8506 -16.9717 40.9707z +M32 152h134.059c21.3828 0 32.0908 -25.8506 16.9717 -40.9707l-41.75 -41.75c31.2617 -29.2734 71.835 -45.3193 114.876 -45.2803c77.418 0.0703125 144.314 53.1436 162.787 126.849c1.34375 5.36328 6.12207 9.15039 11.6504 9.15039h57.3047 +c7.49805 0 13.1934 -6.80664 11.8066 -14.1758c-21.6377 -114.898 -122.519 -201.822 -243.705 -201.822c-66.4482 0 -126.791 26.1357 -171.315 68.6846l-35.7148 -35.7148c-15.1191 -15.1191 -40.9697 -4.41113 -40.9697 16.9717v134.059c0 13.2549 10.7451 24 24 24z" /> + <glyph glyph-name="stopwatch" unicode="&#xf2f2;" horiz-adv-x="448" +d="M432 144c0 -114.9 -93.0996 -208 -208 -208s-208 93.0996 -208 208c0 104 76.2998 190.2 176 205.5v34.5h-28c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h120c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-28v-34.5 +c37.5 -5.7998 71.7002 -21.5996 99.7002 -44.5996l27.5 27.5c4.7002 4.69922 12.2998 4.69922 17 0l28.2998 -28.3008c4.7002 -4.69922 4.7002 -12.2998 0 -17l-29.4004 -29.3994l-0.599609 -0.600586c21.2002 -32.3994 33.5 -71.2998 33.5 -113.1zM256 108v151.5 +c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-151.5c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="sign-out-alt" unicode="&#xf2f5;" +d="M497 175l-168 -168c-15 -15 -41 -4.5 -41 17v96h-136c-13.2998 0 -24 10.7002 -24 24v96c0 13.2998 10.7002 24 24 24h136v96c0 21.4004 25.9004 32 41 17l168 -168c9.2998 -9.40039 9.2998 -24.5996 0 -34zM192 12c0 -6.59961 -5.40039 -12 -12 -12h-84 +c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h84c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84c-17.7002 0 -32 -14.2998 -32 -32v-192c0 -17.7002 14.2998 -32 32 -32h84c6.59961 0 12 -5.40039 12 -12v-40z" /> + <glyph glyph-name="sign-in-alt" unicode="&#xf2f6;" +d="M416 0h-84c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84c17.7002 0 32 14.2998 32 32v192c0 17.7002 -14.2998 32 -32 32h-84c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84c53 0 96 -43 96 -96v-192c0 -53 -43 -96 -96 -96z +M369 201c9.2998 -9.40039 9.2998 -24.5996 0 -34l-168 -168c-15 -15 -41 -4.5 -41 17v96h-136c-13.2998 0 -24 10.7002 -24 24v96c0 13.2998 10.7002 24 24 24h136v96c0 21.5 26 32 41 17z" /> + <glyph glyph-name="redo-alt" unicode="&#xf2f9;" +d="M256.455 440c66.2686 -0.119141 126.437 -26.2334 170.859 -68.6846l35.7148 35.7148c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-134.059c0 -13.2549 -10.7451 -24 -24 -24h-134.059c-21.3828 0 -32.0908 25.8506 -16.9717 40.9707l41.75 41.75 +c-30.8633 28.8994 -70.8008 44.9072 -113.229 45.2734c-92.3984 0.797852 -170.283 -73.9775 -169.484 -169.442c0.757812 -90.5605 74.1777 -166.552 167.994 -166.552c41.127 0 79.9971 14.6777 110.629 41.5557c4.74316 4.16113 11.9062 3.9082 16.3682 -0.552734 +l39.6621 -39.6621c4.87207 -4.87207 4.63086 -12.8145 -0.482422 -17.4326c-43.9746 -39.7217 -102.251 -63.9082 -166.177 -63.9082c-136.966 0 -247.999 111.033 -248 247.998c-0.000976562 136.809 111.646 248.247 248.455 248.002z" /> + <glyph glyph-name="poo" unicode="&#xf2fe;" +d="M451.4 78.9004c34.2998 -5.5 60.5996 -35 60.5996 -70.9004c0 -39.7998 -32.2002 -72 -72 -72h-368c-39.7998 0 -72 32.2002 -72 72c0 35.9004 26.2998 65.4004 60.5996 70.9004c-17.2998 13.0996 -28.5996 33.6992 -28.5996 57.0996c0 39.7998 32.2002 72 72 72h14.0996 +c-13.3994 11.7002 -22.0996 28.7998 -22.0996 48c0 35.2998 28.7002 64 64 64h16c44.2002 0 80 35.7998 80 80c0 17.4004 -5.7002 33.4004 -15.0996 46.5c4.89941 0.799805 9.89941 1.5 15.0996 1.5c53 0 96 -43 96 -96c0 -11.2998 -2.2998 -21.9004 -5.90039 -32h5.90039 +c35.2998 0 64 -28.7002 64 -64c0 -19.2002 -8.7002 -36.2998 -22.0996 -48h14.0996c39.7998 0 72 -32.2002 72 -72c0 -23.4004 -11.2998 -44 -28.5996 -57.0996zM192 192c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32z +M351.5 53c2 5.2998 -2 11 -7.7998 11h-175.4c-5.7998 0 -9.7998 -5.7002 -7.7998 -11c10.5 -27.9004 58.5 -53 95.5 -53s85 25.0996 95.5 53zM320 128c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576" +d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-208c0 -44.1123 35.8877 -80 80 -80h336zM576 112c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256 +c0 26.5098 21.4902 48 48 48h384c26.5098 0 48 -21.4902 48 -48v-256zM256 320c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48zM160 176v-48h352v112l-87.5137 87.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0 +l-135.515 -135.515l-39.5137 39.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0z" /> + <glyph glyph-name="pencil-alt" unicode="&#xf303;" +d="M497.9 305.9l-46.1006 -46.1006c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-111 111c-4.7002 4.7002 -4.7002 12.2998 0 17l46.1006 46.1006c18.6992 18.6992 49.0996 18.6992 67.8994 0l60.1006 -60.1006c18.7998 -18.7002 18.7998 -49.0996 0 -67.8994zM284.2 348.2 +c4.7002 4.7002 12.2998 4.7002 17.0996 0l111 -111c4.7002 -4.7002 4.7002 -12.2998 0 -17l-262.6 -262.601l-121.5 -21.2998c-16.4004 -2.7998 -30.7002 11.4004 -27.7998 27.7998l21.1992 121.5zM124.1 108.1c5.5 -5.5 14.3008 -5.5 19.8008 0l154 154 +c5.5 5.5 5.5 14.3008 0 19.8008s-14.3008 5.5 -19.8008 0l-154 -154c-5.5 -5.5 -5.5 -14.3008 0 -19.8008zM88 24v48h-36.2998l-11.2998 -64.5l31.0996 -31.0996l64.5 11.2998v36.2998h-48z" /> + <glyph glyph-name="pen" unicode="&#xf304;" +d="M290.74 354.76l128.02 -128.02l-277.99 -277.99l-114.14 -12.5996c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l12.7002 114.22zM497.94 373.82c18.75 -18.75 18.75 -49.1504 0 -67.9102l-56.5508 -56.5498l-128.02 128.02l56.5498 56.5498 +c18.75 18.75 49.1602 18.75 67.9102 0z" /> + <glyph glyph-name="pen-alt" unicode="&#xf305;" +d="M497.94 373.83c18.75 -18.7598 18.75 -49.1602 0 -67.9102l-56.5508 -56.5498l-128.02 128.02l56.5498 56.5508c18.75 18.75 49.1602 18.75 67.9102 0zM251.14 394.36l84.8506 -84.8506l82.7695 -82.7695l-196.79 -196.79 +c-44.8223 -44.8203 -132.335 -86.8428 -195.34 -93.7998c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l0.0302734 0.229492c7.00195 62.9189 49.0156 150.315 93.7803 195.08l151.56 151.55l-22.6299 22.6201l-101.82 -101.819 +c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6299 22.6299c-6.25 6.24023 -6.25 16.3701 0 22.6201l118.78 118.79c15.6201 15.6201 40.9395 15.6201 56.5596 0z" /> + <glyph glyph-name="long-arrow-alt-down" unicode="&#xf309;" horiz-adv-x="256" +d="M168 102.059h46.0576c21.3828 0 32.0908 -25.8516 16.9717 -40.9707l-86.0596 -86.0586c-9.37207 -9.37305 -24.5674 -9.37305 -33.9404 0l-86.0596 86.0586c-15.1191 15.1201 -4.41113 40.9707 16.9717 40.9707h46.0586v301.941c0 6.62695 5.37305 12 12 12h56 +c6.62695 0 12 -5.37305 12 -12v-301.941z" /> + <glyph glyph-name="long-arrow-alt-left" unicode="&#xf30a;" horiz-adv-x="448" +d="M134.059 152v-46.0576c0 -21.3828 -25.8516 -32.0908 -40.9707 -16.9717l-86.0586 86.0596c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l86.0586 86.0596c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-46.0586h301.941c6.62695 0 12 -5.37305 12 -12v-56 +c0 -6.62695 -5.37305 -12 -12 -12h-301.941z" /> + <glyph glyph-name="long-arrow-alt-right" unicode="&#xf30b;" horiz-adv-x="448" +d="M313.941 232v46.0576c0 21.3828 25.8516 32.0908 40.9707 16.9717l86.0586 -86.0596c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-86.0586 -86.0596c-15.1201 -15.1191 -40.9707 -4.41113 -40.9707 16.9717v46.0586h-301.941c-6.62695 0 -12 5.37305 -12 12v56 +c0 6.62695 5.37305 12 12 12h301.941z" /> + <glyph glyph-name="long-arrow-alt-up" unicode="&#xf30c;" horiz-adv-x="256" +d="M88 281.941h-46.0576c-21.3828 0 -32.0908 25.8516 -16.9717 40.9707l86.0596 86.0586c9.37207 9.37305 24.5674 9.37305 33.9404 0l86.0596 -86.0586c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-46.0586v-301.941c0 -6.62695 -5.37305 -12 -12 -12h-56 +c-6.62695 0 -12 5.37305 -12 12v301.941z" /> + <glyph glyph-name="expand-arrows-alt" unicode="&#xf31e;" horiz-adv-x="448" +d="M448 104v-112v-0.0605469c0 -13.2148 -10.7246 -23.9395 -23.9395 -23.9395h-0.0605469h-112c-21.3896 0 -32.0898 25.9004 -17 41l36.2002 36.2002l-107.2 107.2l-107.23 -107.301l36.2305 -36.0996c15.0898 -15.0996 4.38965 -41 -17 -41h-112h-0.0605469 +c-13.2148 0 -23.9395 10.7246 -23.9395 23.9395v0.0605469v112c0 21.4004 25.8896 32.0996 41 17l36.1904 -36.2002l107.27 107.2l-107.28 107.3l-36.1797 -36.2998c-15.0996 -15.0996 -41 -4.40039 -41 17v112v0.0605469c0 13.2148 10.7246 23.9395 23.9395 23.9395 +h0.0605469h112c21.3896 0 32.0898 -25.9004 17 -41l-36.2002 -36.2002l107.2 -107.2l107.23 107.301l-36.2305 36.0996c-15.0898 15.0996 -4.38965 41 17 41h112h0.0605469c13.2148 0 23.9395 -10.7246 23.9395 -23.9395v-0.0605469v-112 +c0 -21.4004 -25.8896 -32.0996 -41 -17l-36.1904 36.2002l-107.27 -107.2l107.28 -107.3l36.1797 36.2002c15.0996 15.1992 41 4.5 41 -16.9004z" /> + <glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384" +d="M384 336v-352c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h80c0 35.29 28.71 64 64 64s64 -28.71 64 -64h80c26.5098 0 48 -21.4902 48 -48zM192 408c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24 +s24 10.7451 24 24s-10.7451 24 -24 24zM288 294v20c0 3.31152 -2.68848 6 -6 6h-180c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h180c3.31152 0 6 2.68848 6 6z" /> + <glyph glyph-name="arrows-alt-h" unicode="&#xf337;" +d="M377.941 278.059c0 21.3828 25.8516 32.0908 40.9707 16.9707l86.0586 -86.0596c9.37305 -9.37305 9.37305 -24.5674 0 -33.9404l-86.0586 -86.0596c-15.1201 -15.1191 -40.9707 -4.41113 -40.9707 16.9717v46.0586h-243.883v-46.0576 +c0 -21.3828 -25.8516 -32.0908 -40.9707 -16.9717l-86.0586 86.0596c-9.37305 9.37305 -9.37305 24.5674 0 33.9404l86.0586 86.0596c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-46.0586h243.883v46.0586z" /> + <glyph glyph-name="arrows-alt-v" unicode="&#xf338;" horiz-adv-x="256" +d="M214.059 70.0586c21.3828 0 32.0908 -25.8516 16.9707 -40.9707l-86.0596 -86.0586c-9.37305 -9.37305 -24.5674 -9.37305 -33.9404 0l-86.0596 86.0586c-15.1191 15.1201 -4.41113 40.9707 16.9717 40.9707h46.0586v243.883h-46.0576 +c-21.3828 0 -32.0908 25.8516 -16.9717 40.9707l86.0596 86.0586c9.37305 9.37305 24.5674 9.37305 33.9404 0l86.0596 -86.0586c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-46.0586v-243.883h46.0586z" /> + <glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;" +d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM212 308v-116h-70.9004c-10.6992 0 -16.0996 -13 -8.5 -20.5l114.9 -114.3c4.7002 -4.7002 12.2002 -4.7002 16.9004 0l114.899 114.3c7.60059 7.59961 2.2002 20.5 -8.5 20.5 +h-70.7998v116c0 6.59961 -5.40039 12 -12 12h-64c-6.59961 0 -12 -5.40039 -12 -12z" /> + <glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;" +d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM372 236h-116v70.9004c0 10.6992 -13 16.0996 -20.5 8.5l-114.3 -114.9c-4.7002 -4.7002 -4.7002 -12.2002 0 -16.9004l114.3 -114.899 +c7.59961 -7.60059 20.5 -2.2002 20.5 8.5v70.7998h116c6.59961 0 12 5.40039 12 12v64c0 6.59961 -5.40039 12 -12 12z" /> + <glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;" +d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM140 148h116v-70.9004c0 -10.6992 13 -16.0996 20.5 -8.5l114.3 114.9c4.7002 4.7002 4.7002 12.2002 0 16.9004l-114.3 115c-7.59961 7.59961 -20.5 2.19922 -20.5 -8.5 +v-70.9004h-116c-6.59961 0 -12 -5.40039 -12 -12v-64c0 -6.59961 5.40039 -12 12 -12z" /> + <glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;" +d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM300 76v116h70.9004c10.6992 0 16.0996 13 8.5 20.5l-114.9 114.3c-4.7002 4.7002 -12.2002 4.7002 -16.9004 0l-115 -114.3c-7.59961 -7.59961 -2.19922 -20.5 8.5 -20.5 +h70.9004v-116c0 -6.59961 5.40039 -12 12 -12h64c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="external-link-alt" unicode="&#xf35d;" horiz-adv-x="576" +d="M576 424v-127.984c0 -21.4609 -25.96 -31.9795 -40.9707 -16.9707l-35.707 35.709l-243.523 -243.522c-9.37305 -9.37305 -24.5674 -9.37305 -33.9404 0l-22.627 22.627c-9.37305 9.37305 -9.37305 24.5684 0 33.9404l243.524 243.525l-35.7031 35.7051 +c-15.0703 15.0703 -4.39648 40.9707 16.9717 40.9707h127.976c13.2549 0 24 -10.7451 24 -24zM407.029 177.206c15.1191 15.1201 40.9707 4.41211 40.9707 -16.9697v-176.236c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352 +c0 26.5098 21.4902 48 48 48h296c21.3809 0 32.0889 -25.8506 16.9697 -40.9707l-16 -16c-3.87988 -3.87988 -11.4824 -7.0293 -16.9697 -7.0293h-264v-320h320v144.235v0.000976562c0 5.4873 3.14941 13.0898 7.0293 16.9697z" /> + <glyph glyph-name="external-link-square-alt" unicode="&#xf360;" horiz-adv-x="448" +d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM360 352h-111.971c-21.3135 0 -32.0801 -25.8613 -16.9717 -40.9707l31.9844 -31.9873l-195.527 -195.527 +c-4.68555 -4.68555 -4.68555 -12.2832 0 -16.9707l31.0293 -31.0293c4.6875 -4.68555 12.2852 -4.68555 16.9707 0l195.526 195.526l31.9883 -31.9912c15.0283 -15.0264 40.9707 -4.47461 40.9707 16.9717v111.979c0 13.2549 -10.7451 24 -24 24z" /> + <glyph glyph-name="exchange-alt" unicode="&#xf362;" +d="M0 280v16c0 13.2549 10.7451 24 24 24h360v48c0 21.3672 25.8994 32.042 40.9707 16.9707l80 -80c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-80 -80c-15.0146 -15.0127 -40.9707 -4.48633 -40.9707 16.9697v48h-360c-13.2549 0 -24 10.7451 -24 24zM488 128 +c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-360v-48c0 -21.4365 -25.9434 -31.9971 -40.9707 -16.9697l-80 80c-9.37207 9.37207 -9.37207 24.5674 0 33.9404l80 80c15.1084 15.1094 40.9707 4.34375 40.9707 -16.9707v-48h360z" /> + <glyph glyph-name="cloud-download-alt" unicode="&#xf381;" horiz-adv-x="640" +d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160 +c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996zM404.7 132.7c10.0996 10.0996 2.89941 27.2998 -11.2998 27.2998h-65.4004v112c0 8.7998 -7.2002 16 -16 16 +h-48c-8.7998 0 -16 -7.2002 -16 -16v-112h-65.4004c-14.1992 0 -21.3994 -17.2002 -11.2998 -27.2998l105.4 -105.4c6.2002 -6.2002 16.3994 -6.2002 22.5996 0z" /> + <glyph glyph-name="cloud-upload-alt" unicode="&#xf382;" horiz-adv-x="640" +d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160 +c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996zM393.4 160c14.1992 0 21.3994 17.2002 11.2998 27.2998l-105.4 105.4 +c-6.2002 6.2002 -16.3994 6.2002 -22.5996 0l-105.4 -105.4c-10.0996 -10.0996 -3 -27.2998 11.2998 -27.2998h65.4004v-112c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16v112h65.4004z" /> + <glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576" +d="M485.5 448l90.5 -160h-101.1l-69.2002 160h79.7998zM357.5 448l69.2002 -160h-277.4l69.2002 160h139zM90.5 448h79.7998l-69.2002 -160h-101.1zM0 256h100.7l123 -251.7c1.5 -3.09961 -2.7002 -5.89941 -5 -3.2998zM148.2 256h279.6l-137 -318.2 +c-1 -2.39941 -4.5 -2.39941 -5.5 0zM352.3 4.2998l123 251.7h100.7l-218.7 -254.9c-2.2998 -2.69922 -6.5 0.100586 -5 3.2002z" /> + <glyph glyph-name="level-down-alt" unicode="&#xf3be;" horiz-adv-x="320" +d="M313.553 55.6689l-103.966 -112.003c-9.48535 -10.2139 -25.6758 -10.2295 -35.1738 0l-103.975 112.003c-14.2061 15.2998 -3.37695 40.3311 17.5869 40.3311h63.9746v272h-83.9756h-0.00195312c-2.74316 0 -6.54395 1.5752 -8.4834 3.51465l-56 56 +c-7.56055 7.55957 -2.20605 20.4854 8.48535 20.4854h195.976c13.2549 0 24 -10.7451 24 -24v-328h63.9658c20.8779 0 31.8516 -24.9688 17.5869 -40.3311z" /> + <glyph glyph-name="level-up-alt" unicode="&#xf3bf;" horiz-adv-x="320" +d="M313.553 328.331c14.2646 -15.3623 3.29102 -40.3311 -17.5869 -40.3311h-63.9658v-328c0 -13.2549 -10.7451 -24 -24 -24h-195.976c-10.6914 0 -16.0459 12.9258 -8.48535 20.4854l56 56c1.93945 1.93945 5.74023 3.51465 8.4834 3.51465h0.00195312h83.9756v272 +h-63.9746c-20.9639 0 -31.793 25.0312 -17.5869 40.3311l103.975 112.003c9.49805 10.2295 25.6885 10.2139 35.1738 0z" /> + <glyph glyph-name="lock-open" unicode="&#xf3c1;" horiz-adv-x="576" +d="M423.5 448c84 0.299805 152.5 -68 152.5 -152v-80c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v80c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-71.0996h48c26.5 0 48 -21.5 48 -48v-192 +c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v192c0 26.5 21.5 48 48 48h224v70.5c0 84 67.5 153.2 151.5 153.5z" /> + <glyph glyph-name="map-marker-alt" unicode="&#xf3c5;" horiz-adv-x="384" +d="M172.268 -53.6699c-145.298 210.639 -172.268 232.257 -172.268 309.67c0 106.039 85.9609 192 192 192s192 -85.9609 192 -192c0 -77.4131 -26.9697 -99.0312 -172.268 -309.67c-9.53516 -13.7744 -29.9307 -13.7734 -39.4648 0zM192 176c44.1826 0 80 35.8174 80 80 +s-35.8174 80 -80 80s-80 -35.8174 -80 -80s35.8174 -80 80 -80z" /> + <glyph glyph-name="microphone-alt" unicode="&#xf3c9;" horiz-adv-x="352" +d="M336 256c8.83984 0 16 -7.16016 16 -16v-48c0 -88.9004 -66.29 -162.47 -152 -174.23v-33.7695h56c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56v34.1504 +c-88.0303 12.1396 -152 92.0498 -152 181.689v40.1602c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-42.2998c0 -66.8105 48.71 -126.59 115.21 -133.08c76.2998 -7.44043 140.79 52.5801 140.79 127.38v48c0 8.83984 7.16016 16 16 16h16zM176 96 +c-53.0195 0 -96 42.9805 -96 96v160c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16 +c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301c0 -53.0195 -42.9805 -96 -96 -96z" /> + <glyph glyph-name="mobile-alt" unicode="&#xf3cd;" horiz-adv-x="320" +d="M272 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-224c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h224zM160 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM272 76v312 +c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-312c0 -6.59961 5.40039 -12 12 -12h200c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640" +d="M352 160c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-64c-4.41992 0 -8 3.58008 -8 8v16c0 4.41992 3.58008 8 8 8h16v55.4404l-0.469727 -0.310547c-1.1123 -0.741211 -3.09961 -1.34375 -4.43652 -1.34375 +c-2.36328 0 -5.34375 1.59668 -6.65332 3.56348l-8.88086 13.3105c-0.741211 1.1123 -1.34375 3.09961 -1.34375 4.43555c0 2.36328 1.59668 5.34473 3.56445 6.6543l15.3301 10.2197c3.93945 2.62988 8.56934 4.03027 13.3096 4.03027h13.5801c4.41992 0 8 -3.58008 8 -8 +v-88h16zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM48 48h64c0 35.3496 -28.6504 64 -64 64v-64zM48 272c35.3496 0 64 28.6504 64 64h-64v-64zM320 80 +c53 0 96 50.1299 96 112c0 61.8604 -42.9805 112 -96 112s-96 -50.1396 -96 -112c0 -61.8496 42.9805 -112 96 -112zM592 48v64c-35.3496 0 -64 -28.6504 -64 -64h64zM592 272v64h-64c0 -35.3496 28.6504 -64 64 -64z" /> + <glyph glyph-name="phone-slash" unicode="&#xf3dd;" horiz-adv-x="640" +d="M268.2 66.5996c11.5 5.40039 22.7002 11.6006 33.5996 18.1006l80 -61.7998c-76 -54.5 -169 -86.9004 -269.7 -86.9004c-11.2998 0 -20.8994 7.7998 -23.3994 18.5996l-24 104c-2.60059 11.4004 3.2002 22.9004 13.8994 27.5l112 48 +c9.80078 4.2002 21.2002 1.40039 28 -6.89941zM633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002 +c5.5 7 15.5 8.2002 22.5 2.7998l353.9 -273.5c18.0996 22.5 33.7998 46.7002 46 72.8008l-60.6006 49.5996c-8.2998 6.7002 -11.0996 18.2002 -6.89941 28l48 112c4.59961 10.5996 16.1992 16.5 27.5 13.9004l104 -24c10.8994 -2.5 18.5996 -12.2002 18.5996 -23.4004 +c0 -108.9 -38.0996 -208.4 -100.9 -287.5z" /> + <glyph glyph-name="portrait" unicode="&#xf3e0;" horiz-adv-x="384" +d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM192 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM304 83.2002v19.2002 +c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199 +c12.4004 0 22.4004 8.59961 22.4004 19.2002z" /> + <glyph glyph-name="reply" unicode="&#xf3e5;" +d="M8.30859 258.164l176.005 151.985c15.4053 13.3047 39.6865 2.50391 39.6865 -18.1641v-80.0537c160.629 -1.83887 288 -34.0312 288 -186.258c0 -61.4404 -39.5811 -122.309 -83.333 -154.132c-13.6533 -9.93066 -33.1113 2.5332 -28.0771 18.6309 +c45.3438 145.012 -21.5068 183.51 -176.59 185.742v-87.915c0 -20.7002 -24.2998 -31.4531 -39.6865 -18.1641l-176.005 152c-11.0703 9.5625 -11.0859 26.7529 0 36.3281z" /> + <glyph glyph-name="shield-alt" unicode="&#xf3ed;" +d="M466.5 364.3c17.7998 -7.39941 29.5 -24.8994 29.5 -44.2998c0 -221.3 -135.9 -344.6 -221.6 -380.3c-11.8008 -4.90039 -25.1006 -4.90039 -36.9004 0c-107 44.5996 -221.5 181.8 -221.5 380.3c0 19.4004 11.7002 36.9004 29.5996 44.2998l192 80 +c4.89062 2.0293 13.1562 3.6748 18.4502 3.6748c5.29492 0 13.5596 -1.64551 18.4502 -3.6748zM256.1 1.7002c93.7002 46.5996 172.5 156.3 175.801 307.7l-175.9 73.2998z" /> + <glyph glyph-name="tablet-alt" unicode="&#xf3fa;" horiz-adv-x="448" +d="M400 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h352zM224 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM400 76v312 +c0 6.59961 -5.40039 12 -12 12h-328c-6.59961 0 -12 -5.40039 -12 -12v-312c0 -6.59961 5.40039 -12 12 -12h328c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="tachometer-alt" unicode="&#xf3fd;" horiz-adv-x="576" +d="M288 416c159.06 0 288 -128.94 288 -288c0 -52.7998 -14.25 -102.26 -39.0596 -144.8c-5.61035 -9.62012 -16.3008 -15.2002 -27.4404 -15.2002h-443c-11.1396 0 -21.8301 5.58008 -27.4404 15.2002c-24.8096 42.54 -39.0596 92 -39.0596 144.8 +c0 159.06 128.94 288 288 288zM288 352c-17.6699 0 -31.9902 -14.3301 -31.9902 -32s14.3301 -32 32 -32c6.66992 0 12.5098 2.51953 17.6406 6.00977l9.21973 27.6699c0.80957 2.44043 2.33984 4.41016 3.4502 6.66992c-3.74023 13.5205 -15.6104 23.6504 -30.3203 23.6504 +zM96 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM144 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM390.77 296.41c4.18066 12.5703 -2.59961 26.1699 -15.1699 30.3594 +c-12.6299 4.28027 -26.1895 -2.60938 -30.3594 -15.1699l-61.3398 -184.01c-33.4004 -2.16016 -59.9004 -29.6494 -59.9004 -63.5898c0 -11.7197 3.37988 -22.5498 8.87988 -32h110.24c5.5 9.4502 8.87988 20.2803 8.87988 32c0 19.46 -8.87012 36.6699 -22.5596 48.4102z +M405.43 239.21c5.68066 -8.94043 15.1904 -15.21 26.5703 -15.2197c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32c-3.91992 0 -7.58008 -0.94043 -11.0498 -2.23047zM480 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z +" /> + <glyph glyph-name="ticket-alt" unicode="&#xf3ff;" horiz-adv-x="576" +d="M128 288h320v-192h-320v192zM528 192c0 -26.5098 21.4902 -48 48 -48v-96c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v96c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48v96c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48 +v-96c-26.5098 0 -48 -21.4902 -48 -48zM480 296c0 13.2549 -10.7451 24 -24 24h-336c-13.2549 0 -24 -10.7451 -24 -24v-208c0 -13.2549 10.7451 -24 24 -24h336c13.2549 0 24 10.7451 24 24v208z" /> + <glyph glyph-name="user-alt" unicode="&#xf406;" +d="M256 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144s-64.5 -144 -144 -144zM384 128c70.7002 0 128 -57.2998 128 -128v-16c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v16c0 70.7002 57.2998 128 128 128h55.0996 +c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h55.0996z" /> + <glyph glyph-name="window-close" unicode="&#xf410;" +d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM380.4 125.5l-67.1006 66.5l67.1006 66.5c4.7998 4.7998 4.7998 12.5996 0 17.4004l-40.5 40.5 +c-4.80078 4.7998 -12.6006 4.7998 -17.4004 0l-66.5 -67.1006l-66.5 67.1006c-4.7998 4.7998 -12.5996 4.7998 -17.4004 0l-40.5 -40.5c-4.7998 -4.80078 -4.7998 -12.6006 0 -17.4004l67.1006 -66.5l-67.1006 -66.5c-4.7998 -4.7998 -4.7998 -12.5996 0 -17.4004 +l40.5 -40.5c4.80078 -4.7998 12.6006 -4.7998 17.4004 0l66.5 67.1006l66.5 -67.1006c4.7998 -4.7998 12.5996 -4.7998 17.4004 0l40.5 40.5c4.7998 4.80078 4.7998 12.6006 0 17.4004z" /> + <glyph glyph-name="baseball-ball" unicode="&#xf433;" horiz-adv-x="496" +d="M368.5 84.0996c12.9004 -26.6992 30.2998 -50.1992 51.4004 -70.5996c-44.6006 -43 -105.101 -69.5 -171.9 -69.5c-66.9004 0 -127.5 26.5996 -172 69.7002c21.2002 20.3994 38.5996 44 51.5 70.7002l-28.7998 13.8994c-11.1006 -23 -26.1006 -43.2998 -44.2998 -61 +c-34 42.4004 -54.4004 96.1006 -54.4004 154.7s20.4004 112.3 54.4004 154.8c17.7998 -17.2998 32.5 -37.0996 43.5 -59.3994l28.6992 14.0996c-12.7998 25.9004 -30 48.9004 -50.6992 68.7998c44.5996 43.1006 105.199 69.7002 172.1 69.7002 +c67 0 127.6 -26.7002 172.2 -69.7998c-20.7998 -20 -38 -43 -50.7998 -69l28.6992 -14.1006c11 22.4004 25.8008 42.2002 43.6006 59.5c33.7998 -42.3994 54.2002 -96.0996 54.2002 -154.6c0 -58.5996 -20.5 -112.4 -54.5 -154.9c-18.1006 17.7002 -33 38 -44.1006 60.9004z +M140.2 116.1c17.2998 53.9004 14.2998 108.2 -0.700195 153.801l-30.4004 -10c13.3008 -40.2002 15.5 -87.6006 0.600586 -134zM356.5 269.5c-15 -45.5 -18 -99.7998 -0.700195 -153.8l30.5 9.7998c-14.8994 46.5 -12.5996 93.9004 0.600586 134z" /> + <glyph glyph-name="basketball-ball" unicode="&#xf434;" horiz-adv-x="496" +d="M212.3 437.7c-1.5 -50 -17 -95.4004 -44.7998 -131.2l-77.4004 77.4004c36 29.6992 78.4004 47.5 122.2 53.7998zM248 226l-46.2998 46.2998c37.2002 45.4004 57.5 103.8 58.7002 167.7c51.8994 -2.59961 103.1 -21.0996 145.5 -56.0996zM56.0996 349.9l77.4004 -77.4004 +c-35.7002 -27.7998 -81.2002 -43.2998 -131.2 -44.7998c6.2998 43.7998 24.1006 86.2002 53.7998 122.2zM328.3 145.7l-46.2998 46.2998l157.9 157.9c35 -42.4004 53.5 -93.6006 56.0996 -145.5c-64 -1.30078 -122.4 -21.6006 -167.7 -58.7002zM248 158l46.2998 -46.2998 +c-37.0996 -45.2998 -57.3994 -103.7 -58.7002 -167.7c-51.8994 2.59961 -103.1 21.2002 -145.5 56.0996zM439.9 34.0996l-77.4004 77.4004c35.7002 27.7002 81.0996 43.2002 131.2 44.7998c-6.2998 -43.7998 -24.1006 -86.2002 -53.7998 -122.2zM167.7 238.3 +l46.2998 -46.2998l-157.9 -157.9c-35 42.4004 -53.5 93.6006 -56.0996 145.5c63.9004 1.10059 122.3 21.5 167.7 58.7002zM283.7 -53.7002c1.59961 50 17.0996 95.5 44.7998 131.2l77.4004 -77.4004c-36 -29.6992 -78.4004 -47.5 -122.2 -53.7998z" /> + <glyph glyph-name="bowling-ball" unicode="&#xf436;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM120 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM184 352c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32 +s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM232 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="chess" unicode="&#xf439;" +d="M74 240l-33.9102 90.3799c-0.5625 1.5 -1.01953 4.01758 -1.01953 5.62012c0 8.83203 7.16797 16 16 16h0.0195312h56.9102v32h-24c-4.41602 0 -8 3.58398 -8 8v16c0 4.41602 3.58398 8 8 8h24v24c0 4.41602 3.58398 8 8 8h16c4.41602 0 8 -3.58398 8 -8v-24h24 +c4.41602 0 8 -3.58398 8 -8v-16c0 -4.41602 -3.58398 -8 -8 -8h-24v-32h56.8896h0.0195312c8.83203 0 16 -7.16797 16 -16c0 -1.60254 -0.456055 -4.12012 -1.01953 -5.62012l-33.8896 -90.3799h10c8.83203 0 16 -7.16797 16 -16v-16c0 -8.83203 -7.16797 -16 -16 -16 +h-15.9404c0.116211 -35.8613 7.25684 -93.2051 15.9404 -128h-128c8.68359 34.7949 15.8242 92.1387 15.9404 128h-15.9404c-8.83203 0 -16 7.16797 -16 16v16c0 8.83203 7.16797 16 16 16h10zM247.16 -11.5801c4.87988 -2.44141 8.83984 -8.85156 8.83984 -14.3086 +v-0.000976562v-22.1104c0 -8.83203 -7.16797 -16 -16 -16h-224c-8.83203 0 -16 7.16797 -16 16v22.1104c0.000976562 5.45898 3.96582 11.8701 8.84961 14.3096l23.1504 11.5801v16c0 8.83203 7.16797 16 16 16h160c8.83203 0 16 -7.16797 16 -16v-16zM339.93 146.2 +l-24.5693 20.7998c-6.25684 5.28125 -11.3467 16.2119 -11.3604 24.4004v58.5996c0 3.31152 2.68848 6 6 6h26.3896c3.3125 0 6 -2.68848 6 -6v-26h24.71v26c0 3.31152 2.68848 6 6 6h53.8105c3.31152 0 6 -2.68848 6 -6v-26h24.71v26c0 3.31152 2.6875 6 6 6h26.3799 +c3.31152 0 6 -2.68848 6 -6v-58.54v-0.03125c0 -8.19238 -5.07617 -19.1367 -11.3301 -24.4287l-24.5996 -20.79l3.29004 -82.21h-126.721zM384 144v-32h32v32c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM503.16 -11.5801 +c4.87988 -2.44141 8.83984 -8.85156 8.83984 -14.3086v-0.000976562v-22.1104c0 -8.83203 -7.16797 -16 -16 -16h-192c-8.83203 0 -16 7.16797 -16 16v22.1104c0.000976562 5.45898 3.96582 11.8701 8.84961 14.3096l23.1504 11.5801v16c0 8.83203 7.16797 16 16 16h128 +c8.83203 0 16 -7.16797 16 -16v-16z" /> + <glyph glyph-name="chess-bishop" unicode="&#xf43a;" horiz-adv-x="320" +d="M8 160.12c0 73.3799 59.8096 181.08 112.6 225.37c-14 3.41992 -24.5996 15.5098 -24.5996 30.5098c0 17.6641 14.3359 32 32 32h64c17.6641 0 32 -14.3359 32 -32c0 -15.0498 -10.5996 -27.0898 -24.5996 -30.5098c24.3994 -20.4902 50.0693 -54.6807 70.8691 -92.5898 +l-107.89 -107.931c-1.29199 -1.29297 -2.34082 -3.82617 -2.34082 -5.6543c0 -1.8291 1.04883 -4.3623 2.34082 -5.65527l11.3105 -11.3105c1.29297 -1.29199 3.82617 -2.34082 5.6543 -2.34082s4.3623 1.04883 5.65527 2.34082l100.31 100.33 +c15.96 -35.46 26.6904 -71.9492 26.6904 -102.56c0 -51.6006 -22.1396 -73.8301 -56 -84.6006v-43.5195h-192v43.5195c-33.8604 10.7705 -56 32.9609 -56 84.6006zM304 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-288 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h288z" /> + <glyph glyph-name="chess-board" unicode="&#xf43c;" +d="M255.9 447.8v-64h-64v64h64zM0 383.83h64v-64h-64v64zM128 447.8v-64h-64v64h64zM192 191.9h64v-64h-64v64zM0 255.88h64v-64h-64v64zM383.85 447.8v-64h-64v64h64zM511.85 447.8v-64h-64v64h64zM128 191.9v-64h-64v64h64zM511.8 0h-64v64h64v-64zM511.8 128h-64v64h64 +v-64zM383.85 -64v64h64v-64h-64zM511.85 255.88h-64v64h64v-64zM128 -64v64h64v-64h-64zM0 -64v64h64v-64h-64zM255.9 -64v64h64v-64h-64zM0 127.93h64v-64h-64v64zM319.88 319.85h-64v64h64v-64zM255.88 191.85v64h64v-64h-64zM191.88 63.8496h64v-64h-64v64z +M319.88 127.85v64h64v-64h-64zM319.88 255.8v64h64v-64h-64zM319.88 63.8701h64v-64h-64v64zM64 63.9502h64v-64h-64v64zM192 319.85h-64v64h64v-64zM383.92 63.9502v64h64v-64h-64zM255.92 255.88h-64v64h64v-64zM383.92 383.83h64v-64h-64v64zM255.92 127.93h64v-64h-64 +v64zM191.92 255.88l0.0800781 -64h-64v64h63.9199zM383.84 191.88v64h64v-64h-64zM128 319.85v-64h-64v64h64zM128 127.93h64v-64h-64v64z" /> + <glyph glyph-name="chess-king" unicode="&#xf43f;" horiz-adv-x="448" +d="M400 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-352c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h352zM416 288c17.6504 -0.0136719 31.9756 -14.3496 31.9756 -32c0 -2.69434 -0.652344 -6.96777 -1.45605 -9.54004 +l-73.0791 -214.46h-298.881l-73.0791 214.46c-0.803711 2.57227 -1.45605 6.8457 -1.45605 9.54004c0 17.6504 14.3252 31.9863 31.9756 32h160v48h-40c-4.41602 0 -8 3.58398 -8 8v48c0 4.41602 3.58398 8 8 8h40v40c0 4.41602 3.58398 8 8 8h48c4.41602 0 8 -3.58398 8 -8 +v-40h40c4.41602 0 8 -3.58398 8 -8v-48c0 -4.41602 -3.58398 -8 -8 -8h-40v-48h160z" /> + <glyph glyph-name="chess-knight" unicode="&#xf441;" horiz-adv-x="384" +d="M19 175.53c-10.4883 4.66211 -19 17.7627 -19 29.2402v0.0195312v137.21v0.0585938c0 5.47461 3.13574 13.0635 7 16.9414l9 9l-14.21 28.4199c-0.988281 1.97266 -1.79004 5.36328 -1.79004 7.56934v0.0107422c0 6.62402 5.37598 12 12 12h147.94 +c106 0 191.92 -86 191.92 -192v-192h-319.86v14.5195v0.0224609c0 27.2783 19.7969 59.3271 44.1904 71.5381l57.2197 28.6504c14.6445 7.32324 26.5303 26.5566 26.5303 42.9297v0.00976562v50.3301l-22.1201 -11.0801 +c-5.45117 -2.72559 -11.0732 -9.7373 -12.5508 -15.6504l-9.21973 -30.6494c-2.4502 -8.15332 -10.8545 -17.3379 -18.7598 -20.5l-12.7803 -5.12012c-3.1582 -1.2627 -8.48145 -2.28809 -11.8828 -2.28809c-3.74902 0 -9.57129 1.23535 -12.9971 2.75781zM52 320 +c-11.04 0 -20 -8.95996 -20 -20s8.95996 -20 20 -20s20 8.95996 20 20s-8.95996 20 -20 20zM368 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-352c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h352z" /> + <glyph glyph-name="chess-pawn" unicode="&#xf443;" horiz-adv-x="320" +d="M105.1 224c-29.3896 18.3799 -49.0996 50.7803 -49.0996 88c0 57.4082 46.5918 104 104 104s104 -46.5918 104 -104c0 -37.2197 -19.71 -69.6201 -49.0996 -88h25.0996c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-16v-5.49023 +c0 -44 4.11035 -86.5996 24 -122.51h-176c19.8604 35.9102 24 78.5098 24 122.51v5.49023h-16c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h25.0996zM304 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-288 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h288z" /> + <glyph glyph-name="chess-queen" unicode="&#xf445;" +d="M256 336c-30.9121 0 -56 25.0879 -56 56s25.0879 56 56 56s56 -25.0879 56 -56s-25.0879 -56 -56 -56zM432 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-352c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h352zM504.87 263.84 +c3.93457 -2.62109 7.12891 -8.58691 7.12891 -13.3154c0 -2.08496 -0.756836 -5.29004 -1.68945 -7.1543l-102.55 -211.37h-303.52l-102.55 211.33c-0.932617 1.86426 -1.68945 5.06934 -1.68945 7.1543c0 4.72852 3.19434 10.6943 7.12891 13.3154l28.5703 16 +c7.35938 4.91016 16.8096 2.5498 22.0898 -4.54004c7.86035 -10.6357 24.9736 -19.2676 38.1992 -19.2676c0.922852 0 2.41992 0.0527344 3.34082 0.118164c25.6699 1.73926 44.6699 24.7998 44.6699 50.4893c0 7.39746 6.00293 13.4004 13.4004 13.4004v0h38.7695 +c6.04004 0 11.6104 -3.99023 12.8604 -9.91016c4.42969 -21.0361 25.4717 -38.1094 46.9697 -38.1094s42.54 17.0732 46.9697 38.1094c1.25 5.91016 6.86035 9.91016 12.8604 9.91016h38.7695c7.39746 0 13.4004 -6.00293 13.4004 -13.4004 +c0 -23.5293 15.7002 -45.46 38.8398 -49.75c2.48926 -0.484375 6.56738 -0.878906 9.10352 -0.878906c13.166 0 30.2471 8.56152 38.127 19.1094c5.37988 7.13965 14.8496 9.67969 22.29 4.67969z" /> + <glyph glyph-name="chess-rook" unicode="&#xf447;" horiz-adv-x="384" +d="M368 416c8.83203 0 16 -7.16797 16 -16v-176l-64 -32c0 -47.7197 1.54004 -95 13.21 -160h-282.42c11.6699 65 13.21 111.67 13.21 160l-64 32v176c0 8.83203 7.16797 16 16 16h56.0996c8.83203 0 16 -7.16797 16 -16v-48h47.9004v48c0 8.83203 7.16797 16 16 16h80 +c8.83203 0 16 -7.16797 16 -16v-48h48v48c0 8.83203 7.16797 16 16 16h56zM224 128v64c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-64h64zM368 0c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-352c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h352z" /> + <glyph glyph-name="dumbbell" unicode="&#xf44b;" horiz-adv-x="640" +d="M104 352c13.2998 0 24 -10.7002 24 -24v-272c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v104h-24c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h24v104c0 13.2998 10.7002 24 24 24h48zM632 224c4.40039 0 8 -3.59961 8 -8v-48 +c0 -4.40039 -3.59961 -8 -8 -8h-24v-104c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v272c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-104h24zM456 416c13.2998 0 24 -10.7002 24 -24v-400c0 -13.2998 -10.7002 -24 -24 -24h-48 +c-13.2998 0 -24 10.7002 -24 24v168h-128v-168c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v400c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-168h128v168c0 13.2998 10.7002 24 24 24h48z" /> + <glyph glyph-name="football-ball" unicode="&#xf44e;" horiz-adv-x="496" +d="M481.5 387.7c6.2998 -23.9004 13.7002 -61 14.5 -104.5l-156.6 156.8c43.5996 -0.900391 80.8994 -8.5 104.8 -14.9004c18.2002 -4.89941 32.5 -19.1992 37.2998 -37.3994zM14.5 -3.7002c-6.2998 23.9004 -13.7002 61 -14.5 104.5l156.6 -156.8 +c-43.5996 0.900391 -80.8994 8.5 -104.8 14.9004c-18.2002 4.89941 -32.5 19.1992 -37.2998 37.3994zM4.2002 164.6c22.5996 152.7 138.899 252 271.399 271.4l216.301 -216.6c-22.7002 -152.7 -139 -252 -271.5 -271.4zM321.5 288.2l-28.2998 -28.5l-28.2998 28.2998 +c-3.10059 3.09961 -8.2002 3.09961 -11.3008 0l-11.2998 -11.2998c-3.09961 -3.10059 -3.09961 -8.2002 0 -11.2998l28.2998 -28.3008l-22.5996 -22.5996l-28.2998 28.2998c-3.10059 3.10059 -8.2002 3.10059 -11.2998 0l-11.3008 -11.2998 +c-3.09961 -3.09961 -3.09961 -8.2002 0 -11.2998l28.3008 -28.2998l-22.6006 -22.6006l-28.2998 28.2998c-3.09961 3.10059 -8.2002 3.10059 -11.2998 0l-11.2998 -11.2998c-3.10059 -3.09961 -3.10059 -8.2002 0 -11.2998l28.2998 -28.2002l-28.2998 -28.2998 +c-3.10059 -3.09961 -3.10059 -8.2002 0 -11.2998l11.2998 -11.2998c3.09961 -3.10059 8.2002 -3.10059 11.2998 0l28.2998 28.2998l28.2998 -28.2998c3.10059 -3.10059 8.2002 -3.10059 11.3008 0l11.2998 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998 +l-28.2998 28.2998l22.5996 22.6006l28.2998 -28.3008c3.10059 -3.09961 8.2002 -3.09961 11.2998 0l11.3008 11.3008c3.09961 3.09961 3.09961 8.19922 0 11.2998l-28.3008 28.2998l22.6006 22.7002l28.2998 -28.2998c3.09961 -3.10059 8.2002 -3.10059 11.2998 0 +l11.2998 11.2998c3.10059 3.09961 3.10059 8.2002 0 11.2998l-28.2998 28.2998l28.2998 28.2998c3.10059 3.10059 3.10059 8.2002 0 11.3008l-11.2998 11.2998c-3.09961 3.09961 -8.2002 3.09961 -11.2998 0z" /> + <glyph glyph-name="golf-ball" unicode="&#xf450;" horiz-adv-x="416" +d="M96 32h224c0 -17.7002 -14.2998 -32 -32 -32h-16c-17.7002 0 -32 -14.2998 -32 -32v-20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v20c0 17.7002 -14.2998 32 -32 32h-16c-17.7002 0 -32 14.2998 -32 32zM416 240 +c0 -74.2002 -39 -139.2 -97.5 -176h-221c-58.5 36.7998 -97.5 101.8 -97.5 176c0 114.9 93.0996 208 208 208s208 -93.0996 208 -208zM235.9 196.1c18.2998 0 33.0996 14.8008 33.0996 33.1006c0 14.3994 -9.2998 26.2998 -22.0996 30.8994 +c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006zM285 149.2c0 14.3994 -9.2998 26.2998 -22.0996 30.8994c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994 +c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006c18.2998 0 33.0996 14.9004 33.0996 33.1006zM349 213.2c0 14.3994 -9.2998 26.2998 -22.0996 30.8994c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006 +c18.2998 0 33.0996 14.9004 33.0996 33.1006z" /> + <glyph glyph-name="hockey-puck" unicode="&#xf453;" +d="M0 288c0 53 114.6 96 256 96s256 -43 256 -96s-114.6 -96 -256 -96s-256 43 -256 96zM0 205.8c113.5 -82.3994 398.6 -82.2998 512 0v-109.8c0 -53 -114.6 -96 -256 -96s-256 43 -256 96v109.8z" /> + <glyph glyph-name="quidditch" unicode="&#xf458;" horiz-adv-x="640" +d="M256.5 231.2l86.7002 -109.2s-16.6006 -102.4 -76.6006 -150.1c-59.8994 -47.7002 -266.6 -34.1006 -266.6 -34.1006s3.7998 23.1006 11 55.4004l94.5996 112.2c4 4.69922 -0.899414 11.5996 -6.59961 9.5l-60.4004 -22.1006c14.4004 41.7002 32.7002 80 54.6006 97.5 +c59.8994 47.7998 163.3 40.9004 163.3 40.9004zM494.5 96.2002c44 0 79.7998 -35.7002 79.7998 -79.9004c0 -44.0996 -35.7002 -79.8994 -79.7998 -79.8994s-79.7998 35.7998 -79.7998 79.8994c0 44.1006 35.7998 79.9004 79.7998 79.9004zM636.5 417 +c5.5 -6.90039 4.40039 -17 -2.5 -22.5l-232.5 -177.9l34.0996 -42.8994c5.10059 -6.40039 1.7002 -15.9004 -6.2998 -17.6006l-58.7998 -12.3994l-86.7002 109.2l25.2998 54.5996c3.5 7.40039 13.5 8.59961 18.6006 2.2002l34.0996 -43l232.5 177.899 +c6.90039 5.40039 16.9004 4.30078 22.4004 -2.59961z" /> + <glyph glyph-name="square-full" unicode="&#xf45c;" +d="M512 -64h-512v512h512v-512z" /> + <glyph glyph-name="table-tennis" unicode="&#xf45d;" +d="M496.2 151.5c-64.1006 43.2002 -149.5 27.9004 -195.601 -34.2002l-211.5 211.5l56 56.1006c83.9004 84.0996 220 84.0996 303.9 0c63 -63.1006 78.7002 -155.601 47.2002 -233.4zM278.3 71.7998c-3.7002 -12.7002 -6.2998 -25.8994 -6.2002 -39.7002 +c0 -19.5 3.90039 -38.0996 11 -55.0996c-25.6992 2.7998 -50.5996 13.5996 -70.2998 33.2998l-35.7002 35.7002l-89.2998 -103.3c-7.5 -8.60059 -20.7002 -9.10059 -28.7002 -1l-53.3994 53.5c-8.10059 8.09961 -7.60059 21.2998 1 28.7998l103 89.4004l-34.5 34.5996 +c-39 39.0996 -44.6006 98.7998 -17.2998 144.1zM416 128c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96z" /> + <glyph glyph-name="volleyball-ball" unicode="&#xf45f;" +d="M231.39 204.52c-60.8945 -37.4102 -126.348 -123.516 -146.1 -192.199c-20.248 19.1953 -45.7393 55.5283 -56.9004 81.0996c22.8008 94.4004 89.5 174.4 180.301 216.8c11.8887 -27.9648 22.0586 -75.3184 22.6992 -105.7zM194.49 338.92 +c-84 -39.5 -149 -108.4 -182.4 -191.5c-19.7998 109.3 34 212.4 125 262.2c19.0098 -16.9424 44.7246 -48.6162 57.4004 -70.7002zM382.09 173.82c-30.1689 3.6709 -76.2686 18.5352 -102.899 33.1797c-1.9541 71.4844 -43.8428 171.263 -93.5 222.72 +c47.2998 14 84.1992 10.2002 98.8994 8.5c70.2002 -66.8994 106.101 -164.6 97.5 -264.399zM257.39 164.32c49.7002 -26.8008 104 -40.8008 158.601 -40.9004c22.6787 0.140625 58.9219 4.7998 80.8994 10.4004c-6.55762 -27.2012 -25.4639 -67.4766 -42.1992 -89.9004 +c-93 -27.2998 -195.5 -9.5 -277.5 47.7998c18.2803 24.2959 54.21 56.8213 80.1992 72.6006zM159.09 64.6201c53.6006 -37.2998 144 -78.2002 256.9 -62.1006c-38.1611 -32.3467 -109.732 -58.5986 -159.758 -58.5986c-38.5156 0 -96.416 16.3516 -129.242 36.499 +c6.39941 29.7998 16.8994 58.2002 32.0996 84.2002zM339.39 425.22c95.9004 -34.2998 164.601 -125.6 164.601 -233.399c0 -2 -0.299805 -4 -0.299805 -6c-23.9658 -7.83887 -63.8799 -14.2012 -89.0947 -14.2012c-0.166992 0 -0.438477 0.000976562 -0.605469 0.000976562 +c7.89941 92.3994 -19.2998 183.2 -74.6006 253.6z" /> + <glyph glyph-name="allergies" unicode="&#xf461;" horiz-adv-x="448" +d="M416 336c17.5996 0 32 -14.4004 32 -32v-176.1c-0.200195 -14 -1.90039 -28.6006 -5.09961 -42.3008l-26.5 -112.699c-5.10059 -21.7002 -24.4004 -37 -46.7002 -37h-197.601c-15.2998 0 -29.7998 7.39941 -38.7998 19.7998l-125.6 172.7 +c-13 17.8994 -9.10059 42.8994 8.7998 55.8994s42.9004 9.10059 55.9004 -8.7998l23.5996 -32.5v241c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-152c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v184c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-184 +c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v152c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-152c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v72c0 17.5996 14.4004 32 32 32zM176 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16 +s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM176 128c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM240 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM240 96c8.7998 0 16 7.2002 16 16 +s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM304 64c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM336 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM368 128 +c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16z" /> + <glyph glyph-name="band-aid" unicode="&#xf462;" horiz-adv-x="640" +d="M0 288c0 35.2998 28.7002 64 64 64h96v-320h-96c-35.2998 0 -64 28.7002 -64 64v192zM576 352c35.2998 0 64 -28.7002 64 -64v-192c0 -35.2998 -28.7002 -64 -64 -64h-96v320h96zM192 32v320h256v-320h-256zM368 264c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24 +s24 10.7002 24 24s-10.7002 24 -24 24zM368 168c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 264c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 168 +c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24z" /> + <glyph glyph-name="box" unicode="&#xf466;" +d="M509.5 263.4c0.799805 -2.40039 0.799805 -4.90039 1.2002 -7.40039h-238.7v192h141.4c20.6992 0 39 -13.2002 45.5 -32.7998zM240 448v-192h-238.7c0.400391 2.5 0.400391 5 1.2002 7.40039l50.5996 151.8c6.5 19.5996 24.8008 32.7998 45.5 32.7998h141.4zM0 224h512 +v-240c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v240z" /> + <glyph glyph-name="boxes" unicode="&#xf468;" horiz-adv-x="576" +d="M560 160c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96l32 21.2998l32 -21.2998v96h80zM176 224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96 +l32 21.2998l32 -21.2998v96h80c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224zM240 160c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96l32 21.2998 +l32 -21.2998v96h80z" /> + <glyph glyph-name="briefcase-medical" unicode="&#xf469;" +d="M464 320c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h80v48c0 26.5 21.5 48 48 48h160c26.5 0 48 -21.5 48 -48v-48h80zM192 352v-32h128v32h-128zM352 104v48c0 4.40039 -3.59961 8 -8 8h-56v56 +c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="burn" unicode="&#xf46a;" horiz-adv-x="384" +d="M192 448c111.8 -100.9 192 -220.6 192 -300.5c0 -124.5 -79 -211.5 -192 -211.5s-192 87 -192 211.5c0 79.5996 79.7002 199.2 192 300.5zM192 0c56.5 0 96 39 96 94.7998c0 13.5 -4.59961 61.5 -96 161.2c-91.4004 -99.7002 -96 -147.7 -96 -161.2 +c0 -55.7998 39.5 -94.7998 96 -94.7998z" /> + <glyph glyph-name="capsules" unicode="&#xf46b;" horiz-adv-x="576" +d="M555.3 147.9c36.2002 -51.7002 23.7002 -123 -28 -159.2c-20 -14 -42.7998 -20.7002 -65.5 -20.7002c-36.0996 0 -71.5996 17 -93.7998 48.7998l-131.2 187.3c-5.5 7.90039 -9.5 16.4004 -12.7998 25v-149.1c0 -61.9004 -50.0996 -112 -112 -112s-112 50.0996 -112 112 +v224c0 61.9004 50.0996 112 112 112c60 0 108.5 -47.2002 111.4 -106.5c7.7998 21 21.7998 40 41.5 53.7998c20 14 42.8994 20.7002 65.5 20.7002c36 0 71.5 -17 93.7998 -48.7998zM160 192v112c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-112h96zM354.8 147.1 +l82.5 57.7002l-65.5996 93.7002c-9.40039 13.5 -24.7998 21.5 -41.2998 21.5c-10.3008 0 -20.3008 -3.09961 -28.8008 -9.09961c-11 -7.7002 -18.3994 -19.3008 -20.6992 -32.5c-2.40039 -13.2002 0.599609 -26.6006 8.2998 -37.6006z" /> + <glyph glyph-name="clipboard-check" unicode="&#xf46c;" horiz-adv-x="384" +d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24 +s-10.7002 24 -24 24zM313.2 176.2c4.7002 4.7002 4.7998 12.2002 0.0996094 17l-28.2002 28.3994c-4.69922 4.7002 -12.2998 4.80078 -17 0.100586l-106 -105.2l-46 46.4004c-4.69922 4.69922 -12.2998 4.7998 -17 0.0996094l-28.3994 -28.2002 +c-4.7002 -4.7002 -4.7998 -12.2998 -0.100586 -17l82.6006 -83.2998c4.7002 -4.7002 12.2998 -4.7998 17 -0.0996094z" /> + <glyph glyph-name="clipboard-list" unicode="&#xf46d;" horiz-adv-x="384" +d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM96 24c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24 +s10.7002 -24 24 -24zM96 120c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24zM96 216c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24zM192 408c-13.2998 0 -24 -10.7002 -24 -24 +s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM320 40v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM320 136v16c0 4.40039 -3.59961 8 -8 8h-144 +c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM320 232v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="diagnoses" unicode="&#xf470;" horiz-adv-x="640" +d="M496 192c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM320 272c-48.5 0 -88 39.5 -88 88s39.5 88 88 88s88 -39.5 88 -88s-39.5 -88 -88 -88zM59.7998 84l-17.7002 26.7002c-8.7998 13.2998 -7.59961 34.5996 10 45.0996 +c7.40039 4.40039 17.5 10 28.7002 16c31.6006 -27.2998 79 -4.2002 79.2002 36c47.0996 17.7002 103 32.2002 160 32.2002c45.0996 0 89.2998 -9.2002 129.2 -21.7998c-11.7002 -52.9004 59.5996 -81.2002 87.7002 -35.1006 +c21.3994 -10.3994 39.1992 -20.2998 51.0996 -27.3994c17.5996 -10.5 18.7998 -31.9004 10 -45.1006l-17.7998 -26.6992c-10.2002 -15.1006 -29.2998 -17.8008 -42.9004 -9.80078c-16.2002 9.60059 -56.2002 31.8008 -105.3 48.6006v-90.7002h-224v90.7998 +c-49.0996 -16.8994 -89.0996 -39 -105.3 -48.5996c-13.6006 -8 -32.7002 -5.5 -42.9004 9.7998zM368 104c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 200c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24 +s24 10.7002 24 24s-10.7002 24 -24 24zM112 192c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM624 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32 +c0 8.7998 7.2002 16 16 16h608z" /> + <glyph glyph-name="dna" unicode="&#xf471;" horiz-adv-x="448" +d="M0.0996094 -46.0996c5.2002 42.8994 31.4004 153.899 159.9 238.1c-128.6 84.2002 -154.7 195.2 -159.9 238.1c-1.09961 9.5 6.40039 17.8008 16 17.8008l32.3008 0.0996094c8.09961 0.0996094 14.8994 -5.90039 16 -13.9004 +c0.699219 -5 1.7998 -11.0996 3.39941 -18.0996h312.4c1.59961 7 2.7002 13.2002 3.39941 18.0996c1.10059 8 7.90039 13.9004 16 13.9004l32.4004 -0.0996094c9.59961 0 17 -8.30078 15.9004 -17.8008c-5.80078 -47.8994 -37.4004 -181.199 -209.5 -266.699 +c-31.7002 -15.8008 -57.4004 -33.3008 -78.7002 -51.4004h127.6c-5.59961 4.7998 -10.7998 9.59961 -17 14.2002c21.4004 11.2002 40.9004 23 58.5 35.3994c93.2998 -78.6992 114.3 -169.8 118.9 -207.699c1.2002 -9.5 -6.2998 -17.8008 -15.9004 -17.8008 +l-32.2998 -0.0996094c-8.09961 -0.0996094 -14.9004 5.90039 -16 13.9004c-0.599609 4.89941 -1.90039 11.1992 -3.5 18.0996h-312.3c-1.60059 -7 -2.7002 -13.2002 -3.40039 -18.0996c-1.09961 -8 -7.89941 -13.9004 -16 -13.9004l-32.2998 0.0996094 +c-9.59961 0 -17 8.30078 -15.9004 17.8008zM224 228.4c25.0996 13.5996 46.4004 28.3994 64.2002 43.5996h-128.5c17.8994 -15.2002 39.2002 -29.9004 64.2998 -43.5996zM355.1 352h-262.1c5.7002 -10.4004 12.7002 -21.0996 21 -32h220.1 +c8.2002 10.9004 15.2002 21.5996 21 32zM92.9004 32h261.6c-5.7998 10.4004 -12.9004 21.0996 -21.2002 32h-219.399c-8.2002 -10.9004 -15.2002 -21.5996 -21 -32z" /> + <glyph glyph-name="dolly" unicode="&#xf472;" horiz-adv-x="576" +d="M294.2 170.3l-53 159.4c-2.7998 8.2998 1.7002 17.3994 10.0996 20.2002l61.6006 20.5l33.0996 -99.4004l60.7002 20.0996l-33.1006 99.4004l61.1006 20.4004c8.2998 2.7998 17.3994 -1.7002 20.2002 -10.1006l60.3994 -181.2 +c2.7998 -8.2998 -1.7002 -17.3994 -10.0996 -20.1992l-161.5 -53.8008c-14.7998 11.3008 -31.5 19.7002 -49.5 24.7002zM575.2 121.6c2.7998 -8.39941 -1.7998 -17.3994 -10.1006 -20.1992l-213.3 -71.2002c-1.09961 -57.7998 -53.2002 -103.3 -113.399 -92.6006 +c-39.4004 6.90039 -71.2002 39.8008 -77.3008 79.2002c-5.69922 36.9004 9.90039 70.1006 36 90.5l-92.1992 276.7h-88.9004c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h112c13.7998 0 26 -8.7998 30.4004 -21.9004l99.3994 -298.199 +c29.9004 -0.600586 56.2998 -15 73.5 -37l213.5 71.1992c8.2998 2.80078 17.4004 -1.69922 20.2002 -10.0996zM256 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" /> + <glyph glyph-name="dolly-flatbed" unicode="&#xf474;" horiz-adv-x="640" +d="M208 128c-8.7998 0 -16 7.2002 -16 16v256c0 8.7998 7.2002 16 16 16h144v-128l48 32l48 -32v128h144c8.7998 0 16 -7.2002 16 -16v-256c0 -8.7998 -7.2002 -16 -16 -16h-384zM624 64c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-82.7998 +c1.7002 -5 2.89941 -10.4004 2.89941 -16c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 5.59961 1.10059 11 2.90039 16h-197.9c1.7002 -5 2.90039 -10.4004 2.90039 -16c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 5.59961 1.09961 11 2.90039 16h-82.9004 +c-8.7998 0 -16 7.2002 -16 16v368h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16v-368h496z" /> + <glyph glyph-name="file-medical" unicode="&#xf477;" horiz-adv-x="384" +d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136z +M288 152c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56 +c4.40039 0 8 3.59961 8 8v48z" /> + <glyph glyph-name="file-medical-alt" unicode="&#xf478;" horiz-adv-x="448" +d="M288 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v168h70.0996l34.8008 -69.5c2.89941 -5.90039 11.3994 -5.90039 14.2998 0l56.7998 113.7l22.0996 -44.2002h89.9004c8.7998 0 16 7.2002 16 16 +s-7.2002 16 -16 16h-70.2002l-34.7002 69.5c-2.89941 5.90039 -11.3994 5.90039 -14.2998 0l-56.7998 -113.7l-19.9004 39.7998c-1.39941 2.7002 -4.19922 4.40039 -7.19922 4.40039h-140.9c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h56v232 +c0 13.2998 10.7002 24 24 24h200v-136zM441 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" /> + <glyph glyph-name="first-aid" unicode="&#xf479;" horiz-adv-x="576" +d="M0 368c0 26.5 21.5 48 48 48h48v-448h-48c-26.5 0 -48 21.5 -48 48v352zM128 -32v448h320v-448h-320zM192 216v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8v48 +c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-48v448h48z" /> + <glyph glyph-name="hospital-alt" unicode="&#xf47d;" horiz-adv-x="576" +d="M544 352c17.7002 0 32 -14.2998 32 -32v-368c0 -8.7998 -7.2002 -16 -16 -16h-544c-8.7998 0 -16 7.2002 -16 16v368c0 17.7002 14.2998 32 32 32h128v64c0 17.7002 14.2998 32 32 32h192c17.7002 0 32 -14.2998 32 -32v-64h128zM160 12v40c0 6.59961 -5.40039 12 -12 12 +h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM160 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM320 12v40 +c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM320 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40 +c6.59961 0 12 5.40039 12 12zM336 310v20c0 3.2998 -2.7002 6 -6 6h-26v26c0 3.2998 -2.7002 6 -6 6h-20c-3.2998 0 -6 -2.7002 -6 -6v-26h-26c-3.2998 0 -6 -2.7002 -6 -6v-20c0 -3.2998 2.7002 -6 6 -6h26v-26c0 -3.2998 2.7002 -6 6 -6h20c3.2998 0 6 2.7002 6 6v26h26 +c3.2998 0 6 2.7002 6 6zM480 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40 +c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" /> + <glyph glyph-name="hospital-symbol" unicode="&#xf47e;" +d="M256 448c141.4 0 256 -114.6 256 -256s-114.6 -256 -256 -256s-256 114.6 -256 256s114.6 256 256 256zM368 72v240c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-88h-96v88c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-240 +c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v88h96v-88c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="id-card-alt" unicode="&#xf47f;" horiz-adv-x="576" +d="M528 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h144v-96h192v96h144zM288 224c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM381.3 0 +c10.4004 0 18.7998 10 15.6006 19.7998c-8.40039 25.7002 -32.5 44.2002 -60.9004 44.2002h-8.2002c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-8.2002c-28.5 0 -52.5996 -18.5996 -60.9004 -44.2002 +c-3.19922 -9.7998 5.2002 -19.7998 15.6006 -19.7998h186.6zM352 416v-96h-128v96c0 17.7002 14.2998 32 32 32h64c17.7002 0 32 -14.2998 32 -32z" /> + <glyph glyph-name="notes-medical" unicode="&#xf481;" horiz-adv-x="384" +d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24 +s-10.7002 24 -24 24zM288 104v48c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8 +v56h56c4.40039 0 8 3.59961 8 8zM288 296v16c0 4.40039 -3.59961 8 -8 8h-176c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h176c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="pallet" unicode="&#xf482;" horiz-adv-x="640" +d="M144 192c-8.7998 0 -16 7.2002 -16 16v224c0 8.7998 7.2002 16 16 16h112v-128l64 32l64 -32v128h112c8.7998 0 16 -7.2002 16 -16v-224c0 -8.7998 -7.2002 -16 -16 -16h-352zM624 64h-48v-64h48c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608 +c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v64h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16zM288 0v64h-160v-64h160zM512 0v64h-160v-64h160z" /> + <glyph glyph-name="pills" unicode="&#xf484;" horiz-adv-x="576" +d="M112 416c61.9004 0 112 -50.0996 112 -112v-224c0 -61.9004 -50.0996 -112 -112 -112s-112 50.0996 -112 112v224c0 61.9004 50.0996 112 112 112zM160 192v112c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-112h96zM299.7 221.7l210.8 -210.8 +c3.5 -3.5 3.2002 -9.40039 -0.799805 -12.3008c-62.5 -45.2998 -150.101 -40.3994 -206.4 15.9004s-61.2002 143.9 -15.8994 206.4c2.89941 3.89941 8.7998 4.2998 12.2998 0.799805zM529.5 240.7c56.4004 -56.2998 61.2002 -143.8 15.9004 -206.4 +c-2.90039 -3.89941 -8.80078 -4.2998 -12.3008 -0.799805l-210.8 210.8c-3.5 3.5 -3.2002 9.40039 0.799805 12.2998c62.5 45.3008 150.101 40.4004 206.4 -15.8994z" /> + <glyph glyph-name="prescription-bottle" unicode="&#xf485;" horiz-adv-x="384" +d="M32 256v64h320v-352c0 -17.5996 -14.4004 -32 -32 -32h-256c-17.5996 0 -32 14.4004 -32 32v64h120c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-120v64h120c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-120v64h120c4.40039 0 8 3.59961 8 8v16 +c0 4.40039 -3.59961 8 -8 8h-120zM360 448c13.2002 0 24 -10.7998 24 -24v-48c0 -13.2002 -10.7998 -24 -24 -24h-336c-13.2002 0 -24 10.7998 -24 24v48c0 13.2002 10.7998 24 24 24h336z" /> + <glyph glyph-name="prescription-bottle-alt" unicode="&#xf486;" horiz-adv-x="384" +d="M360 448c13.2002 0 24 -10.7998 24 -24v-48c0 -13.2002 -10.7998 -24 -24 -24h-336c-13.2002 0 -24 10.7998 -24 24v48c0 13.2002 10.7998 24 24 24h336zM32 -32v352h320v-352c0 -17.5996 -14.4004 -32 -32 -32h-256c-17.5996 0 -32 14.4004 -32 32zM96 152v-48 +c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8v48c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8z +" /> + <glyph glyph-name="procedures" unicode="&#xf487;" horiz-adv-x="640" +d="M528 224c61.9004 0 112 -50.0996 112 -112v-160c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v48h-512v-48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v352c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-240h192 +v144c0 8.7998 7.2002 16 16 16h256zM136 352c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h140.9c3.09961 0 5.7998 -1.7002 7.19922 -4.40039l19.9004 -39.7998l49.7002 99.4004c5.89941 11.7998 22.7002 11.7998 28.5996 0l27.6006 -55.2002h102.1 +c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16h-121.9l-22.0996 44.2002l-49.7002 -99.4004c-5.89941 -11.7998 -22.7002 -11.7998 -28.5996 0l-27.6006 55.2002h-126.1zM160 96c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64 +s-28.7002 -64 -64 -64z" /> + <glyph glyph-name="shipping-fast" unicode="&#xf48b;" horiz-adv-x="640" +d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96v128h152c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-208c-4.40039 0 -8 3.59961 -8 8v16 +c0 4.40039 3.59961 8 8 8h240c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-208c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h240c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-272c-4.40039 0 -8 3.59961 -8 8v16 +c0 4.40039 3.59961 8 8 8h56v48c0 26.5 21.5 48 48 48h256c26.5 0 48 -21.5 48 -48v-48h44.0996c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48 +s-48 -21.5 -48 -48s21.5 -48 48 -48zM480 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" /> + <glyph glyph-name="smoking" unicode="&#xf48d;" horiz-adv-x="640" +d="M632 96c4.40039 0 8 -3.59961 8 -8v-144c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v144c0 4.40039 3.59961 8 8 8h48zM553.3 360.9c54.2998 -36.4004 86.7002 -97.1006 86.7002 -162.601v-30.2998c0 -4.40039 -3.59961 -8 -8 -8h-48 +c-4.40039 0 -8 3.59961 -8 8v30.2998c0 50.2002 -25.2002 96.7002 -67.4004 124c-18.3994 12 -28.5996 33.4004 -28.5996 55.4004v62.2998c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-62.2998c0 -6.7998 3.59961 -13 9.2998 -16.7998zM432 96 +c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-384c-26.5 0 -48 21.5 -48 48v64c0 26.5 21.5 48 48 48h384zM400 -16v64h-176v-64h176zM487.7 306.4c35.2998 -24.7002 56.2998 -64.8008 56.2998 -108.101v-30.2998c0 -4.40039 -3.59961 -8 -8 -8h-48 +c-4.40039 0 -8 3.59961 -8 8v30.2998c0 27.4004 -13.2998 52.9004 -35.7002 68.6006c-35.7002 25.0996 -60.2998 63 -60.2998 106.699v66.4004c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-62.2998c0 -29 15.7998 -54.7002 39.7002 -71.2998zM536 96 +c4.40039 0 8 -3.59961 8 -8v-144c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v144c0 4.40039 3.59961 8 8 8h48z" /> + <glyph glyph-name="syringe" unicode="&#xf48e;" +d="M201.5 273.2l64.9004 65l135.699 -135.7l-181.899 -181.9c-17.5 -17.5996 -41.5 -25.5996 -65.4004 -23l-63.5996 7.10059l-66.2998 -66.2998c-3.10059 -3.10059 -8.2002 -3.10059 -11.3008 0l-11.2998 11.2998c-3.09961 3.09961 -3.09961 8.2002 0 11.2998 +l66.4004 66.4004l-7.10059 63.5996c-2.59961 24.2998 5.7002 48.0996 23 65.4004l26.4004 26.3994l55.7998 -55.8994c3.10059 -3.10059 8.2002 -3.10059 11.2998 0l11.3008 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998l-55.8008 55.7998l45.3008 45.2998 +l55.6992 -55.7998c3.10059 -3.09961 8.2002 -3.09961 11.3008 0l11.2998 11.2998c3.09961 3.10059 3.09961 8.2002 0 11.3008zM509.7 366.5c3.09961 -3.2002 3.09961 -8.2002 0 -11.4004l-11.2998 -11.2998c-3.10059 -3.09961 -8.2002 -3.09961 -11.3008 0l-28.2998 28.2998 +l-45.2998 -45.2998l73.5 -73.5c3.09961 -3.09961 3.09961 -8.2002 0 -11.2998l-33.9004 -34c-3.09961 -3.09961 -8.19922 -3.09961 -11.2998 0l-17 17l-135.7 135.9l-17 17c-3.09961 3.09961 -3.09961 8.19922 0 11.2998l33.9004 33.8994 +c3.09961 3.10059 8.2002 3.10059 11.2998 0l17 -17l56.6006 -56.5996l45.2998 45.2998l-28.2998 28.2998c-3.10059 3.10059 -3.10059 8.2002 0 11.3008l11.2998 11.2998c3.09961 3.09961 8.2002 3.09961 11.2998 0z" /> + <glyph glyph-name="tablets" unicode="&#xf490;" horiz-adv-x="640" +d="M160 256c81.0996 0 147.5 -58.5 160 -134.7c0.799805 -4.7998 -3.2998 -9.2998 -8.2998 -9.2998h-303.3c-5 0 -9.10059 4.5 -8.30078 9.2998c12.4004 76.2002 78.8008 134.7 159.9 134.7zM311.6 80c5 0 9.10059 -4.5 8.30078 -9.2998 +c-12.4004 -76.2002 -78.8008 -134.7 -159.9 -134.7s-147.5 58.5 -159.9 134.7c-0.799805 4.7998 3.30078 9.2998 8.30078 9.2998h303.199zM593.4 401.4c56.5 -56.5 61.3994 -144.2 15.8994 -206.9c-2.7998 -4 -8.7998 -4.2998 -12.2998 -0.799805l-211.3 211.399 +c-3.5 3.40039 -3.2002 9.40039 0.799805 12.3008c62.7002 45.3994 150.4 40.5 206.9 -16zM363 382.3l211.3 -211.3c3.5 -3.40039 3.2002 -9.40039 -0.799805 -12.2998c-62.7002 -45.5 -150.4 -40.6006 -206.9 15.8994c-56.3994 56.5 -61.2998 144.2 -15.8994 206.9 +c2.7998 4 8.7998 4.2998 12.2998 0.799805z" /> + <glyph glyph-name="thermometer" unicode="&#xf491;" +d="M476.8 427.6c49.4004 -40.6992 42.1006 -107.3 7.2002 -142.199l-254.2 -253.301h-99.8994l-89 -89c-9.30078 -9.39941 -24.5 -9.39941 -33.9004 0c-9.40039 9.30078 -9.40039 24.5 0 33.9004l89 89v100.9l45.2998 45.6992l50.1006 -50.1992 +c3.09961 -3.10059 8.19922 -3.10059 11.2998 0l11.2998 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998l-50.0996 50.2002l45.0996 45.3994l50.2998 -50.1992c3.10059 -3.10059 8.2002 -3.10059 11.2998 0l11.3008 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998 +l-50.3008 50.4004l45.1006 45.3994l50.3994 -50.5c3.10059 -3.09961 8.2002 -3.09961 11.3008 0l11.2998 11.2998c3.09961 3.10059 3.09961 8.2002 0 11.3008l-50.5 50.5l45.7002 46c36.3994 36.5 94.3994 40.8994 131.899 10.1992z" /> + <glyph glyph-name="vial" unicode="&#xf492;" horiz-adv-x="480" +d="M477.7 261.9c3.09961 -3.10059 3.09961 -8.2002 0 -11.2002l-34 -33.9004c-3.10059 -3.09961 -8.2002 -3.09961 -11.2998 0l-11.2002 11.1006l-246.3 -245.7c-20.1006 -20.1006 -46.5 -30.1006 -72.9004 -30.1006c-28.9004 -0.0996094 -57.7998 11.9004 -78.4004 35.9004 +c-35.6992 41.5 -29.3994 104.8 9.40039 143.5l242.4 241.9l-11.2002 11.0996c-3.10059 3.09961 -3.10059 8.2002 0 11.2998l34 33.9004c3.09961 3.09961 8.2002 3.09961 11.2998 0zM318 192l69.5 69.4004l-78.5 78.2998l-148 -147.7h157z" /> + <glyph glyph-name="vials" unicode="&#xf493;" horiz-adv-x="640" +d="M72 384c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h208c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-24v-240c0 -44.0996 -35.9004 -80 -80 -80s-80 35.9004 -80 80v240h-24zM144 384v-96h64v96h-64zM624 0c8.7998 0 16 -7.2002 16 -16 +v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608zM360 384c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h208c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-24v-240 +c0 -44.0996 -35.9004 -80 -80 -80s-80 35.9004 -80 80v240h-24zM432 384v-96h64v96h-64z" /> + <glyph glyph-name="warehouse" unicode="&#xf494;" horiz-adv-x="640" +d="M504 96c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-367.7c-4.39941 0 -8 3.59961 -8 8l0.100586 48c0 4.40039 3.59961 8 8 8h367.6zM504 0c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-368c-4.40039 0 -8 3.59961 -8 8 +l0.0996094 48c0 4.40039 3.60059 8 8 8h367.9zM504 192c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-367.5c-4.40039 0 -8 3.59961 -8 8l0.0996094 48c0 4.40039 3.60059 8 8 8h367.4zM610.5 331c17.7998 -7.5 29.5 -24.9004 29.5 -44.2998v-342.7 +c0 -4.40039 -3.59961 -8 -8 -8h-80c-4.40039 0 -8 3.59961 -8 8v248c0 17.5996 -14.5996 32 -32.5996 32h-382.801c-18 0 -32.5996 -14.4004 -32.5996 -32v-248c0 -4.40039 -3.59961 -8 -8 -8h-80c-4.40039 0 -8 3.59961 -8 8v342.7c0 19.3994 11.7002 36.7998 29.5 44.2998 +l272 113.3c4.89062 2.0293 13.1553 3.6748 18.4502 3.6748c5.29395 0 13.5596 -1.64551 18.4502 -3.6748z" /> + <glyph glyph-name="weight" unicode="&#xf496;" +d="M448 384c35.29 0 64 -28.71 64 -64v-320c0 -35.29 -28.71 -64 -64 -64h-384c-35.29 0 -64 28.71 -64 64v320c0 35.29 28.71 64 64 64h25.9805c-16.4209 -28.2803 -25.9805 -61.0098 -25.9805 -96c0 -105.87 86.1299 -192 192 -192s192 86.1299 192 192 +c0 34.9902 -9.55957 67.7197 -25.9805 96h25.9805zM256 128c-88.3701 0 -160 71.6299 -160 160s71.6299 160 160 160s160 -71.6299 160 -160s-71.6299 -160 -160 -160zM255.7 279.94c-21.9404 -0.170898 -39.7002 -17.96 -39.7002 -39.9404c0 -22.0898 17.9102 -40 40 -40 +s40 17.9102 40 40c0 10.5498 -4.26953 20 -10.9502 27.1602l33.6699 78.5498c3.4707 8.11035 -0.290039 17.5205 -8.41016 21c-8.08984 3.50977 -17.5293 -0.240234 -21.0293 -8.41016z" /> + <glyph glyph-name="x-ray" unicode="&#xf497;" horiz-adv-x="640" +d="M240 64c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16zM400 32c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM624 448c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16 +h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608zM624 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v352h512v-352h48zM480 200v16c0 4.40039 -3.59961 8 -8 8 +h-136v32h104c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-104v24c0 4.40039 -3.59961 8 -8 8h-16c-4.40039 0 -8 -3.59961 -8 -8v-24h-104c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h104v-32h-136c-4.40039 0 -8 -3.59961 -8 -8v-16 +c0 -4.40039 3.59961 -8 8 -8h136v-32h-104c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h104v-32h-64c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48s48 21.5 48 48v16h64v-16c0 -26.5 21.5 -48 48 -48s48 21.5 48 48s-21.5 48 -48 48h-64v32h104 +c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-104v32h136c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="box-open" unicode="&#xf49e;" horiz-adv-x="640" +d="M425.7 192c4.5 0 9 0.599609 13.2998 1.90039l137 39.0996v-178c0 -14.5996 -10 -27.4004 -24.2002 -31l-216.399 -54.0996c-10.1006 -2.5 -20.8008 -2.5 -31 0l-216.2 54.0996c-14.2002 3.5 -24.2002 16.2998 -24.2002 31v178l137 -39.2002 +c4.2998 -1.2998 8.7998 -1.89941 13.2998 -1.89941c16.9004 0 32.7998 9 41.5 23.5l64.2002 106.6l64.2998 -106.6c8.60059 -14.4004 24.5 -23.4004 41.4004 -23.4004zM638.3 304.2c4.5 -9.2002 -0.299805 -20.2002 -10.2002 -23.1006l-197.899 -56.5 +c-7.10059 -2 -14.7002 1 -18.5 7.30078l-91.7002 152.1l250.1 31.9004c6.90039 0.899414 13.6006 -2.7002 16.7002 -8.90039zM53.2002 407c3.09961 6.2002 9.7002 9.7002 16.5996 8.90039l250.2 -31.9004l-91.7998 -152c-3.7998 -6.2998 -11.4004 -9.2998 -18.5 -7.2998 +l-197.9 56.5c-9.7998 2.7998 -14.7002 13.7998 -10.0996 23z" /> + <glyph glyph-name="comment-dots" unicode="&#xf4ad;" +d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002 +c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208zM128 176c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 176c17.7002 0 32 14.2998 32 32 +s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM384 176c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="comment-slash" unicode="&#xf4b3;" horiz-adv-x="640" +d="M64 208c0 18.5996 3.2998 36.5 8.90039 53.5996l325.5 -251.6c-24.7002 -6.40039 -51 -10 -78.4004 -10c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.90039 -7.2998 4.7998 +c-1.2998 3 -0.700195 6.40039 1.5 8.7002c0.5 0.599609 42.2002 45.5 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7zM633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7 +c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l105.1 -81.2998c45.2002 32.6006 104.301 52.7002 169.4 52.7002c141.4 0 256 -93.0996 256 -208c0 -49.2002 -21.4004 -94.0996 -56.5996 -129.7z" /> + <glyph glyph-name="couch" unicode="&#xf4b8;" horiz-adv-x="640" +d="M160 224c0 35.2998 -28.7002 64 -64 64h-32c0 53 43 96 96 96h320c53 0 96 -43 96 -96h-32c-35.2998 0 -64 -28.7002 -64 -64v-64h-320v64zM576 256c35.2998 0 64 -28.7002 64 -64c0 -23.5996 -13 -44 -32 -55.0996v-120.9c0 -8.7998 -7.2002 -16 -16 -16h-64 +c-8.7998 0 -16 7.2002 -16 16v16h-384v-16c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v120.9c-19 11.0996 -32 31.5 -32 55.0996c0 35.2998 28.7002 64 64 64h32c17.7002 0 32 -14.2998 32 -32v-96h384v96c0 17.7002 14.2998 32 32 32h32z" /> + <glyph glyph-name="donate" unicode="&#xf4b9;" +d="M256 32c-114.9 0 -208 93.0996 -208 208s93.0996 208 208 208s208 -93.0996 208 -208s-93.0996 -208 -208 -208zM233.8 350.6c-32.7002 -0.899414 -59 -28.3994 -59.0996 -62.3994c0 -27.7002 18 -52.4004 43.7002 -60.1006l62.2998 -18.6992 +c7.09961 -2.10059 12.0996 -9.40039 12.0996 -17.6006c0 -10.0996 -7.2998 -18.2998 -16.2998 -18.2998h-38.9004c-6.39941 0 -12.3994 1.7002 -17.7998 5.09961c-4.5 2.80078 -10.2002 2.7002 -14 -1l-16.2998 -15.5c-5 -4.7998 -4.40039 -13 1.2002 -17.0996 +c12.5 -9.2998 27.5 -14.5996 43 -15.4004v-17c0 -9.19922 7.39941 -16.5996 16.5996 -16.5996h11.1006c9.19922 0 16.5996 7.40039 16.5996 16.5996v16.8008c32.7002 0.899414 59.0996 28.3994 59.0996 62.3994c0 27.7002 -18 52.4004 -43.6992 60.1006l-62.3008 18.6992 +c-7.09961 2.10059 -12.0996 9.40039 -12.0996 17.6006c0 10.0996 7.2998 18.2998 16.2998 18.2998h38.9004c6.39941 0 12.3994 -1.7002 17.7998 -5.09961c4.5 -2.80078 10.2002 -2.7002 14 1l16.2998 15.5c5 4.7998 4.40039 13 -1.2002 17.0996 +c-12.5 9.2998 -27.5 14.5996 -43 15.4004v17c0 9.19922 -7.39941 16.5996 -16.5996 16.5996h-11.0996c-9.2002 0 -16.6006 -7.40039 -16.6006 -16.5996v-16.8008zM480 96c17.7002 0 32 -14.2998 32 -32v-96c0 -17.7002 -14.2998 -32 -32 -32h-448 +c-17.7002 0 -32 14.2998 -32 32v96c0 17.7002 14.2998 32 32 32h32.4004c19.6992 -26 44.5996 -47.7002 73 -64h-63.8008c-5.2998 0 -9.59961 -3.59961 -9.59961 -8v-16c0 -4.40039 4.2998 -8 9.59961 -8h364.7c5.2998 0 9.60059 3.59961 9.60059 8v16 +c0 4.40039 -4.30078 8 -9.60059 8h-63.7998c28.4004 16.2998 53.4004 38 73 64h32.5z" /> + <glyph glyph-name="dove" unicode="&#xf4ba;" +d="M288 280.8c-50.7998 10.5 -96.5996 36.7998 -130.8 75.1006c11.2002 32.3994 27.7998 61.5996 48.8994 86.5c8.80078 10.5 25.7002 5.19922 27.8008 -8.30078c7 -45.8994 25.8994 -88.8994 54.0996 -125.199v-28.1006zM400 384h112l-32 -64v-160.1 +c0 -88.4004 -71.5996 -159.9 -160 -159.9h-76.9004l-65.1992 -56.0996c-6.10059 -5.30078 -14.1006 -8.2002 -22.1006 -7.90039c-92.7998 3.7998 -135.8 49.4004 -153.2 76.2998c-6 9.2998 -1.19922 21.7002 9.5 24.4004l143.9 36 +c-12.7998 9.59961 -25.7002 20.0996 -38.9004 32.7998c-51 49 -85.0996 115.1 -85.0996 185.9c0 41.3994 9.40039 80.5996 26 115.699c5.7998 12.3008 23.5 11.6006 29 -0.899414c40 -91.2002 128.6 -155.5 233 -161.7v59.4004c0 44.1992 35.7998 80.0996 80 80.0996z +M400 287.9c8.7998 0 16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z" /> + <glyph glyph-name="hand-holding" unicode="&#xf4bd;" horiz-adv-x="576" +d="M565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002c21 17 47.0996 26.2998 74.0996 26.2998h160 +c19.5 0 34.9004 -17.4004 31.5996 -37.4004c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004c12.3994 10 30.7998 10.6992 42.5996 0z" /> + <glyph glyph-name="hand-holding-heart" unicode="&#xf4be;" horiz-adv-x="576" +d="M275.3 197.5l-108.899 114.2c-31.6006 33.2002 -29.7002 88.2002 5.59961 118.8c30.7998 26.7002 76.7002 21.9004 104.9 -7.7998l11.0996 -11.6006l11.2002 11.7002c28.2002 29.6006 74.0996 34.4004 104.899 7.7002c35.4004 -30.5996 37.2002 -85.5996 5.60059 -118.8 +l-108.9 -114.2c-7.09961 -7.40039 -18.5 -7.40039 -25.5 0zM565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002 +c21 17 47.0996 26.2998 74.0996 26.2998h160c19.5 0 34.9004 -17.4004 31.5996 -37.4004c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004 +c12.3994 10 30.7998 10.6992 42.5996 0z" /> + <glyph glyph-name="hand-holding-usd" unicode="&#xf4c0;" horiz-adv-x="544" +d="M257.6 303.7c-22.1992 6.39941 -40 24.7002 -42.8994 47.7002c-4 32 19 59.3994 49.2998 63v17.5996c0 8.7998 7.2002 16 16 16h16c8.7998 0 16 -7.2002 16 -16v-17.7002c11.5 -1.39941 22.2998 -5.2002 31.7998 -11.5c6.2002 -4.09961 6.7998 -13.0996 1.5 -18.3994 +l-17.5 -17.5c-3.7002 -3.7002 -9.2998 -4.2002 -14.0996 -2c-3.2002 1.39941 -6.7002 2.19922 -10.2998 2.19922h-32.8008c-4.59961 0 -8.39941 -3.7998 -8.39941 -8.39941c0 -3.7002 2.5 -7.10059 6.09961 -8.10059l50 -14.2998 +c22.2002 -6.39941 40 -24.7002 42.9004 -47.7002c4 -32 -19 -59.3994 -49.2998 -63v-17.5996c0 -8.7998 -7.2002 -16 -16 -16h-16c-8.80078 0 -16 7.2002 -16 16v17.7002c-11.5 1.39941 -22.3008 5.2002 -31.8008 11.5c-6.19922 4.09961 -6.7998 13.0996 -1.5 18.3994 +l17.5 17.5c3.7002 3.7002 9.30078 4.2002 14.1006 2c3.2002 -1.39941 6.7002 -2.19922 10.2998 -2.19922h32.7998c4.60059 0 8.40039 3.7998 8.40039 8.39941c0 3.7002 -2.5 7.10059 -6.10059 8.10059zM533.9 119.9c14.1992 -13.6006 13.0996 -36.8008 -1.30078 -48.9004 +l-142.8 -121c-10.7998 -9.09961 -24.0996 -14 -37.7998 -14h-336.9c-8.2998 0 -15.0996 7.2002 -15.0996 16v96c0 8.7998 6.7998 16 15.0996 16h52.4004l43.9004 37.7002c19.6992 17 44.3994 26.2998 69.8994 26.2998h151.101c18.2998 0 32.8994 -17.4004 29.7998 -37.4004 +c-2.40039 -15.6992 -16.2998 -26.5996 -31.4004 -26.5996h-73.8994c-8.30078 0 -15.1006 -7.2002 -15.1006 -16s6.7998 -16 15.1006 -16h111.699c13.8008 0 27.1006 4.90039 37.8008 14l87.1992 73.9004c11.8008 10 29.1006 10.6992 40.3008 0z" /> + <glyph glyph-name="hands" unicode="&#xf4c2;" horiz-adv-x="640" +d="M204.8 217.6l57.6006 -76.7998c16.5996 -22.2002 25.5996 -49.0996 25.5996 -76.7998v-112c0 -8.7998 -7.2002 -16 -16 -16h-131.7c-7.2002 0 -13.5 4.7002 -15.2998 11.5996c-2 7.80078 -5.40039 15.2002 -10.4004 21.7002l-104.1 134.3 +c-6.7998 8.5 -10.5 19.1006 -10.5 30v218.4c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-148.4l89.7998 -107.8c6 -7.2998 16.9004 -7.7998 23.6006 -1.09961l12.7998 12.7998c5.59961 5.59961 6.2998 14.5 1.5 20.9004l-38.1006 50.7998 +c-10.5996 14.0996 -7.69922 34.2002 6.40039 44.7998s34.2002 7.7002 44.7998 -6.40039zM608 384c17.7002 0 32 -14.2998 32 -32v-218.4c0 -10.8994 -3.7002 -21.5 -10.5 -30l-104.1 -134.3c-5 -6.5 -8.40039 -13.8994 -10.4004 -21.7002 +c-1.7998 -6.89941 -8.2002 -11.5996 -15.2998 -11.5996h-131.7c-8.7998 0 -16 7.2002 -16 16v112c0 27.7002 9 54.5996 25.5996 76.7998l57.6006 76.7998c10.5996 14.1006 30.7002 17 44.7998 6.40039s17 -30.7002 6.40039 -44.7998l-38.1006 -50.7998 +c-4.7998 -6.40039 -4.09961 -15.3008 1.5 -20.9004l12.7998 -12.7998c6.60059 -6.60059 17.6006 -6.10059 23.6006 1.09961l89.7998 107.8v148.4c0 17.7002 14.2998 32 32 32z" /> + <glyph glyph-name="hands-helping" unicode="&#xf4c4;" horiz-adv-x="640" +d="M488 256c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8v-64c0 -17.7002 -14.2998 -32 -32 -32h-16c0 -35.2998 -28.7002 -64 -64 -64h-136.6l-103.4 -59.7002c-15.2998 -8.7998 -34.9004 -3.59961 -43.7002 11.7002l-80 138.6 +c-8.89941 15.3008 -3.59961 34.9004 11.7002 43.7002l80 46.2002v47.2998c0 22.4004 11.7998 43.2998 31.0996 54.7998l64.9004 39v-121.6c0 -39.7002 32.2998 -72 72 -72s72 32.2998 72 72v56h152zM635.7 293.4c8.7998 -15.3008 3.59961 -34.8008 -11.7002 -43.7002 +l-80 -46.2002v28.5c0 30.9004 -25.0996 56 -56 56h-184v-88c0 -22.0996 -17.9004 -40 -40 -40s-40 17.9004 -40 40v126.3c0 11 5.59961 21.2998 15 27.1006l33.5 20.8994c10.2002 6.2998 21.9004 9.7002 33.9004 9.7002h102.199l103.4 59.7002 +c15.2998 8.7998 34.9004 3.59961 43.7002 -11.7002z" /> + <glyph glyph-name="parachute-box" unicode="&#xf4cd;" +d="M511.9 273c1.09961 -9.2002 -6.80078 -17 -16.1006 -17h-8.7002l-136.8 -151.9c0.700195 -2.69922 1.60059 -5.19922 1.60059 -8.09961v-128c0 -17.7002 -14.3008 -32 -32 -32h-128c-17.7002 0 -32 14.2998 -32 32v128c0 2.90039 0.899414 5.5 1.59961 8.09961 +l-136.7 151.9h-8.7002c-9.19922 0 -17.0996 7.90039 -16 17c9.10059 75.5 78.4004 132.3 158.301 158.7c-36.4004 -39.4004 -62.4004 -100.601 -62.4004 -175.7h-28.0996l116.6 -129.5c2.5 0.599609 4.7998 1.5 7.5 1.5h48v128h-112c0 115.2 68.9004 192 128 192 +s128 -76.7998 128 -192h-112v-128h48c2.7002 0 5 -0.900391 7.5 -1.5l116.6 129.5h-28.0996c0 75.0996 -26 136.3 -62.4004 175.7c79.9004 -26.2998 149.2 -83.1006 158.301 -158.7z" /> + <glyph glyph-name="people-carry" unicode="&#xf4ce;" horiz-adv-x="640" +d="M128 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM512 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM637.7 -20.0996c6.59961 -16.4004 -1.40039 -35 -17.7998 -41.6006 +c-3.90039 -1.59961 -7.90039 -2.2998 -11.9004 -2.2998c-12.7002 0 -24.7002 7.59961 -29.7002 20.0996l-27.7002 69.2002l2 18.2002l41.1006 46.4004zM603.5 189.7c4.59961 -20 -0.799805 -41.2002 -14.4004 -56.7002l-67.1992 -75.9004l-10.1006 -92.5996 +c-1.7998 -16.4004 -15.7002 -28.5 -31.7998 -28.5c-1.2002 0 -2.2998 0.0996094 -3.5 0.200195c-17.5 1.89941 -30.2002 17.7002 -28.2998 35.2998l10.0996 92.7998c1.5 13 6.90039 25.1006 15.6006 35l43.2998 49l-17.6006 70.2998l-6.7998 -20.3994 +c-4.09961 -12.6006 -11.8994 -23.4004 -24.5 -32.6006l-51.0996 -32.5c-4.60059 -2.89941 -12.1006 -4.59961 -17.2002 -5h-160c-5.09961 0.400391 -12.5996 2.10059 -17.2002 5l-51.0996 32.5c-12.6006 9.2002 -20.4004 20.1006 -24.5 32.6006l-6.7998 20.3994 +l-17.6006 -70.2998l43.2998 -49c8.7002 -9.89941 14.1006 -22 15.6006 -35l10.0996 -92.7998c1.90039 -17.5996 -10.7002 -33.4004 -28.2998 -35.2998c-1.2002 -0.100586 -2.2998 -0.200195 -3.5 -0.200195c-16.2002 0 -30 12.2002 -31.7998 28.5l-10.1006 92.5996 +l-67.1992 75.9004c-13.7002 15.5 -19 36.7002 -14.4004 56.7002l18.4004 80.2002c4.59961 20 18.5996 36.7998 37.5 44.8994c18.5 8 38.8994 6.7002 56.0996 -3.2998c22.7002 -13.4004 39.7998 -34.4004 48.0996 -59.4004l11.3008 -33.8994l16.0996 -10.2002v96 +c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16v-96l16 10.2002l11.2998 33.8994c8.40039 24.9004 25.4004 46 48.1006 59.4004c17.0996 10 37.5996 11.2998 56.0996 3.2998c18.9004 -8.09961 32.9004 -24.8994 37.5 -44.8994zM46.2998 89.9004l41.1006 -46.4004 +l2 -18.2002l-27.7002 -69.2002c-6.5 -16.0996 -24.7998 -24.3994 -41.6006 -17.7998c-16.3994 6.60059 -24.3994 25.2002 -17.7998 41.6006z" /> + <glyph glyph-name="piggy-bank" unicode="&#xf4d3;" horiz-adv-x="576" +d="M560 224c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-48.7002c-9 -11.9004 -19.5 -22.4004 -31.2998 -31.2998v-80.7002c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v48h-128v-48c0 -8.7998 -7.2002 -16 -16 -16h-64 +c-8.7998 0 -16 7.2002 -16 16v80.7002c-38.5996 29.2002 -64 75.0996 -64 127.3h-40c-33.2998 0 -59.9004 29.2002 -55.5 63.4004c3.59961 28.1992 29 48.5996 57.5 48.5996c3.2998 0 6 -2.7002 6 -6v-20c0 -3.2998 -2.7002 -6 -6 -6h-1 +c-11.5996 0 -22.2998 -7.7998 -24.5 -19.2002c-3 -15.2998 8.7002 -28.7998 23.5 -28.7998h43.2002c14.8994 73 79.3994 128 156.8 128h128c7.90039 0 15.4004 -1.2002 23 -2.2998c17.5996 20.7998 43.5996 34.2998 73 34.2998h32l-18.9004 -75.5 +c15.8008 -14.7998 28.6006 -32.5 37.4004 -52.5h29.5zM432 160c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 352c-16.4004 0 -32.2002 -2.2998 -47.4004 -6.2002c-0.0996094 2.10059 -0.599609 4.10059 -0.599609 6.2002 +c0 53 43 96 96 96s96 -43 96 -96c0 -0.299805 -0.0996094 -0.5 -0.0996094 -0.799805c-5.2002 0.399414 -10.5 0.799805 -15.9004 0.799805h-128z" /> + <glyph glyph-name="ribbon" unicode="&#xf4d6;" horiz-adv-x="448" +d="M6.09961 3.7002l117.2 130l79.2002 -87.9004l-91.7998 -101.899c-8 -8.80078 -21.4004 -10.5 -31.2998 -3.80078l-68.8008 27.9004c-12 8.09961 -14.0996 24.9004 -4.5 35.7002zM441.9 3.7002c9.69922 -10.7998 7.59961 -27.6006 -4.30078 -35.6006l-68.7998 -27.8994 +c-9.89941 -6.7002 -23.2998 -5.10059 -31.2998 3.7998l-248.1 275.3c-48.6006 53.7998 -13 113.5 -11.5 116l43.5996 73.2002c4.2998 7.2002 9.90039 13.2998 16.7998 18c44 29.7002 130.7 27.5996 171.4 0c6.89941 -4.7002 12.5 -10.7998 16.7998 -18l43.7002 -73.5 +c21.8994 -36.9004 17.2998 -83.5996 -11.4004 -115.5l-34.2002 -38l-79.0996 87.7002s52.7002 59 56 64.5996c-15.4004 8.40039 -40.2002 17.9004 -77.5 17.9004s-62.0996 -9.5 -77.5 -17.9004c3.40039 -5.5 295.4 -330.1 295.4 -330.1z" /> + <glyph glyph-name="route" unicode="&#xf4d7;" +d="M416 128c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96h-277.8c13.5 16.2998 31.2998 39.2002 47.2998 64h230.5c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32h-96c-52.9004 0 -96 43.0996 -96 96s43.0996 96 96 96h45.2998 +c-23.0996 32.5996 -45.2998 70.5 -45.2998 96c0 53 43 96 96 96s96 -43 96 -96s-96 -160 -96 -160h-96c-17.5996 0 -32 -14.4004 -32 -32s14.4004 -32 32 -32h96zM416 384c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM96 192 +c53 0 96 -43 96 -96s-96 -160 -96 -160s-96 107 -96 160s43 96 96 96zM96 64c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="seedling" unicode="&#xf4d8;" +d="M64 352c123.7 0 224 -100.3 224 -224v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v144c-123.7 0 -224 100.3 -224 224h64zM448 416h64c0 -115.9 -88 -211.1 -200.7 -222.8c-10.7998 40.7002 -31.2998 77.3994 -59 107.6 +c38.2998 68.7002 111.5 115.2 195.7 115.2z" /> + <glyph glyph-name="sign" unicode="&#xf4d9;" +d="M496 384c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-368v-368c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v368h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v48c0 8.7998 7.2002 16 16 16h32 +c8.7998 0 16 -7.2002 16 -16v-48h368zM160 64v224h320v-224h-320z" /> + <glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496" +d="M0 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM200 240c0 17.7002 -14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32zM358.5 223.5l9.7002 -8.5c8.39941 -7.5 21.5 -0.299805 19.7998 10.7998 +c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM157.8 122.2c-13.3994 16.2998 -38.0996 -4.10059 -24.5996 -20.4004 +c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7002c13.5 16.2998 -11 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002s-67.7998 15.2998 -90.2002 42.2002z" /> + <glyph glyph-name="tape" unicode="&#xf4db;" horiz-adv-x="640" +d="M224 256c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64zM624 32c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-400c-123.7 0 -224 100.3 -224 224s100.3 224 224 224s224 -100.3 224 -224 +c0 -62.7002 -25.9004 -119.3 -67.4004 -160h243.4zM224 96c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96z" /> + <glyph glyph-name="truck-loading" unicode="&#xf4de;" horiz-adv-x="640" +d="M50.2002 72.4004l-49.6006 185.5c-2.2998 8.5 2.80078 17.2998 11.3008 19.5996l77.2998 20.7002l24.7998 -92.7002l61.7998 16.5l-24.7998 92.7002l77.2002 20.7998c8.5 2.2998 17.2998 -2.7998 19.5996 -11.2998l49.7002 -185.5 +c2.2998 -8.5 -2.7998 -17.2998 -11.2998 -19.6006l-216.4 -58c-8.5 -2.2998 -17.2998 2.80078 -19.5996 11.3008zM384 448h256v-400c0 -61.9004 -50.0996 -112 -112 -112c-60.4004 0 -109.2 47.9004 -111.6 107.7l-393.7 -107.4 +c-4.2002 -1.2002 -8.60059 1.2998 -9.7998 5.60059l-12.6006 46.2998c-1.2002 4.2002 1.2998 8.59961 5.60059 9.7998l346.1 94.4004v323.6c0 17.7002 14.2998 32 32 32zM528 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" /> + <glyph glyph-name="truck-moving" unicode="&#xf4df;" horiz-adv-x="640" +d="M621.3 210.7c12 -12 18.7002 -28.2002 18.7002 -45.2002v-85.5c0 -8.7998 -7.2002 -16 -16 -16h-17.5996c1 -5.2002 1.59961 -10.5 1.59961 -16c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 5.5 0.5 10.7998 1.59961 16h-163.199 +c1 -5.2002 1.59961 -10.5 1.59961 -16c0 -44.2002 -35.7998 -80 -80 -80c-26.2998 0 -49.4004 12.7998 -64 32.4004c-14.5996 -19.5 -37.7002 -32.4004 -64 -32.4004c-44.2002 0 -80 35.7998 -80 80v336c0 17.7002 14.2998 32 32 32h416c17.7002 0 32 -14.2998 32 -32 +v-96.0996h37.5c17 0 33.2998 -6.7002 45.2998 -18.7002zM80 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM208 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM480 240v-48 +h92.0996l-43.2998 43.2998c-3 3 -7 4.7002 -11.2998 4.7002h-37.5zM528 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32z" /> + <glyph glyph-name="video-slash" unicode="&#xf4e2;" horiz-adv-x="640" +d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.7998 -22.4004l-19.5996 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-178.5 138l-373.3 288.6l-36.5 28.2002c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998 +l78.4004 -60.5996h244.3c26.3994 0 47.7998 -21.4004 47.7998 -47.7998v-178l32 -24.7002v137.2l109.6 75.5996c21.3008 14.6006 50.4004 -0.299805 50.4004 -25.7998v-257c0 -17.4004 -13.7998 -29.7002 -29.2002 -31.0996zM32 47.7998v245.5l365.8 -282.8 +c-8.2002 -6.5 -18.3994 -10.5 -29.5996 -10.5h-288.4c-26.3994 0 -47.7998 21.4004 -47.7998 47.7998z" /> + <glyph glyph-name="wine-glass" unicode="&#xf4e3;" horiz-adv-x="288" +d="M216 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-208c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h40v117.18c-68.4697 15.8906 -118.05 79.9102 -111.4 154.16l15.96 178.11c0.730469 8.24023 7.55078 14.5498 15.7002 14.5498h223.48 +c8.16016 0 14.9697 -6.30957 15.71 -14.5498l15.9502 -178.101c6.64941 -74.25 -42.9307 -138.27 -111.4 -154.159v-117.19h40z" /> + <glyph glyph-name="user-alt-slash" unicode="&#xf4fa;" horiz-adv-x="640" +d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l135.5 -104.8 +c16 62.1006 71.9004 108.2 139 108.2c79.5 0 144 -64.5 144 -144c0 -54.0996 -30.2002 -100.7 -74.4004 -125.3zM198.4 128h47.3994l248.4 -192h-382.2c-26.5 0 -48 21.5 -48 48v9.59961c0 74.2002 60.2002 134.4 134.4 134.4z" /> + <glyph glyph-name="user-astronaut" unicode="&#xf4fb;" horiz-adv-x="448" +d="M64 224c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h13.5c24.7002 56.5 80.9004 96 146.5 96s121.8 -39.5 146.5 -96h13.5c8.7998 0 16 -7.2002 16 -16v-96c0 -8.7998 -7.2002 -16 -16 -16h-13.5c-24.7002 -56.5 -80.9004 -96 -146.5 -96 +s-121.8 39.5 -146.5 96h-13.5zM104 312v-24c0 -53 43 -96 96 -96h48c53 0 96 43 96 96v24c0 22.0996 -21.5 40 -48 40h-144c-26.5 0 -48 -17.9004 -48 -40zM176 240l-12 36l-36 12l36 12l12 36l12 -36l36 -12l-36 -12zM327.6 126.6c67.5 -7.09961 120.4 -63.5996 120.4 -133 +v-9.59961c0 -26.5 -21.5 -48 -48 -48h-80v64c0 17.7002 -14.2998 32 -32 32h-128c-17.7002 0 -32 -14.2998 -32 -32v-64h-80c-26.5 0 -48 21.5 -48 48v9.59961c0 69.4004 52.9004 125.9 120.4 133c29.8994 -19.2998 65.3994 -30.5996 103.6 -30.5996 +s73.7002 11.2998 103.6 30.5996zM272 0c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16zM176 0c8.7998 0 16 -7.2002 16 -16v-48h-32v48c0 8.7998 7.2002 16 16 16z" /> + <glyph glyph-name="user-check" unicode="&#xf4fc;" horiz-adv-x="640" +d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996 +c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992zM636.6 288.4c4.60059 -4.60059 4.5 -12.1006 -0.0996094 -16.8008l-141.3 -140.199c-4.7002 -4.60059 -12.2002 -4.60059 -16.7998 0.0996094 +l-81.7002 82.2998c-4.60059 4.7002 -4.60059 12.2002 0.0996094 16.7998l28.1006 27.9004c4.69922 4.59961 12.1992 4.59961 16.7998 -0.0996094l45.5 -45.8008l104.8 104c4.7002 4.60059 12.2002 4.60059 16.7998 -0.0996094z" /> + <glyph glyph-name="user-clock" unicode="&#xf4fd;" horiz-adv-x="640" +d="M496 224c79.5996 0 144 -64.4004 144 -144s-64.4004 -144 -144 -144s-144 64.4004 -144 144s64.4004 144 144 144zM560 73.7002v12.5996c0 5.2998 -4.40039 9.7002 -9.7002 9.7002h-38.2998v54.2998c0 5.2998 -4.40039 9.7002 -9.7002 9.7002h-12.5996 +c-5.2998 0 -9.7002 -4.40039 -9.7002 -9.7002v-76.5996c0 -5.2998 4.40039 -9.7002 9.7002 -9.7002h60.5996c5.2998 0 9.7002 4.40039 9.7002 9.7002zM320 80c0 -59.5 29.7998 -112.1 75.0996 -144h-347.1c-26.5 0 -48 21.5 -48 48v41.5996 +c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992c8.40039 0 16.6006 -1 24.6006 -2.5c-11.5 -23.4004 -18.2002 -49.7002 -18.2002 -77.5zM224 192c-70.7002 0 -128 57.2998 -128 128 +s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128z" /> + <glyph glyph-name="user-cog" unicode="&#xf4fe;" horiz-adv-x="640" +d="M610.5 74.7002l25.7998 -14.9004c2.90039 -1.7002 4.2998 -5.2002 3.2998 -8.5c-6.69922 -21.5996 -18.1992 -41.2002 -33.1992 -57.3994c-2.30078 -2.5 -6.10059 -3.10059 -9 -1.40039l-25.8008 14.9004c-10.8994 -9.30078 -23.3994 -16.5 -36.8994 -21.3008v-29.7998 +c0 -3.39941 -2.40039 -6.39941 -5.7002 -7.09961c-21.2002 -4.7998 -43.9004 -5 -66.2002 0c-3.2998 0.700195 -5.7002 3.7002 -5.7002 7.09961v29.7998c-13.5 4.80078 -26 12 -36.8994 21.3008l-25.7998 -14.9004c-3 -1.7002 -6.7002 -1.09961 -9 1.40039 +c-15 16.2998 -26.5 35.7998 -33.2002 57.3994c-1 3.2998 0.299805 6.7998 3.2998 8.5l25.7998 14.9004c-2.59961 14.0996 -2.59961 28.5 0 42.5996l-25.7998 14.9004c-2.90039 1.7002 -4.2998 5.2002 -3.2998 8.5c6.7002 21.5996 18.2002 41.2002 33.2002 57.3994 +c2.2998 2.5 6.09961 3.10059 9 1.40039l25.7998 -14.9004c10.8994 9.30078 23.3994 16.5 36.8994 21.3008v29.7998c0 3.39941 2.40039 6.39941 5.7002 7.09961c21.2002 4.7998 43.9004 5 66.2002 0c3.2998 -0.700195 5.7002 -3.7002 5.7002 -7.09961v-29.7998 +c13.5 -4.80078 26 -12 36.8994 -21.3008l25.8008 14.9004c3 1.7002 6.69922 1.09961 9 -1.40039c15 -16.1992 26.5 -35.7998 33.1992 -57.3994c1 -3.2998 -0.299805 -6.7998 -3.2998 -8.5l-25.7998 -14.9004c2.59961 -14.0996 2.59961 -28.5 0 -42.5996zM496 47.5 +c26.7998 0 48.5 21.7998 48.5 48.5s-21.7998 48.5 -48.5 48.5s-48.5 -21.7998 -48.5 -48.5s21.7002 -48.5 48.5 -48.5zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM425.2 -34.5v-9.2002 +c0 -4.09961 0.799805 -8 2 -11.7998c-7.7002 -5.2998 -17.1006 -8.5 -27.2002 -8.5h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992 +c3.90039 0 7.60059 -0.900391 11.4004 -1.2002c-1 -2.89941 -2.2998 -5.7998 -3.2002 -8.7002c-5.5 -17.6992 1.90039 -36.5 17.9004 -45.6992l7.89941 -4.60059c-0.0996094 -2.59961 -0.0996094 -5.2002 0 -7.7998l-7.89941 -4.59961 +c-16 -9.30078 -23.4004 -28 -17.9004 -45.7002c7.90039 -25.7002 21.9004 -49.7998 40.2002 -69.6006c7.5 -8 18 -12.5996 28.9004 -12.5996c6.7998 0 13.5996 1.90039 19.5996 5.2998l7.90039 4.60059c2.19922 -1.30078 4.5 -2.7002 6.7998 -3.90039z" /> + <glyph glyph-name="user-edit" unicode="&#xf4ff;" horiz-adv-x="640" +d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c39.9004 0 75.4004 -17.7998 99.9004 -45.5l-77.2998 -77.2998l-7.90039 -7.90039l-1.2002 -11.0996l-6.7998 -60.9004 +c-0.799805 -7.2998 0.200195 -14.5 2.60059 -21.2998h-274.9c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992zM358.9 14.7002l137.899 137.8l71.7002 -71.7002 +l-137.9 -137.899l-60.8994 -6.80078c-10.1006 -1.19922 -18.7002 7.40039 -17.6006 17.6006zM633 179.1c9.2998 -9.39941 9.2998 -24.5 0 -33.8994l-41.7998 -41.7998l-71.7998 71.6992l4.09961 4.10059l37.7998 37.7998c9.2998 9.2998 24.5 9.2998 33.7998 0z" /> + <glyph glyph-name="user-friends" unicode="&#xf500;" horiz-adv-x="640" +d="M192 192c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM268.8 160c63.6006 0 115.2 -51.5996 115.2 -115.2v-28.7998c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v28.7998 +c0 63.6006 51.5996 115.2 115.2 115.2h8.2998c20.9004 -10 43.9004 -16 68.5 -16s47.7002 6 68.5 16h8.2998zM480 192c-53 0 -96 43 -96 96s43 96 96 96s96 -43 96 -96s-43 -96 -96 -96zM528 160c61.9004 0 112 -50.0996 112 -112c0 -26.5 -21.5 -48 -48 -48h-176.6 +c0.0996094 2.09961 0.599609 4.2002 0.599609 6.40039v38.3994c0 38.6006 -15.2998 73.5 -39.7002 99.7998c16.5 9.5 35.2998 15.4004 55.7002 15.4004h3.7998c13.9004 -4.7998 28.6006 -8 44.2002 -8s30.2998 3.2002 44.2002 8h3.7998z" /> + <glyph glyph-name="user-graduate" unicode="&#xf501;" horiz-adv-x="448" +d="M319.4 127.4c71.5 -3.10059 128.6 -61.6006 128.6 -133.801v-9.59961c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v9.59961c0 72.2002 57.0996 130.7 128.6 133.801l95.4004 -95.4004zM13.5996 368.2c-18.0996 4.39941 -18.0996 27.2002 0 31.5996 +l190.601 45.9004c13 3.09961 26.7002 3.09961 39.7002 0l190.399 -46c18.2002 -4.40039 18.2002 -27.1006 0 -31.5l-96.2998 -23.2002c8.7002 -17.2002 14 -36.4004 14 -57c0 -70.7002 -57.2998 -128 -128 -128s-128 57.2998 -128 128c0 20.5996 5.40039 39.7998 14 57 +l-66 15.9004v-52.6006c7 -4.2002 12 -11.5 12 -20.2998c0 -8.40039 -4.59961 -15.4004 -11.0996 -19.7002l15.5996 -62.2998c1.7002 -6.90039 -2.09961 -14 -7.59961 -14h-41.8008c-5.5 0 -9.2998 7.09961 -7.59961 14l15.5996 62.2998 +c-6.5 4.2998 -11.0996 11.2998 -11.0996 19.7002c0 8.7998 5 16.0996 12 20.2998v58.4004z" /> + <glyph glyph-name="user-lock" unicode="&#xf502;" horiz-adv-x="640" +d="M224 192c-70.6562 0 -128 57.3438 -128 128s57.3438 128 128 128s128 -57.3438 128 -128s-57.3438 -128 -128 -128zM320 128v-160c0.0644531 -9.49707 4.05176 -23.833 8.90039 -32h-280.9c-26.4961 0 -48 21.5039 -48 48v41.5996 +c0.0166016 74.1729 60.2275 134.384 134.4 134.4h16.6992c19.1514 -8.83203 51.8105 -16 72.9004 -16s53.749 7.16797 72.9004 16h16.6992c5 0 9.7002 -1 14.5 -1.5c-4.41016 -7.84082 -8.03906 -21.5049 -8.09961 -30.5zM608 160c17.6641 0 32 -14.3359 32 -32v-160 +c0 -17.6641 -14.3359 -32 -32 -32h-224c-17.6641 0 -32 14.3359 -32 32v160c0 17.6641 14.3359 32 32 32h32v80c0 44.1602 35.8398 80 80 80s80 -35.8398 80 -80v-80h32zM496 16c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32z +M528 160v80c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32v-80h64z" /> + <glyph glyph-name="user-minus" unicode="&#xf503;" horiz-adv-x="640" +d="M624 240c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-192c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h192zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128z +M313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" /> + <glyph glyph-name="user-ninja" unicode="&#xf504;" horiz-adv-x="448" +d="M325.4 158.8c68.5996 -6.09961 122.6 -63 122.6 -133.2v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 70.2002 54 127.101 122.6 133.2l101.4 -101.399zM32 256c0 33.4004 17.0996 62.7998 43.0996 80 +c-26 17.2002 -43.0996 46.5996 -43.0996 80c32 0 60.0996 -15.7998 77.5 -39.7998c20.9004 42.3994 64.0996 71.7998 114.5 71.7998c70.7002 0 128 -57.2998 128 -128s-57.2998 -128 -128 -128c-58.7998 0 -107.7 39.7998 -122.8 93.7002 +c-17.4004 -18.2002 -41.9004 -29.7002 -69.2002 -29.7002zM176 352c-17.7002 0 -32 -14.2998 -32 -32h160c0 17.7002 -14.2998 32 -32 32h-96z" /> + <glyph glyph-name="user-shield" unicode="&#xf505;" horiz-adv-x="640" +d="M622.3 176.9c10.7002 -4.2002 17.7002 -14 17.7002 -24.9004c0 -124.5 -81.5996 -193.9 -132.9 -213.9c-4.19922 -1.59961 -12.5996 -3.69922 -22.1992 0c-64.2002 25.1006 -132.9 102.301 -132.9 213.9c0 10.9004 7 20.7002 17.7002 24.9004l115.2 45 +c9.59961 3.69922 18.0996 1.59961 22.1992 0zM496 -14.4004c34.5996 16.4004 89.9004 64.7002 95.5 151.801l-95.5 37.2998v-189.101zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM320 152 +c0 -95.2998 45.2002 -169.1 99.2002 -212c-5.90039 -2.5 -12.4004 -4 -19.2002 -4h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992 +c2.60059 0 5 -0.700195 7.5 -0.799805c-0.299805 -2.40039 -1.09961 -4.7002 -1.09961 -7.2002z" /> + <glyph glyph-name="user-slash" unicode="&#xf506;" horiz-adv-x="640" +d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l147.6 -114 +c5.40039 65.6006 59.8008 117.4 126.9 117.4c70.7002 0 128 -57.2998 128 -128c0 -55.7998 -35.9004 -102.7 -85.7002 -120.3zM96 25.5996c0 66.4004 48.2002 121.101 111.4 132.101l286.8 -221.7h-350.2c-26.5 0 -48 21.5 -48 48v41.5996z" /> + <glyph glyph-name="user-tag" unicode="&#xf507;" horiz-adv-x="640" +d="M630.6 83.0996c12.5 -12.5 12.5 -32.6992 -0.0996094 -45.1992l-92.5 -92.5c-12.5 -12.5 -32.7998 -12.5 -45.2998 0l-90.2998 90.1992c-12 12 -18.7002 28.2002 -18.7002 45.2002v79.2002c0 17.7002 14.2998 32 32 32h79.2998c17 0 33.2998 -6.7002 45.2998 -18.7002z +M447.8 104.1c13.2998 0 24 10.8008 24 24c0 13.3008 -10.7002 24 -24 24s-24 -10.6992 -24 -24c0 -13.2998 10.7002 -24 24 -24zM224 192.1c-70.7002 0 -128 57.3008 -128 127.9c0 70.7002 57.2998 128 128 128s128 -57.2998 128 -127.9c0 -70.6992 -57.2998 -128 -128 -128 +zM351.8 80.9004c0 -25.7002 10 -49.8008 28.1006 -67.9004l58 -58c-8.80078 -11.4004 -22.4004 -18.9004 -37.9004 -18.9004h-352c-26.5 0 -48 21.5 -48 48v41.6006c0 74.2002 60.2002 134.399 134.4 134.5h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16 +s50.7002 5.7998 72.9004 16h16.6992c13.3008 0 26 -2.60059 38.2002 -6.2002v-73.0996z" /> + <glyph glyph-name="user-tie" unicode="&#xf508;" horiz-adv-x="448" +d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM319.8 159.4c71.2998 -3.40039 128.2 -61.7002 128.2 -133.801v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996 +c0 72.1006 56.9004 130.4 128.2 133.801l47.7998 -191.4l32 136l-32 56h96l-32 -56l32 -136z" /> + <glyph glyph-name="users-cog" unicode="&#xf509;" horiz-adv-x="640" +d="M610.5 106.7l25.7998 -14.9004c2.90039 -1.7002 4.2998 -5.2002 3.2998 -8.5c-6.69922 -21.5996 -18.1992 -41.2002 -33.1992 -57.3994c-2.30078 -2.5 -6.10059 -3.10059 -9 -1.40039l-25.8008 14.9004c-10.8994 -9.30078 -23.3994 -16.5 -36.8994 -21.3008v-29.7998 +c0 -3.39941 -2.40039 -6.39941 -5.7002 -7.09961c-21.2002 -4.7998 -43.9004 -5 -66.2002 0c-3.2998 0.700195 -5.7002 3.7002 -5.7002 7.09961v29.7998c-13.5 4.80078 -26 12 -36.8994 21.3008l-25.7998 -14.9004c-3 -1.7002 -6.7002 -1.09961 -9 1.40039 +c-15 16.2998 -26.5 35.7998 -33.2002 57.3994c-1 3.2998 0.299805 6.7998 3.2998 8.5l25.7998 14.9004c-2.59961 14.0996 -2.59961 28.5 0 42.5996l-25.7998 14.9004c-2.90039 1.7002 -4.2998 5.2002 -3.2998 8.5c6.7002 21.5996 18.2002 41.2002 33.2002 57.3994 +c2.2998 2.5 6.09961 3.10059 9 1.40039l25.7998 -14.9004c10.8994 9.30078 23.3994 16.5 36.8994 21.3008v29.7998c0 3.39941 2.40039 6.39941 5.7002 7.09961c21.2002 4.7998 43.9004 5 66.2002 0c3.2998 -0.700195 5.7002 -3.7002 5.7002 -7.09961v-29.7998 +c13.5 -4.80078 26 -12 36.8994 -21.3008l25.8008 14.9004c3 1.7002 6.69922 1.09961 9 -1.40039c15 -16.1992 26.5 -35.7998 33.1992 -57.3994c1 -3.2998 -0.299805 -6.7998 -3.2998 -8.5l-25.7998 -14.9004c2.59961 -14.0996 2.59961 -28.5 0 -42.5996zM496 79.5 +c26.7998 0 48.5 21.7998 48.5 48.5s-21.7998 48.5 -48.5 48.5s-48.5 -21.7998 -48.5 -48.5s21.7002 -48.5 48.5 -48.5zM96 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM320 192c-61.9004 0 -112 50.0996 -112 112 +s50 111.9 111.9 111.9c61.8994 0 112 -50.1006 112 -112c0 -17.2002 -4.2002 -33.4004 -11.2002 -48c-0.799805 -0.5 -1.60059 -0.900391 -2.40039 -1.40039l-7.89941 4.59961c-5.90039 3.5 -12.7002 5.30078 -19.6006 5.30078c-11 0 -21.5 -4.60059 -28.8994 -12.6006 +c-15.8008 -17.0996 -28 -37.5 -36.3008 -59.2002c-1.89941 -0.0996094 -3.69922 -0.599609 -5.59961 -0.599609zM425.2 -2.5v-9.2002c0 -7.5 2.5 -14.2998 6.2002 -20.2998h-255.4c-26.5 0 -48 21.5 -48 48v28.7998c0 63.6006 51.5996 115.2 115.3 115.2h8.2998 +c20.9004 -10 43.9004 -16 68.5 -16c3.30078 0 6.5 0.400391 9.80078 0.599609c2.7998 -3.09961 6 -5.89941 9.7998 -8.09961l7.89941 -4.59961c-0.0996094 -2.60059 -0.0996094 -5.2002 0 -7.80078c-0.899414 -0.599609 -36.5 -15.7998 -25.7998 -50.2998 +c7.90039 -25.7002 21.9004 -49.7998 40.2002 -69.5996c7.5 -8 18 -12.6006 28.9004 -12.6006c12.1992 0 19.2998 5 27.5 9.80078c2.19922 -1.30078 4.5 -2.7002 6.7998 -3.90039zM173.1 173.4c-40.2998 -22.1006 -68.8994 -62 -75.1992 -109.4h-65.9004 +c-17.7002 0 -32 14.2998 -32 32v32c0 35.2998 28.7002 64 64 64h64c17.5996 0 33.5 -7.09961 45.0996 -18.5996z" /> + <glyph glyph-name="balance-scale-left" unicode="&#xf515;" horiz-adv-x="640" +d="M528 0c8.83984 0 16 -7.16016 16.0098 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83984 0 -16 7.16016 -16 16v342.75c-4.55957 2 -8.91992 4.34961 -12.9902 7.12012l-142.05 -47.6299c-8.37988 -2.81055 -17.4502 1.7002 -20.2598 10.0801l-10.1699 30.3398 +c-2.80957 8.37988 1.7002 17.4502 10.0801 20.2598l128.39 43.0498c-0.419922 3.32031 -1.00977 6.60059 -1.00977 10.0303c0 44.1797 35.8203 80 80 80c29.6904 0 55.2998 -16.3604 69.1104 -40.3701l117.92 39.5303c8.37988 2.80957 17.4502 -1.7002 20.2598 -10.0801 +l10.1699 -30.3398c2.80957 -8.37988 -1.7002 -17.4502 -10.0801 -20.2598l-132 -44.2607c-7.28027 -21.25 -22.96 -38.5293 -43.3799 -47.4697v-294.75h176zM639.98 144c0 -44.1797 -57.29 -80 -127.98 -80s-128 35.8203 -128 80h0.0195312 +c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51zM440 160h144l-72 144zM170.93 197.51c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51h0.0195312c0 -44.1797 -57.3096 -80 -128 -80 +s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0zM56 32h144l-72 144z" /> + <glyph glyph-name="balance-scale-right" unicode="&#xf516;" horiz-adv-x="640" +d="M96 -16c0 8.83984 7.16016 16 16 16h175.99v294.76c-20.4199 8.93066 -36.1006 26.2207 -43.3799 47.4707l-132 44.2598c-8.37012 2.80957 -12.8906 11.8799 -10.0801 20.2598l10.1699 30.3398c2.80957 8.37012 11.8799 12.8906 20.2598 10.0801l117.93 -39.54 +c13.8105 24.0098 39.4199 40.3701 69.1104 40.3701c44.1797 0 80 -35.8203 80 -80c0 -3.42969 -0.589844 -6.70996 -1.00977 -10.0303l128.399 -43.0498c8.37012 -2.80957 12.8906 -11.8799 10.0801 -20.2598l-10.1699 -30.3398 +c-2.80957 -8.37012 -11.8799 -12.8906 -20.2598 -10.0801l-142.05 47.6299c-4.07031 -2.77051 -8.43066 -5.12012 -12.9902 -7.12012v-342.75c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83984 0 -16 7.16016 -16 16v32zM0 144c0 16.1797 -1.32031 8.73047 85.0596 181.51 +c17.6504 35.29 68.1904 35.3604 85.8701 0c87.1299 -174.26 85.0508 -165.84 85.0508 -181.51h0.0195312c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80zM56 160h144l-72 144zM384.02 16c0 16.1797 -1.33984 8.73047 85.04 181.51 +c17.6504 35.29 68.1904 35.3604 85.8701 0c87.1299 -174.26 85.0508 -165.84 85.0508 -181.51h0.0195312c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80h0.0195312zM440 32h144l-72 144z" /> + <glyph glyph-name="blender" unicode="&#xf517;" +d="M416 64c35.3496 0 64 -28.6504 64 -64v-32c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32v32c0 35.3496 28.6504 64 64 64h256zM288 -32c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM328 384 +c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h157.82l-17.46 -64h-140.36c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h131.64l-17.46 -64h-114.18c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h105.46l-17.46 -64 +h-256l-8.73047 96h-103.27c-26.5098 0 -48 21.4902 -48 48v160c0 26.5098 21.4902 48 48 48h464l-17.46 -64h-166.54zM64 256h81.46l-11.6396 128h-69.8203v-128z" /> + <glyph glyph-name="book-open" unicode="&#xf518;" horiz-adv-x="576" +d="M542.22 415.95c18.4199 1.04004 33.7803 -12.9902 33.7705 -30.7002v-337.84c0 -16.2305 -13.1299 -29.7705 -30.0205 -30.6602c-49.4697 -2.59961 -149.52 -12.0996 -218.7 -46.9199c-10.6494 -5.36035 -23.2793 1.93945 -23.2793 13.4902v363.87 +c0 5.2793 2.62988 10.3291 7.26953 13.1699c67.2402 41.1592 176.16 52.4795 230.96 55.5898zM264.73 360.36c4.64941 -2.85059 7.26953 -7.7002 7.26953 -12.9902v-364.12c0 -11.5195 -12.5898 -18.8096 -23.21 -13.46c-69.1797 34.8398 -169.28 44.3496 -218.771 46.9502 +c-16.8896 0.879883 -30.0195 14.4199 -30.0195 30.6602v337.85c0 17.71 15.3604 31.7402 33.7803 30.7002c54.7998 -3.12012 163.72 -14.4307 230.95 -55.5898z" /> + <glyph glyph-name="broadcast-tower" unicode="&#xf519;" horiz-adv-x="640" +d="M150.94 256c-7.01074 0 -13.46 4.5 -15.4004 11.2402c-4.90039 16.9697 -7.54004 34.6396 -7.54004 52.7598s2.63965 35.79 7.53027 52.7695c1.9502 6.74023 8.39941 11.2305 15.4102 11.2305h33.7295c11.0098 0 18.6201 -10.8301 14.8604 -21.1797 +c-4.93066 -13.5801 -7.5498 -27.9805 -7.5498 -42.8203s2.61914 -29.2402 7.5498 -42.8203c3.75 -10.3496 -3.85059 -21.1797 -14.8604 -21.1797h-33.7295zM89.9199 424.66c-16.54 -31.1406 -49.6104 -115.97 0.169922 -209.29 +c5.66016 -10.6299 -1.92969 -23.3701 -13.9502 -23.3701h-34.8398c-6.18945 0 -11.9902 3.50977 -14.6094 9.13965c-23.5703 50.5303 -26.6904 94.1104 -26.6904 118.86c0 42.3496 9.40039 82.46 25.8896 118.69c2.60059 5.71973 8.4707 9.30957 14.7402 9.30957h35.3301 +c12.0098 0 19.5996 -12.7197 13.96 -23.3398zM614.06 438.71c16.5205 -36.2295 25.9404 -76.3496 25.9404 -118.71s-9.42969 -82.4805 -25.96 -118.71c-2.59961 -5.70996 -8.45996 -9.29004 -14.7305 -9.29004h-35.2295c-12.1104 0 -19.6299 12.8398 -13.9102 23.5195 +c48.1396 89.8105 17.9902 174.94 -0.280273 209.23c-5.63965 10.5898 2.04004 23.25 14.0205 23.25h35.4199c6.26953 0 12.1299 -3.58008 14.7295 -9.29004zM489.06 384c7.01074 0 13.46 -4.49023 15.4004 -11.2402c4.90039 -16.9697 7.54004 -34.6396 7.54004 -52.7598 +s-2.62988 -35.79 -7.53027 -52.7598c-1.9502 -6.75 -8.38965 -11.2402 -15.4102 -11.2402h-33.7295c-11.0098 0 -18.6201 10.8301 -14.8604 21.1797c4.93066 13.5801 7.5498 27.9805 7.5498 42.8203s-2.61914 29.2402 -7.5498 42.8203 +c-3.75 10.3496 3.85059 21.1797 14.8604 21.1797h33.7295zM372.76 283.88l130.5 -313.41c3.39062 -8.14941 -0.459961 -17.5195 -8.60938 -20.9199l-29.5107 -12.3096c-8.14941 -3.40039 -17.5098 0.450195 -20.9092 8.60938l-49.2002 118.15h-150.07l-49.1904 -118.15 +c-3.38965 -8.14941 -12.7598 -12.0098 -20.9092 -8.60938l-29.5107 12.3096c-8.14941 3.40039 -12.0098 12.7705 -8.60938 20.9199l130.5 313.41c-7.0498 10.29 -11.2002 22.71 -11.2002 36.1201c0 35.3496 28.6396 64 63.96 64c35.3301 0 63.96 -28.6504 63.96 -64 +c0 -13.4102 -4.15039 -25.8301 -11.2002 -36.1201zM271.62 128h96.7598l-48.3799 116.19z" /> + <glyph glyph-name="broom" unicode="&#xf51a;" horiz-adv-x="640" +d="M256.47 231.23l86.7305 -109.181s-16.6006 -102.359 -76.5703 -150.12c-59.9697 -47.7793 -266.63 -34.1201 -266.63 -34.1201s3.7998 23.1406 11 55.4307l94.6201 112.17c3.96973 4.7002 -0.870117 11.6201 -6.65039 9.5l-60.3994 -22.0898 +c14.4395 41.6602 32.7197 80.04 54.5996 97.4697c59.9697 47.7598 163.3 40.9404 163.3 40.9404zM636.53 416.97c5.48926 -6.91016 4.33984 -16.96 -2.5498 -22.4395l-232.48 -177.8l34.0898 -42.9209c5.08008 -6.39941 1.66016 -15.9092 -6.33984 -17.5996 +l-58.7998 -12.4502l-86.7305 109.181l25.3301 54.5498c3.4502 7.41992 13.5 8.62012 18.5898 2.20996l34.1406 -42.9697l232.479 177.8c6.89062 5.48926 16.9199 4.33984 22.4102 -2.56055z" /> + <glyph glyph-name="chalkboard" unicode="&#xf51b;" horiz-adv-x="640" +d="M96 384v-352h-64v376c0 22.0596 17.9404 40 40 40h496c22.0596 0 40 -17.9404 40 -40v-376h-64v352h-448zM624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h272v64h192v-64 +h144z" /> + <glyph glyph-name="chalkboard-teacher" unicode="&#xf51c;" horiz-adv-x="640" +d="M208 96c62.0596 0 112.33 -50.4805 112 -112.62c-0.139648 -26.2598 -21.7305 -47.3799 -48 -47.3799h-224c-26.2695 0 -47.8604 21.1201 -48 47.3799c-0.330078 62.1396 49.9404 112.62 112 112.62c2.38965 0 4.76953 -0.349609 7.0498 -1.08984 +c12.9697 -4.20996 26.6006 -6.91016 40.9502 -6.91016s27.9805 2.7002 40.9404 6.91016c2.2793 0.740234 4.66992 1.08984 7.05957 1.08984zM160 128c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96s-42.9805 -96 -96 -96zM592 448 +c26.4697 0 48 -22.25 48 -49.5898v-316.82c0 -27.3398 -21.5303 -49.5898 -48 -49.5898h-244.55c-6.57031 25.2695 -20.5898 47.3096 -39.6904 64h76.2402v64h128v-64h64v288h-352v-49.7998c-18.9004 11.0195 -40.5801 17.7998 -64 17.7998v46.4102 +c0 27.3398 21.5303 49.5898 48 49.5898h384z" /> + <glyph glyph-name="church" unicode="&#xf51d;" horiz-adv-x="640" +d="M464.46 201.32c9.63965 -5.78027 15.54 -16.2002 15.54 -27.4404v-237.88h-96v96c0 35.3496 -28.6504 64 -64 64s-64 -28.6504 -64 -64v-96h-96v237.88c0 10.0029 6.96191 22.2959 15.54 27.4404l112.46 67.4795v51.2002h-48c-8.83984 0 -16 7.16016 -16 16v32 +c0 8.83984 7.16016 16 16 16h48v48c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-48h48c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-48v-51.2002zM0 52.04c0.00195312 11.6455 8.68945 24.8252 19.3896 29.4199l108.61 46.54 +v-192h-112c-8.83984 0 -16 7.16016 -16 16v100.04zM620.61 81.46c11.7598 -5.0498 19.3896 -16.6201 19.3896 -29.4199v-100.04c0 -8.83984 -7.16016 -16 -16 -16h-112v192z" /> + <glyph glyph-name="coins" unicode="&#xf51e;" +d="M0 42.7002c41.2998 -29.1006 116.8 -42.7002 192 -42.7002s150.7 13.5996 192 42.7002v-42.7002c0 -35.2998 -86 -64 -192 -64s-192 28.7002 -192 64v42.7002zM320 320c-106 0 -192 28.7002 -192 64s86 64 192 64s192 -28.7002 192 -64s-86 -64 -192 -64zM0 147.6 +c41.2998 -34 116.9 -51.5996 192 -51.5996s150.7 17.5996 192 51.5996v-51.5996c0 -35.2998 -86 -64 -192 -64s-192 28.7002 -192 64v51.5996zM416 136.6v63.6006c38.7002 6.89941 72.7998 18.0996 96 34.5v-42.7002c0 -23.7002 -38.7002 -44.2998 -96 -55.4004zM192 288 +c106 0 192 -35.7998 192 -80s-86 -80 -192 -80s-192 35.7998 -192 80s86 80 192 80zM411.3 231.7c-8.7998 23.7002 -30.5 42.8994 -60 57.2002c64.2002 3.19922 125.2 16.6992 160.7 41.7998v-42.7002c0 -24.2998 -40.7002 -45.5 -100.7 -56.2998z" /> + <glyph glyph-name="compact-disc" unicode="&#xf51f;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM88 192c0 88.2002 71.7998 160 160 160v32c-105.9 0 -192 -86.0996 -192 -192h32zM248 96c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96zM248 224 +c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" /> + <glyph glyph-name="crow" unicode="&#xf520;" horiz-adv-x="640" +d="M544 416c53.0195 0 96 -28.6504 96 -64l-96 -16v-80c0 -87.2598 -58.2598 -160.8 -137.97 -184.14l41.2393 -111.53c2.27051 -6.23047 -0.939453 -13.1104 -7.16992 -15.3799l-22.5498 -8.20996c-6.22949 -2.27051 -13.1094 0.939453 -15.3799 7.16992l-44.5098 120.38 +c-1.90039 -0.0595703 -3.75 -0.290039 -5.66016 -0.290039h-39.0596l38.3291 -103.68c2.27051 -6.23047 -0.939453 -13.1104 -7.16992 -15.3799l-22.5498 -8.20996c-6.22949 -2.27051 -13.1094 0.939453 -15.3799 7.16992l-44.4102 120.1h-96.4902l-121.539 -60.7695 +c-20.0908 -10.04 -43.7305 4.56934 -43.7305 27.0293c0.00195312 8.33984 5.41797 19.168 12.0898 24.1699l371.91 292.59v20.9805c0 44.1797 35.8203 80 80 80c26.0898 0 49.04 -12.6797 63.6396 -32h16.3604zM464 344c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24 +s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" /> + <glyph glyph-name="crown" unicode="&#xf521;" horiz-adv-x="640" +d="M528 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-416c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h416zM592 320c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48c-2.59961 0 -5.2002 0.400391 -7.7002 0.799805l-72.2998 -192.8h-384 +l-72.2998 192.8c-2.5 -0.399414 -5.10059 -0.799805 -7.7002 -0.799805c-26.5 0 -48 21.5 -48 48s21.5996 48 48.0996 48s48 -21.5 48 -48c0 -7.09961 -1.69922 -13.7998 -4.39941 -19.7998l72.2998 -43.4004c15.2998 -9.2002 35.2998 -4 44.2002 11.6006l81.5 142.6 +c-10.7002 8.7998 -17.7002 22 -17.7002 37c0 26.5 21.5 48 48 48s48 -21.5 48 -48c0 -15 -7 -28.2002 -17.7002 -37l81.5 -142.6c8.90039 -15.6006 28.7998 -20.8008 44.2002 -11.6006l72.4004 43.4004c-2.80078 6.09961 -4.40039 12.7002 -4.40039 19.7998 +c0 26.5 21.5 48 48 48z" /> + <glyph glyph-name="dice" unicode="&#xf522;" horiz-adv-x="640" +d="M592 256c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v46.4199l136.26 136.26c24.1201 24.1201 29.6904 59.7305 17 89.3203h118.74zM480 72c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24 +s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM433.63 258.7c19.1602 -19.1602 19.1602 -50.2305 0 -69.4004l-174.939 -174.93c-19.1602 -19.1602 -50.2305 -19.1602 -69.3906 0l-174.93 174.939c-19.1602 19.1602 -19.1602 50.2305 0 69.3906l174.939 174.93 +c19.1602 19.1602 50.2305 19.1602 69.3906 0zM96 200c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM224 72c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z +M224 200c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM224 328c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM352 200c13.25 0 24 10.75 24 24 +c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" /> + <glyph glyph-name="dice-five" unicode="&#xf523;" horiz-adv-x="448" +d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256 +c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM224 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="dice-four" unicode="&#xf524;" horiz-adv-x="448" +d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256 +c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="dice-one" unicode="&#xf525;" horiz-adv-x="448" +d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM224 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="dice-six" unicode="&#xf526;" horiz-adv-x="448" +d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 160 +c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="dice-three" unicode="&#xf527;" horiz-adv-x="448" +d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM224 160 +c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="dice-two" unicode="&#xf528;" horiz-adv-x="448" +d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64 +c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="divide" unicode="&#xf529;" horiz-adv-x="448" +d="M224 96c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64s-64 28.6504 -64 64s28.6504 64 64 64zM224 288c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM416 240c17.6699 0 32 -14.3301 32 -32v-32 +c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384z" /> + <glyph glyph-name="door-closed" unicode="&#xf52a;" horiz-adv-x="640" +d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h111.99v397.2c0 28.0195 21.5293 50.7998 48 50.7998h288.01c26.4697 0 48 -22.7803 48 -50.7998v-397.2h112zM415.99 160 +c17.6797 0 32.0098 14.3301 32 32c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="door-open" unicode="&#xf52b;" horiz-adv-x="640" +d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-144v384h-96v64h112c26.4697 0 48 -22.1904 48 -49.4502v-334.55h80zM312.24 446.99c20.2002 5.24023 39.7598 -10.5898 39.7598 -32.1699v-478.82h-336c-8.83984 0 -16 7.16016 -16 16v32 +c0 8.83984 7.16016 16 16 16h80v365.08c0 15.2197 9.99023 28.4795 24.2402 32.1699zM264 160c13.25 0 24 14.3301 24 32s-10.75 32 -24 32s-24 -14.3301 -24 -32s10.75 -32 24 -32z" /> + <glyph glyph-name="equals" unicode="&#xf52c;" horiz-adv-x="448" +d="M416 144c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384zM416 336c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32 +v32c0 17.6699 14.3301 32 32 32h384z" /> + <glyph glyph-name="feather" unicode="&#xf52d;" +d="M467.14 403.16c50.5703 -50.5205 61.7002 -124.9 16.2607 -199.36l-131.54 -43.7998h97.7793c-9.92969 -10.6797 3.68066 3.07031 -46.3096 -46.8604l-147.57 -49.1396h98.1904c-74.9502 -73.1104 -194.53 -70.6504 -246.83 -54.9404l-66.1006 -66.0293 +c-9.37988 -9.37012 -24.5996 -9.37012 -33.9795 0s-9.37988 24.5693 0 33.9395l259.52 259.25c6.25 6.25 6.25 16.3799 0 22.6299s-16.3896 6.25 -22.6494 0l-178.44 -178.25c-6.75 60.3408 3.18066 150.78 63.6406 211.17c24.7695 24.7402 7.13965 7.14062 85.75 85.6602 +c90.6094 90.5107 189.729 88.21 252.279 25.7305z" /> + <glyph glyph-name="frog" unicode="&#xf52e;" horiz-adv-x="576" +d="M446.53 350.57c0 0 58.4297 -19.0605 98.9893 -41.2803c18.7607 -10.2803 30.4805 -29.8301 30.4805 -51.2305v-0.00292969c0 -18.8037 -13.3105 -41.5283 -29.71 -50.7266l-154.44 -86.6504l98.5205 -104.68h53.6299c17.6699 0 32 -14.3301 32 -32 +c0 -8.83984 -7.16016 -16 -16 -16h-90.3799l-118.53 125.94c5.07031 54.1494 -29.9297 85.0596 -40.7998 93.21c-36.8496 27.6191 -88.29 27.6592 -125.13 0l-34.7803 -26.0908c-7.07031 -5.2998 -8.49023 -15.3291 -3.18945 -22.4092 +c5.31934 -7.10059 15.3496 -8.5 22.4092 -3.19043l32.7607 24.5898c20.6895 15.5303 48.3496 20.8105 72.2393 10.8799c44.0605 -18.3193 57.8506 -70.3701 33.71 -106.6l-35.7998 -48.3301h79.4902c17.6699 0 32 -14.3301 32 -32c0 -8.83984 -7.16016 -16 -16 -16h-304 +c-34.9199 0 -63.8896 28.0996 -64 63.0195c-0.5 166.86 126.75 304.021 289.46 319.44c6.82031 37.25 39.3096 65.54 78.54 65.54c39.1904 0 71.6699 -28.2305 78.5303 -65.4297zM368 312c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24 +c-13.2598 0 -24 -10.7402 -24 -24c0 -13.25 10.7402 -24 24 -24z" /> + <glyph glyph-name="gas-pump" unicode="&#xf52f;" +d="M336 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-320c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h320zM493.2 340.7c12 -12 18.7998 -28.2998 18.7998 -45.2998v-223.4c0 -42.2002 -36.5 -76 -79.5 -71.7002 +c-37.5 3.90039 -64.5 38.2002 -64.5 75.9004v27.7998c0 22.0996 -17.9004 40 -40 40h-8v-112h-288v352c0 35.2998 28.7002 64 64 64h160c35.2998 0 64 -28.7002 64 -64v-192h8c48.5996 0 88 -39.4004 88 -88v-32c0 -13.2002 10.7998 -24 24 -24s24 10.7998 24 24v160.8 +c-27.0996 3.90039 -48 27.1006 -48 55.2002v62.0996l-37.7002 37.7002c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l11.2998 11.2998c6.2002 6.2002 16.4004 6.2002 22.6006 0zM256 256v128h-160v-128h160z" /> + <glyph glyph-name="glasses" unicode="&#xf530;" horiz-adv-x="576" +d="M574.1 167.63c1.26074 -5.07031 1.90039 -10.2695 1.90039 -15.5v-70.25c0 -62.8896 -51.5801 -113.88 -115.2 -113.88h-37.1201c-60.2793 0 -110.37 45.9404 -114.87 105.37l-2.92969 38.6299h-35.75l-2.92969 -38.6299 +c-4.50977 -59.4297 -54.6006 -105.37 -114.88 -105.37h-37.1201c-63.6201 0 -115.2 50.9902 -115.2 113.89v70.25c0.000976562 4.33984 0.852539 11.2793 1.90039 15.4902l45.3398 181.73c5.91016 23.6895 21.5898 44.0293 43 55.7998 +c21.4395 11.7402 46.9697 14.1094 70.1895 6.33008l15.25 -5.08008c8.39062 -2.79004 12.9199 -11.8604 10.1201 -20.2402l-5.05957 -15.1797c-2.79004 -8.37988 -11.8506 -12.9102 -20.2305 -10.1201l-13.1699 4.38965 +c-10.8701 3.62012 -22.9902 3.57031 -33.1494 -1.72949c-10.29 -5.36035 -17.5908 -14.5605 -20.3809 -25.8105l-38.46 -153.83c22.1904 6.81055 49.79 12.46 81.21 12.46c34.7803 0 73.9902 -7.00977 114.86 -26.75h73.1797 +c40.8701 19.7207 80.0801 26.7402 114.851 26.7402c31.4102 0 59.0098 -5.64941 81.2002 -12.46l-38.46 153.82c-2.80078 11.2598 -10.0801 20.4502 -20.3701 25.8193c-10.1602 5.30078 -22.29 5.35059 -33.1602 1.73047l-13.1797 -4.38965 +c-8.38086 -2.79004 -17.4404 1.73926 -20.2305 10.1201l-5.05957 15.1797c-2.80078 8.37988 1.72949 17.4502 10.1191 20.2402l15.25 5.08008c23.2207 7.7793 48.75 5.39941 70.1904 -6.33008c21.4102 -11.7607 37.0898 -32.1104 43 -55.8105zM203.38 78.21l3.12988 41.2197 +c-22.6699 8.58984 -46.0693 12.9199 -69.9297 12.9199c-29.1602 0 -54.46 -6.42969 -72.5801 -12.9199v-37.54c0 -27.5098 22.9697 -49.8896 51.2002 -49.8896h37.1201c26.6602 0 49.0898 20.2998 51.0596 46.21zM512 81.8799l-0.00976562 37.54 +c-18.1201 6.49023 -43.4307 12.9297 -72.5498 12.9297c-23.8701 0 -47.2803 -4.33008 -69.9502 -12.9199l3.12988 -41.2197c1.95996 -25.9102 24.3896 -46.21 51.0596 -46.21h37.1201c28.2305 0 51.2002 22.3701 51.2002 49.8799z" /> + <glyph glyph-name="greater-than" unicode="&#xf531;" horiz-adv-x="384" +d="M365.52 238.15c11.2803 -5.25 18.4805 -16.5605 18.4902 -29.0107v-34.2295c-0.00195312 -11.2529 -8.28027 -24.2451 -18.4795 -29l-306.471 -142.91c-16.0195 -7.46973 -35.0596 -0.540039 -42.5293 15.4805l-13.5205 29 +c-7.46973 16.0195 -0.540039 35.0596 15.4805 42.5293l218.47 101.891l-218.43 101.85c-16.0605 7.49023 -23.0107 26.5801 -15.5205 42.6396l13.5703 29.0801c7.49023 16.0605 26.5801 23.0107 42.6396 15.5205z" /> + <glyph glyph-name="greater-than-equal" unicode="&#xf532;" horiz-adv-x="448" +d="M55.2197 340.31c-18.29 6 -27.7393 24.2607 -21.0996 40.79l12.0303 29.9199c6.63965 16.5303 26.8594 25.0605 45.1494 19.0605l301.72 -119.98c13.7705 -4.51953 22.9805 -16.6094 22.9805 -30.1699v-15.96c0 -13.5596 -9.20996 -25.6494 -22.9805 -30.1699 +l-301.409 -119.859c-18.3906 -6.04004 -38.7002 2.54004 -45.3799 19.1494l-12.0908 30.0801c-6.67969 16.6104 2.81055 34.9697 21.2002 41l175.44 68.0498zM424 48c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-400c-13.25 0 -24 10.75 -24 24v48 +c0 13.2598 10.75 24 24 24h400z" /> + <glyph glyph-name="helicopter" unicode="&#xf533;" horiz-adv-x="640" +d="M304 64c-8.83105 0 -20.3018 5.73438 -25.5996 12.7998l-86.4004 115.2l-160 64l-31.5098 108.12c-2.53027 10.0996 5.10938 19.8799 15.5195 19.8799h39.9902c5.03027 0 9.78027 -2.37012 12.7998 -6.40039l43.2002 -57.5996h208v64h-176c-8.83984 0 -16 7.16016 -16 16 +v32c0 8.83984 7.16016 16 16 16h416c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-176v-64c123.71 0 224 -100.29 224 -224c0 -17.6699 -14.3301 -32 -32 -32h-272zM416 252.49v-124.49h124.79c-12.7598 62.5596 -62.2402 111.7 -124.79 124.49z +M635.37 -10.8096c6.58984 -6.61035 6.04004 -17.5205 -0.980469 -23.6602c-33.1494 -29.0498 -53.5693 -29.5205 -68.4492 -29.5205h-325.94c-8.83984 0 -16 7.18066 -16 16.0303v32.0596c0 8.85059 7.16016 16.0303 16 16.0303h325.94 +c10.7998 0 17.5498 4.48047 24.6396 11.25c6.40039 6.11035 16.3896 6.27051 22.6396 0.00976562z" /> + <glyph glyph-name="infinity" unicode="&#xf534;" horiz-adv-x="640" +d="M471.1 352c93.1006 0 168.9 -71.7998 168.9 -160s-75.7998 -160 -168.9 -160c-66.0996 0 -117.8 41.2998 -151.1 78.5996c-33.2998 -37.2998 -85 -78.5996 -151.1 -78.5996c-93.1006 0 -168.9 71.7998 -168.9 160s75.7998 160 168.9 160 +c66.0996 0 117.8 -41.2998 151.1 -78.5996c33.2998 37.2998 85 78.5996 151.1 78.5996zM168.9 128c38.0996 0 73.5996 36.4004 94 64c-20.6006 27.9004 -55.8008 64 -94 64c-40.2002 0 -72.9004 -28.7002 -72.9004 -64s32.7002 -64 72.9004 -64zM471.1 128 +c40.2002 0 72.9004 28.7002 72.9004 64s-32.7002 64 -72.9004 64c-38.0996 0 -73.5996 -36.4004 -94 -64c20.6006 -27.9004 55.8008 -64 94 -64z" /> + <glyph glyph-name="kiwi-bird" unicode="&#xf535;" horiz-adv-x="576" +d="M575.81 230.02c0.300781 -5.7793 0.160156 -246.02 0.160156 -246.02c0 -7.30957 -4.95996 -13.7002 -12.0498 -15.5c-1.30957 -0.339844 -2.63965 -0.5 -3.9502 -0.5c-5.75 0 -11.1895 3.11035 -14.0498 8.33984l-74.4102 136.44 +c-7.04004 -0.470703 2.43066 -0.780273 -23.0498 -0.780273c-54.5996 0 -106.39 -19.25 -152.13 -49.0596c-12.46 -8.12012 -26.0996 -14.4502 -40.3398 -19.5107v-59.4297c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v49.1797 +c-5.32031 -0.449219 -10.5605 -1.17969 -16 -1.17969c-16.6006 0 -32.6406 2.2998 -48 6.25977v-54.2598c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v73.9902c-57.3105 33.21 -95.9502 95.0596 -95.9902 166.01 +c-0.0800781 145.76 129.3 182.88 147.31 186.94c57.1709 12.9199 111.221 0.259766 153.21 -28.7002c43.4902 -29.9902 94.9209 -46.2402 147.74 -46.2402h9.37012c60.6504 0 115.01 -45.4102 118.18 -105.98zM463.97 200c13.25 0 24 10.75 24 24 +c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM543.97 46.75v99.0596c-11.1299 -11.3799 -24.7393 -20.1494 -39.8594 -25.9795z" /> + <glyph glyph-name="less-than" unicode="&#xf536;" horiz-adv-x="384" +d="M365.46 90.2598c16.0703 -7.49023 23.0205 -26.5801 15.5303 -42.6396l-13.5605 -29.0801c-7.48926 -16.0596 -26.5801 -23.0098 -42.6396 -15.5205l-306.31 142.83c-11.2705 5.25 -18.4805 16.5605 -18.4805 29v34.2402c0.00488281 11.252 8.2832 24.2432 18.4805 29 +l306.46 142.91c16.0195 7.46973 35.0596 0.540039 42.5293 -15.4805l13.5205 -29c7.46973 -16.0195 0.540039 -35.0596 -15.4805 -42.5293l-218.47 -101.88z" /> + <glyph glyph-name="less-than-equal" unicode="&#xf537;" horiz-adv-x="448" +d="M54.9805 233.8c-13.7705 4.52051 -22.9805 16.6104 -22.9805 30.1699v15.96c0 13.5703 9.20996 25.6602 22.9805 30.1807l301.71 119.96c18.29 6 38.5098 -2.53027 45.1494 -19.0605l12.0303 -29.9199c6.63965 -16.5195 -2.81055 -34.79 -21.1006 -40.79 +l-175.56 -68.0898l175.44 -68.0498c18.3896 -6.03027 27.8896 -24.3906 21.21 -41l-12.0908 -30.0801c-6.66992 -16.6104 -26.9893 -25.1797 -45.3799 -19.1504zM424 48c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-400c-13.25 0 -24 10.75 -24 24v48 +c0 13.2598 10.75 24 24 24h400z" /> + <glyph glyph-name="memory" unicode="&#xf538;" horiz-adv-x="640" +d="M640 317.06c-18.5996 -6.60938 -32 -24.1895 -32 -45.0596s13.4004 -38.4502 32 -45.0596v-98.9404h-640v98.9404c18.5996 6.60938 32 24.1895 32 45.0596s-13.4004 38.4502 -32 45.0596v34.9404c0 17.6699 14.3301 32 32 32h576c17.6699 0 32 -14.3301 32 -32v-34.9404z +M224 192v128h-64v-128h64zM352 192v128h-64v-128h64zM480 192v128h-64v-128h64zM0 0v96h640v-96h-64v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699 +c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-64z" /> + <glyph glyph-name="microphone-alt-slash" unicode="&#xf539;" horiz-adv-x="640" +d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705 +c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l178.53 -138v45.3604c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301 +c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.0596l41.3994 -32h43.6699c0 -10.4502 -2.17969 -20.2705 -5.2793 -29.6699l26.5498 -20.5205c6.75977 15.4004 10.7197 32.2803 10.7197 50.2002v48 +c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-48c0 -28.9805 -7.25977 -56.21 -19.7402 -80.3301zM400 -16c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56 +v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v6.85059l52.0303 -40.2207c12.4395 -53.2197 55.3301 -96.3994 111.18 -101.85c6.94043 -0.669922 13.6396 -0.200195 20.3496 0.200195l50.4004 -38.96c-10.8604 -3.80078 -22.25 -6.45996 -33.96 -8.08008v-33.7803 +h56z" /> + <glyph glyph-name="money-bill-wave" unicode="&#xf53a;" horiz-adv-x="640" +d="M621.16 393.54c11.6094 -4.87012 18.8398 -16.8301 18.8496 -29.4697v-317.25c0 -18.4902 -15.04 -31.8105 -32.25 -31.8105c-3.39941 0 -6.87988 0.520508 -10.3496 1.62012c-30.8906 9.7998 -61.7598 13.7197 -92.6504 13.7197 +c-123.17 0 -246.34 -62.3496 -369.51 -62.3496c-38.7998 0 -77.6201 6.19043 -116.41 22.4697c-11.6094 4.86035 -18.8398 16.8301 -18.8398 29.46v317.261c0 18.4893 15.04 31.8096 32.25 31.8096c3.40039 0 6.87988 -0.519531 10.3496 -1.62012 +c30.8906 -9.7998 61.7607 -13.7197 92.6504 -13.7197c123.17 0 246.33 62.3496 369.5 62.3398c38.7998 0 77.6201 -6.19043 116.41 -22.46zM48 315.78v-60.4707c31 0 56.8398 22.1504 62.7197 51.54c-21.5996 1.36035 -42.5996 3.89062 -62.7197 8.93066zM48 30.7803 +c20.1201 -7.31055 41.1797 -11.8105 63.71 -13.6201c-1.53027 34.1299 -29.3398 61.3994 -63.71 61.3994v-47.7793zM320 96c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96zM592 68.2197v57.7207 +c-26.8203 -3.40039 -48.4502 -23.2002 -54.3203 -49.2803c18.6104 -1.58984 36.8008 -4.0498 54.3203 -8.44043zM592 304.33v48.8896c-17.7197 6.43066 -36.2695 10.4902 -55.8096 12.6602c0.949219 -31.8496 24.9199 -57.6396 55.8096 -61.5498z" /> + <glyph glyph-name="money-bill-wave-alt" unicode="&#xf53b;" horiz-adv-x="640" +d="M621.16 393.54c11.6094 -4.87012 18.8398 -16.8301 18.8496 -29.4697v-317.25c0 -18.4902 -15.04 -31.8105 -32.25 -31.8105c-3.39941 0 -6.87988 0.520508 -10.3496 1.62012c-30.8906 9.7998 -61.7598 13.7197 -92.6504 13.7197 +c-123.17 0 -246.34 -62.3496 -369.51 -62.3496c-38.7998 0 -77.6201 6.19043 -116.41 22.4697c-11.6094 4.86035 -18.8398 16.8301 -18.8398 29.46v317.261c0 18.4893 15.04 31.8096 32.25 31.8096c3.40039 0 6.87988 -0.519531 10.3496 -1.62012 +c30.8906 -9.7998 61.7607 -13.7197 92.6504 -13.7197c123.17 0 246.33 62.3496 369.5 62.3398c38.7998 0 77.6201 -6.19043 116.41 -22.46zM320 96c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96z" /> + <glyph glyph-name="money-check" unicode="&#xf53c;" horiz-adv-x="640" +d="M0 0v320h640v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32zM448 208v-32c0 -8.83984 7.16016 -16 16 -16h96c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-96c-8.83984 0 -16 -7.16016 -16 -16zM448 88v-16 +c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8zM64 184v-16c0 -4.41992 3.58008 -8 8 -8h304c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-304c-4.41992 0 -8 -3.58008 -8 -8z +M64 88v-16c0 -4.41992 3.58008 -8 8 -8h176c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-176c-4.41992 0 -8 -3.58008 -8 -8zM624 416c8.83984 0 16 -7.16016 16 -16v-48h-640v48c0 8.83984 7.16016 16 16 16h608z" /> + <glyph glyph-name="money-check-alt" unicode="&#xf53d;" horiz-adv-x="640" +d="M608 416c17.6699 0 32 -14.3301 32 -32v-384c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v384c0 17.6699 14.3301 32 32 32h576zM176 120.12c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896 +l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21 +c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703 +c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973 +c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16.1201zM416 136v16 +c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8zM576 136v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8z +M576 232v16c0 4.41992 -3.58008 8 -8 8h-272c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h272c4.41992 0 8 3.58008 8 8z" /> + <glyph glyph-name="not-equal" unicode="&#xf53e;" horiz-adv-x="448" +d="M416 240h-98.4199l-74.5303 -96h172.95c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-247.48l-82.0898 -105.73c-5.37012 -7.00977 -15.4102 -8.34961 -22.4297 -2.96973l-25.4102 19.46c-7.00977 5.37988 -8.33984 15.4199 -2.96973 22.4307 +l51.8701 66.8096h-55.4902c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h130.03l74.5293 96h-204.56c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h279.09l82.0801 105.73c5.37988 7.00977 15.4199 8.34961 22.4404 2.96973 +l25.4092 -19.46c7.01074 -5.37012 8.34082 -15.4102 2.9707 -22.4307l-51.8701 -66.8096h23.8799c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32z" /> + <glyph glyph-name="palette" unicode="&#xf53f;" +d="M204.3 443c163.8 31.9004 307.2 -92.0996 307.7 -249.7c-0.0996094 -35.7002 -29.0996 -65.2998 -64.9004 -65.2998h-79.6992c-51 0 -84 -53 -60.9004 -98.4004c18.9004 -37.0996 -1.2998 -85.2998 -42.5 -91.6992c-127.1 -19.7002 -295.8 119.699 -258.8 306.699 +c19.5996 99.1006 99.7002 179 199.1 198.4zM96 128c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM128 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 320 +c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM384 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="parking" unicode="&#xf540;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM240 128c52.9004 0 96 43.0996 96 96s-43.0996 96 -96 96h-96c-8.7998 0 -16 -7.2002 -16 -16v-224c0 -8.7998 7.2002 -16 16 -16h32 +c8.7998 0 16 7.2002 16 16v48h48zM240 256c17.5996 0 32 -14.4004 32 -32s-14.4004 -32 -32 -32h-48v64h48z" /> + <glyph glyph-name="percentage" unicode="&#xf541;" horiz-adv-x="384" +d="M109.25 274.75c-24.9902 -25 -65.5098 -25 -90.5098 0c-24.9902 24.9902 -24.9902 65.5195 0 90.5098s65.5195 24.9902 90.5098 0s24.9902 -65.5195 0 -90.5098zM365.25 109.26c25 -25 25 -65.5195 0 -90.5098c-24.9902 -24.9902 -65.5195 -24.9902 -90.5098 0 +s-24.9902 65.5195 0 90.5098s65.5195 24.9902 90.5098 0zM363.31 340.69c12.5 -12.5 12.5 -32.7607 0 -45.25l-274.75 -274.75c-12.4893 -12.5 -32.75 -12.5 -45.25 0l-22.6191 22.6191c-12.5 12.4902 -12.5 32.75 0 45.25l274.75 274.75c12.4893 12.5 32.75 12.5 45.25 0z +" /> + <glyph glyph-name="project-diagram" unicode="&#xf542;" horiz-adv-x="640" +d="M384 128c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-128c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h128zM192 416v-32h224v-64h-224v-47.5098l64.2803 -112.49h-0.280273c-23.5996 0 -44.0195 -12.9805 -55.1201 -32.04 +l-73.1602 128.04h-95.7197c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32zM608 448c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-128c-17.6699 0 -32 14.3301 -32 32v128 +c0 17.6699 14.3301 32 32 32h128z" /> + <glyph glyph-name="receipt" unicode="&#xf543;" horiz-adv-x="384" +d="M358.4 444.8c10.5996 7.90039 25.5996 0.400391 25.5996 -12.7998v-480c0 -13.2002 -15.0996 -20.7002 -25.5996 -12.7998l-38.4004 44.7998l-54.4004 -44.7998c-2.35059 -1.78027 -6.65137 -3.22559 -9.59961 -3.22559s-7.24902 1.44531 -9.59961 3.22559 +l-54.4004 44.7998l-54.4004 -44.7998c-2.35059 -1.78027 -6.65137 -3.22559 -9.59961 -3.22559s-7.24902 1.44531 -9.59961 3.22559l-54.4004 44.7998l-38.4004 -44.7998c-10.5996 -7.90039 -25.5996 -0.400391 -25.5996 12.7998v480c0 13.2002 15 20.7002 25.5996 12.7998 +l38.4004 -44.7998l54.4004 44.7998c2.35059 1.78027 6.65137 3.22559 9.59961 3.22559s7.24902 -1.44531 9.59961 -3.22559l54.4004 -44.7998l54.4004 44.7998c2.35059 1.78027 6.65137 3.22559 9.59961 3.22559s7.24902 -1.44531 9.59961 -3.22559l54.4004 -44.7998z +M320 88v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8zM320 184v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240 +c4.40039 0 8 3.59961 8 8zM320 280v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8z" /> + <glyph glyph-name="robot" unicode="&#xf544;" horiz-adv-x="640" +d="M0 192c0 17.7002 14.2998 32 32 32h32v-192h-32c-17.7002 0 -32 14.2998 -32 32v128zM464 352c44.2002 0 80 -35.7998 80 -80v-272c0 -35.2998 -28.7002 -64 -64 -64h-320c-35.2998 0 -64 28.7002 -64 64v272c0 44.2002 35.7998 80 80 80h112v64 +c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-64h112zM256 32v32h-64v-32h64zM224 152c22.0996 0 40 17.9004 40 40s-17.9004 40 -40 40s-40 -17.9004 -40 -40s17.9004 -40 40 -40zM352 32v32h-64v-32h64zM448 32v32h-64v-32h64zM416 152c22.0996 0 40 17.9004 40 40 +s-17.9004 40 -40 40s-40 -17.9004 -40 -40s17.9004 -40 40 -40zM608 224c17.7002 0 32 -14.2998 32 -32v-128c0 -17.7002 -14.2998 -32 -32 -32h-32v192h32z" /> + <glyph glyph-name="ruler" unicode="&#xf545;" horiz-adv-x="640" +d="M635.7 280.8c8.7998 -15 3.59961 -34.2002 -11.6006 -42.7998l-496.8 -281.9c-15.2002 -8.59961 -34.7002 -3.5 -43.5 11.5l-79.5996 135.601c-8.7998 15 -3.5 34.0996 11.7002 42.7998l69 39.0996l59.6992 -101.399c2.2002 -3.7998 7.10059 -5.10059 10.9004 -2.90039 +l13.7998 7.7998c3.7998 2.2002 5.10059 7 2.90039 10.7002l-59.7002 101.7l55.2002 31.2998l27.8994 -47.5c2.2002 -3.7998 7.10059 -5.09961 10.9004 -2.89941l13.7998 7.7998c3.7998 2.2002 5.10059 6.89941 2.90039 10.7002l-27.9004 47.3994l55.2002 31.2998 +l59.7002 -101.699c2.2002 -3.80078 7.09961 -5.10059 10.8994 -2.90039l13.8008 7.7998c3.7998 2.2002 5.09961 7 2.89941 10.7002l-59.7998 101.7l55.2002 31.2998l27.8994 -47.2998c2.2002 -3.7998 7.10059 -5.10059 10.9004 -2.90039l13.7998 7.7998 +c3.7998 2.2002 5.10059 6.90039 2.90039 10.7002l-27.9004 47.4004l55.2002 31.2998l59.7002 -101.6c2.2002 -3.80078 7.09961 -5.10059 10.8994 -2.90039l13.8008 7.7998c3.7998 2.2002 5.09961 6.90039 2.89941 10.7002l-59.7002 101.7l69 39.0996 +c15.2002 8.60059 34.7002 3.5 43.5 -11.5z" /> + <glyph glyph-name="ruler-combined" unicode="&#xf546;" +d="M160 160v-41.3799l-158.43 -158.42c-0.660156 2.55957 -1.57031 5.03027 -1.57031 7.7998v448c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32v-32h-56c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56v-64h-56 +c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56v-64h-56c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56zM480 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-448 +c-2.75977 0 -5.24023 0.910156 -7.7998 1.57031l158.43 158.43h41.3701v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v56h64v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v56h64v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8 +v56h32z" /> + <glyph glyph-name="ruler-horizontal" unicode="&#xf547;" horiz-adv-x="576" +d="M544 320c17.6699 0 32 -14.3301 32 -32v-192c0 -17.6699 -14.3301 -32 -32 -32h-512c-17.6699 0 -32 14.3301 -32 32v192c0 17.6699 14.3301 32 32 32h48v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16 +c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h48z" /> + <glyph glyph-name="ruler-vertical" unicode="&#xf548;" horiz-adv-x="256" +d="M168 32h88v-64c0 -17.6699 -14.3301 -32 -32 -32h-192c-17.6699 0 -32 14.3301 -32 32v448c0 17.6699 14.3301 32 32 32h192c17.6699 0 32 -14.3301 32 -32v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88 +c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8z" /> + <glyph glyph-name="school" unicode="&#xf549;" horiz-adv-x="640" +d="M0 224c0 17.6699 14.3301 32 32 32h64v-320h-80c-8.83984 0 -16 7.16016 -16 16v272zM360 272c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v64c0 4.41992 3.58008 8 8 8h16c4.41992 0 8 -3.58008 8 -8v-40h24z +M497.75 335.96c8.90039 -5.92969 14.25 -15.9297 14.25 -26.6299v-373.33h-128v144c0 8.83984 -7.16016 16 -16 16h-96c-8.83984 0 -16 -7.16016 -16 -16v-144h-128v373.34c0.00195312 9.45117 6.38574 21.377 14.25 26.6201l160 106.67 +c4.4502 2.96484 12.4023 5.37012 17.75 5.37012s13.2998 -2.40527 17.75 -5.37012zM320 192c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM608 256c17.6699 0 32 -14.3301 32 -32v-272c0 -8.83984 -7.16016 -16 -16 -16h-80 +v320h64z" /> + <glyph glyph-name="screwdriver" unicode="&#xf54a;" +d="M448 448l64 -64l-96 -128h-62.0596l-83.0303 -83.0303c-4.25 6.79004 -9.07031 13.2705 -14.8701 19.0703c-5.7998 5.80957 -12.2803 10.6201 -19.0703 14.8701l83.0303 83.0303v62.0596zM128 169.41c29.1104 29.1094 76.2998 29.1094 105.41 0 +c29.1094 -29.1104 29.1094 -76.2998 0 -105.41l-117.08 -117.08c-14.5605 -14.5596 -38.1504 -14.5596 -52.71 0l-52.7002 52.7002c-14.5498 14.5596 -14.5498 38.1602 0 52.71z" /> + <glyph glyph-name="shoe-prints" unicode="&#xf54b;" horiz-adv-x="640" +d="M192 288c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64h32v-128h-32zM0 32c0 35.3496 28.6504 64 64 64h32v-128h-32c-35.3496 0 -64 28.6504 -64 64zM337.46 160c90.3604 0 174.54 -32 174.54 -96c0 -45.2197 -39.0996 -97.2998 -148.58 -120.82 +c-31.9795 -6.87012 -64.8896 -8.50977 -97.5801 -6.19922c-27.2998 1.92969 -54.0996 7.76953 -80.3096 15.0498l-57.5303 15.9697v128c60.21 0 79.9404 15.6201 104.73 32c28.5693 18.8799 69.8193 32 104.729 32zM491.42 440.81 +c109.48 -23.5098 148.58 -75.5898 148.58 -120.81c0 -64 -84.1797 -96 -174.54 -96c-34.9102 0 -76.1602 13.1201 -104.729 32c-24.79 16.3799 -44.5303 32 -104.73 32v128l57.5303 15.9697c26.21 7.27051 53.0098 13.1104 80.3096 15.04 +c32.6904 2.32031 65.6006 0.669922 97.5801 -6.2002z" /> + <glyph glyph-name="skull" unicode="&#xf54c;" +d="M256 448c141.4 0 256 -100.3 256 -224c0 -70.0996 -36.9004 -132.6 -94.5 -173.7c-9.7002 -6.89941 -15.2002 -18.2002 -13.5 -29.8994l9.40039 -66.2002c1.39941 -9.60059 -6 -18.2002 -15.7002 -18.2002h-77.7002v56c0 4.40039 -3.59961 8 -8 8h-16 +c-4.40039 0 -8 -3.59961 -8 -8v-56h-64v56c0 4.40039 -3.59961 8 -8 8h-16c-4.40039 0 -8 -3.59961 -8 -8v-56h-77.7002c-9.7002 0 -17.0996 8.59961 -15.7002 18.2002l9.40039 66.2002c1.7002 11.7998 -3.90039 23 -13.5 29.8994 +c-57.5996 41.1006 -94.5 103.601 -94.5 173.7c0 123.7 114.6 224 256 224zM160 128c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM352 128c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64 +s28.7002 -64 64 -64z" /> + <glyph glyph-name="smoking-ban" unicode="&#xf54d;" +d="M96 144v64c0 8.7998 7.2002 16 16 16h21.5l96 -96h-117.5c-8.7998 0 -16 7.2002 -16 16zM256 448c141.4 0 256 -114.6 256 -256s-114.6 -256 -256 -256s-256 114.6 -256 256s114.6 256 256 256zM256 0c41.4004 0 79.7002 13.2998 111.1 35.7002l-267.399 267.399 +c-22.4004 -31.3994 -35.7002 -69.6992 -35.7002 -111.1c0 -105.9 86.0996 -192 192 -192zM301.2 192l32 -32h50.7998v32h-82.7998zM412.3 80.9004c22.4004 31.3994 35.7002 69.6992 35.7002 111.1c0 105.9 -86.0996 192 -192 192 +c-41.4004 0 -79.7002 -13.2998 -111.1 -35.7002l124.3 -124.3h130.8c8.7998 0 16 -7.2002 16 -16v-64c0 -8.7998 -7.2002 -16 -16 -16h-34.7998zM320.6 320c32.1006 0 58.7002 -23.7002 63.3008 -54.5996c0.699219 -4.90039 -3 -9.40039 -8 -9.40039h-16.2002 +c-3.7002 0 -7 2.5 -7.7002 6.09961c-2.7998 14.7002 -15.7998 25.9004 -31.4004 25.9004c-32.0996 0 -58.6992 23.7002 -63.2998 54.5996c-0.700195 4.90039 3 9.40039 8 9.40039h16.2002c3.7002 0 7 -2.5 7.7002 -6.09961 +c2.7998 -14.7002 15.7998 -25.9004 31.3994 -25.9004z" /> + <glyph glyph-name="store" unicode="&#xf54e;" horiz-adv-x="616" +d="M602 329.4c33.5996 -53.6006 3.7998 -128 -59 -136.4c-4.5 -0.599609 -9 -0.900391 -13.7002 -0.900391c-29.5 0 -55.7002 13 -73.7998 33.1006c-18 -20.1006 -44.2002 -33.1006 -73.7998 -33.1006c-29.5 0 -55.7998 13 -73.7998 33.1006 +c-18 -20.1006 -44.2002 -33.1006 -73.8008 -33.1006c-29.5 0 -55.7998 13 -73.7998 33.1006c-18 -20.1006 -44.2002 -33.1006 -73.7998 -33.1006c-4.59961 0 -9.2002 0.300781 -13.7002 0.900391c-62.5996 8.5 -92.2998 82.9004 -58.7998 136.4l64.9004 103.6 +c5.7998 9.2998 16.0996 15 27.0996 15h404c11 0 21.2998 -5.7002 27.0996 -15zM529.5 160c6.09961 0 12.0996 0.400391 18.2002 1.2002c5.59961 0.700195 11 2 16.3994 3.59961v-196.8c0 -17.7002 -14.2998 -32 -32 -32h-448c-17.6992 0 -32 14.2998 -32 32v196.8 +c5.30078 -1.5 10.8008 -2.7998 16.4004 -3.59961c5.90039 -0.799805 12 -1.2002 18 -1.2002c10 0 19.9004 1.59961 29.5 3.7998v-99.7998h384v99.7998c9.59961 -2.2998 19.5 -3.7998 29.5 -3.7998z" /> + <glyph glyph-name="store-alt" unicode="&#xf54f;" horiz-adv-x="640" +d="M320 64v160h64v-256c0 -17.7002 -14.2998 -32 -32 -32h-256c-17.7002 0 -32 14.2998 -32 32v256h64v-160h192zM634.6 305.8c14.1006 -21.2998 -1.09961 -49.7998 -26.5996 -49.7998h-575.9c-25.5996 0 -40.7998 28.5 -26.5996 49.7998l85.2998 128 +c5.90039 8.90039 15.9004 14.2002 26.6006 14.2002h405.199c10.7002 0 20.7002 -5.2998 26.7002 -14.2002zM512 -48v272h64v-272c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16z" /> + <glyph glyph-name="stream" unicode="&#xf550;" +d="M16 320c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h416c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416zM496 240c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16 +v64c0 8.83984 7.16016 16 16 16h416zM432 64c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h416z" /> + <glyph glyph-name="stroopwafel" unicode="&#xf551;" +d="M188.12 237.26l45.25 -45.2598l-45.2598 -45.25l-45.25 45.25zM301.25 259.88l-45.25 -45.25l-45.25 45.2598l45.25 45.25zM210.75 124.12l45.25 45.25l45.2598 -45.25l-45.2598 -45.2598zM256 448c141.38 0 256 -114.62 256 -256s-114.62 -256 -256 -256 +s-256 114.62 -256 256s114.62 256 256 256zM442.68 152.4c1.29199 1.29492 2.34082 3.83008 2.34082 5.65918c0 1.83008 -1.04883 4.36523 -2.34082 5.66016l-28.29 28.2803l28.2705 28.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096 +c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-28.29 -28.29l-45.25 45.2607l33.9404 33.9395l16.9697 -16.9697c3.12012 -3.12012 8.18945 -3.12012 11.3096 0l11.3105 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-16.9707 16.9697l16.9707 16.9697 +c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096c-3.12012 3.12012 -8.18945 3.12012 -11.3096 0l-16.9697 -16.9697l-16.9707 16.9697c-3.12012 3.12012 -8.18945 3.12012 -11.3096 0l-11.3105 -11.3096c-3.11914 -3.12012 -3.11914 -8.19043 0 -11.3105 +l16.9707 -16.9697l-33.9404 -33.9404l-45.2598 45.25l28.29 28.29c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-28.29 -28.29l-28.3096 28.2705c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0 +l-11.3096 -11.3105c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l28.29 -28.29l-45.2607 -45.25l-33.9395 33.9404l16.9697 16.9697c3.12012 3.12012 3.12012 8.18945 0 11.3096l-11.3096 11.3105c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-16.9697 -16.9707 +l-16.9697 16.9707c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-11.3096 -11.3105c-3.12012 -3.12012 -3.12012 -8.18945 0 -11.3096l16.9697 -16.9697l-16.9697 -16.9707c-3.12012 -3.12012 -3.12012 -8.18945 0 -11.3096l11.3096 -11.3105 +c3.12012 -3.11914 8.19043 -3.11914 11.3105 0l16.9697 16.9707l33.9404 -33.9404l-45.25 -45.2598l-28.29 28.29c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-11.3096 -11.3105c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l28.29 -28.29l-28.29 -28.29 +c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3096l11.3398 -11.3301c3.12012 -3.12012 8.18945 -3.12012 11.3096 0l28.29 28.29l45.25 -45.25l-33.9395 -33.9404l-16.9707 16.9697c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-11.3096 -11.3096 +c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l16.9697 -16.9697l-16.9697 -16.9697c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l11.3096 -11.3096c3.12012 -3.12012 8.19043 -3.12012 11.3096 0l16.9707 16.9697l16.9697 -16.9697 +c3.12012 -3.12012 8.19043 -3.12012 11.3096 0l11.3105 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-16.9697 16.9697l33.9395 33.9404l45.25 -45.2598l-28.29 -28.29c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l11.3105 -11.3096 +c3.11914 -3.12012 8.18945 -3.12012 11.3096 0l28.29 28.29l28.3096 -28.2705c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l11.3096 11.3105c3.12012 3.11914 3.12012 8.18945 0 11.3096l-28.29 28.29l45.2607 45.2598l33.9395 -33.9395l-16.9697 -16.9707 +c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l11.3096 -11.3096c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l16.9697 16.9697l16.9697 -16.9697c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l11.3096 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3096 +l-16.9697 16.9707l16.9697 16.9697c3.12012 3.12012 3.12012 8.19043 0 11.3096l-11.3096 11.3105c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-16.9697 -16.9697l-33.9404 33.9395l45.25 45.25l28.29 -28.29c3.12012 -3.12012 8.19043 -3.12012 11.3105 0zM278.63 192 +l45.2598 45.2598l45.25 -45.2598l-45.25 -45.25z" /> + <glyph glyph-name="toolbox" unicode="&#xf552;" +d="M502.63 233.37c6 -6 9.37012 -14.1396 9.37012 -22.6201v-82.75h-128v16c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-16h-128v16c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-16h-128v82.7402 +c0 8.49023 3.37012 16.6299 9.37012 22.6299l45.25 45.2598c6.00977 6 14.1396 9.37012 22.6299 9.37012h50.75v80c0 26.5098 21.4902 48 48 48h160c26.5098 0 48 -21.4902 48 -48v-80.0098h50.75c8.49023 0 16.6299 -3.37012 22.6299 -9.37012zM320 288v64h-128v-64h128z +M384 80v16h128v-96c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v96h128v-16c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v16h128v-16c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16z" /> + <glyph glyph-name="tshirt" unicode="&#xf553;" horiz-adv-x="640" +d="M631.2 351.5c7.89941 -3.90039 11.0996 -13.5996 7.09961 -21.5l-57.2998 -114.4c-4 -8 -13.5996 -11.1992 -21.5 -7.19922l-56.5996 27.6992c-10.6006 5.2002 -23 -2.59961 -23 -14.3994v-253.7c0 -17.7002 -14.3008 -32 -32 -32h-256c-17.7002 0 -32 14.2998 -32 32 +v253.6c0 11.9004 -12.4004 19.6006 -23 14.4004l-56.6006 -27.7002c-7.89941 -3.89941 -17.5 -0.700195 -21.5 7.2002l-57.2002 114.5c-3.89941 7.90039 -0.699219 17.5 7.2002 21.5l194.7 96.5c20.0996 -27.7998 64.5996 -47.2002 116.5 -47.2002 +s96.4004 19.4004 116.5 47.2002z" /> + <glyph glyph-name="walking" unicode="&#xf554;" horiz-adv-x="320" +d="M208 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM302.5 202.9c15.7002 -7.90039 22 -27.3008 14.2998 -43c-7.89941 -15.8008 -26.8994 -22.2002 -42.5 -14.3008l-23.2998 11.8008c-15 7.59961 -26.4004 20.8994 -31.7002 37 +l-5.5 16.5l-17.2002 -68.7002l45.5 -49.7002c7.2002 -7.7998 12.3008 -17.4004 14.9004 -27.7002l22.2002 -89c4.2998 -17.0996 -6.2002 -34.5 -23.2998 -38.7998c-17.1006 -4.2998 -34.5 6.2002 -38.8008 23.2998l-18.2998 73.2998 +c-2.59961 10.3008 -7.7002 19.8008 -14.8994 27.7002l-59.9004 65.4004c-14.5 15.8994 -20.0996 38 -14.9004 58.7998l15.2002 60.7002l-26.7998 -10.7998c-7.2002 -2.90039 -13 -8.40039 -16.5 -15.4004l-6.7002 -13.5996 +c-7.89941 -15.8008 -26.8994 -22.2002 -42.5 -14.3008c-15.7002 7.90039 -22 27.1006 -14.2002 42.9004l6.7002 13.5996c10.4004 21 28.1006 37.5 49.7002 46.2002c37.4004 15.1006 57.2998 25.2998 93.2998 25.2002c46.5 -0.0996094 87.5 -31.2998 102.2 -75.9004 +l9.7002 -29.3994zM73.5996 62.2002l20.7002 51.5c8.7002 -11.9004 -7.89941 6.59961 47.4004 -53.7002l-13.5 -33.7998c-3.2998 -8.10059 -8.10059 -15.4004 -14.2002 -21.5l-59.4004 -59.4004c-12.5 -12.5 -32.6992 -12.5 -45.1992 0s-12.5 32.7998 0 45.2998l50 50.1006 +c6.19922 6.09961 11 13.3994 14.1992 21.5z" /> + <glyph glyph-name="wallet" unicode="&#xf555;" +d="M461.2 320c28.0195 0 50.7998 -21.5303 50.7998 -48v-256c0 -26.4697 -22.7803 -48 -50.7998 -48h-397.2c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h368c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-384 +c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h381.2zM416 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 208c0 -17.7002 14.4004 -32 32.0996 -32c17.7002 0 32 14.2998 32 32c0 2.90039 -1 5.5 -1.69922 8.2002c0.599609 0 1.19922 -0.200195 1.69922 -0.200195 +c6.90039 0 13.2002 4.5 15.3008 11.4004c2.59961 8.39941 -2.2002 17.3994 -10.7002 19.8994l-80 24c-8.5 2.5 -17.4004 -2.2002 -19.9004 -10.7002c-2.59961 -8.39941 2.2002 -17.3994 10.7002 -19.8994l31 -9.2998c-6.40039 -5.90039 -10.5 -14.1006 -10.5 -23.4004z +M304 53.7998c13.4004 -16.0996 38.2998 4 24.5 20.5c-20 24 -49.4004 37.7998 -80.5996 37.7998c-31.2002 0 -60.6006 -13.7998 -80.6006 -37.7998c-13.5996 -16.2998 11.1006 -36.7998 24.6006 -20.5c27.8994 33.4004 84.2998 33.4004 112.1 0zM380.6 240.7 +c8.5 2.5 13.3008 11.3994 10.8008 19.8994c-2.5 8.40039 -11.5 13.2002 -19.9004 10.7002l-80 -24c-8.40039 -2.5 -13.2002 -11.3994 -10.7002 -19.8994c2.10059 -6.90039 8.40039 -11.4004 15.2998 -11.4004c0.600586 0 1.10059 0.0996094 1.7002 0.200195 +c-0.799805 -2.60059 -1.7002 -5.2998 -1.7002 -8.2002c0 -17.7002 14.3008 -32 32 -32c17.7002 0 32 14.2998 32 32c0 9.2998 -4.19922 17.5996 -10.5 23.4004z" /> + <glyph glyph-name="archway" unicode="&#xf557;" horiz-adv-x="576" +d="M560 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-159.98c-8.83984 0 -16 7.16016 -16 16v16l-0.0195312 160c0 53.0195 -42.9805 96 -96 96s-96 -42.9805 -96 -96v-176c0 -8.83984 -7.16016 -16 -16 -16h-159.98 +c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h15.9805v352h512v-352h16zM560 448c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-544c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h544z" /> + <glyph glyph-name="atlas" unicode="&#xf558;" horiz-adv-x="448" +d="M318.38 240c-5.28027 -31.2197 -25.5898 -57.1699 -53.2998 -70.4102c7.66992 19.0605 12.7197 43.3799 14.21 70.4102h39.0898zM318.38 272h-39.0898c-1.49023 27.0303 -6.53027 51.3496 -14.21 70.4102c27.71 -13.2402 48.0098 -39.1904 53.2998 -70.4102zM224 350.69 +c7.69043 -7.4502 20.7695 -34.4307 23.4404 -78.6904h-46.8701c2.66016 44.2695 15.7393 71.2402 23.4297 78.6904zM182.92 342.41c-7.67969 -19.0605 -12.7197 -43.3799 -14.21 -70.4102h-39.0898c5.28027 31.2197 25.5898 57.1699 53.2998 70.4102zM182.92 169.59 +c-27.71 13.2402 -48.0195 39.1904 -53.2998 70.4102h39.0898c1.49023 -27.0303 6.53027 -51.3496 14.21 -70.4102zM247.43 240c-2.66016 -44.2598 -15.7393 -71.2402 -23.4395 -78.6904c-7.69043 7.4502 -20.7705 34.4307 -23.4307 78.6904h46.8701zM448 89.5996 +c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320c0 54.4004 41.5996 96 96 96 +h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM224 384c-70.6904 0 -128 -57.3096 -128 -128s57.3096 -128 128 -128s128 57.3096 128 128s-57.3096 128 -128 128zM384 0v64h-288c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h288z" /> + <glyph glyph-name="award" unicode="&#xf559;" horiz-adv-x="384" +d="M97.1201 85.3701c13.79 -13.7803 32.1104 -21.3701 51.6104 -21.3701c12.4395 0 24.4697 3.54004 35.3096 9.58008l-52.0498 -127.62c-4.39062 -10.7695 -18.4307 -13.4004 -26.4307 -4.95996l-36.2393 38.2803l-52.6904 -2.01074 +c-11.6201 -0.439453 -19.8203 11.2607 -15.4297 22.0303l45.3701 111.24c7.55957 -5.87012 15.9199 -10.7705 25.4297 -13.3203c20.96 -5.60938 16.4297 -3.16016 25.1201 -11.8496zM382.8 -0.700195c4.39062 -10.7598 -3.80957 -22.4697 -15.4297 -22.0303 +l-52.6904 2.01074l-36.25 -38.2803c-7.98926 -8.44043 -22.04 -5.80957 -26.4297 4.95996l-52.0498 127.62c10.8398 -6.03027 22.8701 -9.58008 35.3096 -9.58008c19.5 0 37.8301 7.58984 51.6201 21.3701c8.66992 8.66992 4.0498 6.20996 25.1201 11.8496 +c9.50977 2.5498 17.8701 7.44043 25.4297 13.3203zM263 108c-13.2305 -13.4697 -33.8398 -15.8799 -49.7305 -5.82031c-5.37305 3.41211 -14.8994 6.18066 -21.2646 6.18066c-6.36426 0 -15.8916 -2.76855 -21.2646 -6.18066 +c-15.9004 -10.0596 -36.5098 -7.64941 -49.7402 5.82031c-14.7305 15 -16.4004 14.04 -38.7803 20.1396c-13.8896 3.79004 -24.75 14.8408 -28.4697 28.9805c-7.48047 28.3994 -5.54004 24.9697 -25.9502 45.75c-10.1699 10.3604 -14.1396 25.4502 -10.4199 39.5898 +c7.48047 28.4199 7.46973 24.46 0 52.8203c-3.72949 14.1396 0.25 29.2295 10.4199 39.5801c20.4102 20.7793 18.4805 17.3594 25.9502 45.75c3.71973 14.1396 14.5801 25.1895 28.4697 28.9795c27.8906 7.61035 24.5303 5.62988 44.9404 26.4102 +c10.1699 10.3604 25 14.4004 38.8896 10.6104c27.9199 -7.61035 24.0303 -7.60059 51.9004 0c13.8896 3.79004 28.7197 -0.260742 38.8896 -10.6104c20.4297 -20.79 17.0703 -18.7998 44.9502 -26.4102c13.8896 -3.79004 24.75 -14.8398 28.4697 -28.9795 +c7.48047 -28.3906 5.54004 -24.9707 25.9502 -45.75c10.1699 -10.3506 14.1396 -25.4404 10.4199 -39.5801c-7.47949 -28.4102 -7.46973 -24.4502 0 -52.8301c3.71973 -14.1406 -0.25 -29.2305 -10.4199 -39.5801c-20.4102 -20.7803 -18.4697 -17.3506 -25.9502 -45.75 +c-3.71973 -14.1396 -14.5801 -25.1904 -28.4697 -28.9805c-21.7598 -5.92969 -23.5098 -4.58984 -38.79 -20.1396zM97.6602 272.04c0 -53.0303 42.2402 -96.0205 94.3398 -96.0205s94.3398 42.9902 94.3398 96.0205s-42.2402 96.0195 -94.3398 96.0195 +s-94.3398 -42.9893 -94.3398 -96.0195z" /> + <glyph glyph-name="backspace" unicode="&#xf55a;" horiz-adv-x="640" +d="M576 384c35.3496 0 64 -28.6504 64 -64v-256c0 -35.3496 -28.6504 -64 -64 -64h-370.75c-16.9697 0 -33.25 6.75 -45.25 18.75l-150.63 150.63c-12.5 12.4902 -12.5 32.75 0 45.25l150.63 150.62c10.3438 10.3496 30.6143 18.75 45.2471 18.75h0.0126953h370.74z +M491.31 129.94l-62.0596 62.0596l62.0596 62.0596c6.25 6.25 6.25 16.3809 0 22.6309l-22.6191 22.6191c-6.25 6.25 -16.3809 6.25 -22.6309 0l-62.0596 -62.0596l-62.0596 62.0596c-6.25 6.25 -16.3809 6.25 -22.6309 0l-22.6191 -22.6191 +c-6.25 -6.25 -6.25 -16.3809 0 -22.6309l62.0596 -62.0596l-62.0596 -62.0596c-6.25 -6.25 -6.25 -16.3809 0 -22.6309l22.6191 -22.6191c6.25 -6.25 16.3809 -6.25 22.6309 0l62.0596 62.0596l62.0596 -62.0596c6.25 -6.25 16.3809 -6.25 22.6309 0l22.6191 22.6191 +c6.25 6.25 6.25 16.3809 0 22.6309z" /> + <glyph glyph-name="bezier-curve" unicode="&#xf55b;" horiz-adv-x="640" +d="M368 416c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM208 360v-72c0 -9.4502 2.17969 -18.3604 5.87988 -26.4404c-34.2695 -24.3496 -59.7402 -59.9492 -71.04 -101.56 +h-49.3994c13.6797 64.6797 54.1699 119.48 109.54 152h-79.7305c-9.5 -23.4404 -32.4102 -40 -59.25 -40c-35.3398 0 -64 28.6504 -64 64s28.6602 64 64 64c26.8398 0 49.75 -16.5596 59.25 -40h84.75zM160 128c17.6699 0 32 -14.3301 32 -32v-96 +c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM576 400c35.3398 0 64 -28.6504 64 -64s-28.6602 -64 -64 -64c-26.8398 0 -49.75 16.5596 -59.25 40h-79.7305c55.3701 -32.5195 95.8604 -87.3203 109.54 -152 +h-49.3994c-11.2998 41.6104 -36.7705 77.21 -71.04 101.56c3.68945 8.08008 5.87988 16.9902 5.87988 26.4404v72h84.75c9.5 23.4404 32.4102 40 59.25 40zM576 128c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32 +v96c0 17.6699 14.3301 32 32 32h96z" /> + <glyph glyph-name="bong" unicode="&#xf55c;" horiz-adv-x="448" +d="M302.5 -64h-221c-23.1699 0 -44.4199 12.5801 -56 32.6602c-16.1904 28.0703 -25.5 60.5898 -25.5 95.3398c0 71.0303 38.6699 132.9 96 166.11v153.93l-15.9697 -0.0205078c-8.85059 -0.00976562 -16.0303 7.16016 -16.0205 16.0107l0.0400391 31.7295 +c0.00976562 8.82031 7.16016 15.9707 15.9805 15.9805l223.939 0.259766c8.85059 0.00976562 16.0303 -7.16992 16.0205 -16.0195l-0.0400391 -31.7207c-0.00976562 -8.81934 -7.16016 -15.9697 -15.9805 -15.9795l-15.9697 -0.0205078v-154.16 +c14.1201 -8.17969 27.0898 -18.1396 38.6504 -29.5098l39.4092 39.4102l-9.37988 9.37988c-6.25 6.25 -6.25 16.3799 0 22.6299l11.3105 11.3105c6.25 6.25 16.3799 6.25 22.6299 0l52.6895 -52.6904c6.25 -6.25 6.25 -16.3799 0 -22.6299l-11.2998 -11.3203 +c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-9.37988 9.37988l-43.4404 -43.4395c17.3604 -28.8105 27.4404 -62.5 27.4404 -98.6201c0 -34.75 -9.30957 -67.2598 -25.5 -95.3398c-11.5703 -20.0801 -32.8203 -32.6602 -56 -32.6602zM120.06 188.57 +c-24.8096 -14.3701 -44.1094 -35.7305 -56.5596 -60.5703h257c-12.4404 24.8398 -31.75 46.2002 -56.5596 60.5703l-23.9404 13.8701v181.76l-96 -0.110352v-181.649z" /> + <glyph glyph-name="brush" unicode="&#xf55d;" horiz-adv-x="384" +d="M352 448c17.6699 0 32 -14.3301 32 -32v-224h-384v224c0 17.6699 14.3301 32 32 32h320zM0 128v32h384v-32c0 -35.3496 -28.6602 -64 -64 -64h-64v-64c0 -35.3496 -28.6602 -64 -64 -64s-64 28.6504 -64 64v64h-64c-35.3398 0 -64 28.6504 -64 64zM192 24 +c-13.25 0 -24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24s24 10.75 24 24c0 13.2598 -10.75 24 -24 24z" /> + <glyph glyph-name="bus-alt" unicode="&#xf55e;" +d="M488 320c13.25 0 24 -10.7402 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-8v-166.4c0 -12.7998 -9.59961 -25.5996 -25.5996 -25.5996h-6.40039v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32 +c-17.6699 0 -32 14.3301 -32 32v32c-17.6699 0 -32 14.3301 -32 32v160h-8c-13.25 0 -24 10.75 -24 24v80c0 13.2598 10.75 24 24 24h8v48c0 44.7998 99.2002 80 224 80s224 -35.2002 224 -80v-48h8zM160 376v-16c0 -4.41992 3.58008 -8 8 -8h176c4.41992 0 8 3.58008 8 8 +v16c0 4.41992 -3.58008 8 -8 8h-176c-4.41992 0 -8 -3.58008 -8 -8zM112 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM240 160v160h-112c-17.6699 0 -32 -14.3301 -32 -32v-96c0 -17.6699 14.3301 -32 32 -32h112zM272 160 +h112c17.6699 0 32 14.3301 32 32v96c0 17.6699 -14.3301 32 -32 32h-112v-160zM400 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="cannabis" unicode="&#xf55f;" +d="M503.47 87.75c5.24023 -2.75977 8.52051 -8.20996 8.53027 -14.1504c0.00976562 -5.92969 -3.26953 -11.3691 -8.50977 -14.1494c-2.4502 -1.29004 -60.7705 -31.7197 -133.49 -31.7197c-6.12988 0 -11.96 0.0996094 -17.5 0.30957 +c11.3604 -22.2305 16.5195 -38.3096 16.8096 -39.2197c1.80078 -5.68066 0.290039 -11.8906 -3.90918 -16.1104c-2.5918 -2.60059 -7.67578 -4.71094 -11.3467 -4.71094c-1.34277 0 -3.47168 0.322266 -4.75391 0.720703c-1.83008 0.580078 -37.7197 11.9902 -77.2998 39.29 +v-64.0098c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v64.0195c-39.5801 -27.2998 -75.4697 -38.7197 -77.2998 -39.2891c-1.28223 -0.398438 -3.41113 -0.72168 -4.75391 -0.72168c-3.6709 0 -8.75488 2.11035 -11.3467 4.71094 +c-4.19922 4.2207 -5.70996 10.4307 -3.90918 16.1104c0.290039 0.910156 5.43945 16.9902 16.8096 39.2197c-5.54004 -0.209961 -11.3604 -0.30957 -17.5 -0.30957c-72.7305 0 -131.04 30.4297 -133.49 31.7197c-4.69629 2.48926 -8.50879 8.82422 -8.50879 14.1396 +c0 5.32422 3.82129 11.6641 8.5293 14.1504c1.56934 0.820312 32.3896 16.8896 76.7793 25.8096c-64.25 75.1201 -84.0498 161.671 -84.9297 165.641c-0.210938 0.947266 -0.382812 2.50488 -0.382812 3.47559c0 3.65039 2.09375 8.71094 4.67285 11.2939 +c3.03027 3.04004 7.12012 4.7002 11.3203 4.7002c1.14941 0 2.2998 -0.129883 3.43945 -0.379883c3.89062 -0.860352 86.5508 -19.5996 160.58 -79.7598c0 1.45996 -0.00976562 2.92969 -0.00976562 4.39941c0 118.79 59.9805 213.721 62.5303 217.7 +c2.93945 4.58984 8.01953 7.37012 13.4697 7.37012h0.00195312c4.82812 0 10.8574 -3.30176 13.458 -7.37012c2.5498 -3.97949 62.5303 -98.9102 62.5303 -217.7c0 -1.46973 0 -2.93945 -0.00976562 -4.39941c74.0391 60.1699 156.699 78.9102 160.579 79.7598 +c1.15039 0.259766 2.30078 0.379883 3.44043 0.379883c4.2002 0 8.29004 -1.66016 11.3203 -4.7002c3.85938 -3.87012 5.47949 -9.43945 4.2998 -14.7695c-0.879883 -3.96973 -20.6797 -90.5205 -84.9297 -165.641c44.3896 -8.91992 75.2197 -24.9893 76.7793 -25.8096z" /> + <glyph glyph-name="check-double" unicode="&#xf560;" +d="M505 273.2c9.2998 -9.2998 9.2998 -24.5 -0.0996094 -34l-296 -296.2c-9.30078 -9.40039 -24.5 -9.40039 -33.9004 0l-168 168.1c-9.40039 9.40039 -9.40039 24.6006 0 34l39.7002 39.7002c9.2998 9.40039 24.5 9.40039 33.8994 0l111.4 -111.5l239.5 239.5 +c9.2998 9.40039 24.5 9.40039 33.9004 0zM180.7 167.2l-112 112.2c-6.2002 6.19922 -6.2002 16.2998 0 22.5996l45.2998 45.2998c6.2002 6.2998 16.4004 6.2998 22.5996 0l55.4004 -55.5l151.5 151.5c6.2002 6.2998 16.4004 6.2998 22.5996 0l45.2002 -45.2998 +c6.2002 -6.2002 6.2002 -16.2998 0 -22.5996l-208 -208.2c-6.2002 -6.2998 -16.3994 -6.2998 -22.5996 0z" /> + <glyph glyph-name="cocktail" unicode="&#xf561;" horiz-adv-x="576" +d="M296 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v125.22l-168.74 168.73c-15.5195 15.5195 -4.5293 42.0498 17.4199 42.0498h366.641c21.9492 0 32.9395 -26.5303 17.4199 -42.0498 +l-168.74 -168.73v-125.22h56zM432 448c79.5303 0 144 -64.4697 144 -144s-64.4697 -144 -144 -144c-27.4102 0 -52.7695 8.08008 -74.5801 21.3799l35.2598 35.2598c12.0303 -5.43945 25.2803 -8.63965 39.3203 -8.63965c52.9297 0 96 43.0596 96 96s-43.0703 96 -96 96 +c-35.3701 0 -65.9902 -19.4502 -82.6396 -48h-52.54c19.8301 55.7998 72.5693 96 135.18 96z" /> + <glyph glyph-name="concierge-bell" unicode="&#xf562;" +d="M288 317.46c108.51 -15.5703 192 -108.64 192 -221.46h-448c0 112.82 83.4902 205.89 192 221.46v18.54h-16c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-16v-18.54zM496 64 +c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" /> + <glyph glyph-name="cookie" unicode="&#xf563;" +d="M510.37 193.21c4.37988 -27.6602 -0.110352 -56 -12.8203 -80.96l-35.0996 -68.8701c-10.7695 -21.1328 -36.6592 -47.0273 -57.79 -57.7998l-69.1201 -35.21c-24.8301 -12.6396 -53.0098 -17.1104 -80.5205 -12.75l-76.6992 12.1396 +c-23.3896 3.70801 -55.9639 20.3066 -72.71 37.0498l-54.7607 54.75c-16.7959 16.8027 -33.4443 49.4844 -37.1592 72.9502l-12.0801 76.2705c-0.901367 5.68848 -1.63281 14.9805 -1.63281 20.7412c0 17.5723 6.47461 44.541 14.4521 60.1982l35.1006 68.8799 +c10.7666 21.1357 36.6562 47.0303 57.79 57.8008l69.1201 35.21c24.8291 12.6494 53.0098 17.1201 80.5195 12.7598l76.7002 -12.1504c27.5303 -4.34961 52.9795 -17.3301 72.71 -37.0498l54.7598 -54.75c16.7969 -16.8027 33.4443 -49.4844 37.1602 -72.9502zM176 80 +c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM208 240c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM368 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="cookie-bite" unicode="&#xf564;" +d="M510.52 192.18c4.10059 -27.3301 -0.349609 -55.2695 -12.9092 -79.9102l-35.1006 -68.8799c-10.7656 -21.1367 -36.6562 -47.0361 -57.79 -57.8096l-69.1299 -35.21c-24.8301 -12.6504 -53.0195 -17.1201 -80.5303 -12.7598l-76.71 12.1494 +c-23.3916 3.70801 -55.9658 20.3105 -72.71 37.0605l-54.7695 54.7598c-16.7969 16.8057 -33.4443 49.4912 -37.1602 72.96l-12.0801 76.2695c-0.900391 5.68945 -1.63184 14.9824 -1.63184 20.7422c0 17.5752 6.47461 44.5479 14.4521 60.208l35.0996 68.8799 +c10.7646 21.1396 36.6543 47.0391 57.79 57.8105l69.1299 35.2197c24.5898 12.5205 52.46 16.96 79.7207 12.8203c0.859375 -69.96 57.6895 -126.45 127.859 -126.45c0 -70.1699 56.5 -127.01 126.47 -127.86zM176 80c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32 +s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM208 240c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM368 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="crop-alt" unicode="&#xf565;" +d="M488 96c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-40v-40c0 -13.25 -10.75 -24 -24 -24h-48c-13.25 0 -24 10.75 -24 24v328h-160v96h224c17.6699 0 32 -14.3301 32 -32v-256h40zM160 424v-328h160v-96h-224c-17.6699 0 -32 14.3301 -32 32v256h-40 +c-13.25 0 -24 10.75 -24 24v48c0 13.2598 10.75 24 24 24h40v40c0 13.2598 10.75 24 24 24h48c13.25 0 24 -10.7402 24 -24z" /> + <glyph glyph-name="digital-tachograph" unicode="&#xf566;" horiz-adv-x="640" +d="M608 352c17.6699 0 32 -14.3301 32 -32v-256c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v256c0 17.6699 14.3301 32 32 32h576zM304 96v8c0 4.41992 -3.58008 8 -8 8h-224c-4.41992 0 -8 -3.58008 -8 -8v-8c0 -4.41992 3.58008 -8 8 -8h224 +c4.41992 0 8 3.58008 8 8zM72 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM136 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16 +c-4.41992 0 -8 -3.58008 -8 -8v-16zM200 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM264 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8 +h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM304 224v48c0 8.83984 -7.16016 16 -16 16h-208c-8.83984 0 -16 -7.16016 -16 -16v-48c0 -8.83984 7.16016 -16 16 -16h208c8.83984 0 16 7.16016 16 16zM576 96v8c0 4.41992 -3.58008 8 -8 8h-224c-4.41992 0 -8 -3.58008 -8 -8v-8 +c0 -4.41992 3.58008 -8 8 -8h224c4.41992 0 8 3.58008 8 8z" /> + <glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM152 233.4l28.7002 -28.7002c14.7002 -14.7998 37.7998 7.39941 22.5996 22.5996l-28.7002 28.7002l28.7002 28.7002c15 14.8994 -7.59961 37.5996 -22.5996 22.5996 +l-28.7002 -28.7002l-28.7002 28.7002c-14.8994 15 -37.5996 -7.59961 -22.5996 -22.5996l28.7002 -28.7002l-28.7002 -28.7002c-15.2002 -15.0996 7.7998 -37.3994 22.5996 -22.5996zM248 32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64 +s28.7002 -64 64 -64zM395.3 227.3l-28.7002 28.7002l28.7002 28.7002c15 14.8994 -7.59961 37.5996 -22.5996 22.5996l-28.7002 -28.7002l-28.7002 28.7002c-14.8994 15 -37.5996 -7.59961 -22.5996 -22.5996l28.7002 -28.7002l-28.7002 -28.7002 +c-15.2002 -15.0996 7.7998 -37.3994 22.5996 -22.5996l28.7002 28.7002l28.7002 -28.7002c14.7002 -14.7998 37.7998 7.39941 22.5996 22.5996z" /> + <glyph glyph-name="drafting-compass" unicode="&#xf568;" +d="M457.01 103.58l54.9805 -95.2305l-7.02051 -58.25c-1.2793 -10.5898 -12.3594 -16.9893 -22.1699 -12.7998l-53.9502 23.04l-54.3799 94.1904c29.9102 11.8701 57.4902 28.7197 82.54 49.0498zM499.5 198.14c-52.6201 -83.1299 -144.45 -134.14 -243.5 -134.14 +c-35.3799 0 -69.8701 6.71973 -102.06 18.96l-70.8008 -122.63l-53.9492 -23.04c-9.81055 -4.19043 -20.8906 2.20996 -22.1709 12.7998l-7.01953 58.25l71.2803 123.46c-21.29 17.8105 -40.4102 38.3799 -55.9805 62.0205 +c-4.99023 7.56934 -2.20996 17.9297 5.64062 22.4697l27.75 16.0703c7.40918 4.29004 16.5898 1.76953 21.3799 -5.33008c9.71973 -14.4102 21.1299 -27.3906 33.6797 -39l68.2998 118.31c-7.43945 13.6299 -12.0498 29.0303 -12.0498 45.6602c0 53.0195 42.9805 96 96 96 +s96 -42.9805 96 -96c0 -16.6299 -4.61035 -32.0303 -12.0596 -45.6602l51.79 -89.71c-23.0508 -23.1699 -51.3809 -39.96 -82.6104 -48.9199l-51.0898 88.5c-0.69043 -0.0195312 -1.33984 -0.209961 -2.04004 -0.209961s-1.33984 0.19043 -2.04004 0.209961 +l-67.3604 -116.68c22.1797 -7.28027 45.4805 -11.5303 69.4102 -11.5303c76.25 0 147.01 38.8496 188.12 102.38c4.64941 7.17969 13.7803 9.87012 21.2598 5.71973l28.0703 -15.5693c7.93945 -4.40039 10.9102 -14.7207 6.0498 -22.3906zM256 384 +c-17.6699 0 -32 -14.3301 -32 -32s14.3301 -32 32 -32s32 14.3301 32 32s-14.3301 32 -32 32z" /> + <glyph glyph-name="drum" unicode="&#xf569;" horiz-adv-x="576" +d="M458.08 327.12c71.3799 -23.29 117.91 -60.75 117.92 -103.13v-160.83c0 -30.46 -24.0303 -58.4004 -64 -80.3701v96.3701c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32v-122.41c-37.4004 -11.1299 -81 -18.4404 -128 -20.75v111.16c0 17.5996 -14.4004 32 -32 32 +s-32 -14.4004 -32 -32v-111.15c-47 2.31055 -90.5996 9.62012 -128 20.75v122.41c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32v-96.3701c-39.9697 21.9697 -64 49.9102 -64 80.3701v160.83c0 70.6904 128.94 128 288 128 +c21.8467 -0.00585938 57.167 -2.2373 78.8398 -4.98047l160.69 96.4102c15.1699 9.10059 34.8096 4.18066 43.9102 -10.9697c9.08984 -15.1602 4.18945 -34.8203 -10.9707 -43.9102zM288 144c132.54 0 240 35.8096 240 79.9902c0 30.2695 -50.4502 56.5996 -124.82 70.1895 +l-162.71 -97.6201c-14.3994 -8.63965 -34.3496 -4.95996 -43.9102 10.9707c-9.08984 15.1602 -4.18945 34.8193 10.9707 43.9102l87.4102 52.4395c-2.32031 0.0205078 -4.60059 0.120117 -6.94043 0.120117c-132.55 0 -240 -35.8203 -240 -80s107.45 -80 240 -80z" /> + <glyph glyph-name="drum-steelpan" unicode="&#xf56a;" horiz-adv-x="576" +d="M288 416c159.06 0 288 -57.3096 288 -128v-192c0 -70.6904 -128.94 -128 -288 -128s-288 57.3096 -288 128v192c0 70.6904 128.94 128 288 128zM205.01 257.64c5.11035 19.0605 2.49023 38.96 -7.37012 56.0508l-25.5996 44.3398 +c-73.9297 -13.6406 -124.04 -39.8701 -124.04 -70.0303c0 -30.7803 52.2305 -57.46 128.7 -70.8398c13.7695 9.91016 23.8594 23.8701 28.3096 40.4795zM288 208c21.0801 0 41.4102 1 60.8896 2.7002c-8.05957 26.1299 -32.1494 45.2998 -60.8896 45.2998 +s-52.8301 -19.1699 -60.8896 -45.2998c19.4795 -1.7002 39.8096 -2.7002 60.8896 -2.7002zM352 352v13.04c-20.4004 1.87988 -41.7998 2.95996 -64 2.95996s-43.5996 -1.08008 -64 -2.95996v-13.04c0 -35.29 28.71 -64 64 -64s64 28.71 64 64zM398.93 217.1 +c76.6699 13.3604 129.07 40.0703 129.07 70.9004c0 30.21 -50.2803 56.5 -124.44 70.0996l-25.6494 -44.4199c-9.87012 -17.0801 -12.4902 -36.9795 -7.37988 -56.04c4.45996 -16.6396 14.5898 -30.6299 28.3994 -40.54z" /> + <glyph glyph-name="feather-alt" unicode="&#xf56b;" +d="M512 448c-1.80957 -26.2598 -11.71 -132.86 -53.6201 -234.79l-106.54 -53.21h81.1406c-9.08008 -16.4102 -19.2002 -32.2305 -30.4502 -47.1201l-146.79 -48.8799h100.95c-35.5605 -30.0703 -79.1006 -51.0996 -132.58 -56.54 +c-41.8105 -4.83008 -83.8701 -7.21973 -125.96 -7.36035l-57.1309 -57.0693c-9.38965 -9.37012 -24.5996 -9.37012 -33.9795 0s-9.37988 24.5693 0 33.9395l259.5 259.24c6.25 6.25 6.25 16.3799 0 22.6299s-16.4004 6.25 -22.6504 0l-178.87 -178.689 +c1.15039 26.7998 2.90039 53.5801 5.99023 80.2393c25.4307 249.41 389.21 284.051 440.99 287.61z" /> + <glyph glyph-name="file-contract" unicode="&#xf56c;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8 +h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 312v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM256.81 64c-4.19922 0 -8.13965 2.44043 -10.1592 6.5 +c-11.9502 23.8604 -46.2305 30.3496 -66 14.1602l-13.8809 41.6396c-3.28906 9.82031 -12.4297 16.4102 -22.7695 16.4102s-19.4805 -6.59961 -22.7803 -16.4102l-18.1895 -54.6396c-1.53027 -4.58008 -5.81055 -7.66016 -10.6406 -7.66016h-12.3896 +c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h12.3896c18.6201 0 35.1104 11.8701 41 29.5303l10.6104 31.8799l16.8301 -50.46c2.03027 -6.14062 7.58008 -10.4404 14.0303 -10.8906c0.389648 -0.0292969 0.759766 -0.0498047 1.13965 -0.0498047h0.00976562 +c5.45508 0 11.8613 3.96094 14.2998 8.83984l7.6709 15.3408c2.7998 5.59961 7.93945 6.18945 10.0195 6.18945s7.21973 -0.599609 10.1699 -6.51953c7.37012 -14.7207 22.1904 -23.8604 38.6396 -23.8604h47.1904c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16h-47.1904z +M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" /> + <glyph glyph-name="file-download" unicode="&#xf56d;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM300.45 100.64c10.1299 10.0703 3.00977 27.3604 -11.2705 27.3604h-65.1797v80 +c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-80h-65.1797c-14.2803 0 -21.4004 -17.29 -11.25 -27.3604l96.4199 -95.6992c6.64941 -6.61035 17.3896 -6.61035 24.04 0zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961 +c6.40039 0 12.5 -2.5 17 -7z" /> + <glyph glyph-name="file-export" unicode="&#xf56e;" horiz-adv-x="576" +d="M384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004zM571 140c6.59961 -6.59961 6.59961 -17.4004 0 -24l-95.7002 -96.5c-10.0996 -10.0996 -27.3994 -3 -27.3994 11.2998v65.2002h-64v64h64v65.0996 +c0 14.3008 17.2998 21.4004 27.3994 11.3008zM192 112c0 -8.7998 7.2002 -16 16 -16h176v-136c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24h136v-128h-176 +c-8.7998 0 -16 -7.2002 -16 -16v-32z" /> + <glyph glyph-name="file-import" unicode="&#xf56f;" +d="M16 160h112v-64h-112c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16zM505 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM352 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24 +h-336c-13.2998 0 -24 10.7002 -24 24v136h127.9v-65.0996c0 -14.3008 17.2998 -21.4004 27.3994 -11.3008l95.7002 96.4004c6.59961 6.59961 6.59961 17.2998 0 24l-95.5996 96.5c-10.1006 10.0996 -27.4004 3 -27.4004 -11.2998v-65.2002h-128v264 +c0 13.2998 10.7002 24 24 24h200v-136z" /> + <glyph glyph-name="file-invoice" unicode="&#xf570;" horiz-adv-x="384" +d="M288 192v-64h-192v64h192zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464 +c0 13.2998 10.7002 24 24 24h200v-136zM64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 312v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16 +c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM320 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8zM320 208c0 8.83984 -7.16016 16 -16 16h-224 +c-8.83984 0 -16 -7.16016 -16 -16v-96c0 -8.83984 7.16016 -16 16 -16h224c8.83984 0 16 7.16016 16 16v96z" /> + <glyph glyph-name="file-invoice-dollar" unicode="&#xf571;" horiz-adv-x="384" +d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136z +M64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 296c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8 +v-16zM208 32.1201c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104 +c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v24.29c0 4.41992 -3.58008 8 -8 8h-16 +c-4.41992 0 -8 -3.58008 -8 -8v-24.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104 +c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-24.29c0 -4.41992 3.58008 -8 8 -8h16 +c4.41992 0 8 3.58008 8 8v24.1201z" /> + <glyph glyph-name="file-prescription" unicode="&#xf572;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM292.53 132.52c-6.25 6.25 -16.3799 6.25 -22.6299 0l-29.9004 -29.8994l-33.46 33.46 +c19.8398 10.8701 33.46 31.7002 33.46 55.9199c0 35.3496 -28.6504 64 -64 64h-80c-8.83984 0 -16 -7.16016 -16 -16v-160c0 -8.83984 7.16016 -16 16 -16h16c8.83984 0 16 7.16016 16 16v48h18.7402l59.3193 -59.3096l-30.0596 -30.0605 +c-6.25 -6.25 -6.25 -16.3799 0 -22.6299l11.3096 -11.3096c6.25 -6.25 16.3809 -6.25 22.6309 0l30.0596 30.0596l30.0596 -30.0703c6.25 -6.25 16.3809 -6.25 22.6309 0l11.3096 11.3105c6.25 6.25 6.25 16.3799 0 22.6299l-30.0596 30.0596l29.8994 29.9004 +c6.25 6.25 6.25 16.3799 0 22.6299zM176 176h-48v32h48c8.82031 0 16 -7.17969 16 -16s-7.17969 -16 -16 -16zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" /> + <glyph glyph-name="file-signature" unicode="&#xf573;" horiz-adv-x="576" +d="M218.17 23.8604c7.25 -14.4707 21.71 -23.4404 37.8301 -23.75l128 -0.110352v-40c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24h136.01v-46.5498l-128 -127.09 +v-82.1201c-3.87012 0.30957 -7.46973 2.47949 -9.35938 6.25977c-11.9404 23.8604 -46.25 30.3496 -66 14.1602l-13.8809 41.6396c-3.28906 9.82031 -12.4297 16.4102 -22.7695 16.4102s-19.4805 -6.59961 -22.7803 -16.4102l-18.1895 -54.6396 +c-1.53027 -4.58008 -5.81055 -7.66016 -10.6406 -7.66016h-12.3896c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h12.3896c18.6201 0 35.1104 11.8701 41 29.5303l10.6104 31.8799l16.8301 -50.4697c4.4502 -13.46 23.1104 -14.8701 29.4795 -2.09082 +l7.6709 15.3408c2.7998 5.59961 7.93945 6.18945 10.0195 6.18945s7.21973 -0.599609 10.1699 -6.51953zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004zM288 101.04l162.79 161.62l67.8799 -67.8799 +l-161.68 -162.78h-68.9902v69.04zM568.54 280.67c9.9502 -9.93945 9.9502 -26.0703 0 -36.0098l-27.25 -27.25l-67.8799 67.8799l27.25 27.25c9.93945 9.94043 26.0703 9.94043 36.0098 0z" /> + <glyph glyph-name="file-upload" unicode="&#xf574;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM289.18 95.9902c14.2803 0 21.4004 17.29 11.25 27.3594l-96.4199 95.7002 +c-6.64941 6.61035 -17.3896 6.61035 -24.04 0l-96.4199 -95.7002c-10.1396 -10.0693 -3.00977 -27.3594 11.2705 -27.3594h65.1797v-80c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v80h65.1797zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128 +v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" /> + <glyph glyph-name="fill" unicode="&#xf575;" +d="M502.63 230.94c12.4902 -12.5 12.4902 -32.7607 0 -45.2607l-221.57 -221.569c-18.75 -18.75 -43.3096 -28.1201 -67.8799 -28.1201c-24.5596 0 -49.1201 9.37988 -67.8701 28.1201l-117.189 117.189c-37.4902 37.4902 -37.4902 98.2598 0 135.75l94.7598 94.7598 +l-86.1895 86.1807c-6.24023 6.25 -6.24023 16.3799 0 22.6299l22.6191 22.6104c6.24023 6.25 16.3809 6.25 22.6201 0l86.1807 -86.1807l81.5801 81.5801c6.23926 6.25 14.4297 9.37012 22.6191 9.37012c8.19043 0 16.3809 -3.12012 22.6309 -9.37012zM386.41 159.97 +l48.3496 48.3398l-162.45 162.44l-58.9492 -58.9502l58.6094 -58.5996c12.4902 -12.4902 12.4902 -32.75 0 -45.2402c-12.4893 -12.4902 -32.75 -12.4902 -45.2393 0l-58.6104 58.5996l-81.6104 -81.6094l-13.1494 -13.1504 +c-3.86035 -3.84961 -6.07031 -7.99023 -7.43066 -11.8301h320.48z" /> + <glyph glyph-name="fill-drip" unicode="&#xf576;" horiz-adv-x="576" +d="M512 128c0 0 64 -92.6504 64 -128s-28.6602 -64 -64 -64s-64 28.6504 -64 64s64 128 64 128zM502.63 230.94c12.4902 -12.5 12.4902 -32.75 -0.00976562 -45.25l-221.57 -221.57c-18.7402 -18.75 -43.2998 -28.1201 -67.8701 -28.1201 +c-24.5596 0 -49.1299 9.37988 -67.8701 28.1201l-117.189 117.189c-37.4902 37.4902 -37.4902 98.2705 0 135.75l94.7598 94.7607l-86.1895 86.1797c-6.24023 6.24023 -6.24023 16.3701 0 22.6201l22.6191 22.6201c6.24023 6.25 16.3701 6.25 22.6201 0l86.1807 -86.1904 +l81.5801 81.5801c6.23926 6.25 14.4297 9.37012 22.6191 9.37012c8.19043 0 16.3809 -3.12012 22.6309 -9.37012zM386.41 159.97l48.3398 48.3398l-162.44 162.44l-58.9492 -58.9502l58.5996 -58.5996c12.4902 -12.4902 12.4902 -32.75 0 -45.2402 +s-32.75 -12.4902 -45.2402 0l-58.5996 58.5996l-81.6104 -81.6094l-13.1494 -13.1504c-3.86035 -3.84961 -6.07031 -7.99023 -7.43066 -11.8301h320.48z" /> + <glyph glyph-name="fingerprint" unicode="&#xf577;" +d="M256.12 202.04c13.2598 0 24 -10.75 23.9902 -24c1.55957 -99.1104 -15.9502 -176.61 -29.4805 -224.521c-2.97949 -10.5996 -12.6104 -17.5195 -23.0898 -17.5195c-20.9697 0 -25.8496 20.7695 -23.1201 30.4902c19.5605 69.6494 28.8398 139.3 27.7002 211.55 +c0 13.2598 10.75 24 24 24zM255.26 283.77c56.9707 -0.839844 104.03 -46.9199 104.91 -102.72c0.790039 -50.8994 -2.99023 -102.08 -11.2695 -152.109c-0.770508 -4.6709 -7.61035 -23.1006 -27.5801 -19.7705c-13.0703 2.16016 -21.9307 14.5205 -19.7607 27.5801 +c7.80078 47.2197 11.3809 95.5 10.6104 143.55c-0.469727 30.1299 -26.3096 55 -57.6201 55.4697c-34.5303 0.150391 -54.8594 -26.3896 -54.4502 -52.3398c0.800781 -51.4395 -4.0293 -102.93 -14.3691 -153.02c-2.69043 -12.9805 -15.3105 -21.3105 -28.3604 -18.6406 +c-12.9697 2.6709 -21.3301 15.3809 -18.6396 28.3604c9.61914 46.6396 14.1191 94.6104 13.3691 142.55c-0.849609 54.0205 41.9004 101.16 103.16 101.09zM144.57 303.55c10.2793 -8.37012 11.8398 -23.4795 3.48926 -33.7598 +c-18.7998 -23.0898 -28.4697 -51.0898 -28 -80.9697c0.640625 -40.6699 -2.66992 -81.4902 -9.85938 -121.33c-0.820312 -4.5498 -7.78027 -22.8604 -27.8906 -19.3604c-13.0498 2.36035 -21.6992 14.8398 -19.3594 27.8896c6.63965 36.7803 9.7002 74.4707 9.10938 112.051 +c-0.639648 40.7197 13.1309 80.5 38.75 112c8.39062 10.2793 23.46 11.8193 33.7607 3.47949zM254.04 365.88c101.09 -1.5 184.6 -83.0801 186.16 -181.83c0.0615234 -3.97852 0.111328 -10.4375 0.111328 -14.417c0 -29.1934 -2.68848 -76.4277 -6.00195 -105.433 +c-1.06934 -9.23047 -9.85938 -23.0605 -26.5791 -21.1104c-13.1602 1.5 -22.6104 13.4102 -21.1104 26.5801c4.2998 37.5205 6.16992 75.75 5.58008 113.63c-1.15039 73.0801 -63.4502 133.45 -138.88 134.58c-11.5303 0.0800781 -22.9502 -1.08008 -34 -3.68945 +c-12.8906 -3 -25.8301 4.93945 -28.8906 17.8291c-3.04004 12.9102 4.94043 25.8301 17.8301 28.8906c14.9102 3.53027 30.3701 5.37988 45.7803 4.96973zM506.11 244.43c6.22949 -28.2295 6.00977 -50.1602 5.83008 -72.3398 +c-0.110352 -13.1895 -10.8301 -23.7998 -24 -23.7998h-0.200195c-13.25 0.110352 -23.9102 10.9297 -23.7998 24.2002c0.209961 24.1895 0.00976562 40.1895 -4.7002 61.5996c-2.86035 12.9502 5.31934 25.75 18.2598 28.6104 +c13.0996 2.92969 25.75 -5.35059 28.6104 -18.2705zM465.99 335.15c7.62012 -10.8408 5 -25.8105 -5.83984 -33.4307c-10.8604 -7.58984 -25.8105 -5 -33.4199 5.86035c-39.8906 56.8301 -105.171 91.3604 -174.62 92.3896 +c-56.3408 0.810547 -108.92 -20.0596 -147.681 -58.8594c-37.1201 -37.1406 -57.1094 -86.5 -56.2793 -139l-0.160156 -23.6406c-0.379883 -13 -11.0498 -23.2998 -23.9707 -23.2998c-0.239258 0 -0.489258 0 -0.719727 0.0205078 +c-13.25 0.379883 -23.6699 11.4395 -23.2803 24.6895l0.120117 21.4697c-1.04004 65.6104 23.9502 127.28 70.3203 173.71c48.0098 48.0303 112.56 73.7607 182.35 72.9209c84.79 -1.27051 164.48 -43.4404 213.181 -112.83z" /> + <glyph glyph-name="fish" unicode="&#xf578;" horiz-adv-x="576" +d="M327.1 352c137.46 0 248.9 -128 248.9 -160s-111.44 -160 -248.9 -160c-89.9697 0 -168.55 54.7695 -212.279 101.62l-87.3301 -66.0498c-12.1299 -9.16992 -30.2402 0.599609 -27.1406 14.6602l24.1904 109.77l-24.1797 109.76 +c-3.10059 14.0605 15.0098 23.8398 27.1396 14.6602l87.3301 -66.0498c43.7295 46.8604 122.3 101.63 212.27 101.63zM414.53 168c13.25 0 24 10.75 24 24c0 13.2598 -10.7402 24 -24 24c-13.25 0 -24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" /> + <glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496" +d="M344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248 +s-248 111 -248 248s111 248 248 248zM80 224c0 -39.7998 32.2002 -72 72 -72s72 32.2002 72 72s-32.2002 72 -72 72s-72 -32.2002 -72 -72zM312 48c21.2002 0 21.2002 32 0 32h-128c-21.2002 0 -21.2002 -32 0 -32h128zM344 152c39.7998 0 72 32.2002 72 72 +s-32.2002 72 -72 72s-72 -32.2002 -72 -72s32.2002 -72 72 -72z" /> + <glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM323.3 56.7002c11.4004 -3.5 22.5 6.2002 20.5 18.0996 +c-7 39.9004 -60.0996 61.2002 -95.7998 61.2002s-88.7998 -21.2002 -95.7998 -61.2002c-2 -11.7998 9 -21.5996 20.5 -18.0996c31.2002 9.59961 59.3994 15.2998 75.2998 15.2998s44.0996 -5.7002 75.2998 -15.2998zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32 +s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="glass-martini-alt" unicode="&#xf57b;" +d="M502.05 390.4l-214.05 -214.04v-192.36h56c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v192.36l-214.05 214.04c-21.25 21.2598 -6.2002 57.5996 23.8496 57.5996h444.4 +c30.0498 0 45.0996 -36.3398 23.8496 -57.5996zM443.77 400h-375.529l48 -48h279.529z" /> + <glyph glyph-name="globe-africa" unicode="&#xf57c;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM408 224.5c0 8.55957 6.94043 15.5 15.5 15.5h18.4297c-19.0693 76.9805 -82.6992 136.37 -161.92 149.21v-21.7002c0 -8.55957 -6.93945 -15.5 -15.5 -15.5 +h-24.21c-5.17969 0 -10.0195 -2.58984 -12.8896 -6.89941l-8.08008 -12.1104c-2.13965 -3.20996 -5.40039 -5.5 -9.13965 -6.44043l-14.4502 -3.60938c-6.90039 -1.73047 -11.7402 -7.93066 -11.7402 -15.04v-4.40039c0 -8.55957 6.94043 -15.5 15.5 -15.5h90.0498 +h0.00292969c3.54297 0 8.45215 -2.0332 10.957 -4.54004l6.91992 -6.91992c2.91016 -2.91016 6.85059 -4.54004 10.96 -4.54004h10.0908c8.55957 0 15.5 -6.93945 15.5 -15.5c0 -6.66992 -4.27051 -12.5898 -10.6006 -14.7002l-47.3096 -15.7695 +c-3.90039 -1.2998 -8.15039 -1 -11.8301 0.839844l-14.7207 7.36035c-7.5791 3.7998 -15.9492 5.76953 -24.4297 5.76953h-0.889648c-10.0527 -0.00195312 -24.7383 -4.89941 -32.7803 -10.9297l-27.5801 -20.6904c-13.75 -10.3193 -21.8496 -26.5098 -21.8496 -43.6992 +v-14.0605c0.00195312 -12.4902 7.16992 -29.7959 16 -38.6299c10.25 -10.2402 24.1396 -16 38.6299 -16h25.8799c8.55957 0 15.5 -6.94043 15.5 -15.5v-29.8896v-0.00390625c0 -10.2822 3.73145 -26.0898 8.33008 -35.2861 +c4.7002 -9.40039 14.3096 -15.3398 24.8203 -15.3398c8.19824 0.000976562 18.542 5.53809 23.0898 12.3594l13.0293 19.5498c5.9248 8.88477 17.125 21.9482 25 29.1602c2.4707 2.27051 4.14062 5.27051 4.76074 8.56055l4.2998 22.8301 +c0.439453 2.3291 1.41016 4.5293 2.83008 6.42969l18.7402 24.9795c2.00977 2.68066 3.09961 5.9502 3.09961 9.30078v11.3398c0 8.55957 -6.94043 15.5 -15.5 15.5h-8.20996c-5.17969 0 -10.0205 2.58984 -12.8896 6.89941l-13.2402 19.8604 +c-5.66992 8.50977 -1.70996 20.0703 7.99023 23.2998l2.64941 0.879883c1.31641 0.4375 3.50977 0.792969 4.89746 0.792969c2.5918 0 6.44531 -1.16602 8.60254 -2.60254l18.21 -12.1396c2.15527 -1.43945 6.00781 -2.60742 8.59961 -2.60742 +c2.01953 0 5.125 0.733398 6.93066 1.63672l15.3896 7.7002c5.25 2.62012 8.57031 7.99023 8.57031 13.8604v6.92969z" /> + <glyph glyph-name="globe-americas" unicode="&#xf57d;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM330.29 82.4004c7.56934 7.52832 13.7168 22.3037 13.7197 32.9795v0.00488281c0 6.97266 -4 16.6338 -8.92969 21.5654l-13.6904 13.6895 +c-6.00977 6 -14.1396 9.37012 -22.6299 9.37012h-66.75c-9.41016 4.70996 -21.4795 32 -32 32c-10.5195 0 -20.8994 2.4502 -30.3096 7.16016l-11.0801 5.54004c-4.0498 2.03027 -6.61035 6.16016 -6.61035 10.6904v0.00292969c0 4.75391 3.66016 9.83301 8.16992 11.3369 +l31.1699 10.3896c1.3584 0.452148 3.62305 0.818359 5.05469 0.818359c3.30078 0 8.00293 -1.75488 10.4961 -3.91797l9.2793 -8.06055c1.4502 -1.25977 3.31055 -1.95996 5.24023 -1.95996h5.63965c5.94043 0 9.81055 6.25977 7.15039 11.5801l-15.5898 31.1904 +c-0.464844 0.931641 -0.84082 2.53223 -0.84082 3.57227c0 1.86621 1.08398 4.43555 2.4209 5.7373l9.91992 9.65039c1.5 1.45996 3.5 2.26953 5.58008 2.26953h8.99023h0.00292969c1.82812 0 4.3623 1.04883 5.65625 2.33984l8 8 +c3.12012 3.12012 3.12012 8.19043 0 11.3105l-4.68945 4.68945c-3.12012 3.12012 -3.12012 8.19043 0 11.3105l10.3398 10.3398l4.69043 4.67969c6.25 6.25 6.25 16.3799 0 22.6299l-28.3008 28.3008c-8.26953 -0.310547 -16.3994 -1.12988 -24.3896 -2.41992v-11.3008 +c0 -11.8994 -12.5195 -19.6299 -23.1602 -14.3096l-24.0098 12.0098c-45.8398 -19.8496 -82.7305 -56.3896 -103.2 -101.89c9.92969 -14.7197 25.21 -37.3701 34.5898 -51.1406c4.29395 -6.3252 12.3848 -15.6172 18.0605 -20.7393l0.799805 -0.720703 +c9.5498 -8.60938 20.1699 -15.9697 31.6504 -21.75c14 -7.0498 34.4395 -18.1592 48.8096 -26.1094c10.1904 -5.62988 16.46 -16.3301 16.46 -27.9707v-32.0098c0 -8.49023 3.37012 -16.6299 9.37012 -22.6299c14.9902 -14.9902 24.3203 -38.6299 22.6299 -51.25v-27.3799 +c14.6504 0 28.8896 1.69043 42.6504 4.69043l17.3896 46.8496c2.04004 5.49023 3.25977 11.21 4.76953 16.8701c1.07031 4.00977 3.18066 7.70996 6.1709 10.71c3.31934 3.33008 7.40918 7.39941 11.3096 11.2803zM417 173.75l29.1797 -7.29004 +c1.08008 8.37988 1.82031 16.8701 1.82031 25.54c0 32.1299 -7.7998 62.4102 -21.3203 89.3301l-12.9795 -6.49023c-3.74023 -1.85938 -6.91992 -4.67969 -9.24023 -8.14941l-19.5898 -29.3809c-2.22754 -3.33594 -4.03516 -9.29883 -4.03516 -13.3096 +s1.80762 -9.97363 4.03516 -13.3096l17.9795 -26.9707c3.31055 -4.96973 8.36035 -8.51953 14.1504 -9.96973z" /> + <glyph glyph-name="globe-asia" unicode="&#xf57e;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM236.66 199.77l17.3701 28.9502c1.7998 2.99023 6.2002 2.82031 7.75977 -0.299805c1.34961 -2.70996 4.12012 -4.41992 7.15039 -4.41992h3.05957 +c4.41992 0 8 3.58008 8 8v78.1201c0 6.05957 -3.41992 11.5996 -8.83984 14.3096l-10.8301 5.41016c-5.49023 2.75 -5.96973 10.4004 -0.860352 13.8105l50.1602 38.5293c-19.4297 6.31055 -40.1201 9.82031 -61.6299 9.82031c-110.28 0 -200 -89.7197 -200 -200 +c0 -10.9199 1.12012 -21.5498 2.80957 -31.9902h62.5703c4.24023 0 8.31055 1.69043 11.3105 4.69043l19.4697 19.46c3.85938 3.85938 10.3701 2.7998 12.8096 -2.08008l22.6201 -45.2305c2.70996 -5.42969 8.25 -8.84961 14.3105 -8.84961h6.10938 +c8.83984 0 16 7.16016 16 16v9.37012c0 4.24023 -1.68945 8.30957 -4.68945 11.3096l-5.66016 5.66016c-3.12012 3.12012 -3.12012 8.19043 0 11.3105l5.66016 5.65918c3 3 7.06934 4.69043 11.3096 4.69043h0.310547c5.61914 0 10.8291 2.9502 13.7197 7.76953z +M408 89.5703l-0.00976562 24.5996c0 4.24023 -1.69043 8.31055 -4.69043 11.3105l-11.9102 11.9092c-1.5 1.5 -2.33984 3.54004 -2.33984 5.66016v12.9307c0 2.20996 -1.79004 4 -4 4h-6.05957c-1.78027 0 -3.33984 -1.1709 -3.83984 -2.88086l-4.2002 -14.4697 +c-0.490234 -1.7002 -2.06055 -2.87988 -3.83984 -2.87988h-3.80078c-1.4707 0.000976562 -3.12305 1.10254 -3.68945 2.45996l-5.35059 12.8496c-1.23926 2.99023 -4.15918 4.93066 -7.38965 4.93066h-12.0898h-0.0117188c-1.4082 0 -3.48145 -0.663086 -4.62793 -1.48047 +l-23.71 -16.8896c-1.73047 -1.23047 -3.61035 -2.25977 -5.59082 -3.0498l-39.3398 -15.7402c-3.04004 -1.21973 -5.0293 -4.16016 -5.0293 -7.42969v-10.2002v-0.00292969c0 -1.8291 1.04785 -4.36328 2.33984 -5.65723l11.9102 -11.9102 +c3 -3 7.06934 -4.68945 11.3096 -4.68945h10.3398c1.31055 0 2.61035 0.15918 3.87988 0.479492l21.2705 5.32031c1.76465 0.441406 4.67383 0.798828 6.49316 0.798828c6.12012 0 14.5986 -3.51172 18.9268 -7.83887l13.0098 -13.0098 +c3 -3 7.07031 -4.69043 11.3096 -4.69043h15.1602c4.24023 0 8.31055 1.69043 11.3105 4.69043l9.56934 9.56934c3 3 4.69043 7.07031 4.69043 11.3105z" /> + <glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM144 48v40h-40v-8c0 -17.7002 14.2998 -32 32 -32h8zM144 104v40h-8c-17.7002 0 -32 -14.2998 -32 -32v-8h40zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32 +s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM208 48v40h-48v-40h48zM208 104v40h-48v-40h48zM272 48v40h-48v-40h48zM272 104v40h-48v-40h48zM336 48v40h-48v-40h48zM336 104v40h-48v-40h48zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32 +s14.2998 -32 32 -32zM392 80v8h-40v-40h8c17.7002 0 32 14.2998 32 32zM392 104v8c0 17.7002 -14.2998 32 -32 32h-8v-40h40z" /> + <glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32 +s32 14.2998 32 32s-14.2998 32 -32 32zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.39941 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002 +c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" /> + <glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM311.7 311.3c-12.4004 -18.3994 -15.2002 -36.8994 -15.7002 -55.2998c0.599609 -18.4004 3.2998 -36.9004 15.7002 -55.2998c8 -11.7002 25.0996 -11.4004 32.7002 0 +c12.3994 18.3994 15.1992 36.8994 15.6992 55.2998c-0.599609 18.4004 -3.2998 36.9004 -15.6992 55.2998c-8 11.7002 -25.1006 11.4004 -32.7002 0zM151.7 311.3c-12.4004 -18.3994 -15.2002 -36.8994 -15.7002 -55.2998 +c0.599609 -18.4004 3.2998 -36.9004 15.7002 -55.2998c8 -11.7002 25.0996 -11.4004 32.7002 0c12.3994 18.3994 15.1992 36.8994 15.6992 55.2998c-0.599609 18.4004 -3.2998 36.9004 -15.6992 55.2998c-8 11.7002 -25.1006 11.4004 -32.7002 0zM248 16 +c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004 +c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" /> + <glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7998 -11.7998 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006 +c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM168 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17 +c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998 +c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.3008 3.7002 -22.7002 -6 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" /> + <glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="504" +d="M456 320c-26.5 0 -48 21 -48 47c0 20 28.5 60.4004 41.5996 77.7998c3.2002 4.2998 9.60059 4.2998 12.8008 0c13.0996 -17.3994 41.5996 -57.7998 41.5996 -77.7998c0 -26 -21.5 -47 -48 -47zM456 288c6.7998 0 13.2002 1.09961 19.5 2.59961 +c13.0996 -30.1992 20.5 -63.5 20.5 -98.5996c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248c50.2998 0 97 -15.0996 136.1 -40.7998c-7.7998 -18 -8.09961 -27.7998 -8.09961 -32.2002c0 -43.5996 35.9004 -79 80 -79zM328 296 +c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7998 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5 +c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM168 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17 +c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7002 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002 +s-92.9004 5.5 -123.1 15.2002c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" /> + <glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM90.4004 264.4c-7.7002 -20.2002 3.7998 -41.8008 24.1992 -47.2002l70.2002 -18.2002c4.60059 -1.2002 9.2998 1.5 10.5 6l19.4004 69.9004 +c5.59961 20.2998 -7.40039 41.0996 -28.7998 44.5c-18.7002 3 -36.5 -9.80078 -41.5 -27.9004l-2 -7.09961l-7.10059 1.89941c-18.2002 4.7998 -38.2002 -4.2998 -44.8994 -21.8994zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998 +c1.90039 11.7998 -9.2998 21.5 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998zM381.4 217.3 +c20.3994 5.2998 31.8994 26.9004 24.1992 47.2002c-6.69922 17.5996 -26.6992 26.5996 -44.8994 21.9004l-7.10059 -1.90039l-2 7.09961c-5.09961 18.1006 -22.8994 30.9004 -41.5 27.9004c-21.3994 -3.40039 -34.3994 -24.2002 -28.7998 -44.5l19.4004 -69.9004 +c1.2998 -4.5 6 -7.19922 10.5 -6z" /> + <glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 250.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998 +c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 280.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM248 16 +c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7002 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.3008 3.7002 -22.7002 -6 -20.7002 -17.9004 +c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" /> + <glyph glyph-name="grin-squint-tears" unicode="&#xf586;" +d="M409.6 336.1c-5.59961 -0.799805 -10.2998 3.90039 -9.5 9.40039c3.30078 22.5996 12 73.5 26.8008 88.2998c19.0996 19.2002 50.6992 18.9004 70.2998 -0.700195c19.5996 -19.5996 19.8994 -51 0.700195 -70.1992 +c-14.8008 -14.8008 -65.7002 -23.6006 -88.3008 -26.8008zM102.4 47.9004c5.59961 0.799805 10.2998 -3.90039 9.5 -9.40039c-3.30078 -22.5996 -12 -73.5 -26.8008 -88.2998c-19.1992 -19.2002 -50.5996 -18.9004 -70.1992 0.700195 +c-19.6006 19.5996 -19.9004 51.0996 -0.800781 70.1992c14.8008 14.8008 65.7002 23.6006 88.3008 26.8008zM414.1 304.4c24 3.5 42.1006 7.39941 56.5 11.5c54.8008 -94.9004 42 -218.2 -39.1992 -299.301c-81.2002 -81.0996 -204.5 -94 -299.301 -39.1992 +c4.10059 14.3994 8.10059 32.5 11.5 56.5c2.90039 20.5 -12.5 49.5996 -45.6992 45.6992c-24.1006 -3.5 -42.1006 -7.39941 -56.5 -11.5c-54.8008 94.9004 -41.9004 218.2 39.1992 299.301c81.2002 81.0996 204.5 94 299.301 39.1992 +c-4.10059 -14.3994 -8.10059 -32.5 -11.5 -56.5c-2.90039 -20.5996 12.6992 -49.5996 45.6992 -45.6992zM255.7 342l-22.5 -90.5996c-2.2002 -8.60059 5.59961 -16.7002 14.5 -14.5l90.5 22.5996c13.0996 3.2998 11.5996 22.4004 -1.7998 23.5996l-52.3008 4.80078 +l-4.7998 52.2998c-1.2002 13.2998 -20.2998 15 -23.5996 1.7998zM164.8 111.7c1.2998 -13.4004 20.4004 -14.9004 23.5 -1.7002l22.6006 90.5c2.19922 8.7002 -5.7002 16.7002 -14.5 14.5l-90.5 -22.5996c-13.1006 -3.30078 -11.6006 -22.4004 1.7998 -23.6006 +l52.2998 -4.7998zM380.5 67.5c42.7998 42.9004 68 122.3 35.7002 167.6c-7.10059 9.90039 -21.9004 8.5 -27.2998 -2c-14.6006 -28.1992 -42.4004 -63.8994 -76.3008 -97.7998c-33.8994 -33.8994 -69.5 -61.7002 -97.7998 -76.2998 +c-10.7002 -5.40039 -11.7998 -20.2998 -2 -27.2002c14.4004 -10.2002 32.1006 -14.7002 51 -14.7002c41 0 87.4004 21.1006 116.7 50.4004z" /> + <glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM94.5996 279.1c-6.19922 -1 -8.89941 -8.59961 -4.2998 -13.2998l25.4004 -24.5996l-6 -34.9004c-1 -6.2002 5.2998 -11 11 -7.89941l31.2998 16.2998l31.2002 -16.2002 +c5.7002 -3.09961 12 1.7002 11 7.90039l-6 34.8994l25.3994 24.6006c4.60059 4.59961 1.90039 12.1992 -4.2998 13.1992l-34.8994 5l-15.5 31.6006c-2.90039 5.7998 -11 5.7998 -13.9004 0l-15.5 -31.6006zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998 +c1.90039 11.7998 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998zM405.7 265.9 +c4.59961 4.59961 1.89941 12.1992 -4.40039 13.0996l-34.8994 5l-15.5 31.5996c-2.90039 5.80078 -11 5.80078 -13.9004 0l-15.5 -31.5996l-34.9004 -5c-6.19922 -1 -8.7998 -8.59961 -4.2998 -13.2002l25.4004 -24.5996l-6 -34.9004c-1 -6.2002 5.2998 -11 11 -7.89941 +l31.2998 16.2998l31.2998 -16.2002c5.7002 -3.09961 12 1.7002 11 7.90039l-6 34.8994z" /> + <glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="640" +d="M102.4 191.9c5.59961 0.799805 10.2998 -3.90039 9.5 -9.40039c-3.30078 -22.5996 -12 -73.5 -26.8008 -88.2998c-19.1992 -19.2002 -50.5996 -18.9004 -70.1992 0.700195c-19.6006 19.5996 -19.9004 51.0996 -0.800781 70.1992 +c14.8008 14.8008 65.7002 23.6006 88.3008 26.8008zM625.8 165.1c19.2002 -19.0996 18.7998 -50.6992 -0.799805 -70.2998c-19.5996 -19.5996 -51 -19.8994 -70.2002 -0.700195c-14.7998 14.8008 -23.5996 65.7002 -26.7998 88.3008c-0.799805 5.59961 4 10.2998 9.5 9.5 +c22.5996 -3.30078 73.5 -12 88.2998 -26.8008zM496.4 177.9c11.7998 -82.3008 29.8994 -100.4 35.7998 -106.301c0.899414 -1 2 -1.59961 3 -2.5c-42.7002 -74.6992 -123 -125.1 -215.2 -125.1s-172.5 50.4004 -215.2 125c1 0.900391 2.10059 1.59961 3 2.5 +c5.90039 6 24 24.0996 35.7998 106.4c2.90039 20.3994 -12.5 49.5996 -45.6992 45.6992c-8.90039 -1.2998 -16.8008 -2.69922 -24.3008 -4.09961c13.7002 124 118.7 220.5 246.4 220.5s232.7 -96.5 246.4 -220.5c-7.5 1.40039 -15.4004 2.7998 -24.3008 4.09961 +c-26.5996 3.80078 -49.5 -19.0996 -45.6992 -45.6992zM400 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17 +c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM240 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006 +c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM320 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004 +c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.7002 -22.7002 -6.2002 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" /> + <glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5c24.7002 16.2002 43.5 38.0996 47.7998 63.7998c1.90039 11.7998 -9.2998 21.5 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002 +s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM168 208 +c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078v-64 +c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998 +c3.5 15.4004 20.2002 24.1006 34.5996 17.6006z" /> + <glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496" +d="M293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078v-64c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006 +l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998c3.5 15.4004 20.2002 24.1006 34.5996 17.6006zM248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5 +c24.7002 16.2002 43.5 38.0996 47.7998 63.7998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.59961 -22.7002 -6.10059 -20.7002 -17.9004 +c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM214.2 229.7c7.7002 4.7002 7.7002 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18 +l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18zM377.2 199.7l-33.6006 40.2998l33.6006 40.2998c8.5 10.2998 -3.7002 24.9004 -15.4004 18l-80 -48c-7.7998 -4.7002 -7.7998 -15.8994 0 -20.5996l80 -48 +c11.5 -6.7998 24.1006 7.59961 15.4004 18z" /> + <glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496" +d="M344 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5c24.7002 16.2002 43.5 38.0996 47.7998 63.7998 +c1.90039 11.7998 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5 +c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM192 215c8.40039 -7.40039 21.5996 -0.299805 20 10.7998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006 +c-1.7998 -11.0996 11.2998 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM344 176c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078 +v-64c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998 +c3.5 15.4004 20.2002 24.1006 34.5996 17.6006z" /> + <glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496" +d="M0 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM200 240c0 17.7002 -14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32zM368 215c8.5 -7.40039 21.5996 -0.200195 20 10.7998 +c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM124.9 127.2c-11.4004 3.7002 -22.7002 -6 -20.7002 -17.9004 +c9.2998 -55 83.2002 -93.2998 143.8 -93.2998s134.6 38.2998 143.8 93.2998c1.90039 11.9004 -9.39941 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002z" /> + <glyph glyph-name="grip-horizontal" unicode="&#xf58d;" horiz-adv-x="448" +d="M96 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM256 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64 +c0 17.6699 14.3301 32 32 32h64zM416 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM96 352c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64 +c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM256 352c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM416 352c17.6699 0 32 -14.3301 32 -32v-64 +c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64z" /> + <glyph glyph-name="grip-vertical" unicode="&#xf58e;" horiz-adv-x="320" +d="M96 416c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM96 256c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64 +c0 17.6699 14.3301 32 32 32h64zM96 96c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 416c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64 +c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 256c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 96c17.6699 0 32 -14.3301 32 -32v-64 +c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64z" /> + <glyph glyph-name="headphones-alt" unicode="&#xf58f;" +d="M160 160c17.6699 0 32 -14.3496 32 -32.0596v-127.881c0 -17.6992 -14.3301 -32.0596 -32 -32.0596h-16c-35.3496 0 -64 28.71 -64 64.1201v63.7598c0 35.4199 28.6504 64.1201 64 64.1201h16zM368 160c35.3496 0 64 -28.71 64 -64.1201v-63.7598 +c0 -35.4102 -28.6504 -64.1201 -64 -64.1201h-16c-17.6699 0 -32 14.3604 -32 32.0596v127.881c0 17.71 14.3301 32.0596 32 32.0596h16zM256 416c143.09 0 251.43 -119.13 256 -256v-112c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v112 +c0 114.67 -93.3301 207.8 -208 207.82c-114.67 -0.0205078 -208 -93.1504 -208 -207.82v-112c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v112c4.57031 136.87 112.91 256 256 256z" /> + <glyph glyph-name="headset" unicode="&#xf590;" +d="M192 240v-112c0 -17.6699 -14.3301 -32 -32 -32h-16c-35.3496 0 -64 28.6504 -64 64v48c0 35.3496 28.6504 64 64 64h16c17.6699 0 32 -14.3301 32 -32zM368 96h-16c-17.6699 0 -32 14.3301 -32 32v112c0 17.6699 14.3301 32 32 32h16c35.3496 0 64 -28.6504 64 -64v-48 +c0 -35.3496 -28.6504 -64 -64 -64zM256 448c142.82 0 251.42 -118.83 256 -256v-165.72c0 -49.8604 -40.4199 -90.2803 -90.2803 -90.2803h-181.72c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48h32c26.5098 0 48 -21.4902 48 -48h101.72 +c23.3506 0 42.2803 18.9297 42.2803 42.2803c0 0 -0.0400391 163.29 -0.120117 165.72h0.120117c0 114.69 -93.3096 208 -208 208s-208 -93.3096 -208 -208v-16c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v16c4.58008 137.17 113.18 256 256 256z +" /> + <glyph glyph-name="highlighter" unicode="&#xf591;" horiz-adv-x="544" +d="M0 -31.9805l68.3301 70.4707l67.04 -67.04l-35.4502 -35.4502zM124.61 208.03l41.5195 35.4395l173.34 -173.34l-35.5498 -41.6396c-9.5 -10.7705 -24.4199 -14.9805 -38.1504 -10.7803l-42.7393 13.0801l-50.8604 -50.8604l-96.2295 96.2305l50.9297 50.9395 +l-13.0498 42.8301c-0.876953 2.87891 -1.58887 7.65625 -1.58887 10.665c0 9.11328 5.5459 21.4043 12.3789 27.4355zM527.92 368.73c20.5 -20.5 21.5303 -53.3906 2.34961 -75.1309l-169.949 -199.06l-169.771 169.78l199.05 169.96 +c21.7402 19.1699 54.6309 18.1396 75.1201 -2.35059z" /> + <glyph glyph-name="hot-tub" unicode="&#xf593;" +d="M414.21 270.35c-3.15039 25.3906 -14.6104 47.9707 -31.9697 62.1406c-27.7305 22.6299 -45.79 58.0498 -50.1299 97.1602c-1.09082 9.7793 6.48926 18.3496 16 18.3496h16.1201c7.98926 0 14.7295 -6.13965 15.7393 -14.3398 +c3.16016 -25.4004 14.6104 -47.9805 31.9805 -62.1504c27.7295 -22.6299 45.79 -58.0498 50.1299 -97.1602c1.08008 -9.7793 -6.49023 -18.3496 -16 -18.3496h-16.1201c-8 0 -14.7295 6.13965 -15.75 14.3496zM306.21 270.35 +c-3.15039 25.3906 -14.6104 47.9707 -31.9697 62.1406c-27.7305 22.6299 -45.79 58.0498 -50.1299 97.1602c-1.09082 9.7793 6.48926 18.3496 16 18.3496h16.1201c7.98926 0 14.7295 -6.13965 15.7393 -14.3398c3.16016 -25.4004 14.6104 -47.9805 31.9805 -62.1504 +c27.7295 -22.6299 45.79 -58.0498 50.1299 -97.1602c1.08008 -9.7793 -6.49023 -18.3496 -16 -18.3496h-16.1201c-8 0 -14.7295 6.13965 -15.75 14.3496zM480 192c17.6699 0 32 -14.3301 32 -32v-160c0 -35.3496 -28.6504 -64 -64 -64h-384c-35.3496 0 -64 28.6504 -64 64 +v224c0 35.3496 28.6504 64 64 64h42.6699h0.00292969c11.7754 0 28.9775 -5.73438 38.3975 -12.7998l110.93 -83.2002h224zM128 8v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM224 8v112 +c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM320 8v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM416 8 +v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM64 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64z" /> + <glyph glyph-name="hotel" unicode="&#xf594;" horiz-adv-x="576" +d="M560 384h-16v-384h16c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-240v80c0 8.7998 -7.2002 16 -16 16h-32c-8.7998 0 -16 -7.2002 -16 -16v-80h-240c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h15.9805v384h-15.9805 +c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h544c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16zM256 339.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004 +c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM256 243.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004 +c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM128 339.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004 +c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM179.2 192c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004zM192 64h192c0 53.0195 -42.9805 96 -96 96s-96 -42.9805 -96 -96zM448 204.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM448 300.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004 +c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998z" /> + <glyph glyph-name="joint" unicode="&#xf595;" horiz-adv-x="640" +d="M444.34 266.9c-35.7803 25.0693 -60.3398 63.0098 -60.3398 106.699v66.4004c0 4.41992 3.58008 8 8 8h48c4.41992 0 8 -3.58008 8 -8v-62.3096c0 -29.0303 15.8496 -54.71 39.6602 -71.3203c35.3301 -24.6504 56.3398 -64.8203 56.3398 -108.061v-30.3096 +c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v30.3096c0 27.4307 -13.2803 52.9102 -35.6602 68.5908zM194.97 89.0195c22.3701 3.60059 45.0801 -4.30957 59.8203 -21.5098l112.72 -131.51h-88.5693c-98.6406 0 -195.29 27.7197 -278.94 80 +c59.6904 37.3096 126.03 61.9297 194.97 73.0195zM553.28 360.91c54.3096 -36.4102 86.7197 -97.1602 86.7197 -162.601v-30.3096c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v30.3096c0 50.1504 -25.21 96.6504 -67.3604 123.99 +c-18.4697 11.9805 -28.6396 33.3701 -28.6396 55.3906v62.3096c0 4.41992 3.58008 8 8 8h48c4.41992 0 8 -3.58008 8 -8v-62.3096c0 -6.82031 3.61035 -12.9805 9.28027 -16.7803zM360.89 95.9502h0.108398c16.2441 0 38.0049 -10.0127 48.5723 -22.3506l117.949 -137.6 +h-88.4492h-0.00292969c-16.248 0 -38.0146 10.0127 -48.5869 22.3496l-117.801 137.431c1.40039 0.0195312 53.8105 0.109375 88.21 0.169922zM616 96c13.25 0 24 -10.7402 24 -24v-112c0 -13.25 -10.75 -24 -24 -24h-17.4199h-0.00292969 +c-16.248 0 -38.0146 10.0127 -48.5869 22.3496l-117.99 137.65h184z" /> + <glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM304 52c0 13 -13.4004 27.2998 -35.2002 36.4004 +c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44c-8.40039 1.09961 -12.2002 -11.8008 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002c-6.10059 -2.59961 -6 -12.2998 0 -14.7998 +l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32 +s14.2998 -32 32 -32z" /> + <glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM209 220.1c4.2002 -7.5 15.5996 -4 15.0996 4.5c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004 +c-0.699219 -8.5 10.7002 -11.8994 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006zM304 52c0 13 -13.4004 27.2998 -35.2002 36.4004c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44 +c-8.40039 1.09961 -12.2002 -11.8008 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002c-6.10059 -2.59961 -6 -12.2998 0 -14.7998l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5 +l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM369 220.1c4.2002 -7.5 15.5996 -4 15.0996 4.5c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004 +c-0.699219 -8.5 10.8008 -11.7998 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006z" /> + <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="504" +d="M501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941l8.40039 2.2002 +c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM323.5 49.5c0 0 23.5996 -83.9004 23.9004 -84.5996c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248c0 -31.7998 -6.2002 -62.0996 -17.0996 -90 +c-6 1.5 -12.2002 2.7998 -18.6006 2.90039c-29.0996 49.7998 -98.0996 50.5996 -127.8 4.2998c-11.2998 -17.7002 -14.5996 -39.4004 -9 -59.7002zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM288 52 +c0 13 -13.4004 27.2998 -35.2002 36.4004c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44c-8.2002 1.19922 -12.4004 -11.7002 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002 +c-5.7002 -2.5 -6 -12.2998 0 -14.7998l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM304 231l9.7002 8.5 +c14.7998 13.2002 46.2002 13.2002 61 0l9.5 -8.5c8.5 -7.5 21.5 -0.299805 19.7998 10.7998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998z" /> + <glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32 +s32 14.2998 32 32s-14.2998 32 -32 32zM256 16c73.4004 0 134 55 142.9 126c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16z" /> + <glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM272 240.6c-0.700195 -8.59961 10.9004 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17 +c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM112 240.6c-0.700195 -8.5 10.7998 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006 +c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM398.9 142c1.19922 9.59961 -6.30078 18 -15.9004 18h-270 +c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" /> + <glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 278.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998 +c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 308.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM398.9 142 +c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" /> + <glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM268.1 241.9c-1.69922 -11.2002 11.5 -18.3008 19.9004 -10.9004l9.59961 8.59961c14.8008 13.2002 46.2002 13.2002 61 0l9.5 -8.5 +c8.40039 -7.5 21.5 -0.299805 19.8008 10.8008c-4 25.1992 -34.2002 42.0996 -59.9004 42.0996s-55.9004 -16.9004 -59.9004 -42.0996zM168 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM398.9 142 +c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" /> + <glyph glyph-name="luggage-cart" unicode="&#xf59d;" horiz-adv-x="640" +d="M224 128c-17.6699 0 -32 14.3301 -32 32v160c0 17.6699 14.3301 32 32 32h32v-224h-32zM576 160c0 -17.6699 -14.3301 -32 -32 -32h-32v224h32c17.6699 0 32 -14.3301 32 -32v-160zM624 64c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-82.9404 +c1.79004 -5.03027 2.94043 -10.3604 2.94043 -16c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48c0 5.63965 1.15039 10.9697 2.94043 16h-197.881c1.79004 -5.03027 2.94043 -10.3604 2.94043 -16c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48 +c0 5.63965 1.15039 10.9697 2.94043 16h-82.9404c-8.83984 0 -16 7.16016 -16 16v368h-48c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-368h496zM480 352v-224h-192v272c0 26.5098 21.4902 48 48 48h96 +c26.5098 0 48 -21.4902 48 -48v-48zM432 352v48h-96v-48h96z" /> + <glyph glyph-name="map-marked" unicode="&#xf59f;" horiz-adv-x="576" +d="M288 448c69.5898 0 126 -56.4102 126 -126c0 -56.2598 -82.3496 -158.8 -113.9 -196.02c-6.37988 -7.54004 -17.8096 -7.54004 -24.1992 0c-31.5508 37.2197 -113.9 139.76 -113.9 196.02c0 69.5898 56.4102 126 126 126zM20.1201 232.05l118.63 47.4502 +c5.17969 -14.8799 12.4102 -30.4404 21.25 -46.4199v-233.08l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v250.32c0.00292969 11.959 9.0166 25.2686 20.1201 29.71zM288 88.3301c14.0703 0 27.3799 6.17969 36.5098 16.9502 +c19.6699 23.2002 40.5703 49.6299 59.4902 76.7197v-245.99l-192 64v182c18.9199 -27.0996 39.8301 -53.5195 59.4902 -76.7197c9.12988 -10.7803 22.4395 -16.96 36.5098 -16.96zM554.06 286.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-250.32 +c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-139.88 -55.9502v288z" /> + <glyph glyph-name="map-marked-alt" unicode="&#xf5a0;" horiz-adv-x="576" +d="M288 448c69.5898 0 126 -56.4102 126 -126c0 -56.2598 -82.3496 -158.8 -113.9 -196.02c-6.37988 -7.54004 -17.8096 -7.54004 -24.1992 0c-31.5508 37.2197 -113.9 139.76 -113.9 196.02c0 69.5898 56.4102 126 126 126zM288 280c23.2002 0 42 18.7998 42 42 +s-18.7998 42 -42 42s-42 -18.7998 -42 -42s18.7998 -42 42 -42zM20.1201 232.05l118.63 47.4502c5.17969 -14.8799 12.4102 -30.4404 21.25 -46.4199v-233.08l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v250.32 +c0.00292969 11.959 9.0166 25.2686 20.1201 29.71zM288 88.3301c14.0703 0 27.3799 6.17969 36.5098 16.9502c19.6699 23.2002 40.5703 49.6299 59.4902 76.7197v-245.99l-192 64v182c18.9199 -27.0996 39.8301 -53.5195 59.4902 -76.7197 +c9.12988 -10.7803 22.4395 -16.96 36.5098 -16.96zM554.06 286.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-250.32c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-139.88 -55.9502v288z" /> + <glyph glyph-name="marker" unicode="&#xf5a1;" +d="M93.9502 157.97l75.3994 75.4004l128.021 -128.021l-75.4004 -75.3994c-44.8223 -44.8203 -132.335 -86.8428 -195.34 -93.7998c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l0.0302734 0.229492c7.00195 62.9189 49.0156 150.315 93.7803 195.08z +M485.49 421.49c35.3496 -35.3604 35.3496 -92.6699 0 -128.021l-165.49 -165.489l-128.02 128.02l98.4795 98.4697l-19.5898 19.5898l-87.1504 -87.1494c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6201 22.6201c-6.25 6.25 -6.25 16.3799 0 22.6299l104.12 104.12 +c15.6104 15.6201 40.9404 15.6201 56.5605 0l36.5596 -36.5498l21.7598 21.7598c35.3506 35.3496 92.6699 35.3496 128.021 0z" /> + <glyph glyph-name="medal" unicode="&#xf5a2;" +d="M223.75 317.25c-42.04 -6.55957 -79.8398 -25.6201 -109.56 -53.3896l-111.271 158.96c-7.41992 10.6094 0.160156 25.1797 13.1104 25.1797h111.149c10.0029 0 22.2959 -6.96191 27.4404 -15.54zM495.97 448c12.9502 0 20.5303 -14.5703 13.1104 -25.1797 +l-111.271 -158.95c-29.7197 27.7598 -67.5195 46.8203 -109.56 53.3799l69.1299 115.21c5.78027 9.63965 16.2002 15.54 27.4404 15.54h111.149zM256 288c97.2002 0 176 -78.7998 176 -176s-78.7998 -176 -176 -176s-176 78.7998 -176 176s78.7998 176 176 176z +M348.52 130.74c6.82031 6.63965 3.05078 18.2295 -6.34961 19.5898l-52.4297 7.63965l-23.4307 47.5205c-2.10938 4.25 -6.21973 6.38965 -10.3291 6.38965c-4.09082 0 -8.1709 -2.11035 -10.2803 -6.38965l-23.4307 -47.5205l-52.4297 -7.63965 +c-9.39941 -1.36035 -13.1699 -12.9502 -6.34961 -19.5898l37.9297 -36.96l-8.96973 -52.2207c-1.60059 -9.34961 8.25 -16.54 16.6494 -12.0898l46.9004 24.6504l46.9102 -24.6504c8.38965 -4.41992 18.25 2.73047 16.6494 12.0898l-8.96973 52.2207z" /> + <glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32 +s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM88 224c0 -35.2998 28.7002 -64 64 -64s64 28.7002 64 64c0 24.2998 -13.7002 45.2002 -33.5996 56c0.699219 -2.59961 1.59961 -5.2002 1.59961 -8 +c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 2.7998 0.900391 5.40039 1.59961 8c-19.8994 -10.7998 -33.5996 -31.7002 -33.5996 -56zM312 48c21.2002 0 21.2002 32 0 32h-128c-21.2002 0 -21.2002 -32 0 -32h128zM344 160c35.2998 0 64 28.7002 64 64 +c0 24.2998 -13.7002 45.2002 -33.5996 56c0.699219 -2.59961 1.59961 -5.2002 1.59961 -8c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 2.7998 0.900391 5.40039 1.59961 8c-19.8994 -10.7998 -33.5996 -31.7002 -33.5996 -56c0 -35.2998 28.7002 -64 64 -64z +" /> + <glyph glyph-name="monument" unicode="&#xf5a6;" horiz-adv-x="384" +d="M368 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-352c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h352zM289.14 347.26l30.8604 -315.26h-256l30.8701 315.26c0.625 6.27344 4.75098 14.9834 9.20996 19.4404 +l76.5996 76.6094c6.25 6.25 16.3799 6.25 22.6299 0l76.6201 -76.6094c4.45898 -4.45703 8.58496 -13.167 9.20996 -19.4404zM240 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-70.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004 +c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h70.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998z" /> + <glyph glyph-name="mortar-pestle" unicode="&#xf5a7;" +d="M501.54 387.09l-99.0801 -99.0898h-151.37l203.811 152.86c5.25293 3.93848 14.8457 7.13477 21.4121 7.13477c4.64941 0 11.7988 -1.68652 15.957 -3.76465c21.7803 -10.8906 26.4902 -39.9209 9.27051 -57.1406zM496 256c8.83984 0 16 -7.16016 16 -16v-32 +c0 -8.83984 -7.16016 -16 -16 -16h-16c0 -80.9805 -50.2002 -150.11 -121.13 -178.32c12.7695 -16.8701 21.7295 -36.7998 24.9502 -58.6895c1.45996 -9.91992 -6.04004 -18.9805 -16.0703 -18.9805h-223.5c-10.0303 0 -17.5303 9.06055 -16.0703 18.9805 +c3.23047 21.8896 12.1904 41.8193 24.9502 58.6895c-70.9297 28.21 -121.13 97.3398 -121.13 178.32h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" /> + <glyph glyph-name="paint-roller" unicode="&#xf5aa;" +d="M416 320c0 -17.6699 -14.3301 -32 -32 -32h-352c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h352c17.6699 0 32 -14.3301 32 -32v-96zM448 384c35.3496 0 64 -28.6504 64 -64v-64c0 -53.0195 -42.9805 -96 -96 -96h-160v-32 +c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32v32c0 35.3496 28.6504 64 64 64h160c17.6699 0 32 14.3301 32 32v128z" /> + <glyph glyph-name="passport" unicode="&#xf5ab;" horiz-adv-x="448" +d="M129.62 272c5.28027 31.2197 25.5898 57.1699 53.2998 70.4102c-7.66992 -19.0605 -12.7197 -43.3799 -14.21 -70.4102h-39.0898zM129.62 240h39.0898c1.49023 -27.0303 6.53027 -51.3496 14.21 -70.4102c-27.71 13.2402 -48.0098 39.1904 -53.2998 70.4102zM224 161.31 +c-7.69043 7.4502 -20.7695 34.4307 -23.4404 78.6904h46.8701c-2.66016 -44.2695 -15.7393 -71.2402 -23.4297 -78.6904zM200.57 272c2.66016 44.2598 15.7393 71.2402 23.4395 78.6904c7.69043 -7.4502 20.7705 -34.4307 23.4307 -78.6904h-46.8701zM265.08 169.59 +c7.67969 19.0605 12.7197 43.3799 14.21 70.4102h39.0898c-5.28027 -31.2197 -25.5898 -57.1699 -53.2998 -70.4102zM416 448c17.6699 0 32 -14.3301 32 -32v-448c0 -17.6699 -14.3301 -32 -32 -32h-352c-35.3496 0 -64 28.6504 -64 64v384c0 35.3496 28.6504 64 64 64h352z +M336 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16h-224c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h224zM224 128c70.6904 0 128 57.3096 128 128s-57.3096 128 -128 128s-128 -57.3096 -128 -128s57.3096 -128 128 -128zM265.08 342.41 +c27.71 -13.2402 48.0195 -39.1904 53.2998 -70.4102h-39.0898c-1.49023 27.0303 -6.53027 51.3496 -14.21 70.4102z" /> + <glyph glyph-name="pen-fancy" unicode="&#xf5ac;" +d="M79.1797 165.06l84.0703 33.0703l98.8799 -98.8799l-33.0703 -84.0703c-2.79102 -8.38086 -11.8584 -17.4482 -20.2393 -20.2393l-176.82 -58.9404l-4.67969 4.67969l92.8896 92.8906c2.55957 -0.660156 5.03027 -1.57031 7.7998 -1.57031c17.6699 0 32 14.3301 32 32 +s-14.3301 32 -32 32s-32 -14.3301 -32 -32c0 -2.76953 0.910156 -5.24023 1.57031 -7.7998l-92.8896 -92.8906l-4.69043 4.69043l58.9404 176.82c2.79297 8.37891 11.8604 17.4463 20.2393 20.2393zM369.25 419.68c74.4805 84.2607 199.15 -39.1602 114.23 -114.229 +l-199.49 -183.11l-97.8506 97.8506z" /> + <glyph glyph-name="pen-nib" unicode="&#xf5ad;" +d="M136.6 309.21l151.4 42.79l128 -128l-42.79 -151.4c-5.08594 -17.9932 -23.6104 -37.3965 -41.3496 -43.3096l-279.86 -93.29l-14.6904 14.6904l150.11 150.109c6.25977 -2.99023 13.1797 -4.7998 20.5801 -4.7998c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48 +s-48 -21.4902 -48 -48c0 -7.40039 1.80957 -14.3203 4.7998 -20.5801l-150.109 -150.11l-14.6904 14.6904l93.29 279.86c5.91309 17.7393 25.3164 36.2637 43.3096 41.3496zM497.94 373.83c18.75 -18.7598 18.75 -49.1602 0 -67.9102l-56.5508 -56.5498l-128.02 128.02 +l56.5498 56.5508c18.75 18.75 49.1602 18.75 67.9102 0z" /> + <glyph glyph-name="pencil-ruler" unicode="&#xf5ae;" +d="M109.46 203.96l-100.17 100.18c-12.3896 12.3906 -12.3799 32.4707 0 44.8604l89.71 89.71c12.3896 12.3896 32.4697 12.3896 44.8604 0l33.6396 -33.6504l-61.6797 -61.6797c-3.10059 -3.08984 -3.10059 -8.11035 0 -11.21l11.21 -11.21 +c1.28027 -1.2832 3.79199 -2.3252 5.60449 -2.3252c1.81348 0 4.32422 1.04199 5.60547 2.3252l61.6797 61.6797l44.1201 -44.1201zM497.93 320.76l-46.0195 -46.0293l-113.2 113.199l46.0205 46.0107c18.7695 18.7598 49.1895 18.7598 67.9492 0l45.25 -45.25 +c18.75 -18.7607 18.7607 -49.1709 0 -67.9307zM316.08 365.29l113.2 -113.19l-296.92 -296.93l-107.45 -18.8398c-14.5 -2.5498 -27.1201 10.0703 -24.5898 24.5596l18.7598 107.44zM502.71 79.8604c12.3896 -12.3906 12.3896 -32.4707 0 -44.8604l-89.71 -89.7002 +c-12.3896 -12.3896 -32.4697 -12.3896 -44.8604 0l-100.21 100.2l134.58 134.56l44.1406 -44.1396l-61.6807 -61.6797c-3.08984 -3.08984 -3.08984 -8.11035 0 -11.21l11.21 -11.21c3.08984 -3.10059 8.11035 -3.10059 11.21 0l61.6807 61.6797z" /> + <glyph glyph-name="plane-arrival" unicode="&#xf5af;" horiz-adv-x="640" +d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h608zM44.8096 242.34c-6.5498 5.91016 -12.3896 14.3398 -12.5791 23.25l-0.230469 101.78 +c0.19043 10.8799 10.3799 18.7002 20.7197 15.8799l39.7305 -10.8301c5.00977 -1.36035 9.08984 -5.04004 11.0195 -9.92969l27.5898 -67.8799l102.2 -27.8408l-47.9199 164.211c-0.189453 11.1191 10.1504 19.3193 20.71 16.4395l65.0898 -17.7295 +c5.70996 -1.56055 10.1504 -6.10059 11.6602 -11.9102l100.36 -191.851l97.5098 -26.5596c26.4805 -7.20996 51.5498 -20.1797 70.8301 -40c21.6396 -22.25 27.2002 -40.46 23.3701 -54.96c-3.81055 -14.5 -17.5801 -27.4404 -47.25 -35.71 +c-26.4404 -7.36035 -54.5205 -5.85059 -81 1.35938l-287.601 78.3506c-7.94531 2.16895 -19.3564 8.41016 -25.4697 13.9297z" /> + <glyph glyph-name="plane-departure" unicode="&#xf5b0;" horiz-adv-x="640" +d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h608zM80.5498 106.73l-76.21 82.9697c-7.62012 8.95996 -4.87012 22.7803 5.57031 28.0801l40.1299 20.3701 +c2.0957 1.0625 5.7041 1.92578 8.05469 1.92578c2.33691 0 5.92773 -0.853516 8.01562 -1.90625l72.3496 -36.4697l103.21 52.3799l-156.22 98.0996c-8.08008 8.87988 -5.5 23.1201 5.16992 28.5303l65.75 33.3701c2.0957 1.06348 5.70508 1.92676 8.05566 1.92676 +c3 0 7.45508 -1.36035 9.94434 -3.03711l218.7 -82.0596l98.5098 49.9902c26.7402 13.5596 56.4297 21.4199 86.2803 19.4795c33.5098 -2.17969 51.04 -12.8799 58.25 -27.4502c7.22949 -14.5596 5.23926 -35.1699 -13.0703 -63.6494 +c-16.3096 -25.3701 -40.2803 -44.7402 -67.0205 -58.3105l-290.96 -147.649c-7.71094 -3.91895 -20.9893 -7.1084 -29.6396 -7.12012l-130.54 -0.180664c-9.22949 -0.00976562 -18.0498 3.87012 -24.3301 10.7109z" /> + <glyph glyph-name="prescription" unicode="&#xf5b1;" horiz-adv-x="384" +d="M301.26 96l78.0605 -78.0498c6.25 -6.25 6.25 -16.3799 0 -22.6299l-22.6299 -22.6299c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-78.0596 78.0596l-78.0498 -78.0703c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309 +l78.0596 78.0596l-128 128h-18.75v-80c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v256c0 8.83984 7.16016 16 16 16h144c53.0195 0 96 -42.9805 96 -96c0 -48.8896 -36.6904 -88.7998 -83.96 -94.7803l83.96 -83.96l78.0596 78.0605 +c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309zM64 352v-64h96c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32h-96z" /> + <glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248c0 -90 -48.2002 -168.7 -120 -212.1v180.1c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16v-196.7c-29.5 -12.3994 -62 -19.2998 -96 -19.2998s-66.5 6.90039 -96 19.2998v196.7c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16 +v-180.1c-71.7998 43.3994 -120 122 -120 212.1c0 137 111 248 248 248zM182.5 223.5l9.7002 -8.5c2.5 -2.2998 7.89941 -4.7002 13.7002 -1.59961c4.39941 2.39941 6.89941 7.39941 6.09961 12.3994c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006 +c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-0.799805 -5 1.7002 -10 6.09961 -12.3994c4.40039 -2.40039 9.90039 -1.7002 13.7002 1.59961l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM248 32c26.5 0 48 28.7002 48 64s-21.5 64 -48 64s-48 -28.7002 -48 -64 +s21.5 -64 48 -64zM397.8 213.5c4.40039 2.40039 6.7998 7.40039 6.2002 12.2998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-0.799805 -5 1.7002 -10 6.09961 -12.3994 +c4.40039 -2.40039 9.90039 -1.7002 13.7002 1.59961l9.59961 8.59961c14.8008 13.2002 46.2002 13.2002 61 0l9.5 -8.5c2.5 -2.2998 7.90039 -4.69922 13.7002 -1.59961z" /> + <glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM152 32c26.5 0 48 21 48 47c0 20 -28.5 60.4004 -41.5996 77.7998 +c-3.2002 4.2998 -9.60059 4.2998 -12.8008 0c-13.0996 -17.3994 -41.5996 -57.7998 -41.5996 -77.7998c0 -26 21.5 -47 48 -47zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM338.2 53.7998 +c13.2998 -16.0996 38.2998 4 24.5 20.4004c-28.4004 34.2002 -70.2998 53.7998 -114.7 53.7998c-21.2002 0 -21.2002 -32 0 -32c34.9004 0 67.7998 -15.4004 90.2002 -42.2002z" /> + <glyph glyph-name="shuttle-van" unicode="&#xf5b6;" horiz-adv-x="640" +d="M628.88 237.35c7.17969 -8.62988 11.1201 -19.5 11.1201 -30.7295v-110.62c0 -17.6699 -14.3301 -32 -32 -32h-32c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-128c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-32c-17.6699 0 -32 14.3301 -32 32v288 +c0 17.6699 14.3301 32 32 32h425.52c12.4082 -0.00195312 28.9258 -7.73926 36.8701 -17.2695zM64 256h96v96h-96v-96zM160 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM320 256v96h-96v-96h96zM480 16 +c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM384 256h146.02l-80 96h-66.0195v-96z" /> + <glyph glyph-name="signature" unicode="&#xf5b7;" horiz-adv-x="640" +d="M623.2 256c9.09961 0.599609 16.7998 -7.09961 16.5996 -16.2002v-32.0996c0 -8.5 -6.7002 -15.1006 -15.2002 -15.7998c-39.3994 -3.2002 -105.399 -51 -138.399 -65.8008c-34.2998 -15.3994 -66.7002 -30 -102.3 -30c-28.2002 0 -50.2002 8.5 -65.5 25.3008 +c-22.7002 24.8994 -22.8008 55.2998 -20.6006 83.7998c-56.5 -45.1006 -169 -153.601 -211.2 -195.8c-6.09961 -6.2002 -14.2998 -9.40039 -22.5996 -9.40039c-27 0 -36.5 27 -29.7002 43.9004l98.2002 245.6c8 19.9004 -14.2998 38.7998 -32.7002 27.0996l-58 -38.8994 +c-7.5 -4.7998 -17.3994 -2.60059 -22.0996 4.89941l-17.2002 27c-4.7002 7.5 -2.5 17.4004 4.90039 22.1006l54.8994 36.8994c76.5 48.7002 160.101 -26.8994 129.7 -102.8l-41.5 -103.7c105.2 101.2 144.4 124.5 169.5 126 +c54.4004 3.10059 43.7998 -68.0996 42.7002 -76.0996c-4.7002 -35.7002 -1.2998 -51.9004 21.2998 -51.9004c21.9004 0 47 11.3008 76.0996 24.4004c37.4004 16.7998 111.301 68 163.101 71.5z" /> + <glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM112 224.6c-0.700195 -8.5 10.7998 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17 +c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM362.8 101.8c13.5 16.2002 -11 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002 +s-67.7998 15.3008 -90.2002 42.2002c-13.5996 16.2002 -38.0996 -4.2002 -24.5996 -20.5c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7998zM369 220.1c4.09961 -7.39941 15.7002 -4.09961 15.0996 4.5 +c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004c-0.699219 -8.5 10.8008 -11.7998 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006z" /> + <glyph glyph-name="solar-panel" unicode="&#xf5ba;" horiz-adv-x="640" +d="M431.98 -0.00976562c8.84961 0.00976562 16.0293 -7.16992 16.0195 -16.0205l-0.0400391 -31.7295c-0.00976562 -8.82031 -7.16016 -15.9707 -15.9795 -15.9805l-223.961 -0.259766c-8.84961 -0.00976562 -16.0293 7.16992 -16.0195 16.0195l0.0498047 31.7305 +c0.00976562 8.83008 7.16016 15.9805 15.9805 15.9902l47.9795 0.0498047v32.21h128v-32.0596zM585.2 421.26c58.1094 -342.42 54.7803 -321.39 54.7598 -325.47c-0.0800781 -17.2305 -14.3604 -31.79 -32.5898 -31.79h-574.74c-18.3096 0 -32.6299 14.6797 -32.5996 32 +c0.00976562 3.91992 -3.35059 -17.1602 54.7598 325.26c2.62012 15.4307 16.21 26.7402 32.1396 26.7402h466.13c15.9307 0 29.5205 -11.3096 32.1406 -26.7402zM259.83 384l-9.77051 -96h139.87l-9.76953 96h-120.33zM184.66 128l11.4102 112h-105.971l-19.0098 -112 +h113.57zM200.95 288l9.76953 96h-96.1895l-16.29 -96h102.71zM233.77 128h172.45l-11.3994 112h-149.65zM429.27 384l9.77051 -96h102.71l-16.29 96h-96.1904zM455.33 128h113.58l-19.0098 112h-105.971z" /> + <glyph glyph-name="spa" unicode="&#xf5bb;" horiz-adv-x="576" +d="M568.25 256c4.41016 0.0195312 7.79004 -3.40039 7.75 -7.82031c-0.230469 -27.9199 -7.12988 -126.13 -88.7695 -199.3c-84.04 -81.8301 -167.23 -80.8799 -199.23 -80.8799s-115.21 -0.94043 -199.23 80.8799c-81.6299 73.1602 -88.5391 171.38 -88.7695 199.3 +c-0.0400391 4.41992 3.33984 7.83984 7.75 7.82031c29.04 -0.129883 135.01 -6.16016 213.84 -83c33.1201 -29.6299 53.3604 -63.2998 66.4102 -94.8604c13.0498 31.5605 33.29 65.2305 66.4102 94.8604c78.8301 76.8398 184.8 82.8701 213.84 83zM287.98 145.4 +c-10.7012 15.7168 -30.8789 38.7705 -45.04 51.46c-18.7207 18.25 -38.8506 32.6895 -59.2207 44.3896c16.4707 70.4404 51.75 132.93 96.7402 172.07c4.12012 3.58008 11.0303 3.58008 15.1396 0c45.0107 -39.1699 80.29 -101.721 96.7305 -172.221 +c-20.6797 -11.8799 -41.1699 -26.5693 -60.2598 -45.1797c-16.4902 -14.7402 -31.2705 -31.6699 -44.0898 -50.5195z" /> + <glyph glyph-name="splotch" unicode="&#xf5bc;" +d="M472.29 252.11c48.54 -16.6201 53.8301 -73.8301 8.9502 -96.79l-62 -31.7402c-17.8301 -9.12988 -29.2803 -25.2002 -30.6299 -42.9902l-4.7002 -61.8594c-3.41016 -44.79 -65.1299 -66.7803 -104.45 -37.2207l-54.3203 40.8301 +c-15.6201 11.7305 -36.96 16.1201 -57.0693 11.7305l-69.96 -15.2803c-50.6504 -11.0596 -94.0801 32.5596 -73.4902 73.8096l28.4297 56.9805c8.18066 16.3799 6.44043 35.1699 -4.63965 50.2402l-38.54 52.4199c-27.9004 37.9502 6.97949 86.8994 59.0303 82.8301 +l71.8799 -5.62012c20.6602 -1.62012 40.9395 5.59961 54.2002 19.3096l46.1396 47.6699c33.4102 34.5107 98.3994 21.1504 109.979 -22.6201l15.9902 -60.4492c4.60059 -17.3799 18.8604 -31.7002 38.1406 -38.3008z" /> + <glyph glyph-name="spray-can" unicode="&#xf5bd;" +d="M224 416v-96h-128v96c0 17.6699 14.3301 32 32 32h64c17.6699 0 32 -14.3301 32 -32zM480 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM224 288c53.0195 0 96 -42.9805 96 -96v-224c0 -17.6699 -14.3301 -32 -32 -32 +h-256c-17.6699 0 -32 14.3301 -32 32v224c0 53.0195 42.9805 96 96 96h128zM160 32c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM480 352c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32 +s-14.3301 -32 -32 -32zM384 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM288 416c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM384 416c17.6699 0 32 -14.3301 32 -32 +s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM480 224c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" /> + <glyph glyph-name="stamp" unicode="&#xf5bf;" +d="M32 -64v64h448v-64h-448zM416 192c53.0195 0 96 -42.9805 96 -96v-32c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v32c0 53.0195 42.9805 96 96 96h66.5596c16.2607 0 29.4404 13.1797 29.4404 29.4404v0.0693359 +c0 31.79 -9.98047 62.0605 -23.3096 90.9102c-5.57031 12.04 -8.69043 25.4199 -8.69043 39.5801c0 58.6699 52.6201 105.04 113.25 94.4902c38.79 -6.75 70.4902 -38.6699 77.2598 -77.4502c3.85059 -22.0303 0.0605469 -42.8096 -9.0498 -60.4199 +c-12.5801 -24.3105 -21.46 -50.3506 -21.46 -77.7197v-9.45996c0 -16.2607 13.1797 -29.4404 29.4404 -29.4404h66.5596z" /> + <glyph glyph-name="star-half-alt" unicode="&#xf5c0;" horiz-adv-x="536" +d="M508.55 276.49c26.25 -3.7998 36.7705 -36.1006 17.7305 -54.6006l-105.91 -102.979l25.0303 -145.49c3.55957 -20.79 -13.0605 -37.4004 -31.6602 -37.4004c-4.91016 0 -9.9707 1.16016 -14.8301 3.71094l-130.94 68.6992l-130.95 -68.6797 +c-4.86914 -2.58008 -9.93945 -3.75 -14.8691 -3.75c-18.5801 0 -35.1699 16.6699 -31.6104 37.4502l25.0596 145.479l-105.89 103c-19.0303 18.5 -8.50977 50.79 17.7402 54.5898l146.38 21.29l65.4297 132.381c5.90039 11.9092 17.29 17.8096 28.6904 17.8096 +c11.4697 0 22.9395 -5.98047 28.8193 -17.8096l65.4102 -132.391zM386.81 153.29l82.6504 80.3799l-114.229 16.6299l-25.0107 3.64062l-11.1797 22.6299l-51.0303 103.29l-0.0292969 -317.19l22.3799 -11.7402l102.13 -53.5898l-19.5205 113.45l-4.2793 24.8799z" /> + <glyph glyph-name="suitcase-rolling" unicode="&#xf5c1;" horiz-adv-x="384" +d="M336 288c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-16v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16h-128v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16h-16 +c-26.5098 0 -48 21.4902 -48 48v224c0 26.5098 21.4902 48 48 48h288zM320 72v16c0 4.41992 -3.58008 8 -8 8h-240c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h240c4.41992 0 8 3.58008 8 8zM320 168v16c0 4.41992 -3.58008 8 -8 8h-240 +c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h240c4.41992 0 8 3.58008 8 8zM144 400v-80h-48v80c0 26.5098 21.4902 48 48 48h96c26.5098 0 48 -21.4902 48 -48v-80h-48v80h-96z" /> + <glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM248 32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64 +s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" /> + <glyph glyph-name="swatchbook" unicode="&#xf5c3;" horiz-adv-x="511" +d="M479.06 128c17.6406 0 31.9404 -14.3301 31.9404 -32v-128c0 -17.6699 -14.2998 -32 -31.9404 -32h-299.579c2.17969 1.91016 4.60938 3.41992 6.66992 5.49023l186.14 186.51h106.77zM434.56 280.9c12.4707 -12.4902 12.4707 -32.7607 0 -45.2607l-211.869 -212.279 +c0.199219 2.90918 0.869141 5.67969 0.869141 8.63965v263.76l75.5 75.6504c12.4805 12.5 32.7002 12.5 45.1709 0zM191.62 416v-384c0 -53.0195 -42.9004 -96 -95.8105 -96c-52.9092 0 -95.8096 42.9805 -95.8096 96v384c0 17.6699 14.2998 32 31.9404 32h127.739 +c17.6406 0 31.9404 -14.3301 31.9404 -32zM95.8096 8c13.2305 0 23.96 10.75 23.9502 24c0 13.2598 -10.7295 24 -23.9502 24c-13.2197 0 -23.9492 -10.7402 -23.9492 -24c0 -13.25 10.7197 -24 23.9492 -24zM127.75 192l0.00976562 64h-63.8799v-64h63.8701zM127.75 320 +l0.00976562 64h-63.8799v-64h63.8701z" /> + <glyph glyph-name="swimmer" unicode="&#xf5c4;" horiz-adv-x="640" +d="M189.61 137.42c-5.04004 4.65039 -10.3906 8.34961 -15.8604 11.5801l68.6299 98.04c7.36035 10.5 16.3398 19.5498 26.7197 26.9404l80.0205 57.1699c25.54 18.2598 57.8301 24.96 88.5596 18.3799l100.351 -21.5303c25.9297 -5.55957 42.4297 -31.0801 36.8799 -57 +c-5.56055 -25.9102 -31.0898 -42.4102 -57 -36.8799l-100.351 21.5303c-4.33984 0.90918 -8.97949 -0.0302734 -12.6191 -2.61035l-18 -12.8604l112.84 -80.5996c-17.5107 -1.04004 -34.5303 -8.4502 -49.3906 -22.1602 +c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992s-30.8496 6.16016 -34.3896 9.41992c-16.0107 14.7705 -34.5 22.5801 -53.46 22.5801h-16.3008c-18.96 0 -37.4395 -7.80957 -53.46 -22.5801c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992 +s-30.8496 6.16016 -34.3896 9.41992zM624 96c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16c-38.6201 0 -72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398 +c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16c26.04 0 45.7998 8.41992 56.0703 17.9004 +c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998 +c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996 +c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004h16zM112 192c-44.1797 0 -80 35.8203 -80 80s35.8203 80 80 80s80 -35.8203 80 -80s-35.8203 -80 -80 -80z" /> + <glyph glyph-name="swimming-pool" unicode="&#xf5c5;" horiz-adv-x="640" +d="M624 32c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16c-38.6201 0 -72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398 +s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16c26.04 0 45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998 +c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996 +c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004h16zM224 64 +c-19.1201 0 -30.8604 6.16016 -34.3896 9.42969c-9.16992 8.4502 -19.2002 14.3398 -29.6104 18.0703v228.5c0 52.9404 43.0596 96 96 96s96 -43.0596 96 -96v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16c0 17.6396 -14.3604 32 -32 32 +s-32 -14.3604 -32 -32v-96h192v96c0 52.9404 43.0596 96 96 96s96 -43.0596 96 -96v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16c0 17.6396 -14.3604 32 -32 32s-32 -14.3604 -32 -32v-228.51 +c-10.4102 -3.73047 -20.4404 -9.61035 -29.6104 -18.0703c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992v96h-192v-96z" /> + <glyph glyph-name="tint-slash" unicode="&#xf5c7;" horiz-adv-x="640" +d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705 +c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l186.82 -144.399c21.6201 33.7197 42.9697 73.3398 58.4902 125.68c9 30.1201 50.5 28.7803 58.4395 0c46.9902 -158.48 146.78 -200.061 146.78 -311.82c0 -5.70996 -0.509766 -11.2998 -1.03027 -16.8701zM144 114.09 +c0 29.7803 7.30957 54.6299 18.7197 78.1299l273.681 -211.52c-31.0303 -27.7402 -71.6904 -44.7002 -116.4 -44.7002c-97.2803 0 -176 79.6504 -176 178.09z" /> + <glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 250.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998 +c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 280.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM248 160 +c-51.9004 0 -115.3 -43.7998 -123.2 -106.7c-1.7002 -13.3994 7.90039 -24.5996 17.7002 -20.3994c25.9004 11.0996 64.4004 17.3994 105.5 17.3994s79.5996 -6.2998 105.5 -17.3994c9.7002 -4.2002 19.4004 6.7998 17.7002 20.3994 +c-7.90039 62.9004 -71.2998 106.7 -123.2 106.7z" /> + <glyph glyph-name="tooth" unicode="&#xf5c9;" horiz-adv-x="448" +d="M443.98 351.75c10.1299 -41.6299 0.419922 -80.8203 -21.5303 -110.43c-23.3604 -31.5703 -32.6807 -68.6504 -36.29 -107.351c-4.41016 -47.1602 -10.3301 -94.1699 -20.9404 -140.319l-7.7998 -33.9502c-3.18945 -13.8701 -15.4902 -23.7002 -29.6699 -23.7002 +c-13.9697 0 -26.1504 9.5498 -29.54 23.1602l-34.4697 138.42c-4.56055 18.3096 -20.96 31.1602 -39.7598 31.1602c-18.8008 0 -35.2002 -12.8398 -39.7607 -31.1602l-34.4697 -138.42c-3.38965 -13.6104 -15.5703 -23.1602 -29.54 -23.1602 +c-14.1797 0 -26.4795 9.83008 -29.6699 23.7002l-7.7998 33.9502c-10.6104 46.1592 -16.54 93.1592 -20.9404 140.319c-3.60938 38.6904 -12.9297 75.7803 -36.29 107.351c-21.9199 29.6201 -31.6299 68.8096 -21.5 110.43c11.0098 45.2197 47.1104 82.0498 92.0098 93.7197 +c23.4307 6.08984 46.1104 0.540039 66.8105 -10.3096l100.51 -64.6201c7.83984 -5.05957 17.6504 -2.15039 22.1104 4.7998c4.78027 7.44043 2.62012 17.3398 -4.7998 22.1104l-28.3203 18.21c3.54004 1.75 7.25 3.08984 10.5 5.47949 +c26.1396 19.2305 56.9502 32.6904 89.1396 24.3301c44.9004 -11.6602 81 -48.5 92.0107 -93.7197z" /> + <glyph glyph-name="umbrella-beach" unicode="&#xf5ca;" horiz-adv-x="640" +d="M115.38 311.1c-10.0801 3.66992 -14.1104 16.3203 -7.41992 24.7207c59.75 74.8398 152.65 116.689 248.53 111.8c-52.79 -29.4102 -103.811 -92.1602 -139 -173.7zM247.63 262.94c44.4902 101.979 114.74 171.14 172.76 171.149c7.95996 0 15.6904 -1.2998 23.0908 -4 +c61.3291 -22.3203 78.3896 -132.6 42.6299 -253.979zM521.48 387.5c76.5293 -57.9199 120.76 -149.67 118.439 -245.36c-0.259766 -10.7393 -11.4795 -17.8398 -21.5703 -14.1699l-102.619 37.3604c17.5293 58.75 24.6895 117.09 18.9492 166.979 +c-2.37012 20.5908 -6.97949 38.8906 -13.1992 55.1904zM560 0.0195312c8.83984 0 16 -7.15918 16 -16v-32.0098c0 -8.83984 -7.16016 -16.0098 -16 -16.0098h-544c-8.83984 0 -16 7.16992 -16 16.0098v32.0098c0 8.85059 7.16016 16.0107 16 16.0107h236.96l72.9004 200.37 +l60.1396 -21.9004l-64.9404 -178.48h238.94z" /> + <glyph glyph-name="vector-square" unicode="&#xf5cb;" +d="M512 320c0 -17.6699 -14.3301 -32 -32 -32v-192c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32h-192c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32v192 +c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32h192c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32v-96zM416 384v-32h32v32h-32zM64 384v-32h32v32h-32zM96 0v32h-32v-32h32zM448 0v32h-32v-32h32zM416 96 +v192h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32v-192h32c17.6699 0 32 -14.3301 32 -32v-32h192v32c0 17.6699 14.3301 32 32 32h32z" /> + <glyph glyph-name="weight-hanging" unicode="&#xf5cd;" +d="M510.28 2.13965c8.33008 -33.3096 -14.6602 -66.1396 -46.2998 -66.1396h-415.95c-31.6504 0 -54.6406 32.8301 -46.3105 66.1396l73.0498 292.13c3.79004 15.1807 16.4404 25.7207 30.8701 25.7207h60.25c-3.58008 10.0498 -5.87988 20.7197 -5.87988 32 +c0 53.0195 42.9805 96 96 96c53.0205 0 96 -42.9805 96 -96c0 -11.2803 -2.30957 -21.9502 -5.87988 -32h60.25c14.4297 0 27.0703 -10.5303 30.8701 -25.7207zM256 320c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32s14.3604 -32 32 -32z" /> + <glyph glyph-name="wine-glass-alt" unicode="&#xf5ce;" horiz-adv-x="288" +d="M216 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-208c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h40v117.18c-68.4697 15.8906 -118.05 79.9102 -111.4 154.16l15.96 178.11c0.730469 8.24023 7.55078 14.5498 15.7002 14.5498h223.48 +c8.16016 0 14.9697 -6.30957 15.71 -14.5498l15.9502 -178.101c6.64941 -74.25 -42.9307 -138.27 -111.4 -154.159v-117.19h40zM61.75 400l-7.16992 -80h178.84l-7.16992 80h-164.5z" /> + <glyph glyph-name="air-freshener" unicode="&#xf5d0;" horiz-adv-x="384" +d="M378.94 126.59c11.75 -12.1494 1.71973 -30.5898 -16.6406 -30.5898h-138.3v-32h112c8.83984 0 16 -7.16016 16 -16v-96c0 -8.83984 -7.16016 -16 -16 -16h-288c-8.83984 0 -16 7.16016 -16 16v96c0 8.83984 7.16016 16 16 16h112v32h-138.3 +c-18.3604 0 -28.3906 18.4404 -16.6406 30.5898l94.2402 97.4102h-49.2197c-15.2998 0 -23.6602 16.5996 -13.8604 27.5303l113.33 126.51c-3.42969 6.61035 -5.5498 14 -5.5498 21.96c0 26.5098 21.4902 48 48 48s48 -21.4902 48 -48 +c0 -7.95996 -2.12012 -15.3496 -5.5498 -21.96l113.33 -126.51c9.7998 -10.9307 1.43945 -27.5303 -13.8604 -27.5303h-49.2197zM192 416.02c-8.84961 0 -16.0195 -7.16992 -16.0195 -16.0195c0 -8.83984 7.16992 -16.0195 16.0195 -16.0195 +s16.0195 7.17969 16.0195 16.0195c0 8.84961 -7.16992 16.0195 -16.0195 16.0195zM304 16h-224v-32h224v32z" /> + <glyph glyph-name="apple-alt" unicode="&#xf5d1;" horiz-adv-x="448" +d="M350.85 319c25.9707 -4.66992 47.2705 -18.6699 63.9199 -42c14.6504 -20.6699 24.6406 -46.6699 29.9609 -78c4.66992 -28.6699 4.31934 -57.3301 -1 -86c-7.99023 -47.3301 -23.9707 -87 -47.9404 -119c-28.6396 -38.6699 -64.5898 -58 -107.87 -58 +c-10.6602 0 -22.2998 3.33008 -34.96 10c-8.66016 5.33008 -18.3096 8 -28.9697 8s-20.2998 -2.66992 -28.9707 -8c-12.6592 -6.66992 -24.2998 -10 -34.96 -10c-43.2793 0 -79.2295 19.3301 -107.869 58c-23.9707 32 -39.9502 71.6699 -47.9404 119 +c-5.32031 28.6699 -5.66992 57.3301 -1 86c5.32031 31.3301 15.3096 57.3301 29.96 78c16.6504 23.3301 37.9502 37.3301 63.9199 42c15.9805 2.66992 37.9502 0.330078 65.9199 -7c23.9697 -6.66992 44.2803 -14.6699 60.9307 -24 +c16.6494 9.33008 36.96 17.3301 60.9297 24c27.9795 7.33008 49.96 9.66992 65.9395 7zM295.91 360c-9.32031 -8.66992 -21.6504 -15 -36.96 -19c-10.6602 -3.33008 -22.2998 -5 -34.96 -5l-14.9805 1c-1.33008 9.33008 -1.33008 20 0 32 +c2.66992 24 10.3203 42.3301 22.9707 55c9.31934 8.66992 21.6494 15 36.96 19c10.6592 3.33008 22.2998 5 34.96 5l14.9795 -1l1 -15c0 -12.6699 -1.66992 -24.3301 -4.99023 -35c-3.98926 -15.3301 -10.3096 -27.6699 -18.9795 -37z" /> + <glyph glyph-name="atom" unicode="&#xf5d2;" horiz-adv-x="448" +d="M413.03 192c40.1396 -54.9102 41.5195 -98.5996 25.1396 -128c-29.2197 -52.3398 -101.689 -43.5801 -116.33 -41.8799c-21.4697 -51.2197 -54.2002 -86.1201 -97.8398 -86.1201s-76.3701 34.9004 -97.8398 86.1201c-14.6504 -1.7002 -87.1201 -10.46 -116.33 41.8799 +c-16.3701 29.3799 -14.9902 73.1104 25.1396 128c-40.1396 54.9102 -41.5195 98.5996 -25.1396 128c10.9004 19.5195 40.5996 50.6602 116.33 41.8799c21.4795 51.2305 54.2002 86.1201 97.8398 86.1201s76.3604 -34.8896 97.8398 -86.1201 +c75.79 8.85059 105.42 -22.3604 116.33 -41.8799c16.3701 -29.3799 14.9902 -73.1104 -25.1396 -128zM63.3799 96c3.69043 -6.59961 19.0205 -11.8604 43.5801 -10.9697c-2.75977 13 -5.0498 26.3701 -6.75977 40.0801c-7.66992 6.29004 -14.9102 12.6494 -21.8701 19.1797 +c-15.1396 -23.4902 -18.9805 -41.0801 -14.9502 -48.29zM100.2 258.88c1.39355 11.1816 4.43555 29.2002 6.79004 40.2197c-1.82031 0.0703125 -3.98047 0.370117 -5.69043 0.370117c-21.5303 0 -34.5098 -5.33008 -37.9199 -11.4697 +c-4.01953 -7.20996 -0.179688 -24.7998 14.9502 -48.2998c6.96973 6.53027 14.21 12.8896 21.8701 19.1797zM224 384c-9.46973 0 -22.2002 -13.5195 -33.8604 -37.2598c11.1904 -3.7002 22.4404 -8 33.8604 -12.8604c11.4199 4.86035 22.6699 9.16016 33.8604 12.8604 +c-11.6602 23.7402 -24.3906 37.2598 -33.8604 37.2598zM224 0c9.46973 0 22.2002 13.5195 33.8604 37.2598c-11.1904 3.7002 -22.4404 8 -33.8604 12.8604c-11.4199 -4.86035 -22.6699 -9.16016 -33.8604 -12.8604c11.6602 -23.7402 24.3906 -37.2598 33.8604 -37.2598z +M286.5 157.33c1.99023 27.7998 1.98047 41.5498 0 69.3301c-26.6396 19.04 -46.1104 29.3096 -62.5 37.4795c-16.3701 -8.15918 -35.8301 -18.4297 -62.5 -37.4795c-1.99023 -27.79 -1.99023 -41.54 0 -69.3301c26.7002 -19.0703 46.1504 -29.3398 62.5 -37.4805 +c16.3604 8.15039 35.7998 18.4004 62.5 37.4805zM384.62 96c4.01953 7.20996 0.179688 24.7998 -14.9502 48.29c-6.96973 -6.53027 -14.21 -12.8896 -21.8701 -19.1797c-1.70996 -13.6904 -4 -27.0605 -6.75977 -40.0605c24.5801 -0.870117 39.9102 4.33008 43.5801 10.9502 +zM369.67 239.71c15.1299 23.4902 18.9697 41.0801 14.9502 48.2998c-3.41016 6.12988 -16.4004 11.4707 -37.9199 11.4707c-1.71973 0 -3.87012 -0.300781 -5.69043 -0.370117c2.35254 -11.0205 5.39453 -29.0391 6.79004 -40.2207 +c7.66992 -6.29004 14.9102 -12.6494 21.8701 -19.1797zM224 224c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" /> + <glyph glyph-name="bone" unicode="&#xf5d7;" horiz-adv-x="640" +d="M598.88 203.44c-9.42969 -4.70996 -9.42969 -18.1709 -0.00976562 -22.8809c25.2002 -12.5996 41.1201 -38.3496 41.1201 -66.5293v-7.64062c0 -41.0898 -33.2998 -74.3896 -74.3799 -74.3896c-32.0107 0 -60.4404 20.4902 -70.5703 50.8604 +c-6.53027 19.5996 -10.7305 45.1396 -38.1104 45.1396h-273.87c-26.5098 0 -30.4297 -22.1104 -38.1094 -45.1396c-10.1299 -30.3701 -38.5498 -50.8604 -70.5703 -50.8604c-41.0801 0 -74.3799 33.2998 -74.3799 74.3896v7.64062 +c0 28.1699 15.9199 53.9297 41.1201 66.5293c9.42969 4.70996 9.42969 18.1709 0 22.8809c-25.2002 12.5996 -41.1201 38.3594 -41.1201 66.5293v7.64062c0 41.0898 33.2998 74.3896 74.3896 74.3896c32.0107 0 60.4404 -20.4902 70.5605 -50.8604 +c6.53027 -19.5996 10.7295 -45.1396 38.1094 -45.1396h273.87c26.5107 0 30.4307 22.1104 38.1104 45.1396c10.1299 30.3701 38.5498 50.8604 70.5703 50.8604c41.0898 0 74.3896 -33.2998 74.3896 -74.3896v-7.64062c0 -28.1699 -15.9199 -53.9297 -41.1201 -66.5293z" /> + <glyph glyph-name="book-reader" unicode="&#xf5da;" +d="M352 352c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96zM233.59 206.9c4.10059 -2.51074 6.41016 -6.79004 6.41992 -11.46v-245.99c0 -10.1602 -11.1094 -16.5898 -20.4795 -11.8701 +c-61.0498 30.75 -149.38 39.1396 -193.04 41.4297c-14.9004 0.770508 -26.4902 12.7207 -26.4902 27.0498v222.801c0 15.6299 13.5498 28.0098 29.7998 27.0898c48.3604 -2.75 144.46 -12.7305 203.79 -49.0498zM482.2 255.95 +c16.25 0.919922 29.7998 -11.46 29.8096 -27.0898v-222.82c0 -14.3301 -11.5898 -26.2803 -26.4902 -27.0596c-43.6494 -2.29004 -131.93 -10.6807 -192.97 -41.4004c-9.39941 -4.73047 -20.54 1.70996 -20.54 11.9004v245.789c0 4.6709 2.31055 9.12012 6.41016 11.6309 +c59.3203 36.3193 155.43 46.3096 203.78 49.0498z" /> + <glyph glyph-name="brain" unicode="&#xf5dc;" horiz-adv-x="576" +d="M208 448c35.2998 0 64 -28.7002 64 -64v-376c0 -39.7998 -32.2002 -72 -72 -72c-31.7998 0 -58.4004 20.7002 -68 49.2002c-3.90039 -0.700195 -7.90039 -1.2002 -12 -1.2002c-39.7998 0 -72 32.2002 -72 72c0 4.7998 0.5 9.5 1.40039 14.0996 +c-29 12 -49.4004 40.6006 -49.4004 73.9004c0 29.7002 16.2998 55.2998 40.2998 69.0996c-5.09961 10.6006 -8.2998 22.3008 -8.2998 34.9004c0 33.4004 20.5 62 49.7002 74c-1.10059 4.5 -1.7002 9.2002 -1.7002 14c0 35.2998 28.7002 64 64 64 +c0.799805 0 1.40039 -0.200195 2.2002 -0.200195c7.09961 27.7002 31.8994 48.2002 61.7998 48.2002zM576 144c0 -33.2998 -20.4004 -61.9004 -49.4004 -73.9004c0.900391 -4.59961 1.40039 -9.2998 1.40039 -14.0996c0 -39.7998 -32.2002 -72 -72 -72 +c-4.09961 0 -8.09961 0.5 -12 1.2002c-9.59961 -28.5 -36.2002 -49.2002 -68 -49.2002c-39.7998 0 -72 32.2002 -72 72v376c0 35.4004 28.7002 64 64 64c29.9004 0 54.7002 -20.5 61.7998 -48.2002c0.700195 0 1.40039 0.200195 2.2002 0.200195 +c35.2998 0 64 -28.7002 64 -64c0 -4.7998 -0.700195 -9.5 -1.7002 -14c29.2002 -12 49.7002 -40.5996 49.7002 -74c0 -12.5996 -3.09961 -24.2998 -8.2998 -34.9004c24 -13.7998 40.2998 -39.3994 40.2998 -69.0996z" /> + <glyph glyph-name="car-alt" unicode="&#xf5de;" horiz-adv-x="480" +d="M438.66 235.67c24.1201 -9.16992 41.3398 -32.3301 41.3398 -59.6699v-48c0 -16.1299 -6.16016 -30.6797 -16 -41.9297v-54.0703c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32 +c-17.6699 0 -32 14.3301 -32 32v54.0703c-9.83984 11.2598 -16 25.8096 -16 41.9297v48c0 27.3398 17.2197 50.5 41.3398 59.6699l11.2402 28.0996l19.9297 49.8301c17.1104 42.7705 57.9307 70.4004 103.99 70.4004h127c46.0703 0 86.8799 -27.6299 103.99 -70.4004 +l19.9297 -49.8301zM131.93 289.83l-19.9297 -49.8301h256l-19.9297 49.8301c-7.29004 18.2197 -24.9404 30.1699 -44.5703 30.1699h-127c-19.6299 0 -37.2803 -11.9502 -44.5703 -30.1699zM80 128.2c19.2002 0 48 -3.19043 48 15.9502 +c0 19.1396 -28.7998 47.8496 -48 47.8496s-32 -12.7598 -32 -31.9004c0 -19.1396 12.7998 -31.8994 32 -31.8994zM400 128.2c19.2002 0 32 12.7598 32 31.8994c0 19.1406 -12.7998 31.9004 -32 31.9004s-48 -28.71 -48 -47.8496c0 -19.1406 28.7998 -15.9502 48 -15.9502z +" /> + <glyph glyph-name="car-battery" unicode="&#xf5df;" +d="M480 320c17.6699 0 32 -14.3301 32 -32v-256c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v256c0 17.6699 14.3301 32 32 32h32v48c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-48h128v48c0 8.83984 7.16016 16 16 16h96 +c8.83984 0 16 -7.16016 16 -16v-48h32zM192 184v16c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8zM448 184v16c0 4.41992 -3.58008 8 -8 8h-40v40c0 4.41992 -3.58008 8 -8 8h-16 +c-4.41992 0 -8 -3.58008 -8 -8v-40h-40c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h40v-40c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v40h40c4.41992 0 8 3.58008 8 8z" /> + <glyph glyph-name="car-crash" unicode="&#xf5e1;" horiz-adv-x="640" +d="M143.25 227.19l-12.4199 -46.3701c-3.00977 -11.25 -3.62988 -22.8906 -2.41016 -34.3906l-35.2002 -28.9795c-6.56934 -5.41016 -16.3096 0.429688 -14.6201 8.76953l15.4404 76.6807c1.05957 5.25977 -2.66016 10.2793 -8 10.79l-77.8604 7.5498 +c-8.46973 0.819336 -11.2295 11.8301 -4.13965 16.54l65.1504 43.2998c4.45996 2.96973 5.37988 9.15039 1.97949 13.29l-49.71 60.4102c-5.41016 6.56934 0.429688 16.2998 8.78027 14.6201l76.6797 -15.4404c5.25977 -1.05957 10.2803 2.66016 10.7998 8l7.5498 77.8604 +c0.820312 8.47949 11.8301 11.2295 16.5508 4.13965l43.2998 -65.1396c2.96973 -4.45996 9.14941 -5.37988 13.29 -1.98047l60.3994 49.71c6.57031 5.41016 16.3008 -0.429688 14.6201 -8.76953l-11.3301 -56.1602c-2.70996 -3.0498 -5.42969 -6.08984 -7.90918 -9.40039 +l-32.1504 -42.9697l-10.71 -14.3203c-32.7305 -8.75977 -59.1797 -34.5293 -68.0801 -67.7393zM637.82 94.6797l-12.4199 -46.3594c-3.13086 -11.6807 -9.38086 -21.6104 -17.5508 -29.3604c-2.25488 -2.13574 -6.17969 -5.27148 -8.75977 -7l-13.9902 -52.2295 +c-1.13965 -4.27051 -3.09961 -8.10059 -5.64941 -11.3809c-7.66992 -9.83984 -20.7402 -14.6797 -33.54 -11.25l-30.9102 8.28027c-17.0703 4.57031 -27.2002 22.1201 -22.6299 39.1904l8.28027 30.9102l-247.28 66.2598l-8.28027 -30.9102 +c-4.57031 -17.0703 -22.1201 -27.2002 -39.1895 -22.6299l-30.9102 8.28027c-12.7998 3.42969 -21.7002 14.1592 -23.4199 26.5098c-0.570312 4.12012 -0.350586 8.41992 0.790039 12.6797l13.9893 52.2305c-1.37207 2.78809 -3.2041 7.46973 -4.08984 10.4492 +c-3.2002 10.79 -3.64941 22.5205 -0.519531 34.2002l12.4199 46.3701c5.30957 19.7998 19.3594 34.8301 36.8896 42.21c4.9082 2.06836 13.1914 4.18262 18.4902 4.71973l18.1299 24.2305l32.1504 42.9697c3.44922 4.61035 7.18945 8.90039 11.1992 12.8398 +c8 7.89062 17.0303 14.4404 26.7402 19.5107c4.86035 2.54004 9.89062 4.70996 15.0498 6.48926c10.3301 3.58008 21.1904 5.62988 32.2402 6.04004s22.3105 -0.819336 33.4307 -3.7998l122.68 -32.8701c11.1201 -2.97949 21.4795 -7.54004 30.8496 -13.4297 +c11.7236 -7.36133 27.2646 -22.8174 34.6904 -34.5c8.81934 -13.8799 14.6396 -29.8398 16.6797 -46.9902l6.36035 -53.29l3.58984 -30.0498c8.79297 -6.34863 18.9805 -19.7568 22.7402 -29.9297c4.38965 -11.8799 5.29004 -25.1904 1.75 -38.3906zM255.58 213.66 +c-18.5498 4.96973 -34.21 -4.04004 -39.1699 -22.5303s4.10938 -34.1201 22.6494 -39.0898c18.5508 -4.96973 45.54 -15.5098 50.4902 2.97949c4.95996 18.4902 -15.4297 53.6709 -33.9697 58.6406zM546.19 185.49l-6.36035 53.29 +c-0.580078 4.87012 -1.88965 9.5293 -3.82031 13.8594c-5.7998 12.9902 -17.2002 23.0107 -31.4199 26.8203l-122.68 32.8701c-3.36914 0.902344 -8.93457 1.63477 -12.4229 1.63477c-13.2676 0 -30.4883 -8.62207 -38.4375 -19.2451l-32.1494 -42.9697l172 -46.0801z +M564.68 130.84c-18.5498 4.96973 -53.7998 -15.3096 -58.75 -33.79c-4.94922 -18.4902 23.6904 -22.8594 42.2402 -27.8301c18.5498 -4.96973 34.21 4.04004 39.1699 22.5303c4.9502 18.4805 -4.10938 34.1201 -22.6602 39.0898z" /> + <glyph glyph-name="car-side" unicode="&#xf5e4;" horiz-adv-x="640" +d="M544 256c53.0195 0 96 -42.9805 96 -96v-80c0 -8.83984 -7.16016 -16 -16 -16h-48c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-128c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-48c-8.83984 0 -16 7.16016 -16 16v112 +c0 29.79 20.4404 54.5996 48 61.7402l47.9102 122.029c9.71973 24.3008 33.25 40.2305 59.4199 40.2305h213.91c16.9795 -0.00195312 39.3701 -10.7627 49.9795 -24.0195l108.78 -135.98h16zM160 16c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48 +s21.5303 -48 48 -48zM232 256v96h-76.6699l-38.4004 -96h115.07zM280 256h166.04l-76.7998 96h-89.2402v-96zM480 16c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48s21.5303 -48 48 -48z" /> + <glyph glyph-name="charging-station" unicode="&#xf5e7;" horiz-adv-x="576" +d="M336 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-320c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h320zM544 320h16c8.83984 0 16 -7.16016 16 -16v-32c0 -35.7598 -23.6201 -65.6904 -56 -75.9297v-120.07 +c0 -44.4102 -38.29 -80.0498 -83.5898 -75.6201c-39.4902 3.85059 -68.4102 39.3398 -68.4102 79.0098v24.6104c0 22.0898 -17.9102 40 -40 40h-8v-112h-288v352c0 35.3496 28.6504 64 64 64h160c35.3496 0 64 -28.6504 64 -64v-192h8c48.5996 0 88 -39.4004 88 -88v-28 +c0 -16.9902 15.2197 -30.5 32.7402 -27.6104c13.7598 2.27051 23.2598 15.2402 23.2598 29.1904v118.49c-32.3799 10.2393 -56 40.1699 -56 75.9297v32c0 8.83984 7.16016 16 16 16h16v48c0 8.83984 7.16016 16 16 16s16 -7.16016 16 -16v-48h32v48 +c0 8.83984 7.16016 16 16 16s16 -7.16016 16 -16v-48zM260.09 272.24c4.62012 6.97949 -1.14941 15.7598 -10.3896 15.7598h-57.7002l11.5996 50.79c2.02051 6.66992 -3.71973 13.21 -11.5996 13.21h-68c-6.01953 0 -11.0996 -3.90039 -11.8896 -9.11035l-16 -107 +c-0.959961 -6.2998 4.63965 -11.8896 11.8896 -11.8896h59.3496l-23.0195 -83.0801c-1.7998 -6.63965 4 -12.9199 11.6699 -12.9199c4.17969 0 8.19043 1.91016 10.3896 5.24023z" /> + <glyph glyph-name="directions" unicode="&#xf5eb;" +d="M502.61 214.68c12.5195 -12.5293 12.5195 -32.8301 0 -45.3594l-223.931 -223.931c-12.5293 -12.5293 -32.8398 -12.5293 -45.3594 0l-223.931 223.931c-12.5195 12.5293 -12.5195 32.8301 0 45.3594l223.931 223.931c12.5293 12.5195 32.8398 12.5195 45.3594 0z +M401.63 202.12c3.42969 3.16992 3.42969 8.58984 0 11.7598l-84.21 77.7305c-5.12988 4.72949 -13.4297 1.08984 -13.4297 -5.87988v-53.7305h-112c-17.6699 0 -32 -14.3301 -32 -32v-80c0 -4.41992 3.58008 -8 8 -8h32c4.41992 0 8 3.58008 8 8v64h96v-53.7305 +c0 -6.97949 8.30957 -10.6094 13.4297 -5.87988z" /> + <glyph glyph-name="draw-polygon" unicode="&#xf5ee;" horiz-adv-x="448" +d="M384 96c35.3496 0 64 -28.6504 63.9902 -64c0 -35.3496 -28.6504 -64 -64 -64c-23.6299 0 -44.0303 12.9502 -55.1201 32h-209.75c-11.0801 -19.0498 -31.4902 -32 -55.1201 -32c-35.3496 0 -64 28.6504 -64 64c0 23.6299 12.9502 44.04 32 55.1299v209.75 +c-19.0498 11.0801 -32 31.4902 -32 55.1201c0 35.3496 28.6504 64 64 64c23.6299 0 44.04 -12.9502 55.1201 -32h209.76c11.0801 19.0498 31.4902 32 55.1201 32c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64c-0.349609 0 -0.669922 0.0898438 -1.01953 0.0996094 +l-39.2002 -65.3193c5.08008 -9.16992 8.21973 -19.5605 8.21973 -30.7803s-3.15039 -21.6104 -8.21973 -30.7803l39.2002 -65.3193c0.349609 0 0.669922 0.0996094 1.01953 0.0996094zM96 87.1201c8.07422 -4.68848 18.4316 -15.0459 23.1201 -23.1201h208.36 +l-38.4609 64.0996c-0.349609 0 -0.669922 -0.0996094 -1.01953 -0.0996094c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64c0.349609 0 0.669922 -0.0898438 1.01953 -0.0996094l38.4609 64.0996h-208.36c-4.69043 -8.07227 -15.0479 -18.4297 -23.1201 -23.1201v-209.76z +M272 192c0 -8.82031 7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16zM400 352c0 8.82031 -7.17969 16 -16 16s-16 -7.17969 -16 -16s7.17969 -16 16 -16s16 7.17969 16 16zM64 368c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16 +s16 7.17969 16 16s-7.17969 16 -16 16zM48 32c0 -8.82031 7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16zM384 16c8.82031 0 16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16s7.17969 -16 16 -16z" /> + <glyph glyph-name="laptop-code" unicode="&#xf5fc;" horiz-adv-x="640" +d="M255.03 186.35l-58.3506 58.3408c-6.25 6.25 -6.25 16.3799 0 22.6299l58.3398 58.3398c6.25 6.25 16.3809 6.25 22.6309 0l11.3096 -11.3105c6.25 -6.25 6.25 -16.3799 0 -22.6299l-35.71 -35.7197l35.7197 -35.71c6.25 -6.25 6.25 -16.3799 0 -22.6299 +l-11.3096 -11.3105c-6.25 -6.25 -16.3799 -6.25 -22.6299 0zM351.04 197.65c-6.25 6.25 -6.25 16.3799 0 22.6299l35.71 35.7197l-35.71 35.71c-6.25 6.25 -6.25 16.3799 0 22.6299l11.3096 11.3105c6.25 6.25 16.3809 6.25 22.6309 0l58.3398 -58.3408 +c6.25 -6.25 6.25 -16.3799 0 -22.6299l-58.3398 -58.3398c-6.25 -6.25 -16.3809 -6.25 -22.6309 0zM624 32c8.7998 0 16 -7.2002 16 -16v-16c0 -35.2002 -28.7998 -64 -64 -64h-512c-35.2002 0 -64 28.7998 -64 64v16c0 8.7998 7.2002 16 16 16h239.23 +c-0.25 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46zM576 400v-336h-512v336c0 26.4004 21.5996 48 48 48h416c26.4004 0 48 -21.5996 48 -48zM512 128v256h-384v-256h384z" /> + <glyph glyph-name="layer-group" unicode="&#xf5fd;" +d="M12.4102 299.98c-16.5498 7.50977 -16.5498 32.5293 0 40.0391l232.95 105.671c2.79883 1.2793 7.56738 2.31738 10.6445 2.31738s7.84668 -1.03809 10.6455 -2.31738l232.93 -105.681c16.5498 -7.50977 16.5498 -32.5195 0 -40.0293l-232.94 -105.671 +c-6.7998 -3.08984 -14.4893 -3.08984 -21.29 0zM499.59 211.7c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.59c-6.7998 -3.08008 -14.4893 -3.08008 -21.29 0l-232.939 105.59c-16.5498 7.5 -16.5498 32.5 0 40l58.0996 26.3301l161.63 -73.2705 +c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.64 73.2705zM499.59 83.9004c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.591c-6.7998 -3.0791 -14.4893 -3.0791 -21.29 0l-232.939 105.591 +c-16.5498 7.5 -16.5498 32.5 0 40l57.8799 26.2295l161.85 -73.3701c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.859 73.3701z" /> + <glyph glyph-name="microscope" unicode="&#xf610;" +d="M160 128c-17.6699 0 -32 14.3301 -32 32v224c0 17.6699 14.3301 32 32 32v16c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-16c17.6699 0 32 -14.3301 32 -32v-224c0 -17.6699 -14.3301 -32 -32 -32h-12v-16c0 -8.83984 -7.16016 -16 -16 -16h-40 +c-8.83984 0 -16 7.16016 -16 16v16h-12zM464 0c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16c0 26.5098 21.4902 48 48 48h272c70.5801 0 128 57.4199 128 128s-57.4199 128 -128 128v64 +c105.88 0 192 -86.1201 192 -192c0 -49.2002 -18.7598 -93.9902 -49.29 -128h1.29004zM104 32c-4.41992 0 -8 3.58008 -8 8v16c0 4.41992 3.58008 8 8 8h208c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-208z" /> + <glyph glyph-name="oil-can" unicode="&#xf613;" horiz-adv-x="640" +d="M629.8 287.69c5.11035 1.45996 10.2002 -2.38086 10.1904 -7.69043v-18.0801c0 -2.12012 -0.839844 -4.16016 -2.33984 -5.66016l-212.261 -214.75c-6.00977 -6.08984 -14.21 -9.50977 -22.7598 -9.50977h-274.63c-17.6699 0 -32 14.3301 -32 32v46.54l-69.7197 12.6904 +c-15.2207 2.75977 -26.2803 16.0195 -26.2803 31.4795v94.9502c0 17.9795 14.6699 32.0098 31.9297 32.0098c1.61133 0 4.20605 -0.237305 5.79004 -0.530273l138.28 -25.1396h56v48h-56c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h160 +c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-56v-48h56.8896c8.33984 -0.00292969 21.1611 -3.03125 28.6201 -6.75977l50.4902 -25.2402zM96 159.33v62.4297l-48 8.73047v-62.4307zM549.33 74.6699c0 23.5605 42.6699 85.3301 42.6699 85.3301 +s42.6699 -61.7598 42.6699 -85.3301s-19.0996 -42.6699 -42.6699 -42.6699s-42.6699 19.1104 -42.6699 42.6699z" /> + <glyph glyph-name="poop" unicode="&#xf619;" +d="M451.36 78.8604c34.3301 -5.48047 60.6396 -34.9805 60.6396 -70.8604c0 -39.7598 -32.2402 -72 -72 -72h-368c-39.7598 0 -72 32.2402 -72 72c0 35.8799 26.3096 65.3799 60.6396 70.8604c-17.2998 13.1494 -28.6396 33.7295 -28.6396 57.1396 +c0 39.7695 32.2402 72 72 72h14.0703c-13.4199 11.7305 -22.0703 28.7803 -22.0703 48c0 35.3496 28.6504 64 64 64h16c44.1797 0 80 35.8203 80 80c0 17.3799 -5.69043 33.3604 -15.1104 46.4805c4.95996 0.779297 9.94043 1.51953 15.1104 1.51953 +c53.0195 0 96 -42.9805 96 -96c0 -11.2803 -2.30957 -21.9502 -5.87988 -32h5.87988c35.3496 0 64 -28.6504 64 -64c0 -19.2197 -8.65039 -36.2695 -22.0703 -48h14.0703c39.7598 0 72 -32.2305 72 -72c0 -23.4102 -11.3398 -43.9902 -28.6396 -57.1396z" /> + <glyph glyph-name="shapes" unicode="&#xf61f;" +d="M512 128v-160c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v160c0 17.6699 14.3301 32 32 32h160c17.6699 0 32 -14.3301 32 -32zM128 192c70.6904 0 128 -57.3096 128 -128s-57.3096 -128 -128 -128s-128 57.3096 -128 128s57.3096 128 128 128 +zM479.03 224h-190.061c-25.3398 0 -41.1797 26.6699 -28.5098 48l95.0303 160c12.6699 21.3301 44.3496 21.3301 57.0195 0l95.0303 -160c12.6699 -21.3301 -3.16992 -48 -28.5098 -48z" /> + <glyph glyph-name="star-of-life" unicode="&#xf621;" horiz-adv-x="480" +d="M471.99 113.57c7.66016 -4.41992 10.2793 -14.2002 5.85938 -21.8506l-32.0195 -55.4297c-4.41992 -7.66016 -14.21 -10.2803 -21.8701 -5.86035l-135.93 78.4307v-156.86c0 -8.83984 -7.16992 -16 -16.0107 -16h-64.0391c-8.84082 0 -16.0107 7.16016 -16.0107 16 +v156.85l-135.93 -78.4297c-7.66016 -4.41016 -17.4502 -1.79004 -21.8701 5.86035l-32.0195 55.4297c-4.41992 7.65039 -1.80078 17.4404 5.85938 21.8604l135.931 78.4297l-135.931 78.4297c-7.66016 4.41992 -10.2793 14.21 -5.85938 21.8604l32.0195 55.4199 +c4.41992 7.65039 14.21 10.2803 21.8701 5.86035l135.93 -78.4307v156.86c0 8.83984 7.16992 16 16.0107 16h64.0391c8.84082 0 16.0107 -7.16016 16.0107 -16v-156.85l135.93 78.4297c7.66016 4.41992 17.4502 1.79004 21.8701 -5.86035l32.0195 -55.4297 +c4.41992 -7.66016 1.80078 -17.4404 -5.85938 -21.8604l-135.931 -78.4297z" /> + <glyph glyph-name="teeth" unicode="&#xf62e;" horiz-adv-x="640" +d="M544 448c53.0195 0 96 -42.9805 96 -96v-320c0 -53.0195 -42.9805 -96 -96 -96h-448c-53.0195 0 -96 42.9805 -96 96v320c0 53.0195 42.9805 96 96 96h448zM160 80v64c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-64 +c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM160 208v64c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-64c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16zM304 88v56c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-56 +c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM304 208v88c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-88c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM448 88v56c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-56 +c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM448 208v88c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-88c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM576 80v64c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-64 +c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM576 208v64c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-64c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16z" /> + <glyph glyph-name="teeth-open" unicode="&#xf62f;" horiz-adv-x="640" +d="M544 448c53.0195 0 96 -42.9805 96 -96v-64c0 -35.3496 -28.6602 -64 -64 -64h-512c-35.3398 0 -64 28.6504 -64 64v64c0 53.0195 42.9805 96 96 96h448zM160 272v32c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-32c0 -8.83984 7.16016 -16 16 -16h64 +c8.83984 0 16 7.16016 16 16zM304 272v56c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-56c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM448 272v56c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-56c0 -8.83984 7.16016 -16 16 -16h80 +c8.83984 0 16 7.16016 16 16zM576 272v32c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-32c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16zM576 128c35.3398 0 64 -28.6504 64 -64v-32c0 -53.0195 -42.9805 -96 -96 -96h-448 +c-53.0195 0 -96 42.9805 -96 96v32c0 35.3496 28.6602 64 64 64h512zM160 48v32c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM304 56v24c0 8.83984 -7.16016 16 -16 16h-80 +c-8.83984 0 -16 -7.16016 -16 -16v-24c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM448 56v24c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-24c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM576 48v32c0 8.83984 -7.16016 16 -16 16h-64 +c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48z" /> + <glyph glyph-name="theater-masks" unicode="&#xf630;" horiz-adv-x="640" +d="M206.86 202.85l-7.62988 -43.1797c-21.0908 -7.21973 -38.5 -18.2002 -49.9004 -30.9199c-2.41992 32.9004 21.6504 63.6504 57.5303 74.0996zM95.8096 153c5.87012 -33.1699 64.3203 -71.8096 111.931 -84.79c10.5596 -27.0996 25.9795 -50.5 39.5 -67.5801 +c-3.25977 -0.339844 -6.41992 -0.799805 -10.0098 -0.799805c-68.1201 0 -190.221 61.5596 -204.45 142.08l-31.7305 179.51c-4.96973 28.0996 7.98047 56.0996 32.1504 69.5205c67.8193 37.6396 143.46 57.0596 220.12 57.0596c23.9199 0 47.9492 -1.88965 71.8594 -5.7002 +c17.29 -2.76953 31.7803 -13.0498 41.7705 -27c-19.1299 -0.769531 -38.29 -2.2998 -57.1807 -5.31934c-19.8594 -3.1709 -37.6396 -12.5303 -51.5898 -26c-1.62012 0.0195312 -3.23926 0.189453 -4.84961 0.189453c-65.8896 0 -131.25 -16.9502 -189.01 -49.0098 +c0.0400391 -0.0302734 -0.530273 -1.03027 -0.240234 -2.65039zM193.36 290.46c3.83984 -21.7002 -10.6904 -42.4004 -32.4404 -46.2197c-21.7598 -3.82031 -42.5 10.6699 -46.3398 32.3701c-0.730469 4.12012 -0.610352 8.15918 -0.0898438 12.0996 +c10.8096 -5.57031 24.8301 -7.75 39.4795 -5.16992c14.6504 2.57031 27.0703 9.41016 35.3203 18.3203c1.83984 -3.53027 3.33984 -7.28027 4.07031 -11.4004zM606.8 327.1c24.1699 -13.4092 37.1201 -41.4092 32.1504 -69.5195l-31.7305 -179.51 +c-15.3896 -87.0508 -156.83 -151.931 -219.859 -140.84c-63.0303 11.0791 -173.7 120.3 -158.311 207.35l31.7305 179.51c4.95996 28.1006 26.7295 50 54.04 54.3604c100.55 16.0596 203 -1.96973 291.979 -51.3506zM333.56 230.3 +c-0.729492 -4.12012 -0.609375 -8.16016 -0.0791016 -12.1094c10.8096 5.56934 24.8291 7.75 39.4795 5.16992c14.6504 -2.57031 27.0703 -9.41016 35.3203 -18.3203c1.83984 3.53027 3.33984 7.28027 4.06934 11.4004c3.83008 21.6992 -10.6895 42.3896 -32.4492 46.2197 +c-21.7607 3.83008 -42.5 -10.6602 -46.3408 -32.3604zM404.03 31.54c55.6699 -9.79004 108.2 23.7803 122.38 75.7197c-28.1104 -16.9697 -68.6504 -24.21 -111.93 -16.5996c-43.2803 7.60938 -78.8906 28.2402 -99.4902 53.7803 +c-4.48047 -53.6309 33.3594 -103.11 89.04 -112.9zM534.33 182.88c1.83984 3.52051 3.33984 7.27051 4.07031 11.4004c3.83008 21.7002 -10.7002 42.3896 -32.4502 46.2197c-21.7598 3.82031 -42.5 -10.6699 -46.3398 -32.3701 +c-0.730469 -4.12012 -0.610352 -8.16016 -0.0908203 -12.0996c10.8105 5.56934 24.8301 7.75 39.4805 5.16992c14.6504 -2.57031 27.0801 -9.41016 35.3301 -18.3203z" /> + <glyph glyph-name="traffic-light" unicode="&#xf637;" horiz-adv-x="384" +d="M384 256c0 -41.7402 -26.7998 -76.9004 -64 -90.1201v-37.8799h64c0 -42.8398 -28.25 -78.6904 -66.9902 -91.0498c-12.4297 -57.6699 -63.6094 -100.95 -125.01 -100.95s-112.58 43.2803 -125.01 100.95c-38.7402 12.3594 -66.9902 48.21 -66.9902 91.0498h64v37.8799 +c-37.2002 13.2197 -64 48.3799 -64 90.1201h64v37.8799c-37.2002 13.2197 -64 48.3799 -64 90.1201h64v32c0 17.6699 14.3301 32 32 32h192c17.6699 0 32 -14.3301 32 -32v-32h64c0 -41.7402 -26.7998 -76.9004 -64 -90.1201v-37.8799h64zM192 32 +c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM192 160c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM192 288c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48 +s-48 -21.4902 -48 -48s21.4902 -48 48 -48z" /> + <glyph glyph-name="truck-monster" unicode="&#xf63b;" horiz-adv-x="640" +d="M624 224c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16.71c-29.21 38.6504 -75.0996 64 -127.28 64c-52.1797 0 -98.0693 -25.3496 -127.279 -64h-65.4502c-29.21 38.6504 -75.1006 64 -127.28 64s-98.0703 -25.3496 -127.28 -64h-16.7197 +c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16v80c0 8.83984 7.16016 16 16 16h176v96c0 17.6699 14.3301 32 32 32h113.24c16.9795 -0.00195312 39.3701 -10.7627 49.9795 -24.0195l83.1807 -103.98h73.5996c17.6699 0 32 -14.3301 32 -32v-64h16z +M288 320h132.44l-51.2002 64h-81.2402v-64zM592 96c8.83984 0 16 -7.16016 16.0195 -16v-32c0 -8.83984 -7.15918 -16 -16 -16h-5.19922c-1.79688 -6.01074 -5.67188 -15.3691 -8.65039 -20.8896l3.66992 -3.66992c6.25 -6.25 6.25 -16.3809 0 -22.6309l-22.6299 -22.6299 +c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-3.66992 3.66992c-6.62012 -3.58008 -13.5703 -6.44922 -20.9004 -8.64941v-5.2002c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v5.2002c-7.33008 2.2002 -14.29 5.08008 -20.8994 8.64941 +l-3.66992 -3.66992c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309l3.66992 3.66992c-3.58008 6.60938 -6.44922 13.5596 -8.64941 20.8896h-5.2002c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h5.2002 +c1.7959 6.01074 5.6709 15.3691 8.64941 20.8896l-3.66992 3.66992c-6.25 6.25 -6.25 16.3809 0 22.6309l22.6299 22.6299c6.25 6.25 16.3809 6.25 22.6309 0l3.66992 -3.66992c6.60938 3.58008 13.5596 6.44922 20.8896 8.64941v5.2002c0 8.83984 7.16016 16 16 16h32 +c8.83984 0 16 -7.16016 16 -16v-5.2002c6.01074 -1.7959 15.3691 -5.6709 20.8896 -8.64941l3.66992 3.66992c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309l-3.66992 -3.66992 +c3.58008 -6.60938 6.44922 -13.5596 8.64941 -20.8896h5.2002zM480 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM272 96c8.83984 0 16 -7.16016 16.0195 -15.9902v-32c0 -8.83984 -7.15918 -16 -16 -16h-5.19922 +c-1.79688 -6.00977 -5.67188 -15.3691 -8.65039 -20.8896l3.66992 -3.66992c6.25 -6.25 6.25 -16.3799 0 -22.6299l-22.6299 -22.6299c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-3.66992 3.66992c-6.62012 -3.58008 -13.5703 -6.4502 -20.9004 -8.65039v-5.2002 +c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v5.2002c-7.33008 2.2002 -14.29 5.08008 -20.8994 8.65039l-3.66992 -3.66992c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3799 0 22.6299l3.66992 3.66992 +c-3.58008 6.61035 -6.44922 13.5596 -8.64941 20.8896h-5.2002c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h5.2002c1.7959 6.01074 5.6709 15.3691 8.64941 20.8906l-3.66992 3.66992c-6.25 6.25 -6.25 16.3799 0 22.6299l22.6299 22.6201 +c6.25 6.25 16.3809 6.25 22.6309 0l3.66992 -3.66992c6.60938 3.58008 13.5596 6.44922 20.8896 8.64941v5.2002c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-5.2002c6.01074 -1.7959 15.3691 -5.6709 20.8896 -8.64941l3.66992 3.66992 +c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309l-3.66992 -3.66992c3.58008 -6.60938 6.44922 -13.5596 8.64941 -20.8896h5.2002zM160 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48 +s21.4902 -48 48 -48z" /> + <glyph glyph-name="truck-pickup" unicode="&#xf63c;" horiz-adv-x="640" +d="M624 160c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-49.5996c0.759766 -5.26953 1.60938 -10.5195 1.60938 -16c0 -61.8604 -50.1396 -112 -112 -112c-61.8594 0 -112 50.1396 -112 112c0 5.48047 0.850586 10.7305 1.61035 16h-67.2305 +c0.760742 -5.26953 1.61035 -10.5195 1.61035 -16c0 -61.8604 -50.1396 -112 -112 -112s-112 50.1396 -112 112c0 5.48047 0.849609 10.7305 1.61035 16h-49.6104c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16v64c0 17.6699 14.3301 32 32 32h160v128 +c0 17.6699 14.3301 32 32 32h113.24c16.9795 -0.00195312 39.3701 -10.7627 49.9795 -24.0195l108.78 -135.98h48c17.6699 0 32 -14.3301 32 -32v-64h16zM288 352v-96h158.04l-76.7998 96h-81.2402zM176 32c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48 +s-48 -21.5303 -48 -48s21.5303 -48 48 -48zM464 32c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48s21.5303 -48 48 -48z" /> + <glyph glyph-name="ad" unicode="&#xf641;" +d="M157.52 176l18.4805 53.2197l18.4805 -53.2197h-36.9609zM352 192c13.2305 0 24 -10.7695 24 -24s-10.7695 -24 -24 -24s-24 10.7695 -24 24s10.7695 24 24 24zM464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288 +c0 26.5 21.5 48 48 48h416zM250.58 96c11 0 18.7197 10.8496 15.1104 21.25l-53.6904 154.62c-3.08789 8.90332 -13.2422 16.1299 -22.666 16.1299h-0.00390625h-26.6602h-0.00390625c-9.41992 0 -19.5742 -7.22168 -22.666 -16.1201l-53.7002 -154.63 +c-3.60938 -10.4004 4.11035 -21.25 15.1201 -21.25h16.9404h0.00585938c6.28125 0 13.0527 4.81641 15.1143 10.75l7.37988 21.25h70.29l7.36914 -21.25c2.24023 -6.42969 8.31055 -10.75 15.1201 -10.75h16.9404zM424 112v160c0 8.83984 -7.16016 16 -16 16h-16 +c-8.83984 0 -16 -7.16016 -16 -16v-36.4199c-7.54004 2.68945 -15.54 4.41992 -24 4.41992c-39.7002 0 -72 -32.2998 -72 -72s32.2998 -72 72 -72c9.92969 0 19.4004 2.01953 28.0195 5.67969c2.94043 -3.41016 7.13086 -5.67969 11.9805 -5.67969h16 +c8.83984 0 16 7.16016 16 16z" /> + <glyph glyph-name="ankh" unicode="&#xf644;" horiz-adv-x="320" +d="M296 192c13.25 0 24 -10.7402 24 -24v-32c0 -13.25 -10.75 -24 -24 -24h-96v-152c0 -13.25 -10.75 -24 -24 -24h-32c-13.25 0 -24 10.75 -24 24v152h-96c-13.25 0 -24 10.75 -24 24v32c0 13.2598 10.75 24 24 24h44.6201c-21.0801 33.9902 -36.6201 74.3496 -36.6201 112 +c0 88.3701 57.3096 144 128 144s128 -55.6299 128 -144c0 -37.6504 -15.54 -78.0098 -36.6201 -112h44.6201zM160 368c-29.6104 0 -48 -24.5195 -48 -64c0 -34.6602 27.1396 -78.1504 48 -100.87c20.8604 22.7305 48 66.21 48 100.87c0 39.4805 -18.3896 64 -48 64z" /> + <glyph glyph-name="bible" unicode="&#xf647;" horiz-adv-x="448" +d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320 +c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM144 304v-32c0 -8.83984 7.16016 -16 16 -16h48v-112c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v112h48c8.83984 0 16 7.16016 16 16v32 +c0 8.83984 -7.16016 16 -16 16h-48v48c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-48h-48c-8.83984 0 -16 -7.16016 -16 -16zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" /> + <glyph glyph-name="business-time" unicode="&#xf64a;" horiz-adv-x="640" +d="M496 224c79.5898 0 144 -64.4102 144 -144s-64.4102 -144 -144 -144s-144 64.4102 -144 144s64.4102 144 144 144zM560 73.71v12.5801c0 5.33984 -4.37012 9.70996 -9.70996 9.70996h-38.29v54.2803c0 5.33984 -4.37012 9.70996 -9.70996 9.70996h-12.5703 +c-5.33984 0 -9.70996 -4.37012 -9.70996 -9.70996v-76.5703c0 -5.33984 4.37012 -9.70996 9.70996 -9.70996h60.5703c5.33984 0 9.70996 4.37012 9.70996 9.70996zM496 256c-37.5303 0 -72.2803 -11.9102 -100.88 -32h-395.12v80c0 25.5996 22.4004 48 48 48h80v48 +c0 25.5996 22.4004 48 48 48h160c25.5996 0 48 -22.4004 48 -48v-48h80c25.5996 0 48 -22.4004 48 -48v-48.8096c-5.28027 0.479492 -10.5996 0.80957 -16 0.80957zM320 352v32h-128v-32h128zM326.82 128c-4.33984 -15.2803 -6.82031 -31.3398 -6.82031 -48 +c0 -28.8203 7.09961 -55.96 19.4297 -80h-291.43c-25.5996 0 -48 22.4004 -48 48v144h192v-48c0 -8.83984 7.16016 -16 16 -16h118.82z" /> + <glyph glyph-name="city" unicode="&#xf64f;" horiz-adv-x="640" +d="M616 256c13.25 0 24 -10.7402 24 -24v-264c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v360c0 13.2598 10.7402 24 24 24h40v80c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-80h64v80c0 8.83984 7.16016 16 16 16h16 +c8.83984 0 16 -7.16016 16 -16v-80h64v72c0 13.2598 10.7402 24 24 24h144c13.2598 0 24 -10.7402 24 -24v-168h136zM128 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12z +M128 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM128 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40 +c6.62988 0 12 5.37012 12 12zM256 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM256 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40 +c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM256 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 140v40c0 6.62988 -5.37012 12 -12 12h-40 +c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 332v40 +c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM576 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40 +c6.62988 0 12 5.37012 12 12zM576 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12z" /> + <glyph glyph-name="comment-dollar" unicode="&#xf651;" +d="M256 416c141.38 0 256 -93.1201 256 -208s-114.62 -208 -256 -208c-38.4102 0 -74.71 7.07031 -107.4 19.3799c-24.6094 -19.6299 -74.3398 -51.3799 -140.6 -51.3799h-0.00195312c-4.41309 0 -7.99512 3.58203 -7.99512 7.99512 +c0 1.76172 0.984375 4.22754 2.19727 5.50488c0.5 0.530273 42.2598 45.4502 54.8193 95.7598c-35.6094 35.7305 -57.0195 81.1807 -57.0195 130.74c0 114.88 114.62 208 256 208zM280 113.56c30.29 3.62012 53.3701 30.9805 49.3203 63.04 +c-2.90039 22.96 -20.6602 41.3105 -42.9102 47.6699l-50.0703 14.3008c-3.59961 1.0293 -6.12012 4.35938 -6.12012 8.10938c0 4.64062 3.78027 8.41992 8.44043 8.41992h32.7803h0.0654297c2.94727 0 7.51367 -0.994141 10.1943 -2.21973 +c4.7998 -2.20996 10.3701 -1.70996 14.1094 2.03027l17.5205 17.5195c5.26953 5.27051 4.66992 14.2705 -1.5498 18.3799c-9.5 6.27051 -20.3604 10.1104 -31.7803 11.46v17.7305c0 8.83984 -7.16016 16 -16 16h-16c-8.83984 0 -16 -7.16016 -16 -16v-17.5498 +c-30.29 -3.62012 -53.3701 -30.9805 -49.3203 -63.0498c2.90039 -22.96 20.6602 -41.3203 42.9102 -47.6699l50.0703 -14.3008c3.59961 -1.0293 6.12012 -4.35938 6.12012 -8.10938c0 -4.64062 -3.78027 -8.41992 -8.44043 -8.41992h-32.7803 +c-3.59961 0 -7.0791 0.759766 -10.2598 2.21973c-4.7998 2.20996 -10.3701 1.70996 -14.1094 -2.03027l-17.5205 -17.5195c-5.26953 -5.27051 -4.66992 -14.2705 1.5498 -18.3799c9.5 -6.27051 20.3604 -10.1104 31.7803 -11.46v-17.7305c0 -8.83984 7.16016 -16 16 -16h16 +c8.83984 0 16 7.16016 16 16v17.5596z" /> + <glyph glyph-name="comments-dollar" unicode="&#xf653;" horiz-adv-x="576" +d="M416 256c0 -88.3701 -93.1201 -160 -208 -160c-40.9805 0 -79.0703 9.24023 -111.27 24.9805c-21.8008 -12.7305 -52.1504 -24.9805 -88.7305 -24.9805h-0.00195312c-4.41309 0 -7.99512 3.58203 -7.99512 7.99512c0 1.76172 0.984375 4.22754 2.19727 5.50488 +c0.319336 0.339844 22.4102 24.2803 35.7695 54.5195c-23.8398 26.0303 -37.9697 57.7109 -37.9697 91.9805c0 88.3701 93.1201 160 208 160s208 -71.6299 208 -160zM192 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16.1201 +c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973 +c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201 +c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104 +c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29zM538.01 36.0098 +c13.3604 -30.2598 35.4707 -54.1699 35.7803 -54.5c2.20996 -2.33008 2.82031 -5.72949 1.5498 -8.66992c-1.25 -2.92969 -4.13965 -4.83984 -7.33984 -4.83984c-36.5801 0 -66.9297 12.25 -88.7305 24.9805c-32.1992 -15.7402 -70.2891 -24.9805 -111.27 -24.9805 +c-86.2305 0 -160.2 40.3701 -191.73 97.8799c10.4102 -1.11035 20.9502 -1.87988 31.7305 -1.87988c132.34 0 240 86.1299 240 192c0 6.78027 -0.469727 13.4697 -1.33008 20.0703c75.8398 -23.8701 129.33 -81.1299 129.33 -148.07 +c0 -34.2695 -14.1299 -65.96 -37.9902 -91.9902z" /> + <glyph glyph-name="cross" unicode="&#xf654;" horiz-adv-x="384" +d="M352 320c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-96v-224c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v224h-96c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h96v96c0 17.6699 14.3301 32 32 32 +h64c17.6699 0 32 -14.3301 32 -32v-96h96z" /> + <glyph glyph-name="dharmachakra" unicode="&#xf655;" +d="M495 222.94c9.20996 0.569336 17 -6.74023 17.0098 -15.9707v-29.9395c0 -9.23047 -7.79004 -16.5498 -17 -15.9707l-17.2197 1.08008c-5.28027 -39.4795 -20.7998 -75.6299 -43.8604 -105.83l12.9502 -11.4297c6.91992 -6.09961 7.25977 -16.7803 0.730469 -23.3096 +l-21.1699 -21.1699c-6.52051 -6.52051 -17.2002 -6.19043 -23.3105 0.729492l-11.4297 12.9502c-30.2002 -23.0703 -66.3506 -38.5898 -105.84 -43.8604l1.08008 -17.2197c0.569336 -9.20996 -6.74023 -17 -15.9707 -17h-29.9395c-9.23047 0 -16.5498 7.79004 -15.9707 17 +l1.09082 17.2197c-39.4902 5.28027 -75.6406 20.7998 -105.841 43.8604l-11.4297 -12.9502c-6.09961 -6.91992 -16.7803 -7.25977 -23.3096 -0.729492l-21.1699 21.1699c-6.52051 6.51953 -6.19043 17.1992 0.729492 23.3096l12.9502 11.4297 +c-23.0703 30.1904 -38.5898 66.3408 -43.8604 105.83l-17.2197 -1.08008c-9.20996 -0.569336 -17 6.74023 -17 15.9707v29.9395c0 9.23047 7.79004 16.5498 17 15.9707l17.2197 -1.08008c5.28027 39.4893 20.7998 75.6396 43.8604 105.84l-12.9502 11.4297 +c-6.91992 6.10059 -7.25977 16.7803 -0.729492 23.3105l21.1699 21.1592c6.51953 6.52051 17.1992 6.19043 23.3096 -0.729492l11.4297 -12.9502c30.1904 23.0703 66.3408 38.5898 105.83 43.8604l-1.08008 17.2197c-0.569336 9.20996 6.74023 17 15.9707 17h29.9395 +c9.23047 0 16.5498 -7.79004 15.9707 -17l-1.07031 -17.21c39.4795 -5.28027 75.6299 -20.7998 105.83 -43.8604l11.4297 12.9404c6.10059 6.91992 16.7803 7.25977 23.3105 0.729492l21.1592 -21.1592c6.52051 -6.52051 6.19043 -17.2002 -0.729492 -23.3105 +l-12.9502 -11.4297c23.0703 -30.2002 38.5898 -66.3506 43.8604 -105.84zM281.84 349.39l-4.00977 -64.1201c10.2998 -2.40918 19.8896 -6.50977 28.6201 -11.9492l42.6201 48.29c-19.6006 14.1201 -42.4199 23.71 -67.2305 27.7793zM230.16 349.39 +c-24.8105 -4.06934 -47.6299 -13.6592 -67.2305 -27.7793l42.6201 -48.29c8.73047 5.42969 18.3301 9.54004 28.6201 11.9492zM126.39 285.06c-14.1201 -19.5996 -23.71 -42.4092 -27.7793 -67.2197l64.1201 -4.00977c2.41992 10.29 6.51953 19.8896 11.96 28.6201z +M98.6104 166.16c4.06934 -24.8105 13.6592 -47.6299 27.7793 -67.2305l48.29 42.6201c-5.42969 8.73047 -9.54004 18.3301 -11.9492 28.6201zM230.16 34.6104l4 64.1201c-10.29 2.41992 -19.8906 6.51953 -28.6201 11.96l-42.6104 -48.3008 +c19.6006 -14.1201 42.4199 -23.71 67.2305 -27.7793zM256 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM281.84 34.6104c24.8105 4.06934 47.6201 13.6592 67.2197 27.7793l-42.6094 48.3008 +c-8.73047 -5.44043 -18.3301 -9.55078 -28.6201 -11.96zM385.61 98.9404c14.1201 19.5898 23.71 42.4092 27.7793 67.2295l-64.1201 4.00977c-2.40918 -10.2998 -6.50977 -19.8896 -11.9492 -28.6201zM349.27 213.83l64.1201 4 +c-4.06934 24.8096 -13.6592 47.6299 -27.7793 67.2295l-48.3008 -42.6094c5.44043 -8.73047 9.55078 -18.3301 11.96 -28.6201z" /> + <glyph glyph-name="envelope-open-text" unicode="&#xf658;" +d="M176 232c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h160c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160zM160 152v16c0 8.83984 7.16016 16 16 16h160c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16 +h-160c-8.83984 0 -16 7.16016 -16 16zM256 30.8701c16.4199 0 32.8398 5.07031 46.8604 15.1895l209.14 151.08v-213.14c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v213.14l209.14 -151.08c14.0205 -10.1299 30.4404 -15.1895 46.8604 -15.1895z +M493.61 285.05c11.6094 -9.09961 18.3896 -23.0303 18.3896 -37.7695v-10.6504l-96 -69.3496v184.72h-320v-184.72l-96 69.3496v10.6504c0.00195312 12.8945 8.24023 29.8154 18.3896 37.7695c8.85059 6.94043 17.2402 13.4805 29.6104 22.8105v44.1396 +c0 26.5098 21.4902 48 48 48h77.5498c3.04004 2.2002 5.87012 4.25977 9.04004 6.55957c16.8203 12.2705 50.21 41.79 73.4102 41.4404c23.2002 0.349609 56.5996 -29.1699 73.4102 -41.4404c3.16992 -2.2998 6 -4.35938 9.04004 -6.55957h77.5498 +c26.5098 0 48 -21.4902 48 -48v-44.1396c12.3701 -9.34082 20.7598 -15.8701 29.6104 -22.8105z" /> + <glyph glyph-name="folder-minus" unicode="&#xf65d;" +d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192zM368 152v16c0 8.83984 -7.16016 16 -16 16h-192c-8.83984 0 -16 -7.16016 -16 -16v-16 +c0 -8.83984 7.16016 -16 16 -16h192c8.83984 0 16 7.16016 16 16z" /> + <glyph glyph-name="folder-plus" unicode="&#xf65e;" +d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192zM368 152v16c0 8.83984 -7.16016 16 -16 16h-72v72c0 8.83984 -7.16016 16 -16 16h-16 +c-8.83984 0 -16 -7.16016 -16 -16v-72h-72c-8.83984 0 -16 -7.16016 -16 -16v-16c0 -8.83984 7.16016 -16 16 -16h72v-72c0 -8.83984 7.16016 -16 16 -16h16c8.83984 0 16 7.16016 16 16v72h72c8.83984 0 16 7.16016 16 16z" /> + <glyph glyph-name="funnel-dollar" unicode="&#xf662;" horiz-adv-x="640" +d="M433.46 282.06c-83.4102 -20.8896 -145.46 -96.2695 -145.46 -186.06c0 -54.3496 22.7998 -103.38 59.21 -138.35c-10.75 -20.54 -38.3604 -29.21 -59.2197 -13.5703l-79.9902 60c-10.0703 7.55957 -16 19.4102 -16 32v155.92l-182.66 201.93 +c-19.9502 19.9502 -5.82031 54.0703 22.4004 54.0703h480.52c28.2207 0 42.3506 -34.1201 22.4004 -54.0703zM480 256c88.3701 0 160 -71.6299 160 -160s-71.6299 -160 -160 -160s-160 71.6299 -160 160s71.6299 160 160 160zM496 16.1201 +c23.6299 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973 +c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201 +c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104 +c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29c0 -4.41992 3.58008 -8 8 -8h16 +c4.41992 0 8 3.58008 8 8v16.1201z" /> + <glyph glyph-name="gopuram" unicode="&#xf664;" +d="M496 96c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-80v160h-32v128h-32v96h-32v-96h32v-128h32v-160h-80v80c0 8.7998 -7.2002 16 -16 16h-64c-8.7998 0 -16 -7.2002 -16 -16v-80h-80v160h32v128h32v96h-32v-96h-32v-128h-32v-160h-80 +c-8.7998 0 -16 7.2002 -16 16v128c0 8.7998 7.2002 16 16 16h16v112c0 8.7998 7.2002 16 16 16h16v80c0 8.7998 7.2002 16 16 16h16v112c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16 +c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-112h16c8.7998 0 16 -7.2002 16 -16v-80h16c8.7998 0 16 -7.2002 16 -16v-112h16zM232 272v-48h48v48c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16z +M288 96v64c0 8.7998 -7.2002 16 -16 16h-32c-8.7998 0 -16 -7.2002 -16 -16v-64h64z" /> + <glyph glyph-name="hamsa" unicode="&#xf665;" +d="M509.34 140.75c1.46875 -3.37012 2.66016 -9.08984 2.66016 -12.7656c0 -6.95703 -3.85254 -16.7295 -8.59961 -21.8145l-102.681 -110.03c-35.6895 -38.2197 -88.4102 -60.1396 -144.72 -60.1396s-109.03 21.9199 -144.71 60.1396l-102.69 110.03 +c-4.74707 5.08496 -8.59961 14.8574 -8.59961 21.8145c0 3.67578 1.19141 9.39551 2.66016 12.7656c5.05957 11.6904 16.5898 19.25 29.3398 19.25h64v208c0 22 18 40 40 40s40 -18 40 -40v-134c0 -5.51953 4.48047 -10 10 -10h20c5.51953 0 10 4.48047 10 10v174 +c0 22 18 40 40 40s40 -18 40 -40v-174c0 -5.51953 4.48047 -10 10 -10h20c5.51953 0 10 4.48047 10 10v134c0 22 18 40 40 40s40 -18 40 -40v-208h64c12.75 0 24.2803 -7.55957 29.3398 -19.25zM256 32c53.0195 0 96 64 96 64s-42.9805 64 -96 64s-96 -64 -96 -64 +s42.9805 -64 96 -64zM256 128c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" /> + <glyph glyph-name="haykal" unicode="&#xf666;" +d="M496.25 245.48c17.54 -2.46094 21.6797 -26.2705 6.04004 -34.6602l-98.1602 -52.6602l74.4805 -83.54c11.8594 -13.29 0.00976562 -34.25 -17.3506 -30.4902l-108.569 23.6504l4.10938 -112.55c0.430664 -11.6504 -8.87012 -19.2207 -18.4102 -19.2207 +c-5.15918 0 -10.3896 2.20996 -14.1992 7.18066l-68.1807 88.8994l-68.1797 -88.8994c-3.81055 -4.9707 -9.0498 -7.18066 -14.2002 -7.18066c-9.54004 0 -18.8398 7.57031 -18.4102 19.2207l4.11035 112.55l-108.57 -23.6504 +c-1.39941 -0.30957 -2.75977 -0.450195 -4.06934 -0.450195c-15.0107 0 -24.21 18.6807 -13.29 30.9307l74.4795 83.54l-98.1602 52.6592c-15.6494 8.40039 -11.5098 32.21 6.03027 34.6709l110 15.4297l-41.8203 104.34c-6.66016 16.6396 11.6006 32.1797 26.5898 22.6299 +l94.04 -59.8896l34.0908 107.189c2.70996 8.55078 10.0293 12.8203 17.3496 12.8203s14.6396 -4.26953 17.3496 -12.8203l34.0908 -107.18l94.04 59.8896c14.9893 9.55078 33.2598 -5.98926 26.5898 -22.6299l-41.8203 -104.34zM338.51 136.32l-35.6094 39.9297 +l46.9199 25.1699l-52.5703 7.37988l19.9902 49.8701l-44.9502 -28.6201l-16.29 51.2305l-16.3096 -51.2305l-44.9502 28.6201l19.9902 -49.8701l-52.5703 -7.37988l46.9199 -25.1699l-35.5996 -39.9297l51.8896 11.2998l-1.95996 -53.79l32.5898 42.4902l32.5898 -42.4902 +l-1.96973 53.79z" /> + <glyph glyph-name="jedi" unicode="&#xf669;" horiz-adv-x="544" +d="M479.99 96h39.96c-42.6299 -94.1699 -137.641 -160 -247.98 -160c-4.25977 0 -8.5498 0.0898438 -12.8496 0.290039c-103.97 4.76953 -193.851 69.4795 -235.101 159.71h39.9102l-58.5996 58.5996c-2.57031 12.8809 -4.49023 25.9805 -5.11035 39.4102 +c-0.469727 10.0801 -0.129883 20.0703 0.5 29.9902h47.21l-41.3799 41.3799c14.3701 64.7002 52.1006 122.55 107.97 162.07c2.77051 1.95996 5.9707 3 9.27051 3c5.37988 0 10.4297 -2.70996 13.5098 -7.25c3.0498 -4.5 3.64062 -10 1.62012 -15.0898 +c-6.53027 -16.4502 -9.83984 -33.7002 -9.83984 -51.2607c0 -45.1191 21.04 -86.5801 57.71 -113.739c4.00977 -2.9707 6.4502 -7.48047 6.69043 -12.3799c0.239258 -4.90039 -1.76074 -9.65039 -5.48047 -13.0107c-26.5498 -23.9795 -41.1699 -56.5 -41.1699 -91.5801 +c0 -60.0293 42.9502 -110.279 99.8896 -121.92l2.5 65.2607l-27.1602 -18.4805c-2.96973 -2 -7.40918 -1.7002 -10 0.75c-2.72949 2.61035 -3.30957 6.70996 -1.38965 9.94043l20.1299 33.7695l-42.0693 8.71973c-3.71094 0.75 -6.38086 4.05078 -6.38086 7.83008 +c0 3.78027 2.68066 7.08008 6.38086 7.83008l42.0693 8.73047l-20.1094 33.7295c-1.94043 3.27051 -1.36035 7.35059 1.35938 9.94043c2.73047 2.60938 6.86035 2.89941 10 0.779297l30.3906 -20.6592l11.5195 287.97c0.160156 4.29004 3.66992 7.66992 8 7.66992h0.0400391 +c4.25293 0 7.81934 -3.44922 7.95996 -7.7002l11.5303 -287.93l30.3896 20.6699c3.03027 2.08984 7.2998 1.75 10 -0.799805c2.71973 -2.60059 3.2998 -6.68066 1.37988 -9.91016l-20.1299 -33.7705l42.0703 -8.72949c3.68945 -0.770508 6.37988 -4.06055 6.37988 -7.83008 +c0 -3.78027 -2.67969 -7.08008 -6.37988 -7.83008l-42.0703 -8.71973l20.1104 -33.7305c0.631836 -1.05078 1.14453 -2.89844 1.14453 -4.12402c0 -1.89355 -1.11328 -4.49023 -2.48438 -5.7959c-2.63086 -2.49023 -7.04004 -2.85938 -10.0205 -0.799805l-27.1699 18.4697 +l2.5 -65.3398c48.4697 9.40039 87.5703 48.1504 97.3096 96.5c8.78027 43.5605 -5.63965 87.3203 -38.5693 117.07c-3.73047 3.37012 -5.73047 8.10938 -5.49023 13.0303c0.240234 4.89941 2.67969 9.41992 6.7002 12.3994c36.6602 27.1602 57.6895 68.6104 57.6895 113.73 +c0 17.5801 -3.30957 34.8496 -9.85938 51.3096c-2.03027 5.09961 -1.44043 10.5996 1.60938 15.0898c3.08008 4.53027 8.12012 7.24023 13.4902 7.24023c3.28027 0 6.48047 -1.03027 9.25 -2.99023c55.4805 -39.2197 93.4102 -97.4795 107.91 -162.27l-41.25 -41.2402 +h46.9502c0.370117 -5.75977 1.0498 -11.46 1.0498 -17.2695c0 -17.7402 -1.83984 -35.0605 -5.12988 -51.8604z" /> + <glyph glyph-name="journal-whills" unicode="&#xf66a;" horiz-adv-x="448" +d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320 +c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM133.08 303.61c-2.98047 -10.0908 -5.08008 -20.5605 -5.07031 -31.6201c0 -0.520508 0.140625 -0.990234 0.150391 -1.50977l37.1094 -32.4707 +c3.33008 -2.89941 3.6709 -7.9502 0.75 -11.2793c-1.5791 -1.81055 -3.7998 -2.73047 -6.01953 -2.73047h-0.0175781c-1.65527 0 -4.00879 0.886719 -5.25195 1.98047l-23.5908 20.6396c11.54 -49.5801 55.7705 -86.6201 108.86 -86.6201s97.3203 37.04 108.87 86.6299 +l-23.5898 -20.6396c-1.52051 -1.32031 -3.39062 -1.98047 -5.27051 -1.98047h-0.0146484c-2 0 -4.69043 1.22363 -6.00488 2.73047c-1.09668 1.24707 -1.98633 3.60645 -1.98633 5.2666c0 2.00293 1.22559 4.69727 2.73633 6.0127l37.1094 32.4707 +c0.0107422 0.519531 0.150391 0.990234 0.150391 1.50977c0 11.0498 -2.09961 21.5195 -5.07031 31.5996l-21.2598 -21.2598c-1.57031 -1.55957 -3.61035 -2.33984 -5.66016 -2.33984s-4.09961 0.780273 -5.66016 2.33984c-3.11914 3.12012 -3.11914 8.19043 0 11.3105 +l26.4199 26.4199c-10 20.8994 -26.2393 37.9795 -46.3691 49.2598c5.97949 -9.73047 9.59961 -21.0703 9.59961 -33.3301c0 -19.96 -9.33008 -37.5703 -23.6602 -49.3096c9.65039 -10.0605 15.6602 -23.6504 15.6602 -38.6904c0 -26.9404 -19.04 -49.4004 -44.3701 -54.7402 +l-1.42969 34.2803l12.6797 -8.62012c0.69043 -0.459961 1.46973 -0.689453 2.25 -0.689453c0.980469 0 1.98047 0.369141 2.75 1.08984c1.36035 1.2793 1.63965 3.33984 0.69043 4.94922l-8.54004 14.3105l17.9102 3.71973 +c1.85938 0.390625 3.18945 2.03027 3.18945 3.91992c0 1.89062 -1.33008 3.53027 -3.18945 3.91992l-17.9102 3.7207l8.54004 14.3096c0.308594 0.521484 0.55957 1.43652 0.55957 2.04297c0 0.950195 -0.55957 2.25293 -1.25 2.90723 +c-0.645508 0.59668 -1.88281 1.08105 -2.76172 1.08105c-0.672852 0 -1.67578 -0.300781 -2.23828 -0.670898l-14.2002 -9.65039l-4.67969 112.29c-0.0898438 2.13965 -1.86035 3.83008 -4 3.83008s-3.91016 -1.69043 -4 -3.83008l-4.62012 -110.81l-12.0098 8.15918 +c-1.56055 1.03027 -3.63965 0.890625 -5 -0.40918c-1.36035 -1.28027 -1.63965 -3.34082 -0.69043 -4.9502l8.54004 -14.3105l-17.9102 -3.71973c-1.85938 -0.389648 -3.18945 -2.03027 -3.18945 -3.91992s1.33008 -3.53027 3.18945 -3.91992l17.9102 -3.71973 +l-8.54004 -14.3105c-0.308594 -0.521484 -0.55957 -1.43652 -0.55957 -2.04297c0 -0.950195 0.55957 -2.25293 1.25 -2.90723c0.769531 -0.709961 1.75 -1.08984 2.75 -1.08984c0.780273 0 1.55957 0.240234 2.25 0.69043l10.3701 7.04004l-1.36035 -32.71 +c-25.3398 5.35938 -44.3799 27.8193 -44.3799 54.7598c0 15.04 6.00977 28.6299 15.6602 38.6904c-14.3301 11.7393 -23.6602 29.3496 -23.6602 49.3096c0 12.2598 3.62012 23.5996 9.61035 33.3398c-20.1299 -11.29 -36.3701 -28.3594 -46.3701 -49.2598l26.4199 -26.4199 +c3.12012 -3.12012 3.12012 -8.19043 0 -11.3105c-1.57031 -1.55957 -3.61035 -2.33984 -5.66016 -2.33984s-4.09961 0.780273 -5.66016 2.33984zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" /> + <glyph glyph-name="kaaba" unicode="&#xf66b;" horiz-adv-x="576" +d="M554.12 364.49c13.0703 -4.36035 21.8799 -16.5898 21.8799 -30.3604v-49.0098l-265 79.5098c-15.0596 4.5 -30.9502 4.5 -45.9805 0l-265.02 -79.5098v49.0098c0.000976562 12.7314 9.80273 26.332 21.8799 30.3604l235.771 78.5801 +c8.15723 2.71973 21.7559 4.92676 30.3545 4.92676s22.1982 -2.20703 30.3555 -4.92676zM274.22 333.97c9 2.7207 18.5498 2.7207 27.5898 0l274.2 -82.2598v-228.39c0 -15 -10.4199 -27.9902 -25.0596 -31.2402l-242.12 -53.7998 +c-5.67871 -1.2627 -15.0078 -2.28809 -20.8252 -2.28809s-15.1465 1.02539 -20.8252 2.28809l-242.12 53.7998c-14.6396 3.25977 -25.0596 16.2402 -25.0596 31.2402v228.38zM128 217.89v16.5801c0 5.28027 -5.01953 9.11035 -10.1104 7.7207l-80 -21.8203 +c-3.47949 -0.950195 -5.88965 -4.11035 -5.88965 -7.71973v-16.5801c0 -5.27051 5.01953 -9.10059 10.1104 -7.7207l80 21.8203c3.47949 0.950195 5.88965 4.11035 5.88965 7.71973zM272 257.17v16.5801c0 5.28027 -5.01953 9.11035 -10.1104 7.71973l-96 -26.1797 +c-3.47949 -0.950195 -5.88965 -4.11035 -5.88965 -7.71973v-16.5801c0 -5.28027 5.01953 -9.11035 10.1104 -7.7207l96 26.1807c3.47949 0.950195 5.88965 4.10938 5.88965 7.71973zM448 234.47v-16.5801v-0.00488281c0 -3.37109 2.63867 -6.82715 5.88965 -7.71484 +l80 -21.8203c5.09082 -1.38965 10.1104 2.44043 10.1104 7.7207v16.5801c0 3.60938 -2.41016 6.76953 -5.88965 7.71973l-80 21.8203c-5.09082 1.38965 -10.1104 -2.44043 -10.1104 -7.7207zM304 273.74v-16.5801v-0.00585938c0 -3.37012 2.63867 -6.82617 5.88965 -7.71387 +l96 -26.1807c5.09082 -1.38965 10.1104 2.44043 10.1104 7.7207v16.5791c0 3.61035 -2.41016 6.77051 -5.88965 7.7207l-96 26.1797c-5.09082 1.38965 -10.1104 -2.44043 -10.1104 -7.71973z" /> + <glyph glyph-name="khanda" unicode="&#xf66d;" +d="M415.81 382c73.71 -40.2402 111.78 -123.85 90.1602 -207.51c-7.25 -28.0898 -22.3799 -53.5703 -41.25 -75.5898l-52.5098 -61.3105c-4.87012 -5.67969 -13.04 -7.22949 -19.6504 -3.70996l-79.3496 42.2305l-29.21 -20.3408l47.0801 -32.7793 +c1.66992 0.370117 3.22949 1.00977 5.00977 1.00977c13.25 0 23.9902 -10.7402 23.9902 -24c0 -13.25 -10.7402 -24 -23.9902 -24c-12.0898 0 -21.6797 9.11035 -23.3301 20.7598l-40.9102 28.4805v-30.1504c9.38086 -5.58008 15.9902 -15.3896 15.9902 -27.0996 +c0 -17.6699 -14.3203 -32 -31.9795 -32c-17.6602 0 -31.9805 14.3301 -31.9805 32c0 11.7197 6.60059 21.5293 15.9902 27.0996v29.9502l-40.6299 -28.2803c-1.64062 -11.6494 -11.2305 -20.7598 -23.3301 -20.7598c-13.25 0 -23.9902 10.75 -23.9902 24 +c0 13.2598 10.7402 24 23.9902 24c1.78027 0 3.33984 -0.639648 5.00977 -1.00977l47.0801 32.7793l-29.21 20.3301l-79.3496 -42.2295c-6.61035 -3.52051 -14.7803 -1.96973 -19.6504 3.71973l-55.9697 65.3604c-12.5703 14.6797 -23.3906 31.0693 -30.46 49.0596 +c-35.6602 90.6904 2.95996 186.391 81.4893 229.24c6.34082 3.5 15.0205 2.63965 20.0205 -2.7002c4.99023 -5.30957 6.45996 -12.9199 2.58984 -19.0801c-16.4902 -26.1602 -25.2002 -56.3896 -25.2002 -87.4697c0.180664 -53.1904 26.7598 -102.62 71.0303 -132.18 +l76.5898 -53.3301v19.8994l-44.0498 36.0908c-3.91016 4.20996 -5 10.0996 -2.81055 15.2793l7.85059 17.2402c-33.8506 19.2598 -56.9404 55.2402 -56.9404 96.9902c0 40.79 22.0205 76.1396 54.5898 95.7197l-5.21973 11.4404 +c-2.33008 5.5293 -0.929688 11.8301 3.57031 16.04l58.9902 52.8096l58.9893 -52.8203c4.5 -4.20996 5.91016 -10.5098 3.57031 -16.04l-5.21973 -11.4395c32.5693 -19.5801 54.5898 -54.9199 54.5898 -95.71c0 -41.7402 -23.0996 -77.7305 -56.9404 -96.9902 +l7.85059 -17.2402c2.18945 -5.18945 1.10938 -11.0801 -2.81055 -15.2793l-44.0498 -36.0908v-20.0996l76.6299 53.3496c44.5 29.7207 71.0801 79.1602 71.2705 132.41c0 31.0205 -8.70996 61.25 -25.2002 87.4102c-1.36328 2.15723 -2.46973 5.97949 -2.46973 8.53223 +c0 3.51465 1.96191 8.43652 4.37988 10.9883c4.99023 5.34961 12.9902 6.51953 19.3594 3.01953zM319.82 272c0 21.3203 -10.5801 40.1201 -26.6504 51.7695l-7.83008 -17.1797c-8.75 -24.5195 -8.75 -51.04 0 -75.5596l5.65039 -12.4102 +c17.3398 11.46 28.8301 31.0801 28.8301 53.3799zM191.89 272c0 -22.2998 11.5 -41.9297 28.8408 -53.3896l5.64941 12.4092c8.75 24.5303 8.75 51.04 0 75.5605l-7.83008 17.1797c-16.0801 -11.6396 -26.6602 -30.4395 -26.6602 -51.7598z" /> + <glyph glyph-name="landmark" unicode="&#xf66f;" +d="M501.62 355.89c6.24023 -2.33984 10.3799 -8.30957 10.3799 -14.9795v-36.9102c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v36.9102c0 6.11914 4.65039 12.8301 10.3799 14.9795l234.39 90.0703 +c2.99902 1.12598 8.03223 2.04004 11.2354 2.04004s8.23633 -0.914062 11.2354 -2.04004zM64 256h64v-160h96v160h64v-160h96v160h64v-160h16c8.83984 0 16 -7.16016 16 -16v-48h-448v48c0 8.83984 7.16016 16 16 16h16v160zM496 0c8.83984 0 16 -7.16016 16 -16v-32 +c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" /> + <glyph glyph-name="mail-bulk" unicode="&#xf674;" horiz-adv-x="576" +d="M160 0c25.5996 0 51.2002 22.4004 64 32c64 44.7998 83.2002 60.7998 96 70.4004v-134.4c0 -17.6699 -14.3301 -32 -32 -32h-256c-17.6699 0 -32 14.3301 -32 32v134.4c12.7998 -9.60059 32 -25.6006 96 -70.4004c12.7998 -9.59961 38.4004 -32 64 -32zM288 192 +c17.6699 0 32 -14.3301 32 -32v-19.2002c-25.5996 -19.2002 -22.4004 -19.2002 -115.2 -86.3994c-9.59961 -3.2002 -28.7998 -22.4004 -44.7998 -22.4004s-35.2002 19.2002 -44.7998 25.5996c-92.7998 67.2002 -89.6006 67.2002 -115.2 86.4004v16 +c0 17.6699 14.3301 32 32 32h256zM544 288c17.6699 0 32 -14.3301 32 -32v-192c0 -17.6699 -14.3301 -32 -32 -32h-192v134.4l-0.290039 -0.220703c-3.12012 32.4004 -30.5 57.8203 -63.71 57.8203h-96v32c0 17.6699 14.3301 32 32 32h320zM512 160v64h-64v-64h64zM160 256 +v-32h-96v192c0 17.6699 14.3301 32 32 32h320c17.6699 0 32 -14.3301 32 -32v-96h-224c-35.29 0 -64 -28.71 -64 -64z" /> + <glyph glyph-name="menorah" unicode="&#xf676;" horiz-adv-x="640" +d="M144 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM240 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM432 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM528 320 +c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM608 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM512 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32 +zM416 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM320 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM224 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64 +s-14.3301 -32 -32 -32zM128 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM32 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM576 160v144c0 8.83984 7.16016 16 16 16h32 +c8.83984 0 16 -7.16016 16 -16v-144c0 -53.0195 -42.9805 -96 -96 -96h-192v-64h176c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v64h-192c-53.0195 0 -96 42.9805 -96 96 +v144c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-144c0 -17.6699 14.3301 -32 32 -32h192v176c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-176h192c17.6699 0 32 14.3301 32 32z" /> + <glyph glyph-name="mosque" unicode="&#xf678;" horiz-adv-x="640" +d="M0 -32v320h128v-320c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32zM579.16 160h-358.32c-17.8594 17.3896 -28.8398 37.3398 -28.8398 58.9102c0 52.8594 41.79 93.79 87.9199 122.899c41.9502 26.46 80.6299 57.7705 111.96 96.2207 +l8.12012 9.96973l8.12012 -9.96973c31.3301 -38.4502 70.0195 -69.75 111.96 -96.2207c46.1299 -29.1094 87.9199 -70.04 87.9199 -122.899c0 -21.5703 -10.9805 -41.5205 -28.8398 -58.9102zM608 128c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32 +h-32v64c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32v-64h-64v72c0 48 -48 72 -48 72s-48 -24 -48 -72v-72h-64v64c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32v-64h-32c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h416zM64 448 +c0 0 64 -32 64 -96v-32h-128v32c0 64 64 96 64 96z" /> + <glyph glyph-name="om" unicode="&#xf679;" +d="M360.6 387.06l-21.5801 21.5605c-1.68848 1.68652 -3.05957 4.99316 -3.05957 7.37988s1.37109 5.69336 3.05957 7.37988l21.5703 21.5605c4.08008 4.06934 10.6797 4.06934 14.7598 0l21.5801 -21.5605c1.68945 -1.68652 3.06055 -4.99316 3.06055 -7.37988 +s-1.37109 -5.69336 -3.06055 -7.37988l-21.5693 -21.5605c-1.6875 -1.68848 -4.99316 -3.05957 -7.37988 -3.05957c-2.3877 0 -5.69336 1.37109 -7.38086 3.05957zM412.11 256c55.0898 0 99.8896 -44.7998 99.8896 -99.8799v-100.12c0 -48.5303 -47.4805 -88 -96.0195 -88 +c-96.0205 0 -96.0205 64 -96.0205 64v37.8701c0 7.55957 9.42969 10.8896 14.2002 5.01953c15.1494 -18.6494 42.4199 -42.8896 81.8203 -42.8896c13.2393 0 32.0098 10.7695 32.0098 24v100.12c0 19.79 -16.1006 35.8799 -35.8799 35.8799 +c-9.60059 0 -18.6006 -3.73047 -25.3799 -10.5l-24.25 -24.25c-18.8701 -18.8604 -43.9502 -29.25 -70.6406 -29.25h-21.6895c11.0293 -18.9004 17.8096 -40.5801 17.8096 -64c0 -70.5801 -57.4297 -128 -128.02 -128c-118.811 0 -160.03 96 -159.94 150.81 +c0.0195312 8.80078 10.2598 12.7705 14.79 5.2207c22.7998 -38.0107 49.1299 -92.0303 145.15 -92.0303c35.2998 0 64.0098 28.7002 64.0098 64s-28.71 64 -64.0098 64h-33.0303c-5.57031 0.450195 -10.6406 3.49023 -13.1699 8.5498l-16.0898 32.1699 +c-5.35059 10.7002 2.42969 23.2803 14.3896 23.2803h31.9004c26.4697 0 48.0098 21.5303 48.0098 48s-21.54 48 -48.0098 48c-11.25 0 -21.8203 -3.80957 -30.2705 -10.71c-5.54004 -4.53027 -13.4795 -4.50977 -19.2002 -0.209961l-26.1494 19.6299 +c-8.08984 6.08008 -8.48047 17.9697 -1.12012 24.9297c25.1094 23.7402 59.8594 34.71 96.0098 28.7803c43.1602 -7.08008 79.4199 -40.6396 89.5205 -83.1895c6.43945 -27.1201 2.80957 -53.1309 -7.73047 -75.2305h46.8398c9.60059 0 18.6006 3.73047 25.3799 10.5 +l24.25 24.25c18.8701 18.8604 43.9502 29.25 70.6406 29.25zM454.29 380.73c10.5596 7.95996 25.7002 0.489258 25.7002 -12.7305v-35.5195c0 -2.36035 -0.509766 -4.71094 -1.53027 -6.83008c-2.96973 -6.30078 -21.8301 -37.6602 -101.75 -37.6602 +c-78.4297 0 -117.19 69.3896 -118.8 72.3398c-3.61035 6.62988 -2.08008 14.8799 3.66016 19.7998c5.69922 4.92969 14.1201 5.16992 20.1396 0.549805c3.53027 -2.69922 87.0303 -65.0693 172.58 0.0507812z" /> + <glyph glyph-name="pastafarianism" unicode="&#xf67b;" horiz-adv-x="640" +d="M624.54 100.33c12.4004 -4.71973 18.5996 -18.5801 13.8896 -30.9805c-4.69922 -12.4092 -18.5801 -18.6299 -30.9697 -13.8799c-8.11035 3.08984 -14.3398 0.19043 -31.3896 -11.3594c-13.5508 -9.15039 -30.8301 -20.8408 -52.4199 -20.8408 +c-7.16992 0 -14.8301 1.28027 -22.9707 4.39062c-32.6602 12.4395 -39.9893 41.3301 -45.3301 62.4395c-2.20996 8.7207 -3.98926 14.4902 -5.94922 18.8701c-16.6201 -13.5996 -36.9307 -25.8701 -61.6201 -34.1602c10.0098 -37 32.2793 -90.8096 60.2197 -90.8096 +c13.25 0 24 -10.75 24 -24s-10.75 -24 -24 -24c-66.7402 0 -97.0498 88.6299 -107.42 129.14c-6.69043 -0.599609 -13.4199 -1.13965 -20.5801 -1.13965s-13.8896 0.540039 -20.5801 1.13965c-10.3701 -40.5098 -40.6797 -129.14 -107.42 -129.14c-13.25 0 -24 10.75 -24 24 +s10.75 24 24 24c28.0801 0 50.2998 53.7998 60.2598 90.7998c-24.6895 8.29004 -45.0195 20.5605 -61.6396 34.1699c-1.95996 -4.37988 -3.74023 -10.1494 -5.9502 -18.8701c-5.34961 -21.1094 -12.6699 -50 -45.3301 -62.4395 +c-8.13965 -3.11035 -15.7998 -4.39062 -22.9697 -4.39062c-21.5898 -0.0195312 -38.8701 11.6807 -52.4199 20.8408c-17.0498 11.5498 -23.2305 14.4492 -31.3906 11.3594c-12.3594 -4.72949 -26.25 1.4707 -30.9697 13.8799 +c-4.71973 12.3906 1.48047 26.25 13.8701 30.9707c32.6504 12.4697 57.3398 -4.25 75.3701 -16.4502c17.0801 -11.5303 23.2998 -14.4199 31.4102 -11.3604c8.12012 3.10059 10.8301 9.37988 15.8896 29.3799c3.33008 13.1504 7.44043 29.3203 17.9502 42.6504 +c-2.24023 2.91016 -4.42969 5.78027 -6.37988 8.57031c-10.1699 -9.56055 -23.4102 -17.1104 -41.7002 -17.1104c-33.9502 0 -50.8701 25.7803 -62.0596 42.8301c-10.6006 16.1396 -15 21.1699 -21.9404 21.1699c-13.25 0 -24 10.75 -24 24s10.75 24 24 24 +c33.96 0 50.8799 -25.7803 62.0596 -42.8301c10.6006 -16.1396 15 -21.1699 21.9404 -21.1699c17.1504 0 37.6797 61.5596 97.2695 101.9l-17.25 34.5c-33.46 2.09961 -60.0195 29.6191 -60.0195 63.5996c0 35.3496 28.6504 64 64 64s64 -28.6504 64 -64 +c0 -13.0195 -3.94043 -25.0996 -10.5996 -35.21l18.1494 -36.2998c16.9697 4.59961 35.6006 7.50977 56.46 7.50977c20.8604 0 39.4805 -2.91016 56.46 -7.50977l18.1504 36.2998c-6.67969 10.1104 -10.6201 22.1904 -10.6201 35.21c0 35.3496 28.6504 64 64 64 +s64 -28.6504 64 -64c0 -33.9805 -26.5703 -61.5 -60.0098 -63.5898l-17.25 -34.5c59.7793 -40.4805 79.9502 -101.91 97.2598 -101.91c6.94043 0 11.3398 5.03027 21.9404 21.1699c11.1895 17.0498 28.1094 42.8301 62.0596 42.8301c13.25 0 24 -10.75 24 -24 +s-10.75 -24 -24 -24c-6.94043 0 -11.3496 -5.03027 -21.9404 -21.1699c-11.1895 -17.0498 -28.1094 -42.8301 -62.0596 -42.8301c-18.29 0 -31.5303 7.5498 -41.7002 17.1201c-1.9502 -2.78027 -4.13965 -5.66016 -6.37988 -8.57031 +c10.5098 -13.3301 14.6201 -29.5 17.9502 -42.6494c5.05957 -20 7.76953 -26.29 15.8896 -29.3809c8.16016 -3.05957 14.3506 -0.169922 31.4102 11.3604c18.0098 12.2002 42.6699 28.9697 75.3701 16.4502zM448 400c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16 +s16 7.17969 16 16s-7.17969 16 -16 16zM192 400c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16z" /> + <glyph glyph-name="peace" unicode="&#xf67c;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM432 192c0 90.5303 -65.7695 165.82 -152 181.03v-165.66l129.43 -103.54c14.3701 26.2002 22.5703 56.2402 22.5703 88.1699zM216 10.9697v114.46 +l-89.29 -71.4395c24.7998 -21.8203 55.4297 -37.0498 89.29 -43.0205zM280 125.43v-114.449c33.8604 5.96973 64.4902 21.1992 89.29 43.0195zM216 373.03c-86.2305 -15.21 -152 -90.5 -152 -181.03c0 -31.9297 8.2002 -61.9697 22.5703 -88.1699l129.43 103.54v165.66z" /> + <glyph glyph-name="place-of-worship" unicode="&#xf67f;" horiz-adv-x="640" +d="M620.61 81.4502c10.7031 -4.58887 19.3896 -17.7646 19.3896 -29.4102v-100.04c0 -8.83984 -7.16016 -16 -16 -16h-112v192zM0 52.04c0 11.6455 8.68652 24.8213 19.3896 29.4102l108.61 46.5498v-192h-112c-8.83984 0 -16 7.16016 -16 16v100.04zM464.46 201.32 +c9.63965 -5.78027 15.54 -16.2002 15.54 -27.4404v-237.88h-96v96c0 35.3496 -28.6602 64 -64 64s-64 -28.6504 -64 -64v-96h-96v237.88c0 10.0029 6.96191 22.2959 15.54 27.4404l48.46 29.0801v114.97c0 8.49023 3.37988 16.6299 9.37988 22.6299l75.3105 75.3096 +c6.23926 6.25 16.3691 6.25 22.6191 0l75.3105 -75.3096c6.00977 -6.00977 9.37988 -14.1396 9.37988 -22.6299v-114.97z" /> + <glyph glyph-name="poll" unicode="&#xf681;" horiz-adv-x="448" +d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM160 80v128c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-128c0 -8.83984 7.16016 -16 16 -16h32 +c8.83984 0 16 7.16016 16 16zM256 80v224c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-224c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM352 80v64c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-64 +c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16z" /> + <glyph glyph-name="poll-h" unicode="&#xf682;" horiz-adv-x="448" +d="M448 16c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48v-352zM112 256h128c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-128c-8.83984 0 -16 -7.16016 -16 -16v-32 +c0 -8.83984 7.16016 -16 16 -16zM112 160h224c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-224c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16zM112 64h64c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-64 +c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16z" /> + <glyph glyph-name="pray" unicode="&#xf683;" horiz-adv-x="384" +d="M256 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM225.37 150.25l-24.1504 28.7598l-34.7998 -64.8701l109.86 -109.859c25.4893 -25.4902 5.7998 -68.2803 -28.2803 -68.2803h-208c-22.0898 0 -40 17.9102 -40 40 +s17.9102 40 40 40h91.5596l-44.8096 34.8896c-42.8799 27.3799 -57.5898 80.1104 -34.1904 123.75l49.3701 92.0303c11.1201 20.6504 32.1807 34.4404 56.3701 36.9199c24.7803 2.58984 48.5605 -6.93945 64 -25.3301l38.9102 -46.3096l57.4404 47 +c17.1191 13.9697 42.3398 11.4902 56.3096 -5.62012c13.9697 -17.0898 11.4697 -42.2998 -5.62012 -56.2803l-88 -72.0195c-16.9697 -13.8701 -41.9102 -11.5 -55.9697 5.21973z" /> + <glyph glyph-name="praying-hands" unicode="&#xf684;" horiz-adv-x="640" +d="M272 256.09c17.5996 0 32 -14.3994 32 -32v-128c0 -51.8896 -34.8398 -98.0801 -84.75 -112.35l-179.19 -46.6201c-2.64941 -0.69043 -5.36914 -1.03027 -8.05957 -1.03027c-23.4805 0 -32 21.1797 -32 32v96v0.0117188c0 12.7285 9.80176 26.3203 21.8799 30.3389 +l90.1201 30.04v80.2295c0 18.9805 5.55957 37.3896 16.1201 53.2305l117.26 175.899c0.169922 0.270508 0.589844 0.25 0.790039 0.480469c9.58008 13.5098 27.8496 17.8799 42.2998 9.20996c15.1602 -9.10059 20.0605 -28.75 10.9707 -43.9102l-77.75 -129.59 +c-8.9707 -14.9199 -13.6904 -32 -13.6904 -49.3906v-76.5498c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16v80c0 17.6006 14.4004 32 32 32zM618.12 94.3604c13.0703 -4.36035 21.8799 -16.5801 21.8799 -30.3506v-96c0 -10.8193 -8.51953 -32 -32 -32 +c-2.67969 0 -5.40039 0.339844 -8.05957 1.03027l-179.19 46.6201c-49.9102 14.2598 -84.75 60.4502 -84.75 112.34v128c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-80c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16v76.5498 +c0 17.3906 -4.71973 34.4697 -13.6904 49.3906l-77.75 129.59c-9.08984 15.1602 -4.18945 34.8193 10.9707 43.9102c14.4502 8.66992 32.7197 4.2998 42.2998 -9.20996c0.200195 -0.240234 0.610352 -0.210938 0.790039 -0.480469l117.26 -175.89 +c10.5605 -15.8408 16.1201 -34.25 16.1201 -53.2305v-80.2295z" /> + <glyph glyph-name="quran" unicode="&#xf687;" horiz-adv-x="448" +d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320 +c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM301.08 302.18l-11.1904 -22.6494l-24.9893 -3.62988c-2.68066 -0.390625 -3.75 -3.66992 -1.81055 -5.56055l18.0898 -17.6299l-4.26953 -24.8896 +c-0.360352 -2.11035 1.30957 -3.82031 3.20996 -3.82031c0.5 0 1.01953 0.120117 1.51953 0.379883l22.3604 11.75l22.3604 -11.75c0.5 -0.259766 1.01953 -0.379883 1.51953 -0.379883c1.90039 0 3.57031 1.70996 3.20996 3.82031l-4.26953 24.8896l18.0898 17.6299 +c1.92969 1.89062 0.859375 5.16992 -1.81055 5.56055l-25 3.62988l-11.1797 22.6494c-0.599609 1.20996 -1.75977 1.82031 -2.91992 1.82031s-2.32031 -0.610352 -2.91992 -1.82031zM243.19 371.19c-63.5205 0 -115.19 -51.6709 -115.19 -115.19 +c0 -63.5098 51.6699 -115.19 115.18 -115.18c13.6006 0 27.1201 2.46973 40.1904 7.33984c2.67969 0.910156 4.62012 3.43945 4.62012 6.41992c0 3.63965 -2.87012 6.78027 -6.7998 6.78027c-0.650391 0 -3.10059 -0.209961 -4.13086 -0.209961 +c-52.3096 0 -94.8594 42.5596 -94.8594 94.8594c0 52.3105 42.5498 94.8604 94.8594 94.8604c1.04004 0 3.45996 -0.209961 4.13086 -0.209961c0.633789 -0.237305 1.69727 -0.429688 2.375 -0.429688c3.73926 0 6.77441 3.03516 6.77441 6.77441 +c0 3.7373 -3.03223 6.77246 -6.76953 6.77539c-13.1201 4.91992 -26.71 7.41016 -40.3799 7.41016zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" /> + <glyph glyph-name="search-dollar" unicode="&#xf688;" +d="M505.04 5.33984c9.2998 -9.39941 9.2998 -24.5898 -0.0996094 -33.9902l-28.3008 -28.2998c-9.2998 -9.39941 -24.5 -9.39941 -33.8994 0l-99.71 99.6904c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.71 -44 -128.011 -44 +c-114.909 0 -208.02 93.0898 -208.02 207.979c0 114.891 93.1201 207.98 208.02 207.98c114.9 0 208.011 -93.0898 208.011 -207.98c0 -48.2998 -16.4004 -92.6895 -44 -127.989h16.2998c6.40039 0 12.5 -2.5 17 -7zM208.02 96.04c79.6504 0 144 64.4502 144 143.979 +c0 79.6406 -64.46 143.98 -144 143.98c-79.6494 0 -144 -64.4502 -144 -143.98c0 -79.6396 64.4609 -143.979 144 -143.979zM235.13 248.58c18.6006 -5.58008 31.5898 -23.4199 31.5898 -43.3896c0 -24.5303 -19.0498 -44.4404 -42.6797 -45.0703v-16.1201 +c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v16.29c-11.29 0.580078 -22.2705 4.51953 -31.3701 11.3496c-3.90039 2.93066 -4.09961 8.77051 -0.570312 12.1406l11.75 11.21c2.77051 2.63965 6.89062 2.75977 10.1309 0.729492 +c3.85938 -2.42969 8.25977 -3.71973 12.8193 -3.71973h28.1006c6.5 0 11.7998 5.91992 11.7998 13.1904c0 5.94922 -3.61035 11.1797 -8.77051 12.7295l-45.0098 13.5c-18.5898 5.58008 -31.5801 23.4199 -31.5801 43.3896c0 24.5205 19.0498 44.4404 42.6797 45.0703 +v16.1201c0 4.41992 3.58008 8 8 8h16c4.4209 0 8 -3.58008 8 -8v-16.29c11.29 -0.580078 22.2705 -4.51953 31.3701 -11.3496c3.90039 -2.93066 4.10059 -8.77051 0.570312 -12.1406l-11.75 -11.21c-2.76953 -2.63965 -6.88965 -2.75977 -10.1299 -0.729492 +c-3.86035 2.42969 -8.25977 3.71973 -12.8203 3.71973h-28.1094c-6.5 0 -11.8008 -5.91992 -11.8008 -13.1904c0 -5.94922 3.61035 -11.1797 8.77051 -12.7295z" /> + <glyph glyph-name="search-location" unicode="&#xf689;" +d="M505.04 5.33984c9.2998 -9.39941 9.2998 -24.5898 -0.0996094 -33.9902l-28.3008 -28.2998c-9.2998 -9.39941 -24.5 -9.39941 -33.8994 0l-99.71 99.6904c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.71 -44 -128.011 -44 +c-114.909 0 -208.02 93.0898 -208.02 207.979c0 114.891 93.1201 207.98 208.02 207.98c114.9 0 208.011 -93.0898 208.011 -207.98c0 -48.2998 -16.4004 -92.6895 -44 -127.989h16.2998c6.40039 0 12.5 -2.5 17 -7zM208.02 96.04c79.6504 0 144 64.4502 144 143.979 +c0 79.6406 -64.46 143.98 -144 143.98c-79.6494 0 -144 -64.4502 -144 -143.98c0 -79.6396 64.4609 -143.979 144 -143.979zM208.04 336c40.7803 0 73.8398 -33.0498 73.8398 -73.8301c0 -32.9697 -48.2598 -93.0498 -66.75 -114.86 +c-1.5293 -1.8291 -4.70508 -3.31445 -7.08984 -3.31445s-5.56055 1.48535 -7.08984 3.31445c-18.4902 21.8105 -66.75 81.9004 -66.75 114.86c0 40.7803 33.0596 73.8301 73.8398 73.8301zM208.04 240c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24 +s-24 -10.7402 -24 -24c0 -13.25 10.7402 -24 24 -24z" /> + <glyph glyph-name="socks" unicode="&#xf696;" +d="M214.66 136.99c-52.7402 -39.5605 -69.0498 -110.021 -39.2002 -165.4l-21.8604 -16.3896c-17.2695 -12.9502 -37.4893 -19.2002 -57.5195 -19.2002c-32.8105 0 -65.6904 16.75 -83.9404 48.3301c-24.6494 42.6396 -10.1895 97.5 29.21 127.06l86.6504 64.6104v176h160 +v-160zM288 416v-32h-160v32c0 17.6699 14.3301 32 32 32h128c2.84961 0 5.40039 -0.919922 8.01953 -1.62012c-4.94922 -9.08008 -8.01953 -19.3301 -8.01953 -30.3799zM480 448c17.6699 0 32 -14.3301 32 -32v-32h-192v32c0 17.6699 14.3301 32 32 32h128zM320 176v176h192 +v-208v-0.00195312c0 -35.3271 -22.9375 -81.2021 -51.2002 -102.398l-115.2 -86.3994c-17.2695 -12.9502 -37.4893 -19.2002 -57.5195 -19.2002c-32.8105 0 -65.1699 16.75 -83.4199 48.3301c-24.6504 42.6396 -10.1904 97.5 29.21 127.06z" /> + <glyph glyph-name="square-root-alt" unicode="&#xf698;" horiz-adv-x="576" +d="M571.31 196.69c6.25 -6.25 6.25 -16.3809 0 -22.6309l-46.0596 -46.0596l46.0596 -46.0596c6.25 -6.25 6.25 -16.3809 0 -22.6309l-22.6191 -22.6191c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-46.0596 46.0596l-46.0596 -46.0596c-6.25 -6.25 -16.3809 -6.25 -22.6309 0 +l-22.6191 22.6191c-6.25 6.25 -6.25 16.3809 0 22.6309l46.0596 46.0596l-46.0596 46.0596c-6.25 6.25 -6.25 16.3809 0 22.6309l22.6191 22.6191c6.25 6.25 16.3809 6.25 22.6309 0l46.0596 -46.0596l46.0596 46.0596c6.25 6.25 16.3809 6.25 22.6309 0zM552 448 +c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-194.97l-97.8105 -374.52c-9.83984 -32.4805 -37.0098 -41.4805 -54.2793 -41.4805c-18.6406 0 -35.9502 8.5 -48.4404 28.2695l-88.8799 163.73h-43.6201c-13.25 0 -24 10.75 -24 24v48 +c0 13.2598 10.75 24 24 24h81.4697c10.4385 -0.00292969 22.9961 -7.42578 28.0303 -16.5703l58.4102 -106.1l84.79 322.8c3.68945 14.0703 16.4102 23.8701 30.9502 23.8701h244.35z" /> + <glyph glyph-name="star-and-crescent" unicode="&#xf699;" +d="M340.47 -18.3604c8.74023 0 15.1299 -6.96973 15.1299 -15.0596c0 -6.62012 -4.31934 -12.2402 -10.2793 -14.2598c-29.04 -10.8301 -59.0898 -16.3203 -89.3203 -16.3203c-141.16 0 -256 114.84 -256 256s114.84 256 256 256c30.3896 0 60.5801 -5.54004 89.75 -16.4805 +c6.91992 -2.59961 10.9297 -9.83984 9.46973 -17.0898c-1.41992 -7.04004 -7.62012 -12.0693 -14.75 -12.0693c-1.47949 0 -6.85938 0.459961 -9.17969 0.459961c-116.25 0 -210.82 -94.5703 -210.82 -210.82s94.5703 -210.82 210.82 -210.82 +c2.29004 0 7.72949 0.459961 9.17969 0.459961zM503.46 234.14c8.16992 -1.17969 11.4297 -11.2197 5.52051 -16.9893l-55.2705 -53.8701l13.0498 -76.0703c1.11035 -6.42969 -4.00977 -11.6602 -9.80957 -11.6602c-1.53027 0 -3.11035 0.370117 -4.64062 1.16992 +l-68.3096 35.9102l-68.3301 -35.9102c-1.53027 -0.80957 -3.11035 -1.16992 -4.63965 -1.16992c-5.7998 0 -10.9199 5.21973 -9.81055 11.6602l13.0498 76.0703l-55.2695 53.8701c-5.91016 5.76953 -2.65039 15.8096 5.51953 16.9893l76.3809 11.1006l34.1592 69.21 +c1.83008 3.7002 5.38086 5.5498 8.93066 5.5498s7.09961 -1.84961 8.92969 -5.5498l34.1602 -69.21z" /> + <glyph glyph-name="star-of-david" unicode="&#xf69a;" horiz-adv-x="464" +d="M405.68 192l53.2207 -89.3896c14.4092 -24.21 -3.41016 -54.6104 -32.0107 -54.6104h-106.93l-55.9502 -93.9805c-7.14941 -12.0098 -19.5801 -18.0195 -32.0098 -18.0195s-24.8604 6.00977 -32.0098 18.0195l-55.9502 93.9805h-106.93 +c-28.6006 0 -46.4199 30.4004 -32.0107 54.6104l53.2207 89.3896l-53.2207 89.3896c-14.4092 24.21 3.41016 54.6104 32.0107 54.6104h106.93l55.9502 93.9805c7.14941 12.0098 19.5801 18.0195 32.0098 18.0195s24.8604 -6.00977 32.0098 -18.0195l55.9502 -93.9805h106.92 +c28.6006 0 46.4199 -30.4004 32.0098 -54.6104zM392.9 280h-39.6006l19.7998 -33.2598zM340.51 192l-52.3896 88h-112.25l-52.3799 -88l52.3896 -88h112.24zM232 374.28l-22.7803 -38.2803h45.5703zM71.0996 280l19.8008 -33.2598l19.7998 33.2598h-39.6006zM71.0996 104 +h39.6006l-19.7998 33.2598zM232 9.71973l22.7803 38.2803h-45.5703zM353.29 104h39.6104l-19.8105 33.2598z" /> + <glyph glyph-name="synagogue" unicode="&#xf69b;" horiz-adv-x="640" +d="M70 251.49c5.30957 6.00977 14.6904 6.00977 20 0l38 -43.0703v-272.42h-128v226.07v0.00683594c0 5.5625 2.98828 13.4629 6.66992 17.6328zM633.33 179.71c4.2998 -4.87012 6.66992 -11.1396 6.66992 -17.6396v-226.07h-128v272.42l38 43.0703 +c5.30957 6.01953 14.6904 6.01953 20 0zM339.99 440.99l128 -102.4c7.58984 -6.07031 12.0098 -15.2695 12.0098 -24.9902v-377.6h-96v96c0 38.8701 -34.6602 69.6504 -74.75 63.1201c-31.4697 -5.12012 -53.25 -34.6699 -53.25 -66.5498v-92.5703h-96v377.6 +c0 8.49023 5.38086 19.6865 12.0098 24.9902l128 102.4c11.6904 9.34961 28.29 9.34961 39.9805 0zM392.06 225.44l-19.1895 30.5596l19.2002 30.5703c1.97949 3.14941 -0.290039 7.23926 -4 7.23926h-38.9502l-25.1201 39.9805c-1.84961 2.9502 -6.15039 2.9502 -8 0 +l-25.1201 -40h-38.9395c-3.70996 0 -5.98047 -4.08984 -4 -7.24023l19.1992 -30.5596l-19.1992 -30.5605c-1.98047 -3.14941 0.279297 -7.23926 4 -7.23926h38.9395l25.1201 -39.9805c1.84961 -2.9502 6.15039 -2.9502 8 0l25.1201 39.9902h38.9395 +c3.70996 0 5.98047 4.08984 4 7.24023z" /> + <glyph glyph-name="torah" unicode="&#xf6a0;" horiz-adv-x="640" +d="M320.05 81.5195l-17.7402 29.6406h35.46zM419.26 247.52l-18.3994 -30.8193l-18.46 30.8193h36.8594zM48 448c26.5098 0 48 -14.3301 48 -32v-448c0 -17.6699 -21.4902 -32 -48 -32s-48 14.3301 -48 32v448c0 17.6699 21.4902 32 48 32zM220.74 136.5l18.3896 30.8203 +l18.46 -30.8203h-36.8496zM382.45 136.5l18.4102 30.7998l18.4492 -30.7998h-36.8594zM128 -16v416h384v-416h-384zM194.77 262.13c-1.53711 -2.65625 -2.78516 -7.30176 -2.78516 -10.3711c0 -3.20312 1.35059 -8.02246 3.01562 -10.7588l29.3604 -49l-29.21 -48.8398 +c-1.6709 -2.77344 -3.02637 -7.65234 -3.02637 -10.8906c0 -11.6523 9.45703 -21.1094 21.1104 -21.1094h0.015625h59.5l29.25 -48.8799c3.33105 -5.6416 11.3516 -10.2207 17.9023 -10.2207h0.0976562c6.64844 0.0136719 14.7842 4.67285 18.1602 10.4004l29.1299 48.7002 +h59.4697h0.0224609c6.8125 0 15.082 4.80273 18.458 10.7197c1.53418 2.65332 2.7793 7.29297 2.7793 10.3584c0 3.2041 -1.35254 8.02539 -3.01953 10.7617l-29.3701 49l29.2402 48.8496c1.66602 2.77246 3.01758 7.64648 3.01758 10.8809 +c0 11.6562 -9.46094 21.1182 -21.1182 21.1191h-59.5195l-29.25 48.8604c-3.3252 5.63574 -11.3359 10.21 -17.8799 10.21h-0.0703125h-0.0341797c-6.65137 0 -14.7988 -4.64551 -18.1855 -10.3701l-29.1299 -48.71h-59.4502h-0.0458984 +c-6.80469 0 -15.0635 -4.79785 -18.4346 -10.71zM592 448c26.5098 0 48 -14.3301 48 -32v-448c0 -17.6699 -21.4902 -32 -48 -32s-48 14.3301 -48 32v448c0 17.6699 21.4902 32 48 32zM320 302.47l17.6797 -29.6201h-35.46zM257.55 247.47l-18.3701 -30.7998 +l-18.4395 30.7998h36.8096zM287.13 136.47l-33.2295 55.5303l33.1699 55.5195h65.79l33.2295 -55.5195l-33.1699 -55.5303h-65.79z" /> + <glyph glyph-name="torii-gate" unicode="&#xf6a1;" +d="M376.45 416c39.4961 0.00195312 100.223 14.3389 135.55 32v-96c0 -17.6699 -14.3301 -32 -32 -32h-32v-64h48c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-48v-240c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v240 +h-256v-240c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v240h-48c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h48v64h-32c-17.6699 0 -32 14.3301 -32 32v96c35.3271 -17.6611 96.0537 -31.998 135.55 -32h240.9zM128 320v-64h96 +v64h-96zM384 256v64h-96v-64h96z" /> + <glyph glyph-name="vihara" unicode="&#xf6a7;" horiz-adv-x="640" +d="M632.88 47.29c5.41992 -3.61035 7.7002 -9.62012 6.99023 -15.29c-0.620117 -5.00977 -3.56055 -9.75 -8.71973 -12.3301l-55.1504 -19.6699v-48c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48h-160v-48c0 -8.83984 -7.16016 -16 -16 -16h-32 +c-8.83984 0 -16 7.16016 -16 16v48h-160v-48c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48l-55.1602 19.6699c-5.14941 2.58008 -8.09961 7.32031 -8.71973 12.3301c-0.700195 5.66016 1.58008 11.6699 7 15.29l88.8799 48.71v64 +l-55.1602 17.6904c-11.79 5.89941 -11.79 22.7197 0 28.6191l119.16 49.6904v64l-27.3096 16.3096c-7.7207 7.7207 -5.61035 20.7402 4.15918 25.6201l183.15 86.0703l183.15 -86.0801c9.76953 -4.87988 11.8799 -17.9004 4.15918 -25.6201l-27.3096 -16.2998v-64 +l119.16 -49.6904c11.79 -5.89941 11.79 -22.7197 0 -28.6191l-55.1602 -17.6904v-64zM224 320v-64h192v64h-192zM160 96h320v64h-320v-64z" /> + <glyph glyph-name="volume-mute" unicode="&#xf6a9;" +d="M215.03 376.95c15.0098 15.0098 40.9697 4.49023 40.9697 -16.9697v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM461.64 192l45.6406 -45.6396 +c6.2998 -6.30078 6.2998 -16.5205 0 -22.8203l-22.8203 -22.8203c-6.2998 -6.2998 -16.5195 -6.2998 -22.8203 0l-45.6396 45.6406l-45.6299 -45.6299c-6.2998 -6.30078 -16.5205 -6.30078 -22.8203 0l-22.8193 22.8193c-6.30078 6.2998 -6.30078 16.5205 0 22.8203 +l45.6299 45.6299l-45.6406 45.6396c-6.2998 6.30078 -6.2998 16.5205 0 22.8203l22.8203 22.8203c6.2998 6.2998 16.5195 6.2998 22.8203 0l45.6396 -45.6406l45.6396 45.6406c6.30078 6.2998 16.5205 6.2998 22.8203 0l22.8203 -22.8203 +c6.2998 -6.2998 6.2998 -16.5195 0 -22.8203z" /> + <glyph glyph-name="yin-yang" unicode="&#xf6ad;" horiz-adv-x="496" +d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM248 192c53.0195 0 96 42.9805 96 96s-42.9805 96 -96 96 +c-106.04 0 -192 -85.96 -192 -192s85.96 -192 192 -192c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96zM248 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" /> + <glyph glyph-name="blender-phone" unicode="&#xf6b6;" horiz-adv-x="576" +d="M392 384c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h157.82l-17.46 -64h-140.36c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h131.64l-17.46 -64h-114.18c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h105.46 +l-17.46 -64h-288v352h384l-17.46 -64h-166.54zM158.8 112.99c3.00977 -7.40039 0.200195 -15.8506 -6.68945 -20.0703l-39.4102 -24.1797c-12.5303 -7.68066 -31.7803 -6 -41.6504 4.7998c-94.0996 102.94 -94.6699 258.89 -2.09961 362.49 +c11.1396 12.4697 29.5596 15.8398 43.8896 7.0498l39.2803 -24.0996c6.87988 -4.2207 9.7002 -12.6807 6.67969 -20.0703l-25.7803 -63.2598c-2.7793 -6.80078 -9.80957 -10.9902 -17.2393 -10.2607l-45.0303 4.41992c-17.6504 -47.9395 -17.2803 -100.779 0 -147.72 +l45.0303 4.41992c7.43945 0.730469 14.46 -3.4502 17.2393 -10.2598zM480 64c35.3496 0 64 -28.6504 64 -64v-32c0 -17.6699 -14.3301 -32 -32 -32h-352c-17.6699 0 -32 14.3301 -32 32v32c0 35.3496 28.6504 64 64 64h288zM336 -32c17.6699 0 32 14.3301 32 32 +s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="book-dead" unicode="&#xf6b7;" horiz-adv-x="448" +d="M272 312c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16 +c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM240 392c-44.2002 0 -80 -28.7002 -80 -64c0 -20.9004 12.7002 -39.2002 32 -50.9004v-13.0996 +c0 -8.7998 7.2002 -16 16 -16h64c8.7998 0 16 7.2002 16 16v13.0996c19.2998 11.7002 32 30 32 50.9004c0 35.2998 -35.7998 64 -80 64zM124.8 224.7c-1.7002 -4.10059 0.100586 -8.7998 4.2002 -10.5l70.5 -30.2998l-70.4004 -30.1006 +c-4.09961 -1.7002 -5.89941 -6.39941 -4.19922 -10.5l6.2998 -14.7002c1.7002 -4.09961 6.39941 -5.89941 10.5 -4.19922l98.2998 42.1992l98.2998 -42.0996c4.10059 -1.7002 8.7998 0.0996094 10.5 4.2002l6.2998 14.7002c1.7002 4.09961 -0.0996094 8.7998 -4.19922 10.5 +l-70.3008 30.0996l70.3008 30.2002c4.09961 1.7002 5.89941 6.39941 4.19922 10.5l-6.2998 14.7002c-1.7002 4.09961 -6.39941 5.89941 -10.5 4.19922l-98.3994 -42.0996l-98.3008 42.0996c-4.09961 1.7002 -8.7998 -0.0996094 -10.5 -4.19922zM380.8 0v64h-284.8 +c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8zM208 312c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16z" /> + <glyph glyph-name="campground" unicode="&#xf6bb;" horiz-adv-x="640" +d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h24.6797l239.79 330.25l-53.4102 73.5498c-5.19922 7.15039 -3.60938 17.1602 3.54004 22.3506l25.8809 18.7998 +c7.14941 5.18945 17.1592 3.59961 22.3496 -3.5498l41.1699 -56.7002l41.1602 56.6895c5.2002 7.16016 15.2002 8.74023 22.3496 3.55078l25.9004 -18.79c7.14941 -5.19043 8.72949 -15.2002 3.54004 -22.3506l-53.4102 -73.5498l239.78 -330.25h24.6797zM320 160 +l-116.36 -160h232.721z" /> + <glyph glyph-name="cat" unicode="&#xf6be;" +d="M290.59 256c11.8906 -58.3496 63.6006 -102.4 125.41 -102.4c11.1104 0 21.71 1.87012 32 4.54004v-206.14c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v144l-128 -96h32c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16 +h-176c-35.2998 0 -64 28.7002 -64 64v256c0 17.6396 -14.3604 32 -32 32c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32c52.9404 0 96 -43.0596 96 -96v-85.9502c55.7695 83.9697 142.41 85.9502 162.59 85.9502zM448 352l64 64v-134.4c0 -53.0195 -42.9805 -96 -96 -96 +s-96 42.9805 -96 96v134.4l64 -64h64zM376 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM456 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" /> + <glyph glyph-name="chair" unicode="&#xf6c0;" horiz-adv-x="448" +d="M112 320v-128h-48v128c0 70.7002 57.2998 128 128 128h64c70.7002 0 128 -57.2998 128 -128v-128h-48v128c0 29.5 -16.2002 55 -40 68.9004v-196.9h-48v208h-48v-208h-48v196.9c-23.7998 -13.9004 -40 -39.4004 -40 -68.9004zM446.3 106.1 +c6.90039 -20.6992 -8.5 -42.0996 -30.2998 -42.0996v-112c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v112h-256v-112c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v112c-21.7998 0 -37.2002 21.4004 -30.4004 42.0996l10.7002 32 +c4.40039 13.1006 16.6006 21.9004 30.4004 21.9004h362.5c13.7998 0 26 -8.7998 30.3994 -21.9004z" /> + <glyph glyph-name="cloud-moon" unicode="&#xf6c3;" horiz-adv-x="576" +d="M342.8 95.2998c40.9004 -3.5 73.2002 -37.3994 73.2002 -79.2998c0 -44.2002 -35.7998 -80 -80 -80h-240c-53 0 -96 43 -96 96c0 41.9004 27.0996 77.2002 64.5996 90.2998c-0.0996094 1.90039 -0.599609 3.7002 -0.599609 5.7002c0 53 43 96 96 96 +c36.2002 0 67.4004 -20.2998 83.7002 -49.9004c11.5 11 27.0996 17.9004 44.2998 17.9004c35.2998 0 64 -28.7002 64 -64c0 -12 -3.5 -23.0996 -9.2002 -32.7002zM565.3 149.6c8.2002 1.60059 14 -8 8.7002 -14.5c-33.4004 -41.0996 -82.7002 -67 -137.1 -70.3994 +c-11.1006 23.0996 -29.9004 41.7998 -53.5 52.5996c0.399414 3.5 0.599609 7.10059 0.599609 10.7002c0 52.9004 -43.0996 96 -96 96c-12.7002 0 -25 -2.5 -36.4004 -7.2002c-5.09961 5.2998 -10.7998 9.90039 -16.6992 14.2002c-1.10059 8.2002 -1.80078 16.5 -1.80078 25 +c0 106.1 86 192 191.9 192c11.7002 0 23.4004 -1.09961 35.0996 -3.2002c8.2002 -1.59961 10.1006 -12.5996 2.80078 -16.7002c-47.1006 -26.7998 -76.1006 -76.5996 -76.1006 -130.8c0 -94 85.4004 -165.399 178.5 -147.7z" /> + <glyph glyph-name="cloud-sun" unicode="&#xf6c4;" horiz-adv-x="640" +d="M575.2 122.3c37.5996 -13 64.7998 -48.2998 64.7998 -90.3994c0 -53 -43 -96 -96 -96h-272c-53 0 -96 43 -96 96c0 50.5996 39.2998 91.5996 88.9004 95.2998c-0.200195 2.89941 -0.900391 5.7002 -0.900391 8.7002c0 61.8994 50.2002 112 112 112 +c45.4004 0 84.2998 -27.2002 101.9 -66c9.89941 6.19922 21.5 10 34.0996 10c35.2998 0 64 -28.7002 64 -64c0 -1.90039 -0.599609 -3.7002 -0.799805 -5.60059zM144.8 144.9c10.6006 -10.6006 22.9004 -18.6006 36 -24c-9.59961 -9.80078 -17.5 -21.1006 -23.5996 -33.5 +l-76.1006 -25.3008c-11.8994 -3.89941 -23.1992 7.30078 -19.1992 19.2002l29.2998 87.7998l-82.7998 41.4004c-11.2002 5.59961 -11.2002 21.5 0 27.0996l82.7998 41.5l-29.2998 87.8008c-3.90039 11.7998 7.39941 23.0996 19.1992 19.1992l87.9004 -29.2998 +l41.4004 82.7998c5.59961 11.2002 21.5996 11.2002 27.0996 0l41.5 -82.7998l87.7998 29.2998c11.9004 3.90039 23.2002 -7.2998 19.2002 -19.1992l-29.7998 -88.9004c-10.6006 -1.5 -20.9004 -3.7998 -30.7002 -7.5c-5.40039 11.7998 -12.5996 23 -22.2998 32.7002 +c-43.7002 43.7002 -114.7 43.7002 -158.4 0c-43.7002 -43.6006 -43.7002 -114.601 0 -158.3zM140 224.1c0 46.3008 37.7002 83.9004 84 83.9004c34 0 63.2998 -20.4004 76.5 -49.5c-36.4004 -22.5 -62 -60.7002 -67.4004 -105 +c-8.89941 -2.90039 -17.1992 -7 -25.1992 -11.7002c-38.6006 7.5 -67.9004 41.5 -67.9004 82.2998z" /> + <glyph glyph-name="dice-d20" unicode="&#xf6cf;" horiz-adv-x="480" +d="M106.75 232.94l108.64 -190.101l-208.26 22.0703c-5.83008 0.639648 -9.00977 7.13965 -5.92969 12.1396zM7.41016 132.57c-2.12012 -3.44043 -7.41016 -1.94043 -7.41016 2.08984v162.81c0 3.11035 3.38965 5.03027 6.05957 3.43066l76.6406 -45.9805zM18.25 24.4004 +c-4.03027 1.97949 -2.25 8.06934 2.2002 7.56934l203.55 -22.2998v-65.6699c0 -5.83008 -6.0498 -9.70996 -11.3496 -7.25977zM99.4697 282.18l-81.5293 48.6904c-2.52051 1.51953 -2.60059 5.16016 -0.130859 6.78027l150.811 98.6094 +c7.18945 4.11035 15.1201 -4.08008 10.7803 -11.1396zM240 272h-109.21l95.5801 168.38c3.12988 5.08008 8.37988 7.62012 13.6299 7.62012s10.5 -2.54004 13.6299 -7.62012l95.5801 -168.38h-109.21zM473.94 300.9c2.66992 1.59961 6.05957 -0.320312 6.05957 -3.43066 +v-162.81c0 -4.04004 -5.2998 -5.54004 -7.41016 -2.10059l-75.29 122.351zM380.53 282.18l-79.9307 142.94c-4.33984 7.05957 3.59082 15.25 10.7803 11.1396l150.811 -98.5996c2.46973 -1.62012 2.39941 -5.25977 -0.130859 -6.78027zM459.55 31.9697 +c4.4502 0.5 6.23047 -5.58984 2.2002 -7.55957l-194.4 -87.6602c-5.2998 -2.4502 -11.3496 1.41992 -11.3496 7.25977v65.6699zM373.25 232.94l105.56 -155.891c3.08008 -5 -0.0996094 -11.4902 -5.92969 -12.1396l-208.26 -22.0703zM240 240h100.43l-100.43 -175.75 +l-100.43 175.75h100.43z" /> + <glyph glyph-name="dice-d6" unicode="&#xf6d1;" horiz-adv-x="448" +d="M422.19 338.05c5.3291 -3.24023 5.2998 -11.2695 -0.0507812 -14.46l-198.14 -118.14l-198.13 118.14c-5.35059 3.19043 -5.37988 11.2305 -0.0605469 14.46l165.971 100.88c19.9102 12.1006 44.5195 12.1006 64.4297 0zM436.03 293.42 +c5.33008 3.17969 11.9697 -0.839844 11.9697 -7.25v-197.7c0 -23.7598 -12.1104 -45.7393 -31.79 -57.7002l-152.16 -92.4795c-10.6602 -6.48047 -24.0498 1.5498 -24.0498 14.4297v223.82zM0 286.17c0 6.41016 6.63965 10.4297 11.9697 7.25l196.03 -116.88v-223.81 +c0 -12.8906 -13.3799 -20.9102 -24.0498 -14.4307l-152.16 92.4697c-19.6797 11.9609 -31.79 33.9307 -31.79 57.7002v197.7z" /> + <glyph glyph-name="dog" unicode="&#xf6d3;" +d="M496 352c8.83984 0 16 -7.16016 16 -16v-32c0 -35.3496 -28.6504 -64 -64 -64h-32v-35.5801l-128 45.71v149.84c0 14.25 17.2305 21.3906 27.3203 11.3105l27.2793 -27.2803h53.6201c10.917 -0.000976562 23.7383 -7.92578 28.6201 -17.6904l7.16016 -14.3096h64z +M384 304c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM96 224h170.05l149.95 -53.5498v-218.45c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v112h-160v-112c0 -8.83984 -7.16016 -16 -16 -16h-64 +c-8.83984 0 -16 7.16016 -16 16v213.9c-37.1699 13.25 -64 48.4395 -64 90.0996c0 17.6699 14.3301 32 32 32s32 -14.3301 32 -32c0 -17.6396 14.3604 -32 32 -32z" /> + <glyph glyph-name="dragon" unicode="&#xf6d5;" horiz-adv-x="640" +d="M18.3203 192.22c-15.96 -2.2793 -24.8906 17.8105 -12.5107 28.1406l117.4 116.34c21.7705 18.5996 53.2402 20.4697 77.0596 4.58984l119.73 -87.5996v-42.2705c0 -28.9102 5.29004 -56.9795 14.7305 -83.3799h-222.7c-14.25 0 -21.3906 17.2295 -11.3105 27.3096 +l91.2803 68.6904zM575.19 158.12c41.9092 -20.96 67.1592 -64.0801 64.6396 -111.36c-3.37988 -63.2002 -59.7002 -110.77 -122.99 -110.76h-499.08c-9.80957 0 -17.7598 8 -17.7598 17.7998c0 8.32031 5.78027 15.5303 13.9004 17.3301 +c89.54 19.9004 238.51 54.1006 434.1 60.9102c-59.9697 39.9902 -96 107.3 -96 179.38v108.62l-59.5801 24.8496c-5.90039 2.9502 -5.90039 11.3604 0 14.3105l59.5801 24.8398l-61.6396 50.3496c-5.04004 5.04004 -1.4707 13.6104 5.65918 13.6104h237.45 +c10.0703 0 19.5498 -4.7002 25.6006 -12.7598l74.5293 -99.3799c3.53223 -4.71094 6.39844 -13.3115 6.39844 -19.1992c0 -4.16992 -1.51367 -10.5811 -3.37793 -14.3115l-14.3105 -28.6191c-4.88086 -9.76465 -17.7031 -17.6895 -28.6191 -17.6904h-30.9707 +c-8.48926 0 -16.6299 3.37012 -22.6299 9.37012l-28.0898 22.6299h-64v-36.6904c0.00195312 -16.3701 11.8877 -35.5986 26.5303 -42.9199zM489.18 381.75c-4.33008 -17.1396 8.56055 -28.96 21.5205 -29.6699c11.6602 -0.629883 21.3799 7.34961 24.1299 18.2598z" /> + <glyph glyph-name="drumstick-bite" unicode="&#xf6d7;" +d="M462.8 398.43c34.3203 -34.2793 50.4307 -79.5996 49.1299 -124.56c-41.9795 22.6602 -94.3594 17.5596 -128.739 -16.7998c-40.8809 -40.8398 -40.6904 -107.181 -1.05078 -151.07c-16.2383 -5.52246 -43.3389 -10.0049 -60.4912 -10.0049 +c-0.385742 0 -1.0127 0.00195312 -1.39844 0.00488281h-85.8896l-40.6104 -40.5596c-9.71973 -9.75 -11.0898 -24.0205 -6 -36.75c2.38477 -5.95898 4.32031 -16.0049 4.32031 -22.4229c0 -33.3135 -27.0371 -60.3496 -60.3506 -60.3496 +c-13.8428 0 -33.0039 7.96191 -42.7695 17.7725c-15.2803 15.2695 -19.6006 36.5 -15.1006 56.0996c-19.6094 -4.49023 -40.8496 -0.179688 -56.1191 15.0703c-9.77148 9.75684 -17.7021 28.8828 -17.7021 42.6914c0 33.3018 27.0273 60.3301 60.3301 60.3301 +c6.40234 0 16.4248 -1.92773 22.3721 -4.30176c12.7793 -5.07031 27.0791 -3.69043 36.7793 6l40.6201 40.5898v85.8301c0 64 27.6904 107 63.1699 142.43c27.3887 27.3604 81.0371 49.5664 119.75 49.5664c38.7139 0 92.3613 -22.2061 119.75 -49.5664z" /> + <glyph glyph-name="dungeon" unicode="&#xf6d9;" +d="M128.73 252.68c6.58984 -4.12012 8.89941 -12.2393 6.33984 -19.5801c-3 -8.60938 -5.15039 -17.6094 -6.24023 -26.9395c-0.929688 -7.91016 -7.0498 -14.1602 -15.0098 -14.1602h-97.1299c-9.10059 0 -16.7402 7.62988 -16.1504 16.7197 +c1.66016 25.7793 11.7178 65.7725 22.4502 89.2705c3.93945 8.62012 14.8896 11.4697 22.9297 6.4502zM319.03 440c9.16992 -2.36035 13.9102 -12.5996 10.3896 -21.3896l-37.4697 -104.03c-2.28027 -6.34961 -8.2998 -10.5801 -15.0498 -10.5801h-41.8008 +c-6.2041 0.00195312 -12.9473 4.74219 -15.0498 10.5801l-37.4697 104.03c-3.52051 8.79004 1.21973 19.04 10.3896 21.3896c20.1699 5.17969 41.2607 8 63.0303 8s42.8604 -2.82031 63.0303 -8zM112 160c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16 +h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM112 32c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM189.31 315.67 +c2.85059 -7.12012 -0.0195312 -14.8799 -6.2998 -19.29c-6 -4.2002 -11.6094 -8.89941 -16.79 -14.0498c-5.4502 -5.41016 -13.5996 -6.86035 -20.1094 -2.79004l-82.9307 51.8301c-8.06934 5.04004 -10.2793 16.2002 -4.21973 23.5195 +c16.7148 20.1758 48.7969 47.0068 71.6104 59.8906c8.29004 4.67969 18.8896 0.519531 22.4199 -8.31055zM398.18 192c-7.95996 0 -14.0801 6.25 -15.0098 14.1602c-1.08984 9.32031 -3.22949 18.3301 -6.24023 26.9395c-2.55957 7.34082 -0.25 15.46 6.33984 19.5801 +l82.8105 51.7607c8.04004 5.01953 18.9902 2.16992 22.9297 -6.4502c10.7334 -23.498 20.791 -63.4902 22.4502 -89.2705c0.589844 -9.08984 -7.0498 -16.7197 -16.1504 -16.7197h-97.1299zM453.03 354.89c6.06934 -7.31934 3.84961 -18.4795 -4.2207 -23.5098 +l-82.9297 -51.8301c-6.50977 -4.06934 -14.6699 -2.62012 -20.1104 2.79004c-5.17969 5.15039 -10.7891 9.85059 -16.7891 14.0498c-6.28027 4.40039 -9.15039 12.1602 -6.30078 19.2803l36.3203 90.7998c3.54004 8.83008 14.1396 12.9902 22.4199 8.31055 +c22.8135 -12.8838 54.8945 -39.7148 71.6104 -59.8906zM496 160c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM496 32c8.83984 0 16 -7.16016 16 -16v-64 +c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM240 270.38c5.23047 0.889648 10.5195 1.62012 16 1.62012s10.7695 -0.730469 16 -1.62012v-294.38c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8 +v294.38zM176 228.87c8.16016 12.2998 19.2197 22.3203 32 29.7695v-282.64c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v252.87zM304 258.64c12.7803 -7.44922 23.8398 -17.4697 32 -29.7695v-252.87c0 -4.41992 -3.58008 -8 -8 -8h-16 +c-4.41992 0 -8 3.58008 -8 8v282.64z" /> + <glyph glyph-name="file-csv" unicode="&#xf6dd;" horiz-adv-x="384" +d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM128 168v16c0 4.41992 -3.58008 8 -8 8h-8c-26.5098 0 -48 -21.4902 -48 -48v-32 +c0 -26.5098 21.4902 -48 48 -48h8c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-8c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h8c4.41992 0 8 3.58008 8 8zM172.27 64c23.3906 0 42.4004 17.3301 42.3906 38.6201 +c0 10.6602 -4.86035 20.9199 -13.3301 28.1396l-21.8896 18.7705c-1.37012 1.17969 -2.12012 2.54004 -2.12012 3.83984c0 3.12012 4.45996 6.62012 10.4102 6.62012h12.2695c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-12.25 +c-23.3896 0 -42.4102 -17.3203 -42.4102 -38.6201c0 -10.6602 4.86035 -20.9199 13.3301 -28.1396l21.8896 -18.7705c1.37012 -1.17969 2.12012 -2.54004 2.12012 -3.83984c0 -3.12012 -4.45996 -6.62012 -10.4102 -6.62012h-12.2695c-4.41992 0 -8 -3.58008 -8 -8v-16 +c0 -4.41992 3.58008 -8 8 -8h12.2695zM256 184c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-20.7998c0 -35.4805 12.8799 -68.8906 36.2803 -94.0898c3.01953 -3.25 7.26953 -5.11035 11.7197 -5.11035s8.7002 1.86035 11.7197 5.11035 +c23.4004 25.1992 36.2803 58.6094 36.2803 94.0898v20.7998c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-20.7998c0 -20.2705 -5.7002 -40.1807 -16 -56.8799c-10.2998 16.71 -16 36.6094 -16 56.8799v20.7998zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004 +v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" /> + <glyph glyph-name="fist-raised" unicode="&#xf6de;" horiz-adv-x="384" +d="M255.98 288h-48.0303c-5.62988 0 -10.9502 -1.15039 -15.9697 -2.92969v146.93c0 8.83984 7.15918 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-144zM383.98 192.01l0.0195312 -88.2197v-0.0107422c0 -21.9551 -12.5977 -52.373 -28.1201 -67.8994l-35.9102 -35.9199 +v-63.96h-255.979v64l-26.5 26.5098c-24.0098 24.0098 -37.4902 56.5605 -37.4902 90.5098v77.9307c5.03027 -1.7998 10.3604 -2.9502 16 -2.9502h32c12.3301 0 23.4805 4.80957 32 12.4902c8.50977 -7.66992 19.6602 -12.4805 32 -12.4805h32 +c7.91016 0 15.2803 2.11035 21.8701 5.52051c7.46973 -16.3301 21.5996 -28.9404 38.8701 -34.4502c-17.1104 -14.8203 -31.5801 -34.4805 -47.3105 -58.0801l-6.30957 -9.46973c-0.742188 -1.1123 -1.34375 -3.09961 -1.34375 -4.43652 +c0 -2.36328 1.59668 -5.34375 3.56348 -6.65332l13.3105 -8.88086c1.11133 -0.741211 3.09863 -1.34375 4.43555 -1.34375c2.36328 0 5.34473 1.59668 6.6543 3.56445l6.30957 9.46973c31.8906 47.8398 51.5303 70.2695 96.0498 72.5498 +c4.29004 0.219727 7.88086 3.70996 7.88086 8v16.2002c0 4.41992 -3.52051 8 -13.2002 8h-35.2607c-26.2695 0 -47.5693 21.3203 -47.5693 47.5898v0.560547c0 8.7793 7.12012 15.8496 15.8994 15.8496h112.141c35.3301 0 63.9795 -28.6504 63.9902 -63.9902zM351.97 282.1 +c-10.0596 3.59082 -20.7197 5.90039 -32 5.90039h-32v112c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-117.9zM16 224c-8.83984 0 -16 7.16016 -16 16v128c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-128 +c0 -8.83984 -7.16016 -16 -16 -16h-32zM111.99 224c-8.83984 0 -16 7.16016 -16 16v160c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-160c0 -8.83984 -7.16016 -16 -16 -16h-32z" /> + <glyph glyph-name="ghost" unicode="&#xf6e2;" horiz-adv-x="384" +d="M186.1 447.91c108.73 3.25977 197.9 -83.9102 197.9 -191.91v-271.97c0 -14.25 -17.2305 -21.3906 -27.3096 -11.3105l-24.9209 18.5303c-6.65918 4.95996 -16 3.99023 -21.5098 -2.20996l-42.9502 -48.3496c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-40.7197 45.8496 +c-6.36035 7.16992 -17.5498 7.16992 -23.9199 0l-40.7197 -45.8496c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-42.9502 48.3496c-5.50977 6.2002 -14.8506 7.16016 -21.5098 2.20996l-24.9209 -18.5303c-10.0791 -10.0801 -27.3096 -2.9502 -27.3096 11.3105v263.92 +c0 105.13 81.0098 196.81 186.1 199.96zM128 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM256 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" /> + <glyph glyph-name="hammer" unicode="&#xf6e3;" horiz-adv-x="576" +d="M571.31 254.06c6.25 -6.25 6.25 -16.3799 0.0205078 -22.6191l-90.5098 -90.5107c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6309 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309l11.3105 11.3096l-28.9004 28.9004 +c-21.3096 -5.63086 -44.8994 -0.360352 -61.6094 16.3496l-49.1406 49.1396c-12.0098 12 -18.75 28.2803 -18.75 45.25v18.75l-90.5098 45.25c62.4902 62.4805 163.8 62.4805 226.28 0l45.25 -45.25c16.71 -16.71 21.9795 -40.2998 16.3496 -61.6094l28.9004 -28.9004 +l11.3096 11.3105c6.25 6.25 16.3799 6.25 22.6299 0zM284.59 269.26l49.1406 -49.1396c3.53906 -3.54004 7.47949 -6.5 11.4395 -9.41016l-238.13 -255.07c-23.8799 -25.5801 -64.2002 -26.2695 -88.9297 -1.5293c-24.7305 24.7393 -24.04 65.0498 1.5293 88.9297 +l255.101 238.17c3.00977 -4.16016 6.14941 -8.25 9.84961 -11.9502z" /> + <glyph glyph-name="hanukiah" unicode="&#xf6e6;" horiz-adv-x="640" +d="M232 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM168 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM392 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM456 288h16 +c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM544 280v-120h-32v120c0 4.41992 3.58008 8 8 8h16c4.41992 0 8 -3.58008 8 -8zM104 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM624 288c8.83984 0 16 -7.16016 16 -16 +v-112c0 -53.0195 -42.9805 -96 -96 -96h-192v-64h176c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v64h-192c-53.0195 0 -96 42.9805 -96 96v112c0 8.83984 7.16016 16 16 16 +h32c8.83984 0 16 -7.16016 16 -16v-112c0 -17.6699 14.3301 -32 32 -32h192v192c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-192h192c17.6699 0 32 14.3301 32 32v112c0 8.83984 7.16016 16 16 16h32zM608 320c-13.25 0 -24 11.9502 -24 26.6699 +s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM32 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM320 368 +c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM112 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699z +M176 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM240 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301 +c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM400 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM464 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301 +s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM528 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699z" /> + <glyph glyph-name="hat-wizard" unicode="&#xf6e8;" +d="M496 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480zM192 64l16 -32h-144l110.96 249.66c9.4043 21.1611 33.3545 47.6611 53.46 59.1494l187.58 107.19l-56.2998 -168.92 +c-1.81543 -5.43945 -3.28809 -14.5078 -3.28809 -20.2412c0 -7.25098 2.31934 -18.5449 5.17773 -25.209l86.4102 -201.63h-208l16 32l64 32l-64 32l-32 64l-32 -64l-64 -32zM256 288l-32 -16l32 -16l16 -32l16 32l32 16l-32 16l-16 32z" /> + <glyph glyph-name="hiking" unicode="&#xf6ec;" horiz-adv-x="384" +d="M80.9502 -24.2305l34.5596 138.221l52.7803 -52.7803l-25.2402 -100.97c-3.64941 -14.5303 -16.6895 -24.2305 -31.0195 -24.2305c-2.58008 0 -5.19043 0.290039 -7.7998 0.950195c-17.1406 4.28027 -27.5605 21.6504 -23.2803 38.8096zM95.8398 171.89 +c-2.18945 -8.41992 -11.0801 -13.54 -19.8701 -11.4395l-63.5596 15.25c-8.78027 2.10938 -14.1104 10.6396 -11.9199 19.0596l25.2695 98.1299c10.9707 42.1006 55.4404 67.6904 99.3203 57.1699c8.78027 -2.10938 14.1104 -10.6396 11.9199 -19.0596zM368 288 +c8.83984 0 16 -7.16016 15.9902 -16v-320.01c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v240h-48c-8.48047 0 -16.6201 3.37988 -22.6201 9.37988l-22.4297 22.4297l-19.8906 -79.5693 +c-0.129883 -0.520508 -0.469727 -0.910156 -0.620117 -1.41016l46.8203 -46.8203c12.0898 -12.0898 18.75 -28.1602 18.75 -45.25v-82.75c0 -17.6699 -14.3301 -32 -32 -32s-32 14.3301 -32 32v82.75l-86.6201 86.6201c-5.17383 5.1748 -9.37402 15.3154 -9.37402 22.6338 +c0 2.17285 0.427734 5.64746 0.954102 7.75586l26.9199 107.721c6.56055 26.2197 30.0098 44.5195 57.0303 44.5195c15.7002 0 30.4697 -6.11035 41.5596 -17.2197l46.7803 -46.7803h34.75v16c0 8.83984 7.16016 16 16 16h16zM240 352c-26.5098 0 -48 21.4902 -48 48 +s21.4902 48 48 48s48 -21.4902 48 -48s-21.4902 -48 -48 -48z" /> + <glyph glyph-name="hippo" unicode="&#xf6ed;" horiz-adv-x="640" +d="M581.12 351.8c34.0898 -0.189453 58.8799 -33.6895 58.8799 -67.7803v-92.0195c0 -17.6699 -14.3301 -32 -32 -32v-32c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v32h-128v-176c0 -8.83984 -7.16016 -16 -16 -16h-64 +c-8.83984 0 -16 7.16016 -16 16v70.79c-32.3496 -14.3604 -70.7197 -22.79 -112 -22.79s-79.6504 8.42969 -112 22.79v-70.79c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v240c0 88.3604 85.96 160 192 160 +c49.2402 0 94.0098 -15.5801 128 -40.9805v48.9805c0 13.2598 10.75 24 24 24h16c13.25 0 24 -10.7402 24 -24v-13.8799c10.0498 3.58008 20.7197 5.87988 32 5.87988c39.8301 0 73.9805 -24.2695 88.5195 -58.8203c24.1006 9.04004 48.9307 26.7705 76.6006 26.6201z +M448 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" /> + <glyph glyph-name="horse" unicode="&#xf6f0;" horiz-adv-x="576" +d="M575.92 371.4l0.0605469 -77.71v-0.0292969c0 -11.9609 -9.01465 -25.2715 -20.1201 -29.7109l-32.5508 -13.0205c-15.4395 -6.17969 -33.04 0.5 -40.4893 15.3701l-18.9004 37.7002l-16 7.11035v-102.471c0.00976562 -0.219727 0.0800781 -0.419922 0.0800781 -0.639648 +c0 -30.4697 -12.2598 -58.0303 -32 -78.2197v-177.78c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v150.4l-133.97 22.3301l-23.8398 -63.5908l26.3096 -105.26c2.53027 -10.0996 -5.11035 -19.8799 -15.5195 -19.8799h-65.9609h-0.000976562 +c-6.89453 0 -13.8428 5.42969 -15.5088 12.1201l-24.8496 99.4102c-1.05664 4.2207 -1.91406 11.1777 -1.91406 15.5293c0 6.40332 1.8252 16.4648 4.07422 22.46l25.7197 68.6006c-18.7002 17.5195 -30.54 42.2402 -30.54 69.8799 +c0 2.62988 0.570312 5.09961 0.780273 7.67969c-9.91016 -7.29004 -16.7803 -18.46 -16.7803 -31.6797v-56c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v56c0 48.5303 39.4697 88 88 88v-1.11035c17.5996 20.1299 43.1602 33.1104 72 33.1104 +h159.92c0 70.6904 57.3105 128 128 128h119.98c5.05957 0 8.94922 -4.67969 7.92969 -9.63965c-2.67969 -13.1699 -11.1201 -23.8203 -22.1797 -30.6602c5.10938 -5.37988 9.90918 -10.4697 13.6895 -14.5c5.56055 -5.93066 8.57031 -13.6699 8.58008 -21.7998zM511.92 352 +c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" /> + <glyph glyph-name="house-damage" unicode="&#xf6f1;" horiz-adv-x="576" +d="M288 333.04l218.74 -192.94c1.54004 -1.37988 3.55957 -2.04004 5.25977 -3.19922v-184.9c0 -8.83984 -7.16016 -16 -16 -16h-176.19l-39.9199 55.25l104.11 64l-148.05 136.78l60.1602 -119.221l-104.11 -64l37.2305 -72.8096h-149.23c-8.83984 0 -16 7.16016 -16 16 +v184.94c1.78027 1.20996 3.84961 1.88965 5.46973 3.34961zM570.69 211.72c6.5791 -5.89941 7.11914 -16.0195 1.21973 -22.5898l-21.4004 -23.8203c-5.91016 -6.56934 -16.0293 -7.10938 -22.5996 -1.20996l-229.32 202.271c-6.0498 5.33008 -15.1201 5.33008 -21.1699 0 +l-229.32 -202.28c-6.58008 -5.91016 -16.6992 -5.35938 -22.5996 1.20996l-21.4004 23.8203c-5.90918 6.58008 -5.35938 16.6895 1.20996 22.5996l255.99 226.011c7.60059 6.85938 17.1406 10.2793 26.7002 10.2695s19.1201 -3.4502 26.75 -10.3096l101.25 -89.3809v51.6904 +c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-136.45z" /> + <glyph glyph-name="hryvnia" unicode="&#xf6f2;" horiz-adv-x="384" +d="M368 208h-99.7002l-34.6699 -32h134.37c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-203.7l-29.4902 -27.2197c-4.3291 -4 -6.80957 -9.66992 -6.80957 -15.5801c0 -11.6807 9.50977 -21.2002 21.2002 -21.2002h83.6299h0.00195312 +c4.79395 0 11.6748 2.49121 15.3584 5.55957l11.75 9.80078c10.1895 8.48926 25.3193 7.12012 33.8096 -3.07031l20.4902 -24.5898c8.49023 -10.1807 7.10938 -25.3105 -3.07031 -33.7998l-11.7695 -9.81055c-18.6807 -15.5596 -42.2207 -24.0898 -66.54 -24.0898h-78.8203 +c-37.1396 0 -73.3799 17.8496 -92.0498 49.9502c-17.8701 30.7197 -17.54 65.4199 -4.12988 94.0498h-41.8604c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h99.7002l34.6699 32h-134.37c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16 +h203.7l29.4902 27.21c4.3291 4 6.80957 9.66992 6.80957 15.5801c0 11.6797 -9.50977 21.2002 -21.2002 21.2002h-83.6201c-5.62012 0 -11.0693 -1.9707 -15.3896 -5.57031l-11.7305 -9.78027c-10.1895 -8.48926 -25.3193 -7.12012 -33.8096 3.07031l-20.4902 24.5898 +c-8.49023 10.1807 -7.10938 25.3105 3.07031 33.7998l11.7695 9.81055c18.6807 15.5596 42.2207 24.0898 66.54 24.0898h78.8203c37.1396 0 73.3799 -17.8398 92.0498 -49.9502c17.8701 -30.7197 17.54 -65.4199 4.12988 -94.0498h41.8604c8.83984 0 16 -7.16016 16 -16v-32 +c0 -8.83984 -7.16016 -16 -16 -16z" /> + <glyph glyph-name="mask" unicode="&#xf6fa;" horiz-adv-x="640" +d="M320.67 384c449.09 0 348.32 -384 158.46 -384c-39.8994 0 -77.4697 20.6904 -101.41 55.8604l-25.7295 37.79c-15.6602 22.9893 -46.9707 22.9893 -62.6299 0l-25.7305 -37.79c-23.9502 -35.1699 -61.5195 -55.8604 -101.42 -55.8604c-199.11 0 -284.14 384 158.46 384z +M184 139.64c41.0596 0 67.7598 25.6504 80.0801 41.0508c5.22949 6.54004 5.22949 16.0996 0 22.6299c-12.3203 15.3896 -39.0098 41.0498 -80.0801 41.0498s-67.7598 -25.6504 -80.0801 -41.0498c-5.22949 -6.54004 -5.22949 -16.1006 0 -22.6299 +c12.3203 -15.3906 39.0205 -41.0508 80.0801 -41.0508zM456 139.64c41.0596 0 67.7598 25.6504 80.0801 41.0508c5.22949 6.54004 5.22949 16.0996 0 22.6299c-12.3203 15.3896 -39.0098 41.0498 -80.0801 41.0498s-67.7598 -25.6504 -80.0801 -41.0498 +c-5.22949 -6.54004 -5.22949 -16.1006 0 -22.6299c12.3203 -15.3906 39.0205 -41.0508 80.0801 -41.0508z" /> + <glyph glyph-name="mountain" unicode="&#xf6fc;" horiz-adv-x="640" +d="M634.92 -14.7002c2.80566 -4.3623 5.08301 -12.1133 5.08301 -17.3008c0 -4.50586 -1.75293 -11.374 -3.91309 -15.3291c-5.60938 -10.2803 -16.3799 -16.6699 -28.0898 -16.6699h-576h-0.00390625c-10.4795 0 -23.0615 7.46387 -28.0859 16.6602 +c-2.16016 3.95605 -3.91309 10.8262 -3.91309 15.334c0 5.18848 2.27734 12.9414 5.08301 17.3057l288 448c5.88965 9.16016 16.0303 14.7002 26.9199 14.7002s21.0303 -5.54004 26.9199 -14.7002zM320 356.82l-102.06 -158.761l38.0596 -38.0596l64 64h85.3896z" /> + <glyph glyph-name="network-wired" unicode="&#xf6ff;" horiz-adv-x="640" +d="M640 184c0 -8.83984 -7.16016 -16 -16 -16h-104v-40h56c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h56v40h-304v-40h56c17.6699 0 32 -14.3301 32 -32v-128 +c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h56v40h-104c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h280v40h-72c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h192 +c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-72v-40h280c8.83984 0 16 -7.16016 16 -16v-16zM256 320h128v64h-128v-64zM192 0v64h-96v-64h96zM544 0v64h-96v-64h96z" /> + <glyph glyph-name="otter" unicode="&#xf700;" horiz-adv-x="640" +d="M608 416c17.6699 0 32 -14.3301 32 -32v-32c0 -53.0195 -42.9805 -96 -96 -96h-22.8604l-92.4697 -49.79l55.1104 -110.21h28.2197c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16h-80l-74.5098 144.5l-149.49 -80.5h64 +c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83008 0 -16 -7.16992 -16 -16s7.16992 -16 16 -16h112c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32h-108.47c-39.3799 0 -75.5205 26.9004 -82.2803 65.7002 +c-4.91016 28.1201 5 54.2197 23.1904 71.7998c23.5596 22.75 39.5596 52.1396 39.5596 84.8896v1.61035c0 106.04 85.96 192 192 192h56l153.25 87.5703c9.66992 5.51953 20.6104 8.42969 31.75 8.42969h20.4902h0.0126953c14.6328 0 34.9033 -8.40039 45.2471 -18.75 +l13.25 -13.25h32zM512 400c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16s16 7.16016 16 16s-7.16016 16 -16 16zM544 304c20.8301 0 38.4297 13.4199 45.0498 32h-77.0498l-118.57 -59.29l13.7705 -27.5498l101.84 54.8398h34.96z" /> + <glyph glyph-name="ring" unicode="&#xf70b;" +d="M256 384c145.94 0 256 -61.9102 256 -144v-98.1299c0 -78.3506 -114.62 -141.87 -256 -141.87s-256 63.5195 -256 141.87v98.1299c0 82.0898 110.06 144 256 144zM256 320c-106.04 0 -192 -35.8203 -192 -80c0 -9.25977 3.96973 -18.1201 10.9102 -26.3896 +c44.9395 26.1797 108.859 42.3896 181.09 42.3896s136.15 -16.21 181.09 -42.3896c6.94043 8.26953 10.9102 17.1299 10.9102 26.3896c0 44.1797 -85.96 80 -192 80zM120.43 183.36c34.7305 -14.4307 82.6406 -23.3604 135.57 -23.3604s100.84 8.92969 135.57 23.3604 +c-34.6104 14.71 -81.21 24.6396 -135.57 24.6396s-100.96 -9.92969 -135.57 -24.6396z" /> + <glyph glyph-name="running" unicode="&#xf70c;" horiz-adv-x="416" +d="M272 352c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48s-21.4902 -48 -48 -48zM113.69 130.53c7.92969 -17.2402 20.6699 -32.3799 37.9893 -42.6104l10.6699 -6.2998l-8.79004 -20.5205c-7.5293 -17.6494 -24.8594 -29.0898 -44.1094 -29.0898 +h-77.4502c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32h66.8896zM384 224.01c17.6699 0 32 -14.3193 32 -31.9902c0 -17.6699 -14.3301 -32 -32 -32h-53.9902c-18.1895 0 -35.1094 10.5508 -43.1094 26.8906l-20.2705 41.4297l-31.3096 -78.2803l61.2393 -36.1396 +c18.75 -11.3096 27.5508 -33.6201 21.6406 -54.3896l-31.6406 -101.061c-4.29004 -13.6797 -16.9092 -22.4502 -30.5195 -22.4502c-3.16992 0 -6.38965 0.480469 -9.58008 1.48047c-16.8604 5.28027 -26.25 23.2305 -20.9697 40.0898l27.4697 87.7305l-84.9795 50.1699 +c-27.6104 16.2998 -38.9209 50.8301 -26.3008 80.3096l37.46 87.3906l-14.6992 4.36914c-7.83008 1.86035 -17.6006 -0.25 -25.2705 -6.13965l-39.6895 -30.4102c-14.0205 -10.7402 -34.0908 -8.10938 -44.8604 5.91992c-10.7705 14.0303 -8.11035 34.1104 5.91992 44.8604 +l39.6699 30.4102c23.0703 17.6895 52.54 23.9395 80.8398 17.1396l71.0801 -21.1396c26.3301 -6.70996 49.2803 -25.3906 61.7803 -50.9404l26.0596 -53.25h44.0303z" /> + <glyph glyph-name="scroll" unicode="&#xf70e;" horiz-adv-x="640" +d="M48 448c26.4697 0 48 -21.5303 48 -48v-80h-80c-8.83984 0 -16 7.16016 -16 16v64c0 26.4697 21.5303 48 48 48zM256 35.4297c0 -31.8896 -21.7803 -61.4297 -53.25 -66.5498c-40.0996 -6.53027 -74.75 24.25 -74.75 63.1201v368c0 18.0801 -6.25977 34.5898 -16.4102 48 +h336.41c52.9404 0 96 -43.0596 96 -96v-256h-288v-60.5703zM288 64h336c8.83984 0 16 -7.16016 16 -16c0 -61.8604 -50.1396 -112 -112 -112h-336c52.9404 0 96 43.0703 96 96v32z" /> + <glyph glyph-name="skull-crossbones" unicode="&#xf714;" horiz-adv-x="448" +d="M439.15 -5.05957c7.89941 -3.9502 11.1094 -13.5605 7.15918 -21.4707l-14.3096 -28.6299c-3.95996 -7.89941 -13.5703 -11.0996 -21.4697 -7.14941l-186.53 90.7197l-186.52 -90.7197c-7.91016 -3.95996 -17.5205 -0.75 -21.4707 7.14941l-14.3096 28.6299 +c-3.95996 7.91016 -0.75 17.5205 7.14941 21.4707l141.98 69.0596l-141.99 69.0596c-7.89941 3.9502 -11.0996 13.5605 -7.14941 21.46l14.3096 28.6309c3.95996 7.90918 13.5703 11.1094 21.4697 7.15918l186.53 -90.7197l186.53 90.7197 +c7.91016 3.9502 17.5195 0.740234 21.4697 -7.15918l14.3096 -28.6309c3.95996 -7.89941 0.75 -17.5098 -7.14941 -21.46l-141.99 -69.0596zM150 210.72c-41.7803 22.4102 -70 62.75 -70 109.28c0 70.6904 64.4697 128 144 128s144 -57.3096 144 -128 +c0 -46.5303 -28.2197 -86.8701 -70 -109.28l5.5 -25.8701c2.66992 -12.6191 -5.41992 -24.8496 -16.4502 -24.8496h-126.08c-11.0293 0 -19.1201 12.2305 -16.4502 24.8496zM280 336c-17.6504 0 -32 -14.3496 -32 -32s14.3496 -32 32 -32s32 14.3496 32 32 +s-14.3496 32 -32 32zM168 336c-17.6504 0 -32 -14.3496 -32 -32s14.3496 -32 32 -32s32 14.3496 32 32s-14.3496 32 -32 32z" /> + <glyph glyph-name="slash" unicode="&#xf715;" horiz-adv-x="640" +d="M594.53 -60.6299l-588.351 454.729c-6.96973 5.41992 -8.22949 15.4707 -2.80957 22.4502l19.6396 25.2705c5.41992 6.97949 15.4805 8.23926 22.46 2.80957l588.351 -454.729c6.96973 -5.41992 8.22949 -15.4707 2.80957 -22.4502l-19.6396 -25.2705 +c-5.41992 -6.97949 -15.4805 -8.22949 -22.46 -2.80957z" /> + <glyph glyph-name="spider" unicode="&#xf717;" horiz-adv-x="576" +d="M151.17 280.65l-27.1504 54.2998c-1.86035 3.72949 -3.37109 10.1387 -3.37109 14.3066c0 2.86719 0.735352 7.40234 1.6416 10.123l25.8896 77.6797c2.79004 8.39062 11.8604 12.9209 20.2402 10.1201l15.1699 -5.05957 +c8.39062 -2.7998 12.9102 -11.8604 10.1201 -20.2402l-23.7998 -71.3896l20.29 -40.5801c-1.41016 -4.20996 -2.49023 -8.20996 -3.20996 -11.79l-5.2207 -26.1201h-4.66992zM573.31 98.6201c4.90039 -7.35059 2.9209 -17.2803 -4.43945 -22.1797l-13.3105 -8.88086 +c-7.34961 -4.89941 -17.29 -2.90918 -22.1895 4.44043l-48 72h-47.0605l60.8301 -97.3301c3.16992 -5.08008 4.86035 -10.96 4.86035 -16.96v-77.71c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v73.1104l-74.0801 118.529 +c1 -14.0498 2.08008 -28.1094 2.08008 -42.21c0 -53.0693 -40.7598 -101.43 -96 -101.43s-96 48.3604 -96 101.43c0 14.1006 1.07031 28.1602 2.08008 42.21l-74.0801 -118.529v-73.1104c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v77.7002 +v0.00976562c0 5.0625 2.17773 12.6562 4.86035 16.9502l60.8301 97.3301h-47.0605l-48 -72c-4.89941 -7.35059 -14.8398 -9.33984 -22.1895 -4.44043l-13.3105 8.87988c-7.36035 4.90039 -9.33984 14.8398 -4.43945 22.1904l52.7393 79.1299 +c5.24707 7.86426 17.1768 14.248 26.6299 14.25h77.9404l-68.9902 24.3496c-5.75 1.91895 -13.1465 7.56738 -16.5098 12.6104l-53.5996 80.4102c-4.90039 7.36035 -2.91016 17.29 4.43945 22.1895l13.3105 8.88086c7.35938 4.89941 17.29 2.90918 22.1895 -4.44043 +l50.5703 -75.8301l60.4902 -20.1699h36.0996l10.3701 51.8496c2.18945 10.9707 17.3701 60.1504 69.6299 60.1504s67.4404 -49.1797 69.6299 -60.1504l10.3701 -51.8496h36.0996l60.5 20.1699l50.5605 75.8301c4.89941 7.34961 14.8398 9.33984 22.1895 4.44043 +l13.3105 -8.88086c7.34961 -4.89941 9.33984 -14.8398 4.43945 -22.1895l-53.5996 -80.4102c-3.36328 -5.04297 -10.7598 -10.6914 -16.5098 -12.6104l-68.9902 -24.3594h77.9404c9.45117 -0.00195312 21.377 -6.38672 26.6191 -14.25zM406.09 350.49l-23.7998 71.3896 +c-2.79004 8.37988 1.74023 17.4404 10.1201 20.2402l15.1699 5.05957c8.37988 2.80078 17.4502 -1.73926 20.2402 -10.1201l25.8896 -77.6797c0.908203 -2.72168 1.64551 -7.25781 1.64551 -10.127c0 -4.16699 -1.5127 -10.5752 -3.375 -14.3027l-27.1504 -54.2998 +l-25.9297 -8.65039h-4.66992l-5.2207 26.1201c-0.719727 3.58008 -1.7998 7.58008 -3.20996 11.79z" /> + <glyph glyph-name="toilet-paper" unicode="&#xf71e;" horiz-adv-x="576" +d="M128 448h284.44c-36.7705 -38.4805 -60.4404 -108.4 -60.4404 -192v-172.07c0 -53.6494 -11.8799 -87.5693 -24.71 -126.05c-4.36035 -13.0703 -16.5898 -21.8799 -30.3604 -21.8799h-280.92c-10.9199 0 -18.6299 10.7002 -15.1797 21.0596 +c21.3701 64.1006 31.1699 85.75 31.1699 126.87v172.07c0 106.04 42.9805 192 96 192zM96 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM160 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16 +s7.16016 -16 16 -16zM224 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM288 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM480 448c53.0195 0 96 -85.96 96 -192 +s-42.9805 -192 -96 -192s-96 85.96 -96 192s42.9805 192 96 192zM480 192c17.6699 0 32 28.6504 32 64s-14.3301 64 -32 64s-32 -28.6504 -32 -64s14.3301 -64 32 -64z" /> + <glyph glyph-name="tractor" unicode="&#xf722;" horiz-adv-x="640" +d="M528 112c48.5996 0 88 -39.4004 88 -88s-39.4004 -88 -88 -88s-88 39.4004 -88 88s39.4004 88 88 88zM528 0c13.2305 0 24 10.7695 24 24s-10.7695 24 -24 24s-24 -10.7695 -24 -24s10.7695 -24 24 -24zM608 288c17.6699 0 32 -14.3301 31.9902 -32v-50.7598 +c0 -8.49023 -3.37012 -16.6299 -9.37012 -22.6299l-50.8203 -50.8203c-15.7295 7.58984 -33.1602 12.2002 -51.7998 12.2002c-39.1396 0 -73.5498 -19.0098 -95.46 -48h-80.54v-6c0 -12.1504 -9.84961 -22 -22 -22h-7.16016 +c-2.9502 -9.90039 -6.91992 -19.46 -11.9102 -28.7207l5.06055 -5.05957c8.58984 -8.58984 8.58984 -22.5195 0 -31.1104l-31.1104 -31.1094c-8.58984 -8.58984 -22.5195 -8.58984 -31.1104 0l-5.05957 5.05957c-9.25977 -4.99023 -18.8203 -8.95996 -28.7197 -11.9102 +v-7.13965c0 -12.1504 -9.85059 -22 -22 -22h-44c-12.1504 0 -22 9.84961 -22 22v7.15039c-9.90039 2.94922 -19.46 6.91992 -28.7207 11.9092l-5.05957 -5.05957c-8.58984 -8.58984 -22.5195 -8.58984 -31.1104 0l-31.1094 31.1104 +c-8.58984 8.58984 -8.58984 22.5195 0 31.1094l5.05957 5.06055c-4.99023 9.26953 -8.9502 18.8193 -11.9102 28.7295h-7.13965c-12.1504 0 -22 9.85059 -22 22v44c0 12.1504 9.84961 22 22 22h7.15039c2.94922 9.90039 6.91992 19.46 11.9092 28.7207l-5.05957 5.05957 +c-8.58984 8.58984 -8.58984 22.5195 0 31.1104l31.1104 31.1094c7.92969 7.93066 20.2598 8.2002 28.8896 1.4707v146.52c0 26.4697 21.5303 48 48 48h133.45h0.046875c17.4834 0 37.2324 -13.0547 44.083 -29.1396l56.0898 -130.86h102.33v40.2002 +c0 29.9902 10.5801 58.8994 29.5 81.7197c6.37988 7.7002 18.04 8.23047 24.7002 0.780273l21.6299 -24.1699c4.87012 -5.43066 5.74023 -13.6904 1.32031 -19.4902c-8.4502 -11.0801 -13.1504 -24.7197 -13.1504 -38.8398v-40.2002h64zM176 32c44.1797 0 80 35.8203 80 80 +s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM198 288h110.04l-41.1504 96h-106.89v-96h38z" /> + <glyph glyph-name="user-injured" unicode="&#xf728;" horiz-adv-x="448" +d="M277.37 436.02l-90.6904 -68.0195h-81.1895c19.0098 46.8701 64.8193 80 118.51 80c19.1104 0 37.0801 -4.46973 53.3701 -11.9805zM342.51 368h-102.52l66.0293 49.5195c15.8203 -13.3193 28.5908 -30.0498 36.4902 -49.5195zM224 192c-70.6904 0 -128 57.3096 -128 128 +c0 5.48047 0.94043 10.7002 1.61035 16h252.779c0.660156 -5.2998 1.61035 -10.5195 1.61035 -16c0 -70.6904 -57.3096 -128 -128 -128zM80 148.3c7.92676 3.51758 21.2812 7.64844 29.8096 9.21973l98.4502 -221.52h-128.26v212.3zM0 -16v41.5996 +c0 41.1406 18.8799 77.5107 48 102.16v-191.76c-26.5098 0 -48 21.4902 -48 48zM256 32c26.4697 0 48 -21.5303 48 -48s-21.5303 -48 -48 -48h-12.71l-42.6699 96h55.3799zM313.6 160c74.2305 0 134.4 -60.1699 134.4 -134.4v-41.5996c0 -26.5098 -21.4902 -48 -48 -48 +h-80.4102c10.1504 13.4102 16.4102 29.9199 16.4102 48c0 44.1104 -35.8896 80 -80 80h-69.5898l-42.6699 96h7.37012c22.2393 -10.1797 46.8799 -16 72.8896 -16s50.6504 5.82031 72.8896 16h16.71z" /> + <glyph glyph-name="vr-cardboard" unicode="&#xf729;" horiz-adv-x="640" +d="M608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-160.22c-25.1807 0 -48.0303 14.7695 -58.3604 37.7402l-27.7402 61.6396c-7.88965 17.54 -24.0293 28.6201 -41.6797 28.6201s-33.79 -11.0801 -41.6797 -28.6201l-27.7402 -61.6396 +c-10.3301 -22.9707 -33.1699 -37.7402 -58.3604 -37.7402h-160.22c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM160 144c35.3496 0 64 28.6504 64 64s-28.6504 64 -64 64s-64 -28.6504 -64 -64s28.6504 -64 64 -64zM480 144 +c35.3496 0 64 28.6504 64 64s-28.6504 64 -64 64s-64 -28.6504 -64 -64s28.6504 -64 64 -64z" /> + <glyph glyph-name="wind" unicode="&#xf72e;" +d="M156.7 192c48.7002 0 92.2998 -35 98.3994 -83.4004c7.5 -58.5 -38.0996 -108.6 -95.1992 -108.6c-46.6006 0 -85.6006 33.5 -94.2002 77.5996c-1.7998 9.60059 6.09961 18.4004 15.8994 18.4004h32.8008c6.59961 0 13.0996 -3.7998 15.1992 -10.0996 +c4.30078 -12.7002 16.3008 -21.9004 30.4004 -21.9004c19.5 0 34.9004 17.4004 31.5996 37.4004c-2.59961 15.6992 -17.5 26.5996 -33.3994 26.5996h-142.2c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h140.7zM16 224c-8.7998 0 -16 7.2002 -16 16v32 +c0 8.7998 7.2002 16 16 16h334.2c16 0 30.7998 10.9004 33.3994 26.5996c3.30078 20 -12.1992 37.4004 -31.5996 37.4004c-14.0996 0 -26.0996 -9.2002 -30.4004 -21.9004c-2.09961 -6.2998 -8.5 -10.0996 -15.1992 -10.0996h-32.8008 +c-9.69922 0 -17.6992 8.7002 -15.7998 18.2998c9.7998 50.6006 59.5 87.1006 114.9 75.5c36.2002 -7.59961 65.5 -36.8994 73.0996 -73.0996c13 -61.9004 -34.0996 -116.7 -93.7998 -116.7h-336zM400 192c70.5 0 126 -65.5 108.9 -138.7 +c-9.60059 -41.0996 -43.5 -74 -84.7002 -82.7002c-58.9004 -12.5 -111.601 21.7002 -129.4 72.3008c-3.7002 10.2998 4.40039 21.0996 15.2998 21.0996h33.8008c5.7998 0 11.5996 -2.59961 14.5 -7.59961c8.2998 -14.5 23.6992 -24.4004 41.5996 -24.4004 +c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-116.5c-6.59961 25.2002 -20.5 47.4004 -39.7998 64h156.3z" /> + <glyph glyph-name="wine-bottle" unicode="&#xf72f;" +d="M507.31 375.43c6.25 -6.25 6.25 -16.3799 0.0107422 -22.6201l-22.6299 -22.6299c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-76.6699 -76.6699c19.7002 -46.5801 10.7305 -102.41 -27.2295 -140.37l-158.391 -158.39c-24.9893 -24.9902 -65.5195 -24.9902 -90.5098 0 +l-90.5098 90.5098c-24.9902 24.9902 -24.9902 65.5205 0 90.5098l158.38 158.381c37.9697 37.96 93.79 46.9297 140.37 27.2295l76.6699 76.6699c-6.25 6.25 -6.25 16.3799 0 22.6299l22.6299 22.6299c6.25 6.25 16.3799 6.25 22.6299 0zM179.22 24.71l122.04 122.04 +l-90.5098 90.5098l-122.04 -122.04z" /> + <glyph glyph-name="cloud-meatball" unicode="&#xf73b;" +d="M48 96c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM464 96c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM345 84.9004c13.5 -7 23 -20.7002 23 -36.9004s-9.5 -29.9004 -23 -36.9004 +c4.59961 -14.5 1.7002 -30.7998 -9.7998 -42.2998c-8.2002 -8.2002 -18.9004 -12.2998 -29.7002 -12.2998c-4.2998 0 -8.5 1.2002 -12.5996 2.5c-7 -13.5 -20.7002 -23 -36.9004 -23s-29.9004 9.5 -36.9004 23c-4.09961 -1.40039 -8.2998 -2.5 -12.5996 -2.5 +c-10.7998 0 -21.5 4.09961 -29.7002 12.2998c-11.5 11.5 -14.5 27.7998 -9.89941 42.2998c-13.5 7 -23 20.7002 -23 36.9004s9.5 29.9004 23 36.9004c-4.5 14.5 -1.60059 30.7998 9.89941 42.2998s27.7998 14.5 42.2998 9.89941c7 13.5 20.7002 23 36.9004 23 +s29.9004 -9.5 36.9004 -23c14.5 4.5 30.7998 1.60059 42.2998 -9.89941c11.3994 -11.5 14.3994 -27.7998 9.7998 -42.2998zM512 224c0 -53 -43 -96 -96 -96h-43.4004c-3.5 8 -8.39941 15.4004 -14.7998 21.7998c-13.5 13.5 -31.5 21.1006 -50.7998 21.2998 +c-13.5 13.2002 -31.7002 20.9004 -51 20.9004s-37.5 -7.7002 -51 -20.9004c-19.2998 -0.199219 -37.2998 -7.7998 -50.7998 -21.2998c-6.40039 -6.39941 -11.2002 -13.7998 -14.7998 -21.7998h-43.4004c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998 +c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.0996 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80c0 -5.59961 -0.5 -11 -1.59961 -16.2002 +c0.5 0 1 0.200195 1.59961 0.200195c53 0 96 -43 96 -96z" /> + <glyph glyph-name="cloud-moon-rain" unicode="&#xf73c;" horiz-adv-x="576" +d="M350.5 222.5c37.2998 -6.7998 65.5 -39.2998 65.5 -78.5c0 -44.2002 -35.7998 -80 -80 -80h-256c-44.2002 0 -80 35.7998 -80 80c0 38.7998 27.5996 71.0996 64.2002 78.4004c0 0.5 -0.200195 1.09961 -0.200195 1.59961c0 53 43 96 96 96 +c32.0996 0 60.2998 -15.9004 77.7002 -40c10.3994 5 22 8 34.2998 8c39.2002 0 71.5996 -28.2998 78.5 -65.5zM567.9 224.2c6.19922 1.2002 10.5996 -6 6.39941 -10.7998c-27 -33.1006 -67.8994 -53.3008 -112.6 -53.3008c-5.2002 0 -10.1006 1 -15.2002 1.5 +c-6.2002 39.4004 -33.0996 72.5 -70.2002 86.8008c-10.7002 27.8994 -32.2002 49.7998 -58.8994 61.6992c3.2998 76.7002 66.5 137.9 144.399 137.9c8.90039 0 17.7998 -0.799805 26.5 -2.40039c6.2002 -1.09961 7.60059 -9.39941 2.10059 -12.5 +c-35.6006 -20.0996 -57.5 -57.5 -57.5 -98.0996c0 -70.5 64.5996 -124.1 135 -110.8zM364.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961 +c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM268.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961 +c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM172.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64 +c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM76.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008 +l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6z" /> + <glyph glyph-name="cloud-rain" unicode="&#xf73d;" +d="M416 320c53 0 96 -43 96 -96s-43 -96 -96 -96h-320c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.0996 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998 +c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80c0 -5.59961 -0.5 -11 -1.59961 -16.2002c0.5 0 1 0.200195 1.59961 0.200195zM88 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002 +c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996c0 31.3008 27.2002 43.3008 40 87.7002zM248 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996 +c0 31.3008 27.2002 43.3008 40 87.7002zM408 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996c0 31.3008 27.2002 43.3008 40 87.7002z" /> + <glyph glyph-name="cloud-showers-heavy" unicode="&#xf740;" +d="M183.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112 +c4.40039 7.7998 14.2002 10.3994 21.8008 6zM279.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008 +l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM87.9004 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961 +c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM471.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961 +c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM375.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112 +c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM416 320c53 0 96 -43 96 -96s-43 -96 -96 -96h-320 +c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.2002 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80 +c0 -5.59961 -0.5 -11 -1.59961 -16.2002c0.5 0 1 0.200195 1.59961 0.200195z" /> + <glyph glyph-name="cloud-sun-rain" unicode="&#xf743;" horiz-adv-x="576" +d="M510.5 222.5c37.2998 -6.7998 65.5 -39.2998 65.5 -78.5c0 -44.2002 -35.7998 -80 -80 -80h-256c-44.2002 0 -80 35.7998 -80 80c0 38.7998 27.5996 71 64.2002 78.4004c0 0.5 -0.200195 1.09961 -0.200195 1.59961c0 53 43 96 96 96 +c32.0996 0 60.2998 -15.9004 77.7002 -40c10.3994 5 22 8 34.2998 8c39.2002 0 71.5996 -28.2998 78.5 -65.5zM124.1 188.1c3.10059 -3.09961 6.60059 -5.59961 10.2002 -8.2998c-3.89941 -11.3994 -6.2002 -23.3994 -6.2002 -35.8994c0 -2.5 0.5 -4.80078 0.700195 -7.2002 +l-59.2002 -19.7002c-10.1992 -3.2998 -19.8994 6.2998 -16.5 16.5l25.1006 75.2998l-71 35.5c-9.60059 4.7998 -9.60059 18.5 0 23.2998l71 35.5l-25.1006 75.3008c-3.39941 10.1992 6.2002 19.8994 16.4004 16.5l75.2998 -25.1006l35.5 71 +c4.7998 9.60059 18.5 9.60059 23.2998 0l35.5 -71l75.3008 25.1006c10.1992 3.39941 19.8994 -6.2002 16.5 -16.4004l-8.90039 -26.7002c-0.700195 0 -1.2998 0.200195 -2 0.200195c-25.5996 0 -49.2002 -7.7998 -69.2002 -20.7002 +c-37.5996 29.4004 -92.0996 27.2002 -126.7 -7.39941c-37.3994 -37.5 -37.3994 -98.4004 0 -135.801zM193.9 246.1c-18.2002 -8.2998 -33.5 -21.2998 -44.8008 -37.1992c-12.8994 11.6992 -21.0996 28.3994 -21.0996 47.0996c0 35.2998 28.7002 64 64 64 +c12.4004 0 24 -3.7002 33.7998 -9.90039c-16.0996 -17.5996 -27.5996 -39.5 -31.8994 -64zM524.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961 +c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM428.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961 +c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM332.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64 +c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM236.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008 +l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6z" /> + <glyph glyph-name="democrat" unicode="&#xf747;" horiz-adv-x="640" +d="M637.3 191.1c4.90039 -7.39941 2.90039 -17.2998 -4.39941 -22.2998l-26.6006 -17.7002c-7.39941 -4.89941 -17.2998 -3 -22.2002 4.40039c-21.7998 32.7002 -23.8994 38.0996 -40.0996 50.2998v-77.7998h-352l-54 108l-38.0996 -34.5996 +c-6 -6 -14.1006 -9.40039 -22.6006 -9.40039h-31c-12.0996 0 -23.2002 6.90039 -28.5996 17.7002l-14.2998 28.5996c-5.40039 10.7998 -4.30078 23.7998 3 33.5l74.5996 99.2998c1.7002 2.30078 4.2002 3.7002 6.40039 5.40039c-4 2.2002 -8 4.2002 -11.3008 7.5 +c-16.3994 16.4004 -18.3994 41.7998 -6.09961 60.4004c2.7998 4.19922 8.7998 4.7998 12.4004 1.19922l42.8994 -42.7998l41.7998 41.7998c4.40039 4.40039 11.8008 3.7002 15.2002 -1.5c15.1006 -22.7998 12.6006 -53.7998 -7.5 -73.8994l81.2002 -81.2002h235.6 +c50.8008 0 97.9004 -25.2002 126.101 -67.5zM296.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5 +l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM408.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998 +l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002 +l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM520.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998 +c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM192 -48v144h352v-144 +c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v80h-160v-80c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16z" /> + <glyph glyph-name="flag-usa" unicode="&#xf74d;" +d="M32 448c17.7002 0 32 -14.2998 32 -32v-464c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v464c0 17.7002 14.2998 32 32 32zM299.9 144.4c31.0996 -8.2002 62.5996 -16.5 100 -16.6006c31.8994 0 68.5 6.7998 112.1 24.1006v-36 +c0 -12.3008 -7.09961 -23.8008 -18.5 -28.8008c-175.8 -76.3994 -211.8 69.1006 -397.5 -23.0996v69.2998c92.2002 39.9004 146.7 26.2002 203.9 11.1006zM299.9 240.4c31.0996 -8.2002 62.5996 -16.5 100 -16.5c31.8994 0 68.5 6.7998 112.1 24.0996v-61.5 +c-92.2002 -39.9004 -146.7 -26.2002 -203.9 -11.0996c-57.5 15.0996 -117.3 30 -212.1 -7.60059v61.5c92.2002 39.9004 146.7 26.2002 203.9 11.1006zM309.4 366.3c-7 2.10059 -14.1006 4.2002 -21.3008 6.2002v-33.2002c4 -1.09961 8.10059 -2.2998 12.1006 -3.5 +c26.7002 -8.09961 52.8994 -15.8994 85.7002 -15.8994c32.7998 0 72.5 7.89941 126.1 31.3994v-68.8994c-92.2002 -39.8008 -146.7 -26.1006 -203.9 -11.1006c-57.5 15.1006 -117.3 29.9004 -212.1 -7.59961v151.899c209.4 94.6006 195.3 -59.0996 366.6 28.2002 +c22.6006 11.5 49.4004 -1.5 49.4004 -26.5996v-30.7998c-105.2 -49.1006 -150.8 -35.7002 -202.6 -20.1006zM160 319.9c8.7998 0 16 7.09961 16 16c0 8.89941 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16zM160 375.7c8.7998 0 16 7.2002 16 16 +c0 8.89941 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16zM224 327.8c8.7998 0 16 7.2002 16 16c0 8.90039 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.89941 7.2002 -16 16 -16zM224 383.7c8.7998 0 16 7.2002 16 16c0 8.89941 -7.2002 16 -16 16 +s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16z" /> + <glyph glyph-name="meteor" unicode="&#xf753;" +d="M491.2 447.3c12.3994 3.7002 23.7998 -7.7002 20.2002 -20.0996c-11.6006 -38.7002 -34.3008 -111.7 -61.3008 -187.7c7 -2.09961 13.4004 -4 18.6006 -5.59961c9.7002 -3 14.2002 -13.9004 9.5 -22.9004c-22.1006 -42.2998 -82.7002 -152.8 -142.5 -214.4 +c-1 -1.09961 -2 -2.5 -3 -3.5c-38.1006 -38.0996 -88 -57.0996 -137.9 -57.0996c-49.8994 -0.0996094 -99.7998 19 -137.8 57c-38 38.0996 -57 88 -57 137.8c0 49.9004 19 99.7998 57.0996 137.8c1 1 2.40039 2 3.5 3c61.6006 59.9004 172 120.4 214.4 142.5 +c9 4.7002 19.9004 0.200195 22.9004 -9.5c1.59961 -5.09961 3.5 -11.5996 5.59961 -18.5996c75.9004 27 149 49.7002 187.7 61.2998zM192 0c70.7002 0 128 57.2998 128 128s-57.2998 128 -128 128s-128 -57.2998 -128 -128s57.2998 -128 128 -128zM160 192 +c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM208 96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16z" /> + <glyph glyph-name="person-booth" unicode="&#xf756;" horiz-adv-x="576" +d="M192 -48v176h64v-176c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16zM224 224c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32h-57.5c-12.7998 0 -24.7998 5 -33.9004 14.0996l-20.8994 20.9004v-80.5996l41.2002 -61.3008 +c4.39941 -8.7998 6.69922 -18.6992 6.69922 -28.5996v-56.5c0 -17.7002 -14.2998 -32 -32 -32c-17.6992 0 -32 14.2998 -32 32v56l-29.0996 43c-0.900391 0.400391 -1.59961 1.2002 -2.5 1.7002l-0.0996094 -100.7c0 -17.7002 -14.4004 -32 -32 -32 +c-17.6006 0 -31.9004 14.2998 -31.9004 32l0.200195 160l-0.200195 95.9004c0 17.0996 6.7002 33.1992 18.7002 45.2998c12.0996 12.0996 28.2002 18.7998 45.2998 18.7998h18.7002c17 0 33.0996 -6.59961 45.2002 -18.7002l45.1992 -45.2998h50.9004zM64 320 +c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM288 416v32h192v-416c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 -17.7002 -14.2998 -32 -32 -32c-17.0996 0 -30.7998 13.5 -31.7002 30.4004 +c-4.2998 -21.3008 -17.0996 -30.4004 -32.2998 -30.4004c-18.4004 0 -35.7002 16.7002 -31.4004 38.2998l30.9004 154.601zM192 416c0 17.7002 14.2998 32 32 32h32v-192h-64v160zM544 448c17.7002 0 32 -14.2998 32 -32v-464c0 -8.7998 -7.2002 -16 -16 -16h-32 +c-8.7998 0 -16 7.2002 -16 16v496h32z" /> + <glyph glyph-name="poo-storm" unicode="&#xf75a;" horiz-adv-x="448" +d="M308 112c9.2002 0 15 -10 10.4004 -18l-88 -152c-2.2002 -3.7998 -6.2002 -6 -10.4004 -6c-7.7002 0 -13.5 7.2002 -11.7002 14.7998l23 97.2002h-59.2998c-7.2998 0 -12.9004 6.40039 -11.9004 13.5996l16 120c0.800781 5.90039 5.90039 10.4004 11.9004 10.4004h68 +c7.90039 0 13.5996 -7.5 11.5996 -15.0996l-17.2998 -64.9004h57.7002zM374.4 223.3c41 -3.2998 73.5996 -37.5 73.5 -79.2998c0 -44 -36 -80 -80 -80h-30l8.09961 14c7.7998 13.5 7.7998 30.4004 0 44s-22.4004 22 -38.0996 22h-16l6.59961 24.7002 +c3.59961 13.2998 0.799805 27.2002 -7.59961 38.0996c-8.40039 10.9004 -21.1006 17.2002 -34.9004 17.2002h-68c-22 0 -40.7002 -16.4004 -43.7002 -38.2002l-16 -120c0 -0.599609 0.100586 -1.2002 0 -1.7998h-48.2998c-44 0 -80 36 -80 80 +c0 41.7998 32.5996 76 73.5996 79.2998c-5.89941 9.60059 -9.59961 20.6006 -9.59961 32.7002c0 35.2998 28.7002 64 64 64h16c44.2002 0 80 35.7998 80 80c0 17.4004 -5.7002 33.4004 -15.0996 46.5c4.89941 0.799805 9.89941 1.5 15.0996 1.5c53 0 96 -43 96 -96 +c0 -11.2998 -2.2998 -21.9004 -5.90039 -32h5.90039c35.2998 0 64 -28.7002 64 -64c0 -12.0996 -3.7002 -23.0996 -9.59961 -32.7002z" /> + <glyph glyph-name="rainbow" unicode="&#xf75b;" horiz-adv-x="576" +d="M268.3 415.3c167.7 11.2998 307.7 -122 307.7 -287.3v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v136.2c0 113.8 -81.5996 215.399 -194.5 229.899c-136.6 17.6006 -253.5 -88.8994 -253.5 -222.1v-144c0 -8.7998 -7.2002 -16 -16 -16h-32 +c-8.7998 0 -16 7.2002 -16 16v133.8c0 153.3 115.4 287.3 268.3 297.5zM262.7 318.4c117.1 15 217.3 -76.2002 217.3 -190.4v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v138.3c0 66.9004 -48.7002 126.601 -115.2 133.101 +c-76.2998 7.39941 -140.8 -52.6006 -140.8 -127.4v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v137.3c0 97.6006 70 184.7 166.7 197.101zM268.9 222.1c61.2998 11.9004 115.1 -34.8994 115.1 -94.0996v-144c0 -8.7998 -7.2002 -16 -16 -16h-32 +c-8.7998 0 -16 7.2002 -16 16v144c0 17.5996 -14.2998 32 -32 32s-32 -14.4004 -32 -32v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v140.2c0 46.3994 31.2998 89 76.9004 97.8994z" /> + <glyph glyph-name="republican" unicode="&#xf75e;" horiz-adv-x="640" +d="M544 256v-64h-544v64c0 88.4004 71.5996 160 160 160h224c88.4004 0 160 -71.5996 160 -160zM176.3 277.6c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0l-12.1992 -24.7998l-27.4004 -4 +c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998zM320.3 277.6 +c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0l-12.1992 -24.7998l-27.4004 -4c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998 +c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998zM464.3 277.6c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0 +l-12.1992 -24.7998l-27.4004 -4c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998z +M624 128c8.7998 0 16 -7.2002 16 -16v-64c0 -46.9004 -40.5996 -84.5 -88.4004 -79.5996c-41.5996 4.19922 -71.5996 42.5 -71.5996 84.2998v43.2998h-32v-112c0 -8.7998 -7.2002 -16 -16 -16h-96c-8.7998 0 -16 7.2002 -16 16v80h-192v-80c0 -8.7998 -7.2002 -16 -16 -16 +h-96c-8.7998 0 -16 7.2002 -16 16v176h544v-112c0 -8.7998 7.2002 -16 16 -16s16 7.2002 16 16v64c0 8.7998 7.2002 16 16 16h32z" /> + <glyph glyph-name="smog" unicode="&#xf75f;" horiz-adv-x="640" +d="M624 80c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-544c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h544zM144 -16c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-128c-8.7998 0 -16 7.2002 -16 16v16 +c0 8.7998 7.2002 16 16 16h128zM560 -16c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-336c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h336zM144 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144c41 0 77.7998 -17.2998 104 -44.7998 +c26.2002 27.5 63 44.7998 104 44.7998c54.7998 0 102 -31 126.3 -76.0996c15 7.5 31.7002 12.0996 49.7002 12.0996c61.9004 0 112 -50.0996 112 -112s-50.0996 -112 -112 -112h-60.0996c-22.6006 -19.7002 -51.6006 -32 -83.9004 -32s-61.4004 12.2998 -83.9004 32h-156.1z +" /> + <glyph glyph-name="temperature-high" unicode="&#xf769;" +d="M416 448c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM416 320c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 336v-166.5c19.7002 -24.5996 32 -55.5 32 -89.5 +c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144c0 34 12.2998 64.7998 32 89.5v166.5c0 61.9004 50.0996 112 112 112s112 -50.0996 112 -112zM144 0c44.0996 0 80 35.9004 80 80c0 25.5 -12.2002 49 -32 63.7998v192.2c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-192.2 +c-19.7998 -14.8994 -32 -38.2998 -32 -63.7998c0 -44.0996 35.9004 -80 80 -80zM160 125.1c18.5996 -6.59961 32 -24.1992 32 -45.0996c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 20.9004 13.4004 38.5 32 45.0996v210.9c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16 +v-210.9z" /> + <glyph glyph-name="temperature-low" unicode="&#xf76b;" +d="M416 448c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM416 320c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 336v-166.5c19.7002 -24.5996 32 -55.5 32 -89.5 +c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144c0 34 12.2998 64.7998 32 89.5v166.5c0 61.9004 50.0996 112 112 112s112 -50.0996 112 -112zM144 0c44.0996 0 80 35.9004 80 80c0 25.5 -12.2002 49 -32 63.7998v192.2c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-192.2 +c-19.7998 -14.8994 -32 -38.2998 -32 -63.7998c0 -44.0996 35.9004 -80 80 -80zM160 125.1c18.5996 -6.59961 32 -24.1992 32 -45.0996c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 20.9004 13.4004 38.5 32 45.0996v18.9004c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16 +v-18.9004z" /> + <glyph glyph-name="vote-yea" unicode="&#xf772;" horiz-adv-x="640" +d="M608 128c17.7002 0 32 -14.2998 32 -32v-96c0 -17.7002 -14.2998 -32 -32 -32h-576c-17.7002 0 -32 14.2998 -32 32v96c0 17.7002 14.2998 32 32 32h64v-64h-22.4004c-5.2998 0 -9.59961 -3.59961 -9.59961 -8v-16c0 -4.40039 4.2998 -8 9.59961 -8h492.801 +c5.2998 0 9.59961 3.59961 9.59961 8v16c0 4.40039 -4.2998 8 -9.59961 8h-22.4004v64h64zM512 64h-384v319.7c0 17.7998 14.5 32.2998 32.4004 32.2998h319.3c17.7998 0 32.2998 -14.4004 32.2998 -32.2998v-319.7zM211.2 246c-4.2002 -4.2002 -4.2998 -11 0 -15.2002 +l74.0996 -74.7002c4.2002 -4.2998 11 -4.2998 15.2002 -0.0996094l128.3 127.2c4.2998 4.2002 4.2998 11 0.100586 15.2002l-25.3008 25.5c-4.19922 4.2998 -11 4.2998 -15.1992 0.0996094l-95.2002 -94.4004l-41.2998 41.6006 +c-4.2002 4.2998 -11 4.2998 -15.2002 0.0996094z" /> + <glyph glyph-name="water" unicode="&#xf773;" horiz-adv-x="576" +d="M562.1 64.0996c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0 +c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2 +c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.5 57.8994 -22.9004zM562.1 208.1 +c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0 +c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2 +c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.5 57.8994 -22.9004zM562.1 352.1 +c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0 +c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2 +c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.4004 57.8994 -22.9004z" /> + <glyph glyph-name="baby" unicode="&#xf77c;" horiz-adv-x="384" +d="M192 288c-44.2002 0 -80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80s-35.7998 -80 -80 -80zM138.6 39.2002l29.4004 -39.2002c13.2002 -17.7002 9.7002 -42.7998 -8 -56c-7.2002 -5.40039 -15.7002 -8 -24 -8c-12.0996 0 -24.0996 5.5 -32 16l-48 64 +c-10.9004 14.5996 -10.5996 34.7998 0.799805 49l45.9004 57.4004l61.5 -51.2002zM281.3 122.4l45.9004 -57.4004c11.3994 -14.2002 11.7002 -34.4004 0.799805 -49l-48 -64c-7.7998 -10.5 -19.7998 -16 -32 -16c-8.40039 0 -16.7998 2.59961 -24 8 +c-17.7002 13.2002 -21.2002 38.2998 -8 56l29.4004 39.2002l-25.6006 32zM376.7 303c12.7002 -18.0996 8.39941 -43 -9.7002 -55.7998l-40.5996 -28.5c-17 -11.9004 -35.4004 -20.9004 -54.4004 -27.9004v-30.7998h-160v30.9004c-19 7 -37.4004 16 -54.4004 27.8994 +l-40.5996 28.5c-18 12.7002 -22.4004 37.6006 -9.7002 55.7002c12.7002 18 37.6006 22.4004 55.7002 9.7002l40.5996 -28.4004c52.6006 -37 124.101 -37 176.801 0l40.5996 28.5c18.0996 12.6006 43 8.2998 55.7002 -9.7998z" /> + <glyph glyph-name="baby-carriage" unicode="&#xf77d;" +d="M144.8 431l111.2 -175h-256c0 74 35.2998 140.1 90.7998 184.4c16.7998 13.3994 42.7002 8.39941 54 -9.40039zM496 352c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48v-64c0 -50.5996 -23 -96.4004 -60.2998 -130.7 +c34.5996 -8.89941 60.2998 -40 60.2998 -77.2998c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 8.90039 1.7002 17.2002 4.40039 25.2002c-21.5 -5.90039 -44.6006 -9.2002 -68.4004 -9.2002s-46.7998 3.2998 -68.4004 9.2002 +c2.60059 -8 4.40039 -16.2998 4.40039 -25.2002c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 37.2998 25.7002 68.4004 60.2998 77.2998c-37.2998 34.2998 -60.2998 80.1006 -60.2998 130.7h384v64c0 35.2998 28.7002 64 64 64h48zM80 -16 +c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM400 16c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32s32 14.4004 32 32z" /> + <glyph glyph-name="biohazard" unicode="&#xf780;" horiz-adv-x="576" +d="M287.9 336c-18.5 0 -36 -3.7998 -52.5 -9.5c-13.3008 10.2998 -23.6006 24.2998 -29.5 40.7002c25.1992 10.8994 53 16.8994 82.0996 16.8994c29.2002 0 57 -6.09961 82.2002 -17c-5.90039 -16.3994 -16.2002 -30.3994 -29.5 -40.6992 +c-16.6006 5.7998 -34.2002 9.59961 -52.7998 9.59961zM163.6 9.2998c-47.5 35.5 -79.1992 90.7002 -83.2998 153.5c7.2998 2.10059 14.9004 3.10059 22.5 3.10059c9.2002 0 17.9004 -1.80078 26.4004 -4.60059c4.09961 -44.2998 26 -83.2002 58.8994 -109.6 +c-4.09961 -16 -12.5 -30.6006 -24.5 -42.4004zM387.8 51.9004c32.7002 26.3994 54.6006 65.0996 58.7002 109.3c8.59961 2.7998 17.4004 4.7002 26.5996 4.7002c7.5 0 15 -1 22.2002 -3c-3.89941 -62.8008 -35.5996 -118 -83 -153.5c-12 11.7998 -20.3994 26.5 -24.5 42.5z +M501.3 256.9c34.6006 -20.4004 61 -53.3008 74.1006 -92.4004c1.2998 -3.7002 -0.200195 -7.7998 -3.5 -9.7998c-3.30078 -2 -7.5 -1.2998 -10 1.59961c-9.40039 10.7998 -19 19 -29.2002 25.1006c-57.2998 33.8994 -130.8 13.6992 -163.9 -45 +c-33.0996 -58.7002 -13.3994 -134 43.9004 -167.9c10.2002 -6.09961 21.8994 -10.5 35.7998 -13.4004c3.7998 -0.799805 6.40039 -4.19922 6.40039 -8.09961c-0.100586 -4 -2.7002 -7.2998 -6.5 -8c-39.7002 -7.7998 -80.6006 -0.799805 -115.2 19.7002 +c-18 10.5996 -32.9004 24.5 -45.2998 40.0996c-12.4004 -15.5996 -27.3008 -29.5 -45.3008 -40.0996c-34.5996 -20.5 -75.5 -27.5 -115.199 -19.7002c-3.80078 0.700195 -6.40039 4 -6.5 8c0 3.90039 2.69922 7.2998 6.39941 8.09961 +c13.7998 3 25.6006 7.30078 35.7998 13.4004c57.3008 33.9004 77 109.2 43.9004 167.9c-33.0996 58.6992 -106.6 78.8994 -163.9 45c-10.1992 -6 -19.7998 -14.3008 -29.1992 -25.1006c-2.5 -2.89941 -6.7002 -3.59961 -10 -1.59961 +c-3.30078 2.09961 -4.80078 6.09961 -3.5 9.7998c13.2998 39.0996 39.6992 71.9004 74.2998 92.4004c17.5996 10.3994 36.3994 16.5996 55.2998 19.8994c-6.09961 17.7002 -10 36.4004 -10 56.2002c0 41 14.5996 80.7998 41 112.2c2.5 3 6.59961 3.7002 10 1.7998 +c3.2998 -1.90039 4.7998 -6 3.59961 -9.7002c-4.39941 -13.7998 -6.59961 -26.3994 -6.59961 -38.5c0 -67.7998 53.7998 -122.899 120 -122.899s120 55.0996 120 122.899c0 12.2002 -2.09961 24.7002 -6.59961 38.5c-1.2002 3.7002 0.299805 7.7998 3.59961 9.7002 +c3.40039 1.90039 7.5 1.2002 10 -1.7998c26.5 -31.4004 41 -71.2002 41 -112.2c0 -19.7998 -4 -38.5 -10 -56.2002c19 -3.2998 37.7002 -9.5 55.2998 -19.8994zM287.9 127.9c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" /> + <glyph glyph-name="blog" unicode="&#xf781;" +d="M172.2 221.2c75.5 -15 129.899 -89.2998 112.5 -172.2c-11.4004 -54.2998 -55.2998 -98.2998 -109.7 -109.7c-92.9004 -19.5 -175 51.2002 -175 140.7v248c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-248c0 -26.5 21.5 -48 48 -48s48 21.5 48 48 +c0 20.5996 -13.0996 38.2002 -31.2998 45c-9.60059 3.59961 -16.7002 11.7998 -16.7002 22v50.4004c0 14.8994 13.5996 26.6992 28.2002 23.7998zM209 448c163.2 -8.59961 294.4 -139.8 302.9 -303c0.5 -9.2002 -6.80078 -17 -16 -17h-32.1006 +c-8.39941 0 -15.3994 6.59961 -15.8994 15c-7.5 129.5 -111.5 234.5 -240.9 241.5c-8.40039 0.400391 -15 7.40039 -15 15.9004v31.5996c0 9.2002 7.7998 16.5 17 16zM209.3 352c110.101 -8.5 198.2 -96.5996 206.601 -206.7 +c0.699219 -9.2998 -6.80078 -17.2998 -16.1006 -17.2998h-32.2002c-8.2998 0 -15.0996 6.40039 -15.8994 14.7002c-6.90039 77 -68.1006 138.899 -144.9 145.2c-8.2998 0.599609 -14.7998 7.5 -14.7998 15.8994v32.1006c0 9.39941 8 16.7998 17.2998 16.0996z" /> + <glyph glyph-name="calendar-day" unicode="&#xf783;" horiz-adv-x="448" +d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM64 176v-96c0 -8.7998 7.2002 -16 16 -16h96c8.7998 0 16 7.2002 16 16v96c0 8.7998 -7.2002 16 -16 16h-96c-8.7998 0 -16 -7.2002 -16 -16zM400 384c26.5 0 48 -21.5 48 -48v-48h-448v48 +c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" /> + <glyph glyph-name="calendar-week" unicode="&#xf784;" horiz-adv-x="448" +d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM64 176v-64c0 -8.7998 7.2002 -16 16 -16h288c8.7998 0 16 7.2002 16 16v64c0 8.7998 -7.2002 16 -16 16h-288c-8.7998 0 -16 -7.2002 -16 -16zM400 384c26.5 0 48 -21.5 48 -48v-48h-448 +v48c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" /> + <glyph glyph-name="candy-cane" unicode="&#xf786;" +d="M497.5 356c35.7002 -75.5 2.7998 -166.1 -68.9004 -209l-347.3 -206.5c-5.2002 -3 -10.7998 -4.5 -16.3994 -4.5c-10.9004 0 -21.5 5.59961 -27.5 15.5996l-32.8008 54.9004c-9.09961 15.2002 -4.19922 34.7998 11 43.9004l353.601 210.1 +c15.0996 9.09961 20.0996 28.7998 11 43.9004c-6 10 -16.6006 15.5996 -27.5 15.5996c-5.60059 0 -11.2998 -1.40039 -16.4004 -4.5l-27.5 -16.4004c-5.2002 -3 -10.7998 -4.5 -16.3994 -4.5c-10.9004 0 -21.5 5.60059 -27.5 15.6006l-32.8008 54.8994 +c-9.09961 15.2002 -4.19922 34.8008 11 43.9004l27.5 16.4004c25.6006 15.2998 53.9004 22.5996 81.8008 22.5996c59.3994 0 117.199 -33.0996 145.1 -92zM319.8 343c8.5 5.09961 18.1006 7.59961 27.9004 8.40039l-20.6006 61.7998 +c-10.5 -2.10059 -20.5996 -5.5 -30.2998 -10.2002l20.5 -61.5zM145.9 16.2002l30.7998 18.2998l-60.5 38.5l-30.7998 -18.2998zM253.4 80.0996l30.7998 18.3008l-60.5 38.5l-30.7998 -18.3008zM364.3 146l30.7998 18.2998l-60.5 38.5l-30.7998 -18.2998zM384.7 343.3 +c9.2002 -5.39941 17.2002 -13 22.8994 -22.2998l45.7002 45.7002c-6.59961 8.5 -14.2002 16.0996 -22.5996 22.5996zM466.8 235.5c4.60059 9.7998 8 20 10.1006 30.4004l-60.4004 20.0996c-0.0996094 -4.5 -0.700195 -9.09961 -1.7998 -13.5996 +c-1.60059 -6.2002 -4.2002 -11.8008 -7.40039 -17.1006z" /> + <glyph glyph-name="carrot" unicode="&#xf787;" +d="M298.2 291.4c61.7002 -30.1006 87.2998 -104.5 57.2002 -166.2c-12.6006 -25.7998 -33.1006 -45.4004 -57.1006 -57.1006l-102 -49.7998l-57 57c-6.2002 6.2002 -16.2998 6.2002 -22.5996 0s-6.2998 -16.3994 0 -22.5996l49.2002 -49.2002l-133.601 -65.2002 +c-11.0996 -5.39941 -24.5996 -0.799805 -30 10.2998c-3.09961 6.40039 -2.89941 13.7002 0 19.7002l128.101 262.7l50.1992 -50.2002c3.10059 -3.09961 7.2002 -4.7002 11.3008 -4.7002c4.09961 0 8.19922 1.60059 11.2998 4.7002c6.2998 6.2002 6.2998 16.2998 0 22.6006 +l-55.2002 55.1992c35.7002 43.3008 97.5 58.5 150.2 32.8008zM390.3 326.3c40.7002 19.5 88.7998 9.40039 121.7 -30.2998c-41.5996 -50.2998 -107.5 -52.5 -151.9 -7.90039l-8 8c-44.5996 44.4004 -42.3994 110.2 7.90039 151.9 +c39.7002 -32.9004 49.7998 -81 30.2998 -121.7z" /> + <glyph glyph-name="cash-register" unicode="&#xf788;" +d="M511.1 69.2002c0.600586 -3.5 0.900391 -7 0.800781 -10.5v-90.7002c0 -17.7002 -14.3008 -32 -32 -32h-448c-17.7002 0 -32 14.2998 -32 32v90.7998c0 3.5 0.299805 7 0.899414 10.5l26.7002 160c2.59961 15.4004 16 26.7002 31.5996 26.7002h84.9004v64h-96 +c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h256c8.7998 0 16 -7.2002 16 -16v-96.0996c0 -8.80078 -7.2002 -16 -16 -16h-96v-64h244.8c15.7002 0 29 -11.3008 31.6006 -26.7002zM280 200v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16 +c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16zM248 136c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16zM216 216h-16c-8.7998 0 -16 -7.2002 -16 -16v-16 +c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16zM80 368h192v32h-192v-32zM120 168c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16zM136 104 +c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16zM352 -8v16c0 4.40039 -3.59961 8 -8 8h-176c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h176c4.40039 0 8 3.59961 8 8 +zM376 104v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16zM424 184v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16 +c8.7998 0 16 7.2002 16 16z" /> + <glyph glyph-name="compress-arrows-alt" unicode="&#xf78c;" +d="M200 160c13.2998 0 24 -10.7002 24 -24v-112c0 -21.4004 -25.7998 -32.0996 -40.9004 -17l-31.0996 33l-99.2998 -99.2998c-6.2002 -6.2002 -16.4004 -6.2002 -22.6006 0l-25.3994 25.3994c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l99.2002 99.2998l-32.9004 31 +c-15.0996 15.2002 -4.40039 41 17 41h112zM312 224c-13.2998 0 -24 10.7002 -24 24v112c0 21.4004 25.7998 32.0996 40.9004 17l31.0996 -33l99.2998 99.2998c6.2002 6.2002 16.4004 6.2002 22.6006 0l25.3994 -25.3994c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006 +l-99.2998 -99.2998l33 -31c15.0996 -15.0996 4.40039 -41 -17 -41h-112zM408 88l99.2998 -99.4004c6.2002 -6.19922 6.2002 -16.3994 0 -22.5996l-25.3994 -25.4004c-6.2002 -6.19922 -16.4004 -6.19922 -22.6006 0l-99.2998 99.3008l-31 -32.9004 +c-15.0996 -15.0996 -41 -4.40039 -41 17v112c0 13.2998 10.7002 24 24 24h112c21.4004 0 32.0996 -25.7998 17 -40.9004zM183 376.9c15.0996 15.0996 41 4.39941 41 -16.9004v-112c0 -13.2998 -10.7002 -24 -24 -24h-112c-21.4004 0 -32.0996 25.7998 -17 40.9004 +l33 31.0996l-99.2998 99.2998c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l25.3994 25.3994c6.2002 6.2002 16.4004 6.2002 22.6006 0l99.2998 -99.2998z" /> + <glyph glyph-name="dumpster" unicode="&#xf793;" horiz-adv-x="576" +d="M560 288h-97.2998l-25.6006 128h98.9004c7.2998 0 13.7002 -5 15.5 -12.0996l24 -96c2.5 -10.1006 -5.09961 -19.9004 -15.5 -19.9004zM272 416v-128h-126.1l25.5996 128h100.5zM404.5 416l25.5996 -128h-126.1v128h100.5zM16 288c-10.4004 0 -18 9.7998 -15.5 19.9004 +l24 96c1.7998 7.09961 8.2002 12.0996 15.5 12.0996h98.9004l-25.6006 -128h-97.2998zM560 224c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-28l-20 -160v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-320v-16 +c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16l-20 160h-28c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h20l-4 32h512l-4 -32h20z" /> + <glyph glyph-name="dumpster-fire" unicode="&#xf794;" horiz-adv-x="640" +d="M418.7 343.9c-19.7002 -17.6006 -37.7002 -36.5 -53.9004 -55.8008h-60.7998v128h100.5l14.4004 -72zM272 416v-128h-126.1l25.5996 128h100.5zM461.3 343.9l-11.8994 10.5996l-12.3008 61.5h98.9004c7.2998 0 13.7002 -5 15.4004 -12.0996l24 -96 +c0.199219 -0.800781 -0.100586 -1.5 0 -2.30078c-1 1 -2 2.2002 -3.10059 3.10059l-21.2998 19l-21.2998 -19c-5.90039 -5.2002 -11.6006 -10.7002 -17.2998 -16.2998c-15.6006 17.7998 -32.9004 35.1992 -51.1006 51.5zM16 288c-10.4004 0 -18 9.7998 -15.5 19.9004l24 96 +c1.7998 7.09961 8.2002 12.0996 15.5 12.0996h98.9004l-25.6006 -128h-97.2998zM340.6 256c-32.6992 -46.7002 -52.5996 -93.7002 -52.5996 -129.6c0 -48.5 18.5996 -92.7002 48.7998 -126.4h-208.8v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16 +l-20 160h-28c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h20l-4 32h308.6zM551.1 284.8c51.8008 -46.2002 88.9004 -121.8 88.8008 -158.399c0 -87.5 -71.6006 -158.4 -160 -158.4c-88.4004 0 -160 70.9004 -160 158.4c0 49.2998 49.7998 130.899 120 193.6 +c27.3994 -24.4004 51.5 -50.5996 71 -76.4004c11.8994 14 25.2998 27.9004 40.1992 41.2002zM532.5 55.4004c33.4004 24.1992 41.2002 71.0996 22.5996 107.8c-2.2998 4.5 -4.89941 9.2002 -7.69922 14l-39.8008 -47s-62.3994 82.5 -67.0996 88.0996 +c-32.9004 -40.8994 -49.4004 -64.7998 -49.4004 -91.8994c0 -54.5 39.9004 -88 88.9004 -88c19.5996 0 37.7998 6.2998 52.5 17z" /> + <glyph glyph-name="ethernet" unicode="&#xf796;" +d="M496 256c8.7998 0 16 -7.2002 16 -16v-224c0 -8.7998 -7.2002 -16 -16 -16h-80v128h-32v-128h-64v128h-32v-128h-64v128h-32v-128h-64v128h-32v-128h-80c-8.7998 0 -16 7.2002 -16 16v224c0 8.7998 7.2002 16 16 16h48v48c0 8.7998 7.2002 16 16 16h48v48 +c0 8.7998 7.2002 16 16 16h224c8.7998 0 16 -7.2002 16 -16v-48h48c8.7998 0 16 -7.2002 16 -16v-48h48z" /> + <glyph glyph-name="gifts" unicode="&#xf79c;" horiz-adv-x="640" +d="M240.6 253.9c-27.7998 -6.90039 -48.5996 -32 -48.5996 -61.9004v-224c0 -11.7002 3.40039 -22.5 8.90039 -32h-168.9c-17.7002 0 -32 14.2998 -32 32v352c0 17.7002 14.2998 32 32 32h29.4004l-30.7002 22c-7.2002 5.09961 -8.7998 15.0996 -3.7002 22.2998l9.2998 13 +c5.10059 7.2002 15.1006 8.7998 22.2998 3.7002l32.1006 -22.7998l-11.5 30.5996c-3.2002 8.2002 1 17.5 9.2998 20.6006l15 5.59961c8.2998 3.09961 17.5 -1.09961 20.5996 -9.40039l19.9004 -53.0996l19.9004 53c3.09961 8.2998 12.2998 12.5 20.5996 9.40039l15 -5.60059 +c8.2998 -3.09961 12.5 -12.2998 9.40039 -20.5996l-11.5 -30.6006l32 22.9004c7.19922 5.2002 17.1992 3.5 22.2998 -3.7002l9.2998 -13c5.2002 -7.2002 3.5 -17.2002 -3.7002 -22.2998l-30.7002 -22h29.4004c12.7002 0 23.4004 -7.5 28.5996 -18.2998 +c-26.6992 -18.6006 -42.0996 -49 -44 -79.7998zM224 -32v96h192v-128h-160c-17.7002 0 -32 14.2998 -32 32zM448 -64v128h192v-96c0 -17.7002 -14.2998 -32 -32 -32h-160zM608 224c17.7002 0 32 -14.2998 32 -32v-96h-192v128h-15.2998l-0.700195 0.200195 +l-0.700195 -0.200195h-15.2998v-128h-192v96c0 17.7002 14.2998 32 32 32h20.4004c-2.7002 7.59961 -4.40039 15.5 -4.40039 23.7998c0 35.5 27 72.2002 72.0996 72.2002c48 0 75.8008 -47.7002 87.9004 -75.2998c12 27.5996 39.7998 75.2998 87.9004 75.2998 +c45.0996 0 72.0996 -36.7002 72.0996 -72.2002c0 -8.2998 -1.7998 -16.2002 -4.40039 -23.7998h20.4004zM336 224h52.5996c-8.89941 20.5996 -25.7998 48 -44.5 48c-17.6992 0 -24.0996 -14.5 -24.0996 -24.2002c0 -5.2002 1.5 -12.5996 8.7998 -19 +c2.10059 -1.7998 4.5 -3.39941 7.2002 -4.7998zM535.2 228.8c7.2998 6.40039 8.7998 13.7998 8.7998 19c0 9.7002 -6.40039 24.2002 -24.0996 24.2002c-18.7002 0 -35.7002 -27.7002 -44.5 -48h52.5996c2.7002 1.40039 5.09961 3 7.2002 4.7998z" /> + <glyph glyph-name="glass-cheers" unicode="&#xf79f;" horiz-adv-x="640" +d="M639.4 14.4004c1.69922 -4.10059 -0.300781 -8.7002 -4.30078 -10.4004l-162.399 -67.4004c-4 -1.69922 -8.7002 0.200195 -10.4004 4.30078c-8.5 20.3994 1.2002 43.7998 21.6006 52.2998l22.0996 9.2002l-39.2998 103.6 +c-4.40039 -0.5 -8.7998 -1.2998 -13.1006 -1.2998c-51.6992 0 -99.3994 33.0996 -113.399 85.2998l-20.2002 75.4004l-20.2002 -75.4004c-14 -52.2002 -61.7002 -85.2998 -113.399 -85.2998c-4.30078 0 -8.7002 0.799805 -13.1006 1.2998l-39.3994 -103.6l22.0996 -9.2002 +c20.4004 -8.5 30 -31.9004 21.5996 -52.2998c-1.69922 -4.10059 -6.2998 -6 -10.3994 -4.30078l-162.3 67.4004c-4.10059 1.7002 -6 6.40039 -4.30078 10.5c8.5 20.4004 31.8008 30.0996 52.2002 21.5996l22.1006 -9.19922l38.6992 101.899 +c-47.8994 34.9004 -64.6992 100.2 -34.5 152.7l86.6006 150.5c8 13.9004 25.0996 19.7998 40 13.5996l114.3 -47.3994l114.3 47.3994c14.9004 6.10059 32 0.300781 40 -13.5996l86.6006 -150.5c30.2998 -52.5 13.3994 -117.8 -34.5 -152.8l38.6992 -101.9l22.1006 9.2002 +c20.3994 8.5 43.7998 -1.2002 52.2002 -21.5996zM275.9 285.9l18.8994 70.6992l-94.5 39.2002l-36.5 -63.3994zM364.1 285.9l112.101 46.5l-36.5 63.3994l-94.5 -39.2002z" /> + <glyph glyph-name="glass-whiskey" unicode="&#xf7a0;" +d="M480 416c19.5 0 34.4004 -17.2002 31.7002 -36.5l-55.6006 -356.5c-4.5 -31.5 -31.5996 -54.9004 -63.3994 -54.9004h-273c-31.9004 0 -58.9004 23.4004 -63.4004 54.9004l-56 356.5c-2.7002 19.2998 12.2002 36.5 31.7002 36.5h448zM442.6 352h-373.199l30.1992 -192 +h313z" /> + <glyph glyph-name="globe-europe" unicode="&#xf7a2;" horiz-adv-x="496" +d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM448 192c0 110.3 -89.7002 200 -200.2 200c-1.89941 0 -3.7998 -0.200195 -5.7002 -0.299805l-28.8994 -21.7002c-2 -1.5 -3.2002 -3.90039 -3.2002 -6.40039v-20 +c0 -4.39941 3.59961 -8 8 -8h16c4.40039 0 8 3.60059 8 8v8l16 16h20.7002c6.2002 0 11.2998 -5.09961 11.2998 -11.2998c0 -3 -1.2002 -5.89941 -3.2998 -8l-26.7998 -26.7998c-1.2002 -1.2002 -2.7002 -2.09961 -4.40039 -2.7002l-40 -13.2998 +c-3.2998 -1.09961 -5.5 -4.2002 -5.5 -7.59961c0 -6.60059 -2.59961 -12.9004 -7.2002 -17.5l-20.0996 -20.1006c-3 -3 -4.7002 -7.09961 -4.7002 -11.2998v-25.2998c0 -8.7998 7.2002 -16 16 -16h22.0996c6.10059 0 11.6006 3.39941 14.3008 8.7998l9.39941 18.7002 +c1.40039 2.7002 4.2002 4.39941 7.2002 4.39941h3.09961c4.40039 0 8 -3.59961 8 -8c0 -4.39941 3.60059 -8 8 -8h16c4.40039 0 8 3.60059 8 8v2.2002c0 3.5 2.2002 6.5 5.5 7.60059l31.6006 10.5c6.5 2.19922 10.8994 8.2998 10.8994 15.1992v4.5 +c0 8.80078 7.2002 16 16 16h36.7002c6.2002 0 11.2998 -5.09961 11.2998 -11.2998v-9.39941c0 -6.2002 -5.09961 -11.3008 -11.2998 -11.3008h-32c-3 0 -5.89941 -1.19922 -8 -3.2998l-9.39941 -9.39941c-2.10059 -2.10059 -3.30078 -5 -3.30078 -8 +c0 -6.2002 5.10059 -11.3008 11.3008 -11.3008h16c3 0 5.89941 -1.19922 8 -3.2998l9.39941 -9.39941c2.10059 -2.10059 3.2998 -5 3.2998 -8v-8.7002l-12.5 -12.5c-4.59961 -4.60059 -4.59961 -12.1006 -0.0996094 -16.7002l32 -32.5996 +c3 -3.10059 7.09961 -4.80078 11.4004 -4.80078h20.2998c6.89941 20.2002 10.7998 41.9004 10.7998 64.4004zM130.1 298.9c0 -6.2002 5.10059 -11.3008 11.3008 -11.3008h16c3 0 5.89941 1.2002 8 3.30078l9.39941 9.39941c2.10059 2.10059 3.2998 5 3.2998 8v16 +c0 6.2002 -5.09961 11.2998 -11.2998 11.2998c-3 0 -5.89941 -1.19922 -8 -3.2998l-25.3994 -25.3994c-2.10059 -2.10059 -3.30078 -5 -3.30078 -8zM258.1 -7.5c71.1006 3.59961 132.5 44.2002 164.9 103.1h-13.4004c-4.7998 0 -9.5 1.90039 -12.8994 5.30078 +l-17.2998 17.2998c-6 6 -14.1006 9.39941 -22.6006 9.39941h-18.2998l-43.2002 37.1006c-8.2002 7 -18.7002 10.8994 -29.5996 10.8994h-31.2002c-8.2002 0 -16.2998 -2.2998 -23.4004 -6.5l-42.8994 -25.6992c-13.7002 -8.2002 -22.1006 -23 -22.1006 -39v-23.9004 +c0 -14.2998 6.7002 -27.7998 18.2002 -36.4004l22.2002 -16.6992c8.7002 -6.5 24.5996 -11.8008 35.4004 -11.8008h20.1992c8.80078 0 16 -7.19922 16 -16v-7.09961z" /> + <glyph glyph-name="grip-lines" unicode="&#xf7a4;" +d="M496 160c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h480zM496 288c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v32 +c0 8.7998 7.2002 16 16 16h480z" /> + <glyph glyph-name="grip-lines-vertical" unicode="&#xf7a5;" horiz-adv-x="256" +d="M96 -48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-480zM224 -48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32 +c8.7998 0 16 -7.2002 16 -16v-480z" /> + <glyph glyph-name="guitar" unicode="&#xf7a6;" +d="M502.6 393.4c12.5 -12.5 12.5 -32.8008 0.100586 -45.2002l-67.9004 -67.9004c-12.5 -12.5 -32.7998 -12.5 -45.2998 0l-54.2002 -54.2002c28.9004 -45.3994 28.9004 -100.399 -4.2002 -133.5c-9.69922 -9.69922 -21.1992 -16.3994 -33.8994 -20.5 +c-18.7998 -6.09961 -33.1006 -23.5996 -34.9004 -42.6992c-2.2998 -24.1006 -11.5996 -46.4004 -28.7998 -63.5c-46.0996 -46.1006 -129.1 -37.9004 -185.3 18.2998s-64.5 139.2 -18.2998 185.3c17.0996 17.2002 39.3994 26.5 63.3994 28.7998 +c19.2002 1.7998 36.6006 16.1006 42.7002 34.9004c4.09961 12.7002 10.7998 24.2002 20.5 33.8994c33.0996 33.1006 88.0996 33.2002 133.5 4.2002l54.2002 54.1006c-12.5 12.5 -12.5 32.7998 0 45.2998l67.8994 67.8994c12.5 12.5 32.8008 12.5 45.3008 0zM208 96 +c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" /> + <glyph glyph-name="heart-broken" unicode="&#xf7a9;" +d="M473.7 374.2c48.7002 -49.7998 50.7998 -129.101 7.2998 -182.101l-212.2 -218.699c-7.09961 -7.30078 -18.5996 -7.30078 -25.7002 0l-212.1 218.6c-43.5 53.0996 -41.4004 132.4 7.2998 182.2l2.40039 2.39941c46.2998 47.4004 119 51.8008 170.7 14l28.5996 -86.5 +l-96 -64l144 -144l-48 128l96 64l-34.2998 103.4c51.5996 36.9004 123.6 32.2002 169.6 -14.7998z" /> + <glyph glyph-name="holly-berry" unicode="&#xf7aa;" horiz-adv-x="448" +d="M144 256c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM256 304c0 26.5 21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48zM224 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48z +M207.8 212.9c-0.399414 -39.8008 7.40039 -78.1006 22.9004 -112.301c4 -8.89941 -2 -19.1992 -11.7002 -20.1992c-15.2002 -1.5 -30.4004 -4.60059 -45.2998 -9.10059c-14.9004 -4.5 -23.7998 -19.8994 -20.2002 -35.0996s8.5 -29.9004 14.7002 -43.7998 +c4 -8.90039 -1.90039 -19.3008 -11.6006 -20.2002c-35.8994 -3.40039 -71.5996 -14.9004 -104.8 -33.9004c-12.3994 -7.09961 -27.5 1.60059 -27.5996 16c-0.100586 38.2002 -8 74.9004 -23 107.7c-4 8.90039 2 19.2002 11.7002 20.2002 +c15.1992 1.5 30.3994 4.59961 45.2998 9.09961c14.8994 4.5 23.7998 19.9004 20.2002 35.1006c-3.60059 15.1992 -8.5 29.8994 -14.7002 43.7998c-4 8.89941 1.89941 19.2998 11.5996 20.2002c37.2998 3.5 74.4004 15.8994 108.7 36.1992 +c10.7002 6.40039 23.9004 -1.2998 23.7998 -13.6992zM435 82.4004c9.7002 -1 15.7998 -11.4004 11.5 -20.1006c-15 -32.7002 -22.7998 -69.5 -23 -107.7c0 -14.3994 -15.0996 -23.0996 -27.5996 -16c-33.2002 19 -68.9004 30.5 -104.801 33.9004 +c-9.69922 0.900391 -15.5996 11.2998 -11.5996 20.2002c6.2002 14 11.0996 28.5996 14.7002 43.7998c3.59961 15.2002 -5.2998 30.5996 -20.2002 35.0996c-4.90039 1.5 -9.90039 2.5 -14.7998 3.7002c5.7998 12.2998 6.2998 26.5 0.599609 38.9004 +c-12.8994 28.2998 -19.7002 60.7002 -19.8994 94c0 1.7002 0.199219 3.2998 0.199219 4.89941c-0.0996094 12.3008 13.1006 20 23.8008 13.7002c34.2998 -20.2998 71.3994 -32.7002 108.699 -36.2002c9.7002 -0.899414 15.6006 -11.2998 11.6006 -20.1992 +c-6.2002 -14 -11.1006 -28.6006 -14.7002 -43.8008c-3.59961 -15.1992 5.2998 -30.5996 20.2002 -35.0996c15 -4.40039 30.0996 -7.5 45.2998 -9.09961z" /> + <glyph glyph-name="horse-head" unicode="&#xf7ab;" +d="M509.8 115.5c4.60059 -11.7998 1.7998 -25.2998 -7.09961 -34.4004l-45.2998 -39.7998c-6 -6 -14.1006 -9.39941 -22.6006 -9.39941h-50.2998c-10.2998 0 -20 4.89941 -26 13.2998l-46 63.8994c-13.7998 -8.09961 -29.5996 -13.1992 -46.7998 -13.1992 +c-39.2002 0 -72.6006 23.6992 -87.4004 57.3994c-2.2998 5.10059 -9 6.2998 -12.8994 2.40039l-12.1006 -12.1006c-2.5 -2.39941 -3.2002 -6.19922 -1.59961 -9.2998c19.7002 -38.8994 58.7002 -66.0996 104.3 -69.5996v-0.700195l40.7998 -81.7002 +c10.7002 -21.2998 -4.7998 -46.2998 -28.5996 -46.2998h-236.2c-17.7002 0 -32 14.2998 -32 32v81.2002c0 159.899 35.9004 275.399 166.9 322.5l202.199 75.7002c4.90039 1.7998 10.7002 -1.10059 12 -6.10059c12.1006 -46.3994 -16.1992 -71.7002 -34.1992 -82.2998 +c42.5996 -8.2002 78.0996 -38 93 -79.2002zM328 224c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24z" /> + <glyph glyph-name="icicles" unicode="&#xf7ad;" +d="M511.4 410.1l-87.5 -467.699c-1.7002 -8.60059 -14 -8.60059 -15.7002 0l-66.7002 363.8l-45.7998 -172.5c-2.2998 -7.60059 -13 -7.60059 -15.2998 0l-34.1006 133.399l-46.5 -196.899c-1.89941 -8.2998 -13.7002 -8.2998 -15.5996 0l-44.2002 187.3l-36.4004 -124.1 +c-2.39941 -7.2002 -12.5996 -7.2002 -15.0996 0l-87.0996 273.399c-6.2002 20.5 9.19922 41.2002 30.5996 41.2002h448c20 0 35.0996 -18.2002 31.4004 -37.9004z" /> + <glyph glyph-name="igloo" unicode="&#xf7ae;" horiz-adv-x="576" +d="M320 414.1v-126.1h-271.4c51.6006 77.2002 139.601 128 239.4 128c10.7998 0 21.5 -0.700195 32 -1.90039zM96 256v-128h-96c0 46 11.0996 89.4004 30.2998 128h65.7002zM352 408.6c72.7998 -16.5 135.2 -60.5 175.4 -120.6h-175.4v120.6zM480 128v128h65.7002 +c19.2002 -38.5996 30.2998 -82 30.2998 -128h-96zM416 64c0 11.0996 -1.90039 21.7002 -4.5 32h164.5v-96c0 -17.7002 -14.2998 -32 -32 -32h-128v96zM448 256v-128h-49.7998c-22.2002 38.0996 -63 64 -110.2 64s-88 -25.9004 -110.2 -64h-49.7998v128h320zM0 0v96h164.5 +c-2.59961 -10.2998 -4.5 -20.9004 -4.5 -32v-96h-128c-17.7002 0 -32 14.2998 -32 32zM288 160c53 0 96 -43 96 -96v-96h-192v96c0 53 43 96 96 96z" /> + <glyph glyph-name="mitten" unicode="&#xf7b5;" horiz-adv-x="448" +d="M368 32c8.7998 0 16 -7.2002 16 -16v-64c0 -8.7998 -7.2002 -16 -16 -16h-320c-8.7998 0 -16 7.2002 -16 16v64c0 8.7998 7.2002 16 16 16h320zM425 241.1c27.0996 -22.5996 30.7998 -62.8994 8.09961 -90.0996l-72.5 -87h-309l-47.8994 207.6 +c-17.9004 77.5 30.5 154.801 107.899 172.7c77.4004 17.9004 154.801 -30.5 172.801 -108l29.5996 -128.399l20.9004 25c22.5996 27.1992 62.8994 30.7998 90.0996 8.19922z" /> + <glyph glyph-name="mug-hot" unicode="&#xf7b6;" +d="M127.1 301.5c-2.69922 16.5996 -10.3994 31.9004 -22.3994 44.0996c-22.6006 23.1006 -36.7002 52.5 -40.6006 84.4004c-1.09961 9.5 6.5 18 16.3008 18h16.3994c8.2002 0 15 -5.90039 16.1006 -13.7998c2.7998 -20.2002 12 -38.7998 26.3994 -53.5 +c20.2002 -20.5 32.7998 -46.5 36.6006 -74.7002c1.2998 -9.5 -6.5 -18 -16.3008 -18h-16.5c-8 0 -14.6992 5.7998 -16 13.5zM239.1 301.5c-2.69922 16.5996 -10.3994 31.9004 -22.3994 44.0996c-22.6006 23.1006 -36.7002 52.5 -40.6006 84.4004 +c-1.19922 9.5 6.5 18 16.3008 18h16.3994c8.2002 0 15 -5.90039 16.1006 -13.7998c2.7998 -20.2002 12 -38.7998 26.3994 -53.5c20.2002 -20.5 32.7998 -46.5 36.6006 -74.7002c1.2998 -9.5 -6.5 -18 -16.3008 -18h-16.5c-8 0 -14.6992 5.7998 -16 13.5zM400 256 +c61.7998 0 112 -50.2002 112 -112s-50.2002 -112 -112 -112h-16c0 -53 -43 -96 -96 -96h-192c-53 0 -96 43 -96 96v192c0 17.7002 14.2998 32 32 32h368zM400 96c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-16v-96h16z" /> + <glyph glyph-name="radiation" unicode="&#xf7b9;" horiz-adv-x="496" +d="M328.2 192.2c0 28.5996 -15.2002 53.5 -37.7998 67.7998l80.3994 128.4c4.7998 7.69922 15.2998 10.0996 22.7002 4.7998c58.0996 -42 97.4004 -108.4 102.5 -184.2c0.599609 -9.09961 -7.09961 -16.7998 -16.2002 -16.7998h-151.6zM290.4 124.5l80.3994 -128.5 +c4.7998 -7.59961 2.40039 -18.0996 -5.59961 -22.4004c-34.9004 -18.7998 -74.7998 -29.5996 -117.2 -29.5996s-82.2998 10.7998 -117.2 29.5996c-8 4.30078 -10.3994 14.7002 -5.59961 22.4004l80.3994 128.5c12.4004 -7.7002 26.8008 -12.4004 42.4004 -12.4004 +s30.0996 4.7002 42.4004 12.4004zM248 144.2c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM16.2002 192.2c-9.10059 0 -16.7998 7.7002 -16.2002 16.7002c5.09961 75.7998 44.4004 142.199 102.5 184.199 +c7.40039 5.40039 17.9004 2.90039 22.7002 -4.7998l80.3994 -128.399c-22.5996 -14.2002 -37.7998 -39.1006 -37.7998 -67.7002h-151.6z" /> + <glyph glyph-name="radiation-alt" unicode="&#xf7ba;" horiz-adv-x="496" +d="M312 192c0 22.7998 -12.0996 42.7998 -30.0996 54l41.6992 66.7998c5.2002 8.2998 16.4004 9.90039 24 3.7998c32.5 -26 54.9004 -64.1992 59.5 -107.8c0.900391 -9.09961 -6.7998 -16.7998 -16 -16.7998h-79.0996zM214.2 137.9 +c9.7998 -6.2002 21.5 -9.90039 33.8994 -9.90039c12.4004 0 24 3.7002 33.8008 9.90039l41.7998 -66.9004c4.7998 -7.7998 2.39941 -18.4004 -5.7998 -22.5c-21.2002 -10.4004 -44.8008 -16.5 -69.9004 -16.5s-48.7002 6.09961 -69.7998 16.5 +c-8.2002 4.09961 -10.7002 14.7002 -5.7998 22.5zM104.9 192c-9.2002 0 -17 7.7002 -15.9004 16.9004c4.59961 43.5996 26.9004 81.7998 59.5 107.8c7.59961 6.09961 18.7998 4.5 24 -3.7998l41.7002 -66.8008c-18.1006 -11.2998 -30.2002 -31.2998 -30.2002 -54.0996 +h-79.0996zM248 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM248 376c-101.5 0 -184 -82.5 -184 -184s82.5 -184 184 -184s184 82.5 184 184s-82.5 184 -184 184zM248 160c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32 +s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" /> + <glyph glyph-name="restroom" unicode="&#xf7bd;" horiz-adv-x="640" +d="M128 320c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM512 320c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM639.3 93.5c3.7002 -15.0996 -8.2998 -29.5 -24.5 -29.5 +h-54.7998v-104c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v104h-54.7998c-16.2002 0 -28.2002 14.4004 -24.7002 29.5l45.5996 185.8c3.30078 13.5 15.5 23 29.8008 24.2002c15 -9.7002 32.7998 -15.5 52 -15.5c19.1992 0 37 5.7998 52 15.5 +c14.2998 -1.2002 26.5 -10.7002 29.7998 -24.2002zM336 448c8.7998 0 16 -7.2002 16 -16v-480c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32zM180.1 303.6c24.6006 -2.09961 43.9004 -22.5 43.9004 -47.5996v-136 +c0 -13.2998 -10.7002 -24 -24 -24h-8v-136c0 -13.2998 -10.7002 -24 -24 -24h-80c-13.2998 0 -24 10.7002 -24 24v136h-8c-13.2998 0 -24 10.7002 -24 24v136c0 25.0996 19.2998 45.5 43.9004 47.5996c15 -9.7998 32.8994 -15.5996 52.0996 -15.5996 +s37.0996 5.7998 52.0996 15.5996z" /> + <glyph glyph-name="satellite" unicode="&#xf7bf;" +d="M502.7 183c12.3994 -12.4004 12.3994 -32.5996 -0.100586 -45l-96.6992 -96.7002c-6.2002 -6.2002 -14.4004 -9.2998 -22.5 -9.2998c-8.10059 0 -16.3008 3.09961 -22.5 9.2998l-80.3008 80.4004l-9.89941 -9.90039c24.2998 -53.7002 22.7002 -116.2 -5.40039 -168.5 +c-4.5 -8.5 -16.3994 -9.59961 -23.2002 -2.7998l-107.5 107.5l-17.7998 -17.7998c0.700195 -2.60059 1.60059 -5 1.60059 -7.7998c0 -17.7002 -14.3008 -32 -32 -32c-17.7002 0 -32 14.2998 -32 32c0 17.6992 14.2998 32 32 32c2.7998 0 5.19922 -0.900391 7.7998 -1.60059 +l17.7998 17.7998l-107.5 107.5c-6.7998 6.80078 -5.7002 18.6006 2.7998 23.2002c52.2998 28.1006 114.8 29.7002 168.5 5.40039l9.7998 9.7998l-80.2998 80.4004c-12.3994 12.5 -12.3994 32.6992 0 45.0996l96.7002 96.7002c6.2002 6.2002 14.2998 9.2998 22.5 9.2998 +s16.2998 -3.09961 22.5996 -9.2998l80.3008 -80.2998l47.7998 47.8994c13.0996 13.1006 34.3994 13.1006 47.5 0l47.5 -47.5c13.0996 -13.0996 13.0996 -34.3994 0 -47.5l-47.7998 -47.8994zM150.7 319.5l68.8994 -68.9004l73.8008 73.8008l-68.9004 68.8994zM383.5 86.7002 +l73.7998 73.7998l-68.8994 68.9004l-73.8008 -73.8008z" /> + <glyph glyph-name="satellite-dish" unicode="&#xf7c0;" +d="M188.8 102.1l116.601 -116.6c7.39941 -7.2998 6.19922 -20.0996 -3 -25c-77.7002 -41.7998 -176.7 -29.9004 -242.301 35.7002c-65.5996 65.5996 -77.5 164.5 -35.6992 242.3c4.89941 9.09961 17.6992 10.2998 25 3l116.8 -116.8l27.3994 27.3994 +c-0.699219 2.60059 -1.59961 5 -1.59961 7.80078c0 17.6992 14.2998 32 32 32s32 -14.3008 32 -32c0 -17.7002 -14.2998 -32 -32 -32c-2.7998 0 -5.2002 0.899414 -7.7998 1.59961zM209 448c163.2 -8.59961 294.4 -139.8 302.9 -303c0.5 -9.2002 -6.80078 -17 -16 -17 +h-32.1006c-8.39941 0 -15.3994 6.59961 -15.8994 15c-7.5 129.5 -111.5 234.5 -240.9 241.5c-8.40039 0.400391 -15 7.40039 -15 15.9004v31.5996c0 9.2002 7.7998 16.5 17 16zM209.3 352c110.101 -8.5 198.2 -96.5996 206.601 -206.7 +c0.699219 -9.2998 -6.80078 -17.2998 -16.1006 -17.2998h-32.2002c-8.2998 0 -15.0996 6.40039 -15.8994 14.7002c-6.90039 77 -68.1006 138.899 -144.9 145.2c-8.2998 0.599609 -14.7998 7.5 -14.7998 15.8994v32.1006c0 9.39941 8 16.7998 17.2998 16.0996z" /> + <glyph glyph-name="sd-card" unicode="&#xf7c2;" horiz-adv-x="384" +d="M320 448c35.2998 0 64 -28.7002 64 -64v-384c0 -35.2998 -28.7002 -64 -64 -64h-256c-35.2998 0 -64 28.7002 -64 64v320l128 128h192zM160 288v96h-48v-96h48zM240 288v96h-48v-96h48zM320 288v96h-48v-96h48z" /> + <glyph glyph-name="sim-card" unicode="&#xf7c4;" horiz-adv-x="384" +d="M0 384c0 35.2998 28.7002 64 64 64h192l128 -128v-320c0 -35.2998 -28.7002 -64 -64 -64h-256c-35.2998 0 -64 28.7002 -64 64v384zM224 192v64h-64v-64h64zM320 192v32c0 17.7002 -14.2998 32 -32 32h-32v-64h64zM256 64v-64h32c17.7002 0 32 14.2998 32 32v32h-64z +M160 64v-64h64v64h-64zM64 64v-32c0 -17.7002 14.2998 -32 32 -32h32v64h-64zM64 160v-64h256v64h-256zM64 224v-32h64v64h-32c-17.7002 0 -32 -14.2998 -32 -32z" /> + <glyph glyph-name="skating" unicode="&#xf7c5;" horiz-adv-x="448" +d="M400 448c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM400 0c8.7998 0 16 -7.2002 16 -16c0 -26.5 -21.5 -48 -48 -48h-96c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 7.2002 16 16s7.2002 16 16 16zM117.8 -8.59961 +c6.2998 6.2998 16.5 6.19922 22.7002 0c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006c-9.2998 -9.2998 -21.5996 -14 -33.9004 -14c-12.2998 0 -24.5996 4.60059 -34 14l-67.8994 67.9004c-6.2002 6.2002 -6.2002 16.3994 0 22.5996s16.3994 6.2002 22.5996 0 +l67.9004 -67.8994c6.2002 -6.30078 16.3994 -6.2002 22.5996 0zM173.9 171.2c3.7998 -6.10059 8.19922 -11.7998 13.1992 -16.7998l30.2002 -30.2002l-91.8994 -91.9004c-6.2002 -6.2998 -14.4004 -9.39941 -22.6006 -9.39941s-16.3994 3.19922 -22.5996 9.39941 +c-12.5 12.4004 -12.5 32.7002 0 45.2002zM128 288c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h204.6c16.3008 0 30.8008 -9.7002 37 -24.7002c6.2002 -15 2.80078 -32.0996 -8.69922 -43.5996l-82.3008 -82.2998c-0.5 -0.5 -1.19922 -0.700195 -1.69922 -1.10059 +l61 -61c9 -8.89941 14.0996 -21.2998 14.0996 -33.8994v-89.4004c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32v82.7998l-78.2002 78.2002c-12.5996 12.5 -19.3994 29.9004 -18.7002 47.7002c0.700195 17.7002 8.80078 34.5996 22.3008 46.0996l20.0996 17.2002 +h-105.5z" /> + <glyph glyph-name="skiing" unicode="&#xf7c9;" +d="M432 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM505 -4.09961c9.2998 -9.30078 9.2998 -24.5 0 -33.8008c-17 -17 -39.7998 -26 -63 -26c-12.5996 0 -25.2002 2.60059 -37.0996 8.10059l-391.9 202.5 +c-11.7998 6 -16.4004 20.5 -10.2998 32.2998c6.09961 11.7998 20.5996 16.2998 32.2998 10.2998l197.9 -102.3l45.8994 68.7998l-75.0996 75.2002c-14.2998 14.4004 -20.6006 34.5 -17.7002 54.4004l107 -53.1006l40.4004 -40.5 +c16.1992 -16.0996 18.6992 -41.5996 6 -60.5996l-49.2002 -73.7998l135.8 -70.2002c14.5996 -6.7002 33 -3.40039 45.0996 8.7002c9.30078 9.39941 24.5 9.39941 33.9004 0zM120 356.4l-26.2002 23c-2.2002 1.89941 -2.39941 5.19922 -0.5 7.39941 +c1.2998 1.5 3.2002 2.10059 5 1.7002l34.4004 -7h0.200195l11.0996 21.7002c13.7002 -7 21.2002 -21.1006 20.9004 -35.6006l62.5 -31l81.1992 32.5c43.6006 17.4004 76.4004 -15 84.5 -39.1992l17.1006 -51.2002l52.0996 -26.1006 +c15.7998 -7.89941 22.2002 -27.0996 14.2998 -42.8994c-7.89941 -15.7998 -27 -22.2002 -42.8994 -14.2998l-58.1006 29c-11.3994 5.69922 -20 15.5996 -24 27.6992l-6.39941 19.1006l-32.4004 -13l-114.5 56.7998c0.100586 0.0996094 0.100586 0.200195 0.200195 0.299805 +l-47.2002 23.4004c-11.5996 -9.7002 -28.3994 -12.1006 -42.7998 -4.7998z" /> + <glyph glyph-name="skiing-nordic" unicode="&#xf7ca;" horiz-adv-x="576" +d="M336 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM552 32c13.2002 0 24 -10.7998 24 -24c0 -39.7002 -32.2998 -72 -72 -72h-480c-13.2002 0 -24 10.7002 -24 24s10.7998 24 24 24h42.9004l54.0996 270.8 +c-0.700195 0.799805 -1.7002 1.2002 -2.40039 2.10059c-10.7998 14.0996 -8.09961 34.1992 5.90039 44.8994l39.7002 30.4004c23 17.5996 52.5 23.8994 80.7998 17.0996l71.2002 -21.2002c26.2998 -6.69922 49.2998 -25.3994 61.7998 -50.8994l26.0996 -53.2002h44 +c17.7002 0 32 -14.2998 32 -32c0 -13.4004 -8.39941 -24.9004 -20.0996 -29.5996l-25.5 -178.4h69.5c13.2002 0 24 10.7998 24 24c0 13.2998 10.7998 24 24 24zM291.5 -16l25.5 81.2002l-85 50.2002c-27.5996 16.2998 -38.9004 50.7998 -26.2998 80.2998l37.5 87.3994 +l-14.7002 4.40039c-7.90039 1.90039 -17.5996 -0.200195 -25.2998 -6.09961l-39.7002 -30.4004c-3.59961 -2.7002 -7.59961 -4.59961 -11.7002 -5.59961l-52.2998 -261.4h24.2002l62.5 131.8c7.59961 -10.8994 17.3994 -20.5996 29.5 -27.7998l22 -13l-43.1006 -91h96.9004z +M402.1 -16l25.2002 176h-33.2998c-18.2002 0 -35.0996 10.5996 -43.0996 26.9004l-20.3008 41.3994l-31.2998 -78.2998l61.2002 -36.0996c18.7002 -11.3008 27.5 -33.6006 21.5996 -54.4004l-23.5996 -75.5h43.5996z" /> + <glyph glyph-name="sleigh" unicode="&#xf7cc;" horiz-adv-x="640" +d="M612.7 97.2998c18.5 -14.7002 28.5996 -37.2002 27.2002 -61c-2.2002 -39 -36.9004 -68.2998 -75.9004 -68.2998h-516c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h519.3c13.6006 0 24.6006 11 24.6006 24.5996c0 7.5 -3.30078 14.5 -9.2002 19.2002 +l-9.2998 7.40039c-6.90039 5.5 -8 15.5996 -2.5 22.5l10 12.5c5.5 6.89941 15.5996 8 22.5 2.5zM32 224v128c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h20.7002c65.7002 0 125.899 -37.2002 155.3 -96s89.5 -96 155.3 -96h20.7002c35.2998 0 64 28.7002 64 64v64h96 +c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32v-96c0 -53 -43 -96 -96 -96v-48h-64v48h-192v-48h-64v52.5c-55.0996 14.2998 -96 63.9004 -96 123.5z" /> + <glyph glyph-name="sms" unicode="&#xf7cd;" +d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002 +c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208zM128.2 144c23.3994 0 42.5 17.2998 42.3994 38.5996c0 10.6006 -4.7998 20.9004 -13.2998 28.1006l-21.8994 18.7998 +c-1.30078 1.09961 -2.10059 2.5 -2.10059 3.7998c0 3.10059 4.40039 6.60059 10.4004 6.60059h12.2998c4.40039 0 8 3.59961 8 8v16c0 4.39941 -3.59961 8 -8 8h-12.2002c-23.3994 0 -42.3994 -17.3008 -42.3994 -38.6006c0 -10.5996 4.7998 -20.8994 13.2998 -28.0996 +l21.8994 -18.7998c1.30078 -1.10059 2.10059 -2.5 2.10059 -3.80078c0 -3.09961 -4.40039 -6.59961 -10.4004 -6.59961h-12.2998c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h12.2002zM320 152v104c0 8.7998 -7.2002 16 -16 16h-16 +c-6 0 -11.5996 -3.40039 -14.2998 -8.7998l-17.7002 -35.4004l-17.7002 35.4004c-2.7002 5.39941 -8.2002 8.7998 -14.2998 8.7998h-16c-8.7998 0 -16 -7.2002 -16 -16v-104c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v68.2002l24.9004 -55.7998 +c2.89941 -5.90039 11.3994 -5.90039 14.2998 0l24.7998 55.7998v-68.2002c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8zM368.3 144c23.4004 0 42.4004 17.2998 42.2998 38.5996c0 10.6006 -4.7998 20.9004 -13.2998 28.1006l-21.8994 18.7998 +c-1.30078 1.09961 -2.10059 2.5 -2.10059 3.7998c0 3.10059 4.40039 6.60059 10.4004 6.60059h12.2998c4.40039 0 8 3.59961 8 8v16c0 4.39941 -3.59961 8 -8 8h-12.2002c-23.3994 0 -42.3994 -17.3008 -42.3994 -38.6006c0 -10.5996 4.7998 -20.8994 13.2998 -28.0996 +l21.8994 -18.7998c1.30078 -1.10059 2.10059 -2.5 2.10059 -3.80078c0 -3.09961 -4.40039 -6.59961 -10.4004 -6.59961h-12.2998c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h12.2998z" /> + <glyph glyph-name="snowboarding" unicode="&#xf7ce;" +d="M432 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM460.8 198.4l-83.5 62.8994l-66 -30.5l52 -39c14.9004 -11.2002 22 -30.2002 18.1006 -48.3994l-21.9004 -102c-2.2002 -10.1006 -9.09961 -17.8008 -17.7998 -21.9004 +l90.7998 -33.0996c9.7002 -3.5 20.2002 -3.10059 29.5 1.2998c12 5.59961 26.2998 0.399414 31.9004 -11.6006c5.59961 -12 0.399414 -26.2998 -11.6006 -31.8994c-11.5996 -5.5 -24 -8.2002 -36.5 -8.2002c-10 0 -20 1.7998 -29.7002 5.2998l-364.8 132.7 +c-21.7998 7.90039 -39.0996 23.7998 -48.8994 44.7998c-5.60059 12 -0.400391 26.2998 11.5996 31.9004c12 5.59961 26.2998 0.399414 31.9004 -11.6006c4.39941 -9.39941 12.0996 -16.5 21.7998 -20l38.7002 -14.0996c-3.80078 3.5 -7 7.7002 -8.7002 12.9004 +c-5.60059 16.7998 3.39941 34.8994 20.2002 40.5l74.0996 24.6992v53.1006c0 24.3994 13.5996 46.2998 35.4004 57.2002l41.1992 20.5996l-16.3994 5.5c-12.1006 4.09961 -22 12.5996 -27.7002 24l-29.0996 58.0996c-7.90039 15.8008 -1.5 35 14.2998 42.9004 +s35 1.5 42.8994 -14.2998l26.1006 -52.1006l63.7002 -21.1992c16.2998 -5.40039 31.5996 -13.5 45.3994 -23.8008l111.4 -83.5c14.2002 -10.5996 17 -30.6992 6.39941 -44.7998c-6.2998 -8.39941 -15.8994 -12.7998 -25.5996 -12.7998 +c-6.7002 0 -13.4004 2.09961 -19.2002 6.40039zM316.4 146.7l-60.5 45.2998v-20.5c0 -20.7002 -13.2002 -39 -32.8008 -45.5l-85 -28.4004c-2.59961 -0.899414 -5.2998 -1.09961 -8 -1.2998l169.4 -61.5996c-2.90039 6.09961 -4.2998 12.8994 -2.7998 20z" /> + <glyph glyph-name="snowman" unicode="&#xf7d0;" +d="M510.9 295.7c3.19922 -8.10059 -0.800781 -17.2002 -8.90039 -20.2998l-135.2 -55.2002c0.400391 -4.10059 1.2002 -8 1.2002 -12.2002c0 -10 -1.7002 -19.5 -4.2002 -28.7002c21.1006 -21.3994 36.1006 -48.7998 41.6006 -79 +c11.5 -63.2002 -16.4004 -120.3 -62.9004 -152.6c-10.9004 -7.60059 -23.9004 -11.7002 -37.2002 -11.7002h-99.2002c-11 0 -22 2.2998 -31.2998 8.2002c-42.3994 26.8994 -70.7998 73.7998 -70.7998 127.8c0 41.7998 16.9004 79.5996 44.2998 107.1 +c-2.5 9.30078 -4.2002 18.8008 -4.2002 28.9004c0 4.2002 0.800781 8.2002 1.2002 12.2002l-135.2 55.2002c-8.19922 3.19922 -12.1992 12.2998 -8.89941 20.2998l5.89941 14.5c3.30078 8 12.6006 11.8994 20.8008 8.7002l28.0996 -11.5v29 +c0 8.59961 7.2002 15.5996 16 15.5996h16c8.7998 0 16 -7 15.7998 -15.5996v-46.9004c0 -0.5 -0.200195 -1 -0.299805 -1.5l56.4004 -23c6 10 13.2998 18.9004 22 26.5996c-13.5 16.6006 -22 37.4004 -22 60.5c0 53 43 96 96 96s96 -43 96 -96 +c0 -23.0996 -8.40039 -43.8994 -22 -60.5c8.69922 -7.69922 16.0996 -16.5996 22 -26.5996l56.3994 23c0 0.5 -0.299805 1 -0.299805 1.5v46.9004c0 8.59961 7.2002 15.5996 16 15.5996h16c8.7998 0 16 -7 16 -15.5996v-29l28.2002 11.5 +c8.2002 3.19922 17.5 -0.700195 20.7998 -8.7002zM224 352c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 80c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 144 +c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 208c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 296c0 0 16 23.2002 16 32s-7.2002 16 -16 16s-16 -7.2002 -16 -16s16 -32 16 -32z +M288 352c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16z" /> + <glyph glyph-name="snowplow" unicode="&#xf7d2;" horiz-adv-x="640" +d="M120 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM200 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM280 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24 +s-24 10.7002 -24 24s10.7002 24 24 24zM360 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM598.6 22.5996l36.7002 -36.6992c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006l-22.5996 -22.5996 +c-6.2002 -6.2002 -16.4004 -6.2002 -22.6006 0l-36.6992 36.7002c-26.5 26.5 -41.4004 62.3994 -41.4004 99.8994v18.7002h-43.2002c7 -14.5996 11.2002 -30.7002 11.2002 -48c0 -61.9004 -50.0996 -112 -112 -112h-256c-61.9004 0 -112 50.0996 -112 112 +c0 44.5996 26.2998 82.7998 64 100.8v91.2002c0 26.5 21.5 48 48 48h16v112c0 26.5 21.5 48 48 48h144.3c19.2998 0 36.6006 -11.4004 44.2002 -29.0996l78.2998 -182.801c3.40039 -8 5.2002 -16.5 5.2002 -25.1992v-50.9004h64v18.7002 +c0 37.5 14.9004 73.3994 41.4004 99.8994l36.6992 36.7002c6.2002 6.2002 16.4004 6.2002 22.6006 0l22.5996 -22.5996c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006l-36.7002 -36.6992c-14.5 -14.5 -22.5996 -34.1006 -22.5996 -54.6006v-101.6 +c0 -20.5 8.09961 -40.1006 22.5996 -54.6006zM192 384v-96l64 -64h122.4l-68.6006 160h-117.8zM368 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-256c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48h256z" /> + <glyph glyph-name="tenge" unicode="&#xf7d7;" horiz-adv-x="384" +d="M372 288c6.59961 0 12 -5.40039 12 -12v-56c0 -6.59961 -5.40039 -12 -12 -12h-140v-228c0 -6.59961 -5.40039 -12 -12 -12h-56c-6.59961 0 -12 5.40039 -12 12v228h-140c-6.59961 0 -12 5.40039 -12 12v56c0 6.59961 5.40039 12 12 12h360zM372 416 +c6.59961 0 12 -5.40039 12 -12v-56c0 -6.59961 -5.40039 -12 -12 -12h-360c-6.59961 0 -12 5.40039 -12 12v56c0 6.59961 5.40039 12 12 12h360z" /> + <glyph glyph-name="toilet" unicode="&#xf7d8;" horiz-adv-x="384" +d="M368 400h-16v-156.7c20.2002 -10.0996 32 -22.2002 32 -35.2998c0 -67.2002 -34.5996 -126.2 -86.7998 -160.5l21.3994 -70.2002c6.30078 -20.5 -9.09961 -41.2998 -30.5996 -41.2998h-192c-21.5 0 -36.9004 20.7998 -30.5996 41.2998l21.3994 70.2002 +c-52.2002 34.2998 -86.7998 93.2998 -86.7998 160.5c0 13.0996 11.7998 25.2002 32 35.2998v156.7h-16c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h352c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16zM80 376v-16 +c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8zM192 176c77.0996 0 139.6 14.2998 139.6 32s-62.5 32 -139.6 32s-139.6 -14.2998 -139.6 -32s62.5 -32 139.6 -32z" /> + <glyph glyph-name="tools" unicode="&#xf7d9;" +d="M501.1 52.2998c14.5 -14.5 14.5 -38.0996 0 -52.7002l-52.6992 -52.6992c-14.5 -14.6006 -38.1006 -14.6006 -52.7002 0l-117.101 117.1c-23.0996 23.0996 -27.5 57.5996 -13.8994 85.4004l-106.601 106.6h-62.0996l-96 128l64 64l128 -96v-62.0996l106.6 -106.601 +c27.8008 13.7002 62.3008 9.2002 85.4004 -13.8994zM331.7 223c-8.2002 0 -16.6006 -1 -24.7002 -2.90039l-82.0996 82.1006c-0.700195 37.5 12.6992 75.0996 41.1992 103.6c37 37 89.2002 49.6006 136.601 37.9004c9.09961 -2.2998 12.2998 -13.6006 5.7002 -20.2002 +l-74.4004 -74.4004l11.2998 -67.8994l67.9004 -11.2998l74.3994 74.3994c6.60059 6.60059 17.9004 3.5 20.1006 -5.5c11.7998 -47.3994 -0.799805 -99.5996 -37.9004 -136.7c-13 -13 -28 -22.5996 -43.7998 -29.5l-19.4004 19.4004c-20 20 -46.5996 31 -74.8994 31z +M227.8 141c-4.89941 -21.0996 -2.59961 -42.7998 5 -62.7002l-123.6 -123.6c-25 -25 -65.5 -25 -90.5 0s-25 65.5 0 90.5l152.399 152.5zM64 -24c13.2998 0 24 10.7998 24 24c0 13.2998 -10.7002 24 -24 24s-24 -10.7002 -24 -24c0 -13.2002 10.7998 -24 24 -24z" /> + <glyph glyph-name="tram" unicode="&#xf7da;" +d="M288 384c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM511.5 396.1c2.2002 -8.5 -2.7998 -17.2998 -11.4004 -19.5996l-228.1 -60.7998v-91.7002h176c17.7002 0 32 -14.2998 32 -32v-224c0 -17.7002 -14.2998 -32 -32 -32 +h-384c-17.7002 0 -32 14.2998 -32 32v224c0 17.7002 14.2998 32 32 32h176v83.2002l-219.9 -58.7002c-1.2998 -0.299805 -2.69922 -0.5 -4.09961 -0.5c-7.09961 0 -13.5 4.7002 -15.4004 11.7998c-2.2998 8.60059 2.80078 17.2998 11.3008 19.6006l480 128 +c8.59961 2.2998 17.2998 -2.7002 19.5996 -11.3008zM176 64v96h-96v-96h96zM336 160v-96h96v96h-96zM304 160h-96v-96h96v96zM192 352c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" /> + <glyph glyph-name="fire-alt" unicode="&#xf7e4;" horiz-adv-x="448" +d="M323.56 396.8c72.46 -67.2598 124.44 -177.13 124.44 -230.399c0 -127.25 -100.29 -230.4 -224 -230.4s-224 103.15 -224 230.4c0 71.6396 69.7402 190.43 168 281.6c38.2803 -35.5303 72.0801 -73.6201 99.3398 -111.17 +c16.6406 20.3799 35.4199 40.6699 56.2197 59.9697zM304.09 56.1504c49.2402 34.4492 60.7803 101.229 33.4297 153.42c-3.35938 6.41992 -7.12988 13.1201 -11.2695 19.9697l-58.6299 -66.8799s-91.9004 117.359 -98.8301 125.34 +c-48.4805 -58.1201 -72.79 -92.1396 -72.79 -130.75c0 -77.5098 58.71 -125.25 130.86 -125.25c28.8594 0 55.5693 8.99023 77.2295 24.1504z" /> + <glyph glyph-name="bacon" unicode="&#xf7e5;" horiz-adv-x="576" +d="M218.92 111.61c-34.8604 -34.8799 -59.6504 -44.1602 -85.9199 -54c-26 -9.76074 -53 -20.1299 -88.1699 -52.7305l-35.7598 35.5098c-12.7002 12.6104 -12.0703 33.6104 1.79004 45.0605c36.3398 29.9795 66.21 41.0996 91.0693 50.3594 +c9.16992 3.41016 68.9707 19.2607 98.7207 98.0908c8.60938 22.8096 46.3496 134.58 188.979 187.72c15.8506 5.91016 27.3604 10.2002 41 20.2998c4.53516 3.35449 12.7939 6.07617 18.4346 6.07617c7.00879 0 16.751 -3.98926 21.7451 -8.90625l37.6709 -37.3896 +c-30.1504 -27.6904 -52.9102 -36.3701 -76.79 -45.3701c-28.3008 -10.6104 -57.5703 -21.5801 -97.3506 -61.3799s-50.7598 -69.0498 -61.3701 -97.3398c-9.84961 -26.3008 -19.1602 -51.1104 -54.0498 -86zM566.92 343.61 +c12.7002 -12.5996 12.0801 -33.6602 -1.80957 -45.0605c-36.3701 -30.0098 -66.2402 -41.1396 -91.1104 -50.4102c-9.2002 -3.43945 -69 -19.3193 -98.7305 -98.1094c-8.93945 -23.5898 -46.7393 -134.69 -188.939 -187.69 +c-15.8496 -5.89941 -27.3398 -10.1797 -40.9404 -20.2402c-4.53613 -3.35645 -12.7969 -6.08008 -18.4395 -6.08008c-7.00586 0 -16.7461 3.9873 -21.7402 8.90039l-37.6797 37.4297c30.1094 27.6699 52.8594 36.3301 76.7197 45.3301 +c28.2998 10.5898 57.5098 21.54 97.2998 61.3203s50.7803 69 61.4199 97.3301c9.81055 26.3096 19.1104 51.1602 54 86c34.8906 34.8398 59.6904 44.1504 85.9502 54c26.0703 9.79004 53.0605 20.1602 88.25 52.79z" /> + <glyph glyph-name="book-medical" unicode="&#xf7e6;" horiz-adv-x="448" +d="M448 89.5996c0 -9.59961 -3.2002 -15.999 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320 +c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM144 280v-48c0 -4.41602 3.58398 -8 8 -8h56v-56c0 -4.41602 3.58398 -8 8 -8h48c4.41602 0 8 3.58398 8 8v56h56c4.41602 0 8 3.58398 8 8v48c0 4.41602 -3.58398 8 -8 8h-56v56 +c0 4.41602 -3.58398 8 -8 8h-48c-4.41602 0 -8 -3.58398 -8 -8v-56h-56c-4.41602 0 -8 -3.58398 -8 -8zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" /> + <glyph glyph-name="bread-slice" unicode="&#xf7ec;" horiz-adv-x="576" +d="M288 448c180 0 288 -93.4004 288 -169.14c0 -30.3008 -24.2402 -54.8604 -64 -54.8604v-256c0 -17.6699 -16.1201 -32 -36 -32h-376c-19.8799 0 -36 14.3301 -36 32v256c-39.7598 0 -64 24.5596 -64 54.8604c0 75.7393 108 169.14 288 169.14z" /> + <glyph glyph-name="cheese" unicode="&#xf7ef;" +d="M0 160h512v-160c0 -17.6641 -14.3359 -32 -32 -32h-448c-17.6641 0 -32 14.3359 -32 32v160zM299.83 416c118.17 -6.2002 212.17 -104.11 212.17 -224h-512l278.7 217c4.83984 3.875 13.7998 7.01953 20 7.01953c0.311523 0 0.818359 -0.00878906 1.12988 -0.0195312z +" /> + <glyph glyph-name="clinic-medical" unicode="&#xf7f2;" horiz-adv-x="576" +d="M288 333l218.74 -192.9c1.54004 -1.37988 3.55957 -2.04004 5.25977 -3.19922v-184.9c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v184.94c1.78027 1.20996 3.84961 1.88965 5.46973 3.34961zM384 72v48c0 4.41602 -3.58398 8 -8 8h-56v56 +c0 4.41602 -3.58398 8 -8 8h-48c-4.41602 0 -8 -3.58398 -8 -8v-56h-56c-4.41602 0 -8 -3.58398 -8 -8v-48c0 -4.41602 3.58398 -8 8 -8h56v-56c0 -4.41602 3.58398 -8 8 -8h48c4.41602 0 8 3.58398 8 8v56h56c4.41602 0 8 3.58398 8 8zM570.69 211.72 +c2.93066 -2.63184 5.31055 -7.96484 5.31055 -11.9053c0 -3.38086 -1.83301 -8.16797 -4.09082 -10.6846l-21.4004 -23.8203c-2.63184 -2.93066 -7.96484 -5.30957 -11.9043 -5.30957c-3.38574 0 -8.17773 1.83691 -10.6953 4.09961l-229.32 202.271 +c-2.50391 2.20898 -7.24609 4.00195 -10.585 4.00195s-8.08105 -1.79297 -10.585 -4.00195l-229.32 -202.28c-2.51758 -2.2627 -7.30957 -4.09961 -10.6953 -4.09961c-3.93848 0 -9.27246 2.37891 -11.9043 5.30957l-21.4102 23.8203 +c-2.2627 2.51758 -4.09961 7.30957 -4.09961 10.6953c0 3.93945 2.37891 9.27246 5.30957 11.9043l256 226c6.2832 5.68066 18.2559 10.29 26.7256 10.29c8.46875 0 20.4424 -4.60938 26.7246 -10.29z" /> + <glyph glyph-name="comment-medical" unicode="&#xf7f5;" +d="M256 416c141.39 0 256 -93.1201 256 -208s-114.61 -208 -256 -208h-0.473633c-30.4814 0 -78.3838 8.68164 -106.927 19.3799c-24.5996 -19.6299 -74.3398 -51.3799 -140.6 -51.3799c-4.41113 0.00488281 -7.99023 3.58887 -7.99023 8 +c0 1.75879 0.981445 4.22266 2.19043 5.5c0.5 0.5 42.2598 45.4502 54.7998 95.7598c-35.5898 35.7402 -57 81.1807 -57 130.74c0 114.88 114.62 208 256 208zM352 184v48c0 4.41602 -3.58398 8 -8 8h-56v56c0 4.41602 -3.58398 8 -8 8h-48c-4.41602 0 -8 -3.58398 -8 -8 +v-56h-56c-4.41602 0 -8 -3.58398 -8 -8v-48c0 -4.41602 3.58398 -8 8 -8h56v-56c0 -4.41602 3.58398 -8 8 -8h48c4.41602 0 8 3.58398 8 8v56h56c4.41602 0 8 3.58398 8 8z" /> + <glyph glyph-name="crutch" unicode="&#xf7f7;" +d="M507.31 262.29c2.56348 -2.58301 4.64355 -7.63184 4.64355 -11.2695c0 -3.66602 -2.10742 -8.74219 -4.70312 -11.3301l-22.6201 -22.6309c-2.58691 -2.58691 -7.65625 -4.6875 -11.3145 -4.6875c-3.65918 0 -8.72852 2.10059 -11.3154 4.6875l-181 181 +c-2.58789 2.58691 -4.6875 7.65625 -4.6875 11.3154s2.09961 8.72852 4.6875 11.3154l22.6904 22.5996c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262zM327.77 195.88l55.1006 55.1201l45.25 -45.2695l-109.68 -109.681 +c-10.7441 -10.748 -31.4814 -22.2393 -46.29 -25.6494l-120.25 -27.75l-102 -102c-2.58691 -2.58789 -7.65625 -4.6875 -11.3154 -4.6875s-8.72754 2.09961 -11.3154 4.6875l-22.6191 22.6191c-2.58789 2.58789 -4.6875 7.65625 -4.6875 11.3154 +s2.09961 8.72852 4.6875 11.3154l102 102l27.7393 120.26c3.4248 14.8057 14.9248 35.5439 25.6699 46.29l109.671 109.67l45.25 -45.25l-55.1006 -55.1006zM273.2 141.31l9.30957 9.31055l-67.8896 67.8896l-9.31055 -9.30957 +c-3.57715 -3.59082 -7.41211 -10.5127 -8.55957 -15.4502l-18.2998 -79.2998l79.2998 18.3193c4.94043 1.13379 11.8623 4.95996 15.4502 8.54004z" /> + <glyph glyph-name="egg" unicode="&#xf7fb;" horiz-adv-x="384" +d="M192 448c106 0 192 -214 192 -320s-86 -192 -192 -192s-192 86 -192 192s86 320 192 320z" /> + <glyph glyph-name="hamburger" unicode="&#xf805;" +d="M464 192c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48h-416c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48h416zM480 64c8.83203 0 16 -7.16797 16 -16v-16c0 -35.3281 -28.6719 -64 -64 -64h-352c-35.3281 0 -64 28.6719 -64 64v16 +c0 8.83203 7.16797 16 16 16h448zM58.6396 224c-34.5693 0 -54.6396 43.9102 -34.8193 75.8896c40.1797 64.9102 128.64 116.011 232.18 116.11c103.55 -0.0996094 192 -51.2002 232.18 -116.12c19.8008 -31.9795 -0.25 -75.8799 -34.8193 -75.8799h-394.721zM384 336 +c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16s16 7.16797 16 16s-7.16797 16 -16 16zM256 368c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16s16 7.16797 16 16s-7.16797 16 -16 16zM128 336c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16 +s16 7.16797 16 16s-7.16797 16 -16 16z" /> + <glyph glyph-name="hand-middle-finger" unicode="&#xf806;" +d="M479.93 130.88l0.0703125 -82.8799v0c0 -61.7969 -50.1533 -111.973 -111.95 -112h-215c-25.6074 0.00292969 -61.084 14.7012 -79.1895 32.8096l-30.9307 30.9307c-6.0332 6.03223 -10.9297 17.8525 -10.9297 26.3838v0.00585938v73.4697v0.00292969 +c0 12.7383 9.24707 27.7002 20.6396 33.3975l27.3604 15v-76c0 -4.41602 3.58398 -8 8 -8s8 3.58398 8 8v147.04c0 15.2598 12.8701 28.3799 30.8701 31.3799l30.6797 5.12012c17.8203 2.96973 34.4502 -8.38965 34.4502 -23.54v-32c0 -4.41602 3.58398 -8 8 -8 +s8 3.58398 8 8v200v0.0224609c0 26.4961 21.5039 48 48 48c0.408203 0 1.07129 -0.00976562 1.48047 -0.0224609c26.2695 -0.799805 46.5195 -23.7197 46.5195 -50v-198c0 -4.41602 3.58398 -8 8 -8s8 3.58398 8 8v32c0 15.1396 16.6299 26.5 34.4502 23.5303 +l38.3994 -6.40039c13.46 -2.25 23.1504 -12.0996 23.1504 -23.54v-49.5898l35.6504 -8.92969c15.5986 -3.89844 28.2686 -20.1113 28.2793 -36.1904z" /> + <glyph glyph-name="hard-hat" unicode="&#xf807;" +d="M480 160v-64h-448v64c0 80.25 49.2803 148.92 119.19 177.62l40.8096 -81.6201v112c0 8.83203 7.16797 16 16 16h96c8.83203 0 16 -7.16797 16 -16v-112l40.8096 81.6201c69.9102 -28.7002 119.19 -97.3701 119.19 -177.62zM496 64c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-480c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h480z" /> + <glyph glyph-name="hotdog" unicode="&#xf80f;" +d="M488.56 424.56c12.9297 -12.9326 23.4238 -38.2715 23.4238 -56.5596s-10.4941 -43.627 -23.4238 -56.5596l-352 -352c-13.0205 -13.4824 -38.7998 -24.4238 -57.543 -24.4238c-44.1592 0 -80 35.8408 -80 80c0 18.7432 10.9414 44.5225 24.4238 57.543l352 352 +c12.9326 12.9297 38.2715 23.4238 56.5596 23.4238s43.627 -10.4941 56.5596 -23.4238zM438.63 329.37c2.58691 2.58691 4.68652 7.65625 4.68652 11.3145c0 8.83301 -7.16797 16.002 -16.001 16.002c-3.65918 0 -8.72852 -2.09961 -11.3154 -4.68652 +c-12.4102 -12.4102 -21.7598 -14 -34.71 -16.2305c-14.4004 -2.46973 -32.3203 -5.55957 -51.9199 -25.1494c-19.6006 -19.5898 -22.6699 -37.5205 -25.1396 -51.9199c-2.24023 -12.9502 -3.84082 -22.3105 -16.2402 -34.71 +c-12.4004 -12.4004 -21.7002 -14.0098 -34.7002 -16.2305c-14.4004 -2.46973 -32.3203 -5.5498 -51.9199 -25.1396c-19.6006 -19.5898 -22.6699 -37.5205 -25.1504 -51.9199c-2.21973 -12.9502 -3.80957 -22.29 -16.2197 -34.7002s-21.71 -14.0098 -34.71 -16.2305 +c-14.4004 -2.46973 -32.3203 -5.5498 -51.9199 -25.1396c-2.58691 -2.58691 -4.68652 -7.65625 -4.68652 -11.3145c0 -8.83301 7.16797 -16.002 16.001 -16.002c3.65918 0 8.72852 2.09961 11.3154 4.68652c12.4004 12.4004 21.7598 14 34.7002 16.2305 +c14.3994 2.46973 32.3301 5.55957 51.9297 25.1494c19.6006 19.5898 22.6699 37.5205 25.1396 51.9199c2.23047 12.9502 3.83008 22.2998 16.2305 34.7002s21.75 14 34.7002 16.2197c14.3994 2.48047 32.3193 5.56055 51.9199 25.1504 +c19.5996 19.5898 22.6699 37.5195 25.1494 51.9199c2.23047 12.9502 3.83008 22.3096 16.2305 34.71s21.7598 14 34.7002 16.2305c14.4102 2.46973 32.3301 5.5498 51.9297 25.1396zM31.4404 125.82l-11.5508 11.5498c-24.9893 24.9902 -26.6592 63.8398 -3.71973 86.7803 +l207.68 207.68c22.9404 22.9395 61.79 21.2803 86.79 -3.71973l11.54 -11.5508zM480.56 258.18l11.5508 -11.54c24.9893 -25 26.6592 -63.8496 3.71973 -86.79l-207.68 -207.68c-22.9404 -22.9395 -61.79 -21.2803 -86.79 3.71973l-11.54 11.5508z" /> + <glyph glyph-name="ice-cream" unicode="&#xf810;" horiz-adv-x="448" +d="M368 288c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48h0.94043c-0.519531 4.51855 -0.94043 11.8779 -0.94043 16.4268c0 79.4883 64.5117 144 144 144s144 -64.5117 144 -144 +c0 -4.54883 -0.420898 -11.9082 -0.94043 -16.4268h0.94043zM195.38 -45.6904l-99.3799 205.69h256l-99.3799 -205.69c-4.66504 -10.1084 -17.4863 -18.3135 -28.6201 -18.3135s-23.9551 8.20508 -28.6201 18.3135z" /> + <glyph glyph-name="laptop-medical" unicode="&#xf812;" horiz-adv-x="640" +d="M232 224c-4.41602 0 -8 3.58398 -8 8v48c0 4.41602 3.58398 8 8 8h56v56c0 4.41602 3.58398 8 8 8h48c4.41602 0 8 -3.58398 8 -8v-56h56c4.41602 0 8 -3.58398 8 -8v-48c0 -4.41602 -3.58398 -8 -8 -8h-56v-56c0 -4.41602 -3.58398 -8 -8 -8h-48 +c-4.41602 0 -8 3.58398 -8 8v56h-56zM576 400v-336h-512v336c0.0771484 26.4189 21.5811 47.9229 48 48h416c26.4189 -0.0771484 47.9229 -21.5811 48 -48zM512 128v256h-384v-256h384zM624 32c8.83203 0 16 -7.16797 16 -16v-16 +c-0.104492 -35.2236 -28.7764 -63.8955 -64 -64h-512c-35.2236 0.104492 -63.8955 28.7764 -64 64v16c0 8.83203 7.16797 16 16 16h239.23c-0.230469 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46z" /> + <glyph glyph-name="pager" unicode="&#xf815;" +d="M448 384c35.3281 0 64 -28.6719 64 -64v-256c0 -35.3281 -28.6719 -64 -64 -64h-384c-35.3281 0 -64 28.6719 -64 64v256c0 35.3281 28.6719 64 64 64h384zM160 80v48h-80c-8.83203 0 -16 -7.16797 -16 -16v-16c0 -8.83203 7.16797 -16 16 -16h80zM288 96v16 +c0 8.83203 -7.16797 16 -16 16h-80v-48h80c8.83203 0 16 7.16797 16 16zM448 224v64c0 17.6641 -14.3359 32 -32 32h-320c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h320c17.6641 0 32 14.3359 32 32z" /> + <glyph glyph-name="pepper-hot" unicode="&#xf816;" +d="M330.67 184.88h107.46l37.0498 -38.54c-48.5293 -87.4697 -206.54 -210.34 -419.18 -210.34c-30.9121 0 -56 25.0879 -56 56s25.0879 56 56 56c141.58 0 163.44 181.24 221.92 250.82l52.75 -24.2207v-89.7197zM461.76 313.25 +c27.7324 -25.2861 50.2402 -76.2676 50.2402 -113.798v-0.142578c0 -13.6797 -2.2998 -26.6895 -5.55957 -39.3096l-54.6807 56.8799h-89.0898v78.2402l-74.6699 34.29c22.3398 14.0498 48.3398 22.5898 76.3398 22.5898 +c16.4658 -0.00683594 42.0732 -5.36523 57.1602 -11.96c18.4502 37.2197 8.25977 61.96 1.40039 72.3203c-0.787109 1.14062 -1.42578 3.19043 -1.42578 4.57617c0 1.82227 1.03711 4.35449 2.31543 5.65332l22.9004 23c1.29688 1.31836 3.85156 2.38867 5.70117 2.38867 +c2.1123 0 4.90234 -1.33398 6.22852 -2.97852c18.5596 -23.4805 35.2998 -71.9102 3.13965 -131.75z" /> + <glyph glyph-name="pizza-slice" unicode="&#xf818;" +d="M158.87 447.85c181.91 -17.1699 332.02 -164.93 352.899 -345.71c1.87012 -16.2197 -7.89941 -31.54 -23.6191 -35.8994l-56.9404 -15.7803c-7.94043 186.39 -134.86 311.51 -322.479 317l14.8096 56.2705c4.12988 15.6992 19.1699 25.6396 35.3301 24.1191z +M100.4 335.85c176.069 -1.95996 294.88 -119.25 299.149 -294.14l-379 -105.1c-1.1709 -0.324219 -3.1084 -0.587891 -4.32422 -0.587891c-8.94824 0 -16.21 7.26172 -16.21 16.21c0 1.1582 0.239258 3.00781 0.53418 4.12793zM128 32c17.6641 0 32 14.3359 32 32 +s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM176 184c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM280 80c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32z" /> + <glyph glyph-name="trash-restore" unicode="&#xf829;" horiz-adv-x="448" +d="M53.2002 -19l-21.2002 339h384l-21.2002 -339c-1.55469 -24.8369 -23.0146 -44.9971 -47.8994 -45h-245.801c-24.8848 0.00292969 -46.3447 20.1631 -47.8994 45zM123.31 156.8c-10.0791 -10.6201 -2.93945 -28.7998 11.3203 -28.7998h57.3701v-112 +c0 -8.83203 7.16797 -16 16 -16h32c8.83203 0 16 7.16797 16 16v112h57.3701c14.2598 0 21.3994 18.1797 11.3203 28.7998l-89.3809 94.2598c-2.52441 2.72949 -7.5918 4.94336 -11.3096 4.94336s-8.78516 -2.21387 -11.3096 -4.94336zM432 416 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781 +c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002h120z" /> + <glyph glyph-name="trash-restore-alt" unicode="&#xf82a;" horiz-adv-x="448" +d="M32 -16v336h384v-336c0 -26.4961 -21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48zM123.31 156.8c-10.0791 -10.6201 -2.93945 -28.7998 11.3203 -28.7998h57.3701v-112c0 -8.83203 7.16797 -16 16 -16h32c8.83203 0 16 7.16797 16 16v112h57.3701 +c14.2598 0 21.3994 18.1797 11.3203 28.7998l-89.3809 94.2598c-2.52441 2.72949 -7.5918 4.94336 -11.3096 4.94336s-8.78516 -2.21387 -11.3096 -4.94336zM432 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16 +v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002h120z" /> + <glyph glyph-name="user-nurse" unicode="&#xf82f;" horiz-adv-x="448" +d="M57.7803 160c-8.82227 0.00976562 -15.9814 7.17773 -15.9814 16c0 2.09277 0.761719 5.30957 1.70117 7.17969c15.2305 29.8203 31.2803 62.2305 42.1699 95.54c7.58008 23.1904 10.3301 47.6904 10.3301 72.0801v49.2002l128 48l128 -48v-49.2002 +c0 -24.3896 2.78027 -48.8896 10.3496 -72.0801c10.8701 -33.3096 26.9199 -65.6895 42.1504 -95.54c0.939453 -1.87012 1.70117 -5.08691 1.70117 -7.17969c0 -8.82227 -7.15918 -15.9902 -15.9814 -16h-82.3594c-22.5107 -19.6797 -51.6201 -32 -83.8604 -32 +s-61.3496 12.3203 -83.8604 32h-82.3594zM184 376.33v-16.6602c0 -2.75977 2.24023 -5 5 -5h21.6699v-21.6699c0 -2.75977 2.24023 -5 5 -5h16.6602c2.75977 0 5 2.24023 5 5v21.6699h21.6699c2.75977 0 5 2.24023 5 5v16.6602c0 2.75977 -2.24023 5 -5 5h-21.6699v21.6699 +c0 2.75977 -2.24023 5 -5 5h-16.6602c-2.75977 0 -5 -2.24023 -5 -5v-21.6699h-21.6699c-2.75977 0 -5 -2.24023 -5 -5zM144 288v-32c0 -44.1602 35.8398 -80 80 -80s80 35.8398 80 80v32h-160zM319.41 128c71.4902 -3.09961 128.59 -61.5996 128.59 -133.79 +c0 -32.1318 -26.0781 -58.21 -58.21 -58.21v0h-331.58c-32.1318 0 -58.21 26.0781 -58.21 58.21c0 72.1904 57.0996 130.69 128.59 133.79l95.4102 -95.3896z" /> + <glyph glyph-name="wave-square" unicode="&#xf83e;" horiz-adv-x="640" +d="M476 -32h-152c-19.8721 0 -36 16.1279 -36 36v348h-96v-156c0 -19.8721 -16.1279 -36 -36 -36h-140c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h112v156c0 19.8721 16.1279 36 36 36h152c19.8721 0 36 -16.1279 36 -36v-348h96v156 +c0 19.8721 16.1279 36 36 36h140c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-112v-156c0 -19.8721 -16.1279 -36 -36 -36z" /> + <glyph glyph-name="biking" unicode="&#xf84a;" horiz-adv-x="640" +d="M400 352c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48s48 -21.5039 48 -48s-21.5039 -48 -48 -48zM396 231l-41.3604 33.1104l-58.25 -49.9199l41.3604 -27.5703c7.86426 -5.24316 14.248 -17.1689 14.25 -26.6201v-128c0 -17.6641 -14.3359 -32 -32 -32 +s-32 14.3359 -32 32v110.88l-81.7305 54.5205c-7.86621 5.24316 -14.251 17.1719 -14.251 26.626c0 8.12305 5.00488 19.0068 11.1719 24.2939l112 96c4.95508 4.25781 14.2803 7.71289 20.8135 7.71289c6.20215 0 15.1602 -3.15039 19.9961 -7.0332l71.2197 -57h52.7803 +c17.6641 0 32 -14.3359 32 -32s-14.3359 -32 -32 -32h-64h-0.0595703c-6.18262 0 -15.1152 3.13574 -19.9404 7zM512 192c70.6562 0 128 -57.3438 128 -128s-57.3438 -128 -128 -128s-128 57.3438 -128 128s57.3438 128 128 128zM512 0c35.3281 0 64 28.6719 64 64 +s-28.6719 64 -64 64s-64 -28.6719 -64 -64s28.6719 -64 64 -64zM128 192c70.6562 0 128 -57.3438 128 -128s-57.3438 -128 -128 -128s-128 57.3438 -128 128s57.3438 128 128 128zM128 0c35.3281 0 64 28.6719 64 64s-28.6719 64 -64 64s-64 -28.6719 -64 -64 +s28.6719 -64 64 -64z" /> + <glyph glyph-name="border-all" unicode="&#xf84c;" horiz-adv-x="448" +d="M416 416c17.6641 0 32 -14.3359 32 -32v-384c0 -17.6641 -14.3359 -32 -32 -32h-384c-17.6641 0 -32 14.3359 -32 32v384c0 17.6641 14.3359 32 32 32h384zM384 352h-128v-128h128v128zM192 352h-128v-128h128v128zM64 32h128v128h-128v-128zM256 32h128v128h-128v-128z +" /> + <glyph glyph-name="border-none" unicode="&#xf850;" horiz-adv-x="448" +d="M240 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM336 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h32zM432 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM144 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM240 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM336 32c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 128 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 320c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h32zM240 128c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM240 320c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM144 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM240 416c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM336 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 416 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM48 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h32zM48 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM48 128c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM48 320c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM48 416c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM144 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32z" /> + <glyph glyph-name="border-style" unicode="&#xf853;" horiz-adv-x="448" +d="M240 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM144 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32 +c0 8.83203 7.16797 16 16 16h32zM336 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 224c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32 +c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 128c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 32c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 320c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32zM432 416 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-368v-368c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v400c0 17.6641 14.3359 32 32 32h400z" /> + <glyph glyph-name="fan" unicode="&#xf863;" +d="M352.57 320c81.79 0 149.3 -61.6299 159.3 -141.33c1.30957 -10.4795 -7.17969 -19.6396 -17.6201 -18.5898l-123.11 12.4102c8.34082 -22.9707 12.8604 -48.9707 12.8604 -77.0605c0 -81.79 -61.6299 -149.3 -141.33 -159.3 +c-10.4795 -1.30957 -19.6396 7.19043 -18.5898 17.6201l12.4102 123.11c-22.9707 -8.34082 -48.9707 -12.8604 -77.0605 -12.8604c-81.79 0 -149.3 61.6299 -159.3 141.33c-1.30957 10.4795 7.17969 19.6699 17.6201 18.5898l123.11 -12.4102 +c-8.34082 22.9707 -12.8604 48.9707 -12.8604 77.0605c0 81.79 61.6299 149.3 141.33 159.3c10.4795 1.30957 19.6699 -7.17969 18.5898 -17.6201l-12.4102 -123.11c22.9707 8.34082 48.9707 12.8604 77.0605 12.8604zM256 160c17.6641 0 32 14.3359 32 32 +s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32z" /> + <glyph glyph-name="icons" unicode="&#xf86d;" +d="M116.65 228.65l-96.79 99.8301c-28 29.0293 -26.4102 77.0996 5 103.88c27.3896 23.3398 68.1895 19.1396 93.29 -6.80078l9.84961 -10.1396l9.86035 10.1396c25.1396 25.9404 65.8896 30.1406 93.2793 6.80078c31.4102 -26.7803 33.0605 -74.8799 4.91016 -103.88 +l-96.75 -99.8301c-2.55566 -2.66992 -7.62891 -4.83594 -11.3252 -4.83594c-3.69531 0 -8.76855 2.16602 -11.3242 4.83594zM260.57 128.16c15.1406 -0.0107422 27.4297 -12.3086 27.4297 -27.4502v-0.00976562v-137.25v0c0 -15.1416 -12.2891 -27.4395 -27.4297 -27.4502 +h-233.141c-15.1406 0.00585938 -27.4297 12.2988 -27.4297 27.4404v0.00976562v137.25v0.00976562c0 15.1523 12.2979 27.4502 27.4502 27.4502h0.00976562h48l7 14.2402c3.67773 9.81445 15.168 17.7793 25.6484 17.7793h0.0117188h71.71h0.0107422 +c10.4814 0 21.9717 -7.96484 25.6494 -17.7793l7.08008 -14.2402h48zM144 -20c28.7041 0 52 23.2959 52 52s-23.2959 52 -52 52s-52 -23.2959 -52 -52s23.2959 -52 52 -52zM499.4 95.9004c9.70996 0 15.75 -8.79004 10.8691 -15.7002l-92.3994 -138.91 +c-2.19629 -2.90039 -6.93262 -5.25488 -10.5713 -5.25488c-0.0957031 0 -0.25293 0.00195312 -0.348633 0.00488281c-8.03027 0 -14.1201 6.25 -12.2305 12.9004l24.2002 83h-62.3096c-7.62012 0 -13.5 5.58984 -12.5 11.8896l16.7998 106.93 +c0.839844 5.2002 6.2002 9.10059 12.5 9.10059h75.5898c8.25 0 14.2803 -6.56055 12.1797 -13.21l-22.3594 -50.75h60.5801zM478.08 447.67c17.9199 2.75 33.9199 -12.1895 33.9199 -31.6699v-144.26c-0.269531 -26.3398 -28.7998 -47.6602 -64 -47.6602 +c-35.3496 0 -64 21.4795 -64 48c0 26.5195 28.6504 48 64 48c4.46191 -0.0400391 11.6299 -0.801758 16 -1.7002v47.1797l-112 -17.2197v-108.58c-0.269531 -26.3398 -28.7998 -47.6602 -64 -47.6602c-35.3496 0 -64 21.4805 -64 48c0 26.5205 28.6504 48 64 48 +c4.46191 -0.0400391 11.6299 -0.801758 16 -1.69922v106.77c0 15.9102 10.8701 29.4102 25.5098 31.6602z" /> + <glyph glyph-name="phone-alt" unicode="&#xf879;" +d="M497.39 86.2002c8.06055 -3.50586 14.6016 -13.4844 14.6016 -22.2744c0 -1.48828 -0.264648 -3.87402 -0.59082 -5.32617l-24 -104c-2.37109 -10.2666 -12.8477 -18.5996 -23.3848 -18.5996h-0.015625c-256.1 0 -464 207.5 -464 464v0.00585938 +c0 10.5371 8.33301 21.0137 18.5996 23.3838l104 24c1.45996 0.332031 3.8584 0.601562 5.35547 0.601562c8.73242 0 18.6533 -6.49707 22.1445 -14.501l48 -112c1.06836 -2.49219 1.93457 -6.71582 1.93457 -9.42773c0 -6.28613 -3.95801 -14.6064 -8.83398 -18.5723 +l-60.6006 -49.6006c31.3398 -66.4688 110.721 -145.85 177.19 -177.189l49.5996 60.5996c3.97559 4.86914 12.3047 8.82129 18.5908 8.82129c2.70508 0 6.9209 -0.860352 9.40918 -1.9209z" /> + <glyph glyph-name="phone-square-alt" unicode="&#xf87b;" horiz-adv-x="448" +d="M400 416c26.4961 0 48 -21.5039 48 -48v-352c0 -26.4961 -21.5039 -48 -48 -48h-352c-26.4961 0 -48 21.5039 -48 48v352c0 26.4961 21.5039 48 48 48h352zM383.61 108.63c0.198242 0.919922 0.373047 2.42969 0.389648 3.37012 +c-0.262695 5.28613 -4.33496 11.4648 -9.08984 13.79l-70 30c-1.57422 0.613281 -4.22168 1.15527 -5.91016 1.20996c-3.82422 -0.209961 -9.02539 -2.67383 -11.6104 -5.5l-31 -37.8896c-41.5469 19.6025 -91.1768 69.2324 -110.779 110.779l37.8896 31 +c2.82617 2.58496 5.29004 7.78613 5.5 11.6104c-0.0546875 1.68848 -0.597656 4.33594 -1.20996 5.91016l-30 70c-2.32812 4.75098 -8.50586 8.82324 -13.79 9.08984c-0.94043 -0.0205078 -2.4502 -0.195312 -3.37012 -0.389648l-65 -15 +c-6.19238 -1.6582 -11.4033 -8.20312 -11.6299 -14.6104c0 -160.29 130 -290 290 -290c6.58496 0.00292969 13.1309 5.21289 14.6104 11.6299z" /> + <glyph glyph-name="photo-video" unicode="&#xf87c;" horiz-adv-x="640" +d="M608 448c17.6641 0 32 -14.3359 32 -32v-320c0 -17.6641 -14.3359 -32 -32 -32h-128v320h-192v-64h-160v96c0 17.6641 14.3359 32 32 32h448zM232 345v30c0 4.96777 -4.03223 9 -9 9h-30c-4.96777 0 -9 -4.03223 -9 -9v-30c0 -4.96777 4.03223 -9 9 -9h30 +c4.96777 0 9 4.03223 9 9zM584 137v30c0 4.96777 -4.03223 9 -9 9h-30c-4.96777 0 -9 -4.03223 -9 -9v-30c0 -4.96777 4.03223 -9 9 -9h30c4.96777 0 9 4.03223 9 9zM584 241v30c0 4.96777 -4.03223 9 -9 9h-30c-4.96777 0 -9 -4.03223 -9 -9v-30 +c0 -4.96777 4.03223 -9 9 -9h30c4.96777 0 9 4.03223 9 9zM584 345v30c0 4.96777 -4.03223 9 -9 9h-30c-4.96777 0 -9 -4.03223 -9 -9v-30c0 -4.96777 4.03223 -9 9 -9h30c4.96777 0 9 4.03223 9 9zM416 288c17.6641 0 32 -14.3359 32 -32v-288 +c0 -17.6641 -14.3359 -32 -32 -32h-384c-17.6641 0 -32 14.3359 -32 32v288c0 17.6641 14.3359 32 32 32h384zM96 224c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32s32 14.3359 32 32s-14.3359 32 -32 32zM384 0v96l-96 96l-128 -128l-32 32l-64 -64v-32h320z" /> + <glyph glyph-name="remove-format" unicode="&#xf87d;" horiz-adv-x="640" +d="M336 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h32.4902l26.5098 79.5996l67.0898 -51.8301l-9.25977 -27.7695h11.1699zM633.82 -10.0996 +c3.41309 -2.65234 6.18359 -8.3125 6.18359 -12.6357c0 -3.02734 -1.50684 -7.42383 -3.36426 -9.81445l-19.6396 -25.2705c-2.65234 -3.41211 -8.31152 -6.18262 -12.6338 -6.18262c-3.03125 0 -7.43359 1.51172 -9.82617 3.37305l-588.36 454.72 +c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309c0 3.02832 1.50879 7.42773 3.36816 9.81934l19.6299 25.2695c2.65234 3.41309 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51074 9.82617 -3.37207l114.54 -88.5205v43.9004c0 8.83203 7.16797 16 16 16 +h416c8.83203 0 16 -7.16797 16 -16v-96c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v32h-117.83l-49.1699 -147.59zM309.91 240.24l31.9199 95.7598h-117.83v-29.3604z" /> + <glyph glyph-name="sort-alpha-down-alt" unicode="&#xf881;" horiz-adv-x="448" +d="M176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.58691 -2.58496 -7.65332 -4.68262 -11.3105 -4.68262c-3.65625 0 -8.72266 2.09766 -11.3096 4.68262l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83203 7.16797 16 16 16h32 +c8.83203 0 16 -7.16797 16 -16v-304h48zM288 224c-8.83203 0 -16 7.16797 -16 16v17.6299v0.00292969c0 7.93262 4.81152 18.6475 10.7402 23.917l61.2598 70.4502h-56c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128c8.83203 0 16 -7.16797 16 -16 +v-17.6299v-0.00292969c0 -7.93262 -4.81152 -18.6475 -10.7402 -23.917l-61.2598 -70.4502h56c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128zM447.06 -10.6201c0.514648 -1.44043 0.931641 -3.85059 0.931641 -5.37988 +c0 -8.82715 -7.16406 -15.9951 -15.9912 -16h-24.8398h-0.0449219c-6.42773 0 -13.249 4.96387 -15.2256 11.0801l-4.40918 12.9199h-71l-4.4209 -12.9199c-1.97559 -6.11621 -8.79688 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301 +c-8.82715 0.00488281 -15.9912 7.17285 -15.9912 16c0 1.5293 0.416992 3.93945 0.931641 5.37988l59.2695 160c2.09277 5.8623 8.84375 10.6201 15.0684 10.6201h0.00195312h41.4395h0.00195312c6.22461 0 12.9756 -4.75781 15.0684 -10.6201zM335.61 48h32.7793 +l-16.3896 48z" /> + <glyph glyph-name="sort-alpha-up-alt" unicode="&#xf882;" horiz-adv-x="448" +d="M16 288c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83203 -7.16797 -16 -16 -16h-32 +c-8.83203 0 -16 7.16797 -16 16v304h-48zM288 224c-8.83203 0 -16 7.16797 -16 16v17.6299v0.00292969c0 7.93262 4.81152 18.6475 10.7402 23.917l61.2598 70.4502h-56c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128c8.83203 0 16 -7.16797 16 -16 +v-17.6299v-0.00292969c0 -7.93262 -4.81152 -18.6475 -10.7402 -23.917l-61.2598 -70.4502h56c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-128zM447.06 -10.6201c0.514648 -1.44043 0.931641 -3.85059 0.931641 -5.37988 +c0 -8.82715 -7.16406 -15.9951 -15.9912 -16h-24.8398h-0.0449219c-6.42773 0 -13.249 4.96387 -15.2256 11.0801l-4.40918 12.9199h-71l-4.4209 -12.9199c-1.97559 -6.11621 -8.79688 -11.0801 -15.2246 -11.0801h-0.00488281h-24.8301 +c-8.82715 0.00488281 -15.9912 7.17285 -15.9912 16c0 1.5293 0.416992 3.93945 0.931641 5.37988l59.2695 160c2.09277 5.8623 8.84375 10.6201 15.0684 10.6201h0.00195312h41.4395h0.00195312c6.22461 0 12.9756 -4.75781 15.0684 -10.6201zM335.61 48h32.7793 +l-16.3896 48z" /> + <glyph glyph-name="sort-amount-down-alt" unicode="&#xf884;" +d="M240 352c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h64c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-64zM240 224c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-128zM496 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-256c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h256zM240 96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h192 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-192zM176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.58691 -2.58496 -7.65332 -4.68262 -11.3105 -4.68262c-3.65625 0 -8.72266 2.09766 -11.3096 4.68262l-80 96 +c-10.0801 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83203 7.16797 16 16 16h32c8.83203 0 16 -7.16797 16 -16v-304h48z" /> + <glyph glyph-name="sort-amount-up-alt" unicode="&#xf885;" +d="M240 352c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h64c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-64zM240 224c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h128c8.83203 0 16 -7.16797 16 -16v-32 +c0 -8.83203 -7.16797 -16 -16 -16h-128zM496 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-256c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h256zM240 96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h192 +c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-192zM16 288c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262l80 -96 +c10.0801 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v304h-48z" /> + <glyph glyph-name="sort-numeric-down-alt" unicode="&#xf886;" horiz-adv-x="448" +d="M176 96c14.2197 0 21.3496 -17.2598 11.3301 -27.3096l-80 -96c-2.58691 -2.58496 -7.65332 -4.68262 -11.3105 -4.68262c-3.65625 0 -8.72266 2.09766 -11.3096 4.68262l-80 96c-10.0703 10.0693 -2.90039 27.3096 11.29 27.3096h48v304c0 8.83203 7.16797 16 16 16h32 +c8.83203 0 16 -7.16797 16 -16v-304h48zM400 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h16v64h-16c-8.82422 0.0078125 -15.9863 7.17578 -15.9863 16 +c0 2.08984 0.759766 5.30176 1.69629 7.16992l16 32c2.44141 4.87012 8.84277 8.8252 14.29 8.83008h48c8.83203 0 16 -7.16797 16 -16v-112h16zM330.17 413.09c53.4502 14.25 101.83 -25.8799 101.85 -77.0898v-10.7695c0 -70.3906 -28.25 -107.23 -86.25 -132 +c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408c6.2793 2.71387 15.6201 8.49805 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8301 102.53c6.80762 23.4512 31.4482 47.7197 55 54.1699z +M352 316c11.04 0 20 8.95996 20 20s-8.95996 20 -20 20s-20 -8.95996 -20 -20s8.95996 -20 20 -20z" /> + <glyph glyph-name="sort-numeric-up-alt" unicode="&#xf887;" horiz-adv-x="448" +d="M107.31 411.31l80 -96c10.0703 -10.0693 2.90039 -27.3096 -11.3096 -27.3096h-48v-304c0 -8.83203 -7.16797 -16 -16 -16h-32c-8.83203 0 -16 7.16797 -16 16v304h-48c-14.2197 0 -21.3496 17.2598 -11.3096 27.3096l80 96 +c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262zM400 32c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-96c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h16v64h-16 +c-8.82422 0.0078125 -15.9863 7.17578 -15.9863 16c0 2.08984 0.759766 5.30176 1.69629 7.16992l16 32c2.44141 4.87012 8.84277 8.8252 14.29 8.83008h48c8.83203 0 16 -7.16797 16 -16v-112h16zM330.17 413.09c53.4502 14.25 101.83 -25.8799 101.85 -77.0898v-10.7695 +c0 -70.3906 -28.25 -107.23 -86.25 -132c-8.36914 -3.58008 -18.0293 1.2793 -20.8994 9.90918l-9.90039 20c-2.62012 7.87012 0.610352 16.9404 8.18066 20.3408c6.2793 2.71387 15.6201 8.49805 20.8496 12.9092c-47.6396 4.76074 -83.0996 51.4805 -68.8301 102.53 +c6.80762 23.4512 31.4482 47.7197 55 54.1699zM352 316c11.04 0 20 8.95996 20 20s-8.95996 20 -20 20s-20 -8.95996 -20 -20s8.95996 -20 20 -20z" /> + <glyph glyph-name="spell-check" unicode="&#xf891;" horiz-adv-x="576" +d="M272 192c-8.83203 0 -16 7.16797 -16 16v224c0 8.83203 7.16797 16 16 16h75c42.2998 0 80.9004 -30.5703 84.6699 -72.6797c0.186523 -2.02051 0.337891 -5.30762 0.337891 -7.33691c0 -11.0186 -4.20996 -27.8516 -9.39746 -37.5732 +c14.0186 -13.0674 25.3965 -39.2256 25.3965 -58.3906c0 -1.29199 -0.0615234 -3.38867 -0.136719 -4.67969c-2.50977 -43.1396 -41.3105 -75.3398 -84.5098 -75.3398h-91.3604zM312 392v-48h40c13.248 0 24 10.752 24 24s-10.752 24 -24 24h-40zM312 296v-48h56 +c13.248 0 24 10.752 24 24s-10.752 24 -24 24h-56zM155.12 425.75l68.2998 -213.48c0.320312 -1.15625 0.580078 -3.06934 0.580078 -4.26953c0 -8.83203 -7.16797 -16 -16 -16v0h-24.9297h-0.000976562c-6.71875 0 -13.626 5.25488 -15.4189 11.7305l-11.9404 36.2695 +h-87.4199l-11.9404 -36.2695c-1.79297 -6.47559 -8.7002 -11.7305 -15.4189 -11.7305h-0.000976562h-24.9297c-8.82617 0.00488281 -15.9902 7.17383 -15.9902 16c0 1.2002 0.259766 3.11328 0.580078 4.26953l68.29 213.48c3.92871 12.2822 17.583 22.25 30.4785 22.25 +h0.00195312h25.2793h0.00195312c12.8955 0 26.5498 -9.96777 30.4785 -22.25zM89.3701 304h45.2598l-22.6299 68.7002zM571.37 171.52c2.58203 -2.58594 4.65723 -7.65039 4.65723 -11.3047c0 -3.64551 -2.08594 -8.70117 -4.65723 -11.2852l-208 -208.21 +c-2.5752 -2.60449 -7.6377 -4.71777 -11.2998 -4.71777c-3.66309 0 -8.72559 2.11328 -11.3008 4.71777l-112 112.21c-2.57617 2.58496 -4.66699 7.64551 -4.66699 11.2949c0 3.65039 2.09082 8.70996 4.66699 11.2949l45.3008 45.3008 +c2.57324 2.60352 7.63379 4.71777 11.2949 4.71777s8.72168 -2.11426 11.2949 -4.71777l55.4102 -55.5l151.5 151.5c2.57324 2.60352 7.63379 4.71777 11.2949 4.71777s8.72168 -2.11426 11.2949 -4.71777z" /> + <glyph glyph-name="voicemail" unicode="&#xf897;" horiz-adv-x="640" +d="M496 320c79.4883 0 144 -64.5117 144 -144s-64.5117 -144 -144 -144h-352c-79.4844 0.00390625 -143.993 64.5156 -143.993 144c0 79.4883 64.5117 144 144 144s144 -64.5117 144 -144c0 -24.1113 -10.8711 -59.9512 -24.2666 -80h112.52 +c-13.3955 20.0488 -24.2666 55.8887 -24.2666 80c0 79.4883 64.5117 144 144 144h0.00683594zM64 176c0 -44.1602 35.8398 -80 80 -80s80 35.8398 80 80s-35.8398 80 -80 80s-80 -35.8398 -80 -80zM496 96c44.1602 0 80 35.8398 80 80s-35.8398 80 -80 80 +s-80 -35.8398 -80 -80s35.8398 -80 80 -80z" /> + </font> +</defs></svg> diff --git a/webfonts/fa-solid-900.ttf b/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000..5a6d747 Binary files /dev/null and b/webfonts/fa-solid-900.ttf differ diff --git a/webfonts/fa-solid-900.woff b/webfonts/fa-solid-900.woff new file mode 100644 index 0000000..d92df45 Binary files /dev/null and b/webfonts/fa-solid-900.woff differ diff --git a/webfonts/fa-solid-900.woff2 b/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..df7e704 Binary files /dev/null and b/webfonts/fa-solid-900.woff2 differ + echo 'Changes have been detected, publishing to repo '\''www.eclipse.org/sw360'\''' Changes have been detected, publishing to repo 'www.eclipse.org/sw360' + git commit -m 'Website build sw360.website.staging-4' [master e392ba8] Website build sw360.website.staging-4 193 files changed, 81940 insertions(+), 40159 deletions(-) rewrite 404.html (95%) rewrite about/index.html (81%) delete mode 100644 blog/ecf2017/index.html delete mode 100644 blog/index.html delete mode 100644 blog/index.xml delete mode 100644 blog/page/1/index.html delete mode 100644 categories/index.html delete mode 100644 categories/index.xml delete mode 100644 categories/introduction/index.html delete mode 100644 categories/introduction/index.xml delete mode 100644 categories/introduction/page/1/index.html delete mode 100644 categories/page/1/index.html delete mode 100644 categories/talk/index.html delete mode 100644 categories/talk/index.xml delete mode 100644 categories/talk/page/1/index.html delete mode 100644 categories/video/index.html delete mode 100644 categories/video/index.xml delete mode 100644 categories/video/page/1/index.html delete mode 100644 css/animate.css delete mode 100644 css/custom.css delete mode 100644 css/owl.carousel.css delete mode 100644 css/owl.theme.css create mode 100644 css/prism.css create mode 100644 css/shortcodes.css create mode 100644 css/shortcodes/cards-pane.css create mode 100644 css/shortcodes/tabbed-pane.css delete mode 100644 css/style.blue.css delete mode 100644 css/style.default.css delete mode 100644 css/style.green.css delete mode 100644 css/style.marsala.css delete mode 100644 css/style.pink.css delete mode 100644 css/style.red.css delete mode 100644 css/style.sw360.css delete mode 100644 css/style.turquoise.css delete mode 100644 css/style.violet.css create mode 100644 css/swagger-ui.css create mode 100644 docs/deployment/baremetal/deploy-natively-11/index.html create mode 100644 docs/deployment/baremetal/index.html create mode 100644 docs/deployment/baremetal/index.xml create mode 100644 docs/deployment/deploy-authorization-concept/index.html create mode 100644 docs/deployment/deploy-configuration-country-codes/index.html create mode 100644 docs/deployment/deploy-configuration-files/index.html create mode 100644 docs/deployment/deploy-cve-search/index.html create mode 100644 docs/deployment/deploy-docker/index.html create mode 100644 docs/deployment/deploy-export-and-import/index.html create mode 100644 docs/deployment/deploy-requirements/index.html create mode 100644 docs/deployment/deploy-secure-deployment/index.html create mode 100644 docs/deployment/index.html create mode 100644 docs/deployment/index.xml create mode 100644 docs/deployment/upgrading/deploy-upgrade-to-liferay-7.3-and-java-11/index.html create mode 100644 docs/deployment/upgrading/index.html create mode 100644 docs/deployment/upgrading/index.xml create mode 100644 docs/developers/dev-adding-a-new-portlet-backend/index.html create mode 100644 docs/developers/dev-adding-a-new-portlet-frontend/index.html create mode 100644 docs/developers/dev-adding-new-fields-to-existing-classes/index.html create mode 100644 docs/developers/dev-branches/index.html create mode 100644 docs/developers/dev-database-migration-using-costco/index.html create mode 100644 docs/developers/dev-dod-and-style/index.html create mode 100644 docs/developers/dev-external-documents-with-couchdb/index.html create mode 100644 docs/developers/dev-filtering-in-portlets/index.html create mode 100644 docs/developers/dev-fossology-integration/index.html create mode 100644 docs/developers/dev-liferay-friendly-url/index.html create mode 100644 docs/developers/dev-moderation-requests/index.html create mode 100644 docs/developers/dev-releasing-sw360/index.html create mode 100644 docs/developers/dev-rest-api/index.html create mode 100644 docs/developers/dev-role-authorisation-model/index.html create mode 100644 docs/developers/dev-semantic-commits/index.html create mode 100644 docs/developers/dev-testing-frameworks/index.html create mode 100644 docs/developers/dev-troubleshooting/index.html create mode 100644 docs/developers/dev-using-requirejs-for-javascript-modules/index.html create mode 100644 docs/developers/index.html create mode 100644 docs/developers/index.xml create mode 100644 docs/developers/testcases/index.html create mode 100644 docs/developers/testcases/index.xml create mode 100644 docs/developers/testcases/test-cases-components/index.html create mode 100644 docs/developers/testcases/test-cases-licenses/index.html create mode 100644 docs/developers/testcases/test-cases-moderations/index.html create mode 100644 docs/developers/testcases/test-cases-projects/index.html create mode 100644 docs/index.html create mode 100644 docs/index.xml create mode 100644 docs/userguide/index.html create mode 100644 docs/userguide/index.xml create mode 100644 docs/userguide/user-attachment-file-types/index.html create mode 100644 docs/userguide/user-bdp-import/index.html create mode 100644 docs/userguide/user-data-model-enumerations/index.html create mode 100644 docs/userguide/user-scheduling-cve-search-by-admins/index.html create mode 100644 docs/userguide/user-search/index.html create mode 100644 docs/userguide/vulnerabilitymanagement/index.html create mode 100644 docs/userguide/vulnerabilitymanagement/index.xml create mode 100644 docs/userguide/vulnerabilitymanagement/user-check-vulnerabilities-for-your-project/index.html create mode 100644 docs/userguide/workflows/index.html create mode 100644 docs/userguide/workflows/index.xml create mode 100644 favicons/android-144x144.png create mode 100644 favicons/android-192x192.png create mode 100644 favicons/android-36x36.png create mode 100644 favicons/android-48x48.png create mode 100644 favicons/android-72x72.png create mode 100644 favicons/android-96x96.png create mode 100644 favicons/android-chrome-192x192.png create mode 100644 favicons/android-chrome-512x512.png create mode 100644 favicons/android-chrome-maskable-192x192.png create mode 100644 favicons/android-chrome-maskable-512x512.png create mode 100644 favicons/apple-touch-icon-120x120.png create mode 100644 favicons/apple-touch-icon-152x152.png create mode 100644 favicons/apple-touch-icon-167x167.png create mode 100644 favicons/apple-touch-icon-180x180.png create mode 100644 favicons/apple-touch-icon-60x60.png create mode 100644 favicons/apple-touch-icon-76x76.png create mode 100644 favicons/apple-touch-icon.png create mode 100644 favicons/coast-228x228.png create mode 100644 favicons/favicon-1024.png create mode 100644 favicons/favicon-128x128.png create mode 100644 favicons/favicon-16x16.png create mode 100644 favicons/favicon-256.png create mode 100644 favicons/favicon-256x256.png create mode 100644 favicons/favicon-32x32.png create mode 100644 favicons/favicon-48x48.png create mode 100644 favicons/favicon-64x64.png create mode 100644 favicons/favicon-96x96.png create mode 100644 favicons/favicon.ico create mode 100644 favicons/msapplication-icon-144x144.png create mode 100644 favicons/mstile-150x150.png create mode 100644 favicons/pwa-192x192.png create mode 100644 favicons/pwa-512x512.png create mode 100644 favicons/tile150x150.png create mode 100644 favicons/tile310x150.png create mode 100644 favicons/tile310x310.png create mode 100644 favicons/tile70x70.png delete mode 100644 img/cyber-bg.jpg delete mode 100644 img/favicons.zip delete mode 100644 img/favicons/android-chrome-192x192.png delete mode 100644 img/favicons/android-chrome-512x512.png delete mode 100644 img/favicons/apple-touch-icon.png delete mode 100644 img/favicons/browserconfig.xml delete mode 100644 img/favicons/favicon-16x16.png delete mode 100644 img/favicons/favicon-32x32.png delete mode 100644 img/favicons/manifest.json delete mode 100644 img/favicons/mstile-150x150.png delete mode 100644 img/favicons/safari-pinned-tab.svg create mode 100644 img/featured-background.jpg delete mode 100644 img/fixed-background-2.jpg create mode 100644 img/logos/logo_full.svg delete mode 100644 img/photogrid.jpg delete mode 100644 img/sw360-h-208x79.png delete mode 100644 img/sw360-icon.png delete mode 100644 img/sw360-logo-icon.png delete mode 100644 img/sw360.png delete mode 100644 img/texture-green.png delete mode 100644 img/texture-turquoise.png delete mode 100644 img/texture-violet.png rewrite index.html (94%) rewrite index.xml (95%) create mode 100644 js/deflate.js delete mode 100644 js/front.js delete mode 100644 js/gmaps.init.js delete mode 100644 js/hpneo.gmaps.js create mode 100644 js/main.js delete mode 100644 js/owl.carousel.min.js create mode 100644 js/prism.js delete mode 100644 js/respond.min.js create mode 100644 js/swagger-ui-bundle.js create mode 100644 js/swagger-ui-standalone-preset.js create mode 100644 js/tabpane-persist.js delete mode 100644 page/1/index.html rewrite presentations/index.html (65%) create mode 100644 presentations/index.xml delete mode 100644 resources/index.html create mode 100644 robots.txt rewrite screenshots/index.html (82%) create mode 100644 scss/main.css create mode 100644 scss/main.css.map rewrite sitemap.xml (82%) delete mode 100644 tags/ecf17/index.html delete mode 100644 tags/ecf17/index.xml delete mode 100644 tags/ecf17/page/1/index.html delete mode 100644 tags/index.html delete mode 100644 tags/index.xml delete mode 100644 tags/page/1/index.html create mode 100644 webfonts/fa-brands-400.eot create mode 100644 webfonts/fa-brands-400.svg create mode 100644 webfonts/fa-brands-400.ttf create mode 100644 webfonts/fa-brands-400.woff create mode 100644 webfonts/fa-brands-400.woff2 create mode 100644 webfonts/fa-regular-400.eot create mode 100644 webfonts/fa-regular-400.svg create mode 100644 webfonts/fa-regular-400.ttf create mode 100644 webfonts/fa-regular-400.woff create mode 100644 webfonts/fa-regular-400.woff2 create mode 100644 webfonts/fa-solid-900.eot create mode 100644 webfonts/fa-solid-900.svg create mode 100644 webfonts/fa-solid-900.ttf create mode 100644 webfonts/fa-solid-900.woff create mode 100644 webfonts/fa-solid-900.woff2 + git log --graph --abbrev-commit --date=relative -n 5 * commit e392ba8 | Author: SW360 Bot <sw360-bot@eclipse.org> | Date: 1 second ago | | Website build sw360.website.staging-4 | * commit a93d469 | Author: SW360 Bot <sw360-bot@eclipse.org> | Date: 3 years, 1 month ago | | Website build sw360.website-70 | * commit c392a1a | Author: SW360 Bot <sw360-bot@eclipse.org> | Date: 3 years, 1 month ago | | Website build sw360.website-68 | * commit 917bdd1 | Author: SW360 Bot <sw360-bot@eclipse.org> | Date: 3 years, 7 months ago | | Website build sw360.website-66 | * commit 909c9c3 | Author: SW360 Bot <sw360-bot@eclipse.org> | Date: 3 years, 7 months ago | | Website build sw360.website-62 + git push origin HEAD:master remote: remote: Processing changes: (\) remote: Processing changes: refs: 1 (\) remote: Processing changes: refs: 1, done remote: commit e392ba8: ---------- remote: commit e392ba8: Reviewing commit: e392ba8f remote: commit e392ba8: Authored by: SW360 Bot <sw360-bot@eclipse.org> remote: commit e392ba8: remote: commit e392ba8: Reviewing commit: e392ba8fc79076904fa6697f6c63c25e35cbe326 remote: commit e392ba8: Authored by: SW360 Bot <sw360-bot@eclipse.org> remote: commit e392ba8: Automated user 'sw360-bot@eclipse.org' detected for author of commit e392ba8fc79076904fa6697f6c63c25e35cbe326 remote: commit e392ba8: Automated user 'sw360-bot@eclipse.org' detected for committer of commit e392ba8fc79076904fa6697f6c63c25e35cbe326 remote: commit e392ba8: Eclipse user 'SW360 Bot'(author) is a committer on the project. remote: commit e392ba8: Eclipse user 'SW360 Bot'(committer) is a committer on the project. remote: commit e392ba8: remote: commit e392ba8: This commit passes Eclipse validation. To ssh://git.eclipse.org:29418/www.eclipse.org/sw360.git a93d469..e392ba8 HEAD -> master [Pipeline] } $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 281 killed; [ssh-agent] Stopped. [Pipeline] // sshagent [Pipeline] } [Pipeline] // dir [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node [Pipeline] } [Pipeline] // podTemplate [Pipeline] End of Pipeline Finished: SUCCESS